From 137e04a415599357925fdf5c01e0dbe1ece0cdc0 Mon Sep 17 00:00:00 2001 From: Roberto Cano <3525807+robercano@users.noreply.github.com> Date: Wed, 24 Apr 2024 10:58:46 +0200 Subject: [PATCH 01/45] fix: move vault ID to Maker position ID (#186) --- .../tests/service/OrderPlannerService.spec.ts | 8 +++-- .../tests/utils/MakerSourcePosition.ts | 5 ++-- .../tests/utils/SparkTargetPosition.ts | 4 +-- sdk/order-planner-service/tsconfig.test.json | 1 + .../src/interfaces/IPositionId.ts | 1 - .../src/interfaces/IProtocolPlugin.ts | 3 +- .../src/interfaces/index.ts | 1 - .../tests/ExecutionStorageMapper.spec.ts | 2 +- .../tests/StepBuilderContext.spec.ts | 2 +- .../src/implementation/BaseProtocolPlugin.ts | 3 +- .../implementation/AAVEv3ProtocolPlugin.ts | 13 ++++---- .../aave-v3/implementation/AaveV3PoolId.ts | 23 ++++++++++++++ .../implementation/AaveV3PositionId.ts | 15 ++++++++++ .../plugins/aave-v3/implementation/index.ts | 17 +++++------ .../IAaveV3PoolId.ts} | 11 +++---- .../aave-v3/interfaces/IAaveV3PositionId.ts | 10 +++++++ .../aave-v3/interfaces/IAaveV3Protocol.ts | 8 +++++ .../src/plugins/aave-v3/interfaces/index.ts | 13 ++++---- .../src/plugins/aave-v3/types/index.ts | 2 +- .../maker/actions/MakerPaybackAction.ts | 11 ++++--- .../maker/actions/MakerWithdrawAction.ts | 10 +++---- .../MakerImportPositionActionBuilder.ts | 2 +- .../MakerPaybackWithdrawActionBuilder.ts | 6 ++-- .../maker/implementation/MakerPoolId.ts | 23 ++++++++++++++ .../maker/implementation/MakerPositionId.ts | 20 +++++++++++++ .../implementation/MakerProtocolPlugin.ts | 16 +++++----- .../src/plugins/maker/implementation/index.ts | 17 +++++------ .../plugins/maker/interfaces/IMakerPoolId.ts | 16 ++++++++++ .../maker/interfaces/IMakerPositionId.ts | 11 +++++++ .../maker/interfaces/IMakerProtocol.ts | 8 +++++ .../src/plugins/maker/interfaces/index.ts | 15 +++++----- .../src/plugins/maker/types/MakerPoolId.ts | 18 ----------- .../src/plugins/maker/types/MakerVaultId.ts | 1 + .../src/plugins/maker/types/index.ts | 1 - .../spark/implementation/SparkPoolId.ts | 23 ++++++++++++++ .../spark/implementation/SparkPositionId.ts | 15 ++++++++++ .../implementation/SparkProtocolPlugin.ts | 13 ++++---- .../src/plugins/spark/implementation/index.ts | 19 ++++++------ .../plugins/spark/interfaces/ISparkPoolId.ts | 12 ++++++++ .../spark/interfaces/ISparkPositionId.ts | 10 +++++++ .../spark/interfaces/ISparkProtocol.ts | 8 +++++ .../src/plugins/spark/interfaces/index.ts | 15 +++++----- .../src/plugins/spark/types/SparkPoolId.ts | 15 ---------- .../src/plugins/spark/types/index.ts | 1 - .../actions/PositionCreatedAction.spec.ts | 2 +- .../DepositBorrowActionBuilder.spec.ts | 2 +- .../PaybackWithdrawActionBuilder.spec.ts | 2 +- .../tests/unit/AAVEv3ProtocolPlugin.spec.ts | 8 +++-- .../tests/unit/MakerProtocolPlugin.spec.ts | 6 ++-- .../tests/unit/SparkProtocolPlugin.spec.ts | 8 +++-- .../tests/utils/ProtocolPluginMock.ts | 30 +++++++++++++++++-- sdk/protocol-plugins/tsconfig.test.json | 1 + .../tests/queries/getPool.subtest.ts | 3 +- .../tests/queries/newOrder.subtest.ts | 15 +++------- .../queries/simulateRefinance.subtest.ts | 14 +++------ sdk/sdk-client/tsconfig.test.json | 1 + .../src/common/implementation/Position.ts | 6 ---- .../src/common/implementation/PositionId.ts | 15 +++------- .../src/common/interfaces/IPosition.ts | 4 +-- .../src/common/interfaces/IPositionId.ts | 11 +++++++ sdk/sdk-common/src/common/interfaces/index.ts | 1 + .../src/protocols/implementation/PoolId.ts | 10 +++++++ .../src/protocols/implementation/index.ts | 15 +++++----- .../src/protocols/interfaces/IPool.ts | 13 ++++++-- .../src/protocols/interfaces/index.ts | 18 +++++------ sdk/sdk-e2e/tests/importMakerPosition.test.ts | 6 ++-- ...refinanceMakerSparkAlreadyImported.test.ts | 19 ++++++------ sdk/sdk-e2e/tsconfig.test.json | 1 + sdk/simulator-service/tsconfig.test.json | 1 + 69 files changed, 425 insertions(+), 235 deletions(-) delete mode 100644 sdk/protocol-plugins-common/src/interfaces/IPositionId.ts create mode 100644 sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3PoolId.ts create mode 100644 sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3PositionId.ts rename sdk/protocol-plugins/src/plugins/aave-v3/{types/AaveV3PoolId.ts => interfaces/IAaveV3PoolId.ts} (64%) create mode 100644 sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3PositionId.ts create mode 100644 sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3Protocol.ts create mode 100644 sdk/protocol-plugins/src/plugins/maker/implementation/MakerPoolId.ts create mode 100644 sdk/protocol-plugins/src/plugins/maker/implementation/MakerPositionId.ts create mode 100644 sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerPoolId.ts create mode 100644 sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerPositionId.ts create mode 100644 sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerProtocol.ts delete mode 100644 sdk/protocol-plugins/src/plugins/maker/types/MakerPoolId.ts create mode 100644 sdk/protocol-plugins/src/plugins/maker/types/MakerVaultId.ts create mode 100644 sdk/protocol-plugins/src/plugins/spark/implementation/SparkPoolId.ts create mode 100644 sdk/protocol-plugins/src/plugins/spark/implementation/SparkPositionId.ts create mode 100644 sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkPoolId.ts create mode 100644 sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkPositionId.ts create mode 100644 sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkProtocol.ts delete mode 100644 sdk/protocol-plugins/src/plugins/spark/types/SparkPoolId.ts create mode 100644 sdk/sdk-common/src/common/interfaces/IPositionId.ts create mode 100644 sdk/sdk-common/src/protocols/implementation/PoolId.ts diff --git a/sdk/order-planner-service/tests/service/OrderPlannerService.spec.ts b/sdk/order-planner-service/tests/service/OrderPlannerService.spec.ts index 3e9edf51c3..49ba12fcd9 100644 --- a/sdk/order-planner-service/tests/service/OrderPlannerService.spec.ts +++ b/sdk/order-planner-service/tests/service/OrderPlannerService.spec.ts @@ -30,9 +30,9 @@ import { import { PublicClient } from 'viem' import { MakerPaybackAction, - MakerPoolId, MakerProtocolPlugin, MakerWithdrawAction, + isMakerPositionId, } from '@summerfi/protocol-plugins/plugins/maker' import { SparkBorrowAction, @@ -188,9 +188,11 @@ describe('Order Planner Service', () => { }) assert(makerPaybackAction, 'MakerPaybackAction is not defined') + assert(isMakerPositionId(sourcePosition.positionId), 'Source position ID is not a MakerPoolId') + expect(makerPaybackAction.args).toEqual([ { - vaultId: BigInt((sourcePosition.pool.poolId as MakerPoolId).vaultId), + vaultId: BigInt(sourcePosition.positionId.vaultId), userAddress: positionsManager.address.value, amount: BigInt(sourcePosition.debtAmount.toBaseUnit()), paybackAll: true, @@ -206,7 +208,7 @@ describe('Order Planner Service', () => { assert(makerWithdrawAction, 'MakerWithdrawAction is not defined') expect(makerWithdrawAction.args).toEqual([ { - vaultId: BigInt((sourcePosition.pool.poolId as MakerPoolId).vaultId), + vaultId: BigInt(sourcePosition.positionId.vaultId), userAddress: positionsManager.address.value, joinAddr: deployments.dependencies.MCD_JOIN_ETH_A.address, amount: BigInt(sourcePosition.collateralAmount.toBaseUnit()), diff --git a/sdk/order-planner-service/tests/utils/MakerSourcePosition.ts b/sdk/order-planner-service/tests/utils/MakerSourcePosition.ts index 54d3d932a2..074aa915c5 100644 --- a/sdk/order-planner-service/tests/utils/MakerSourcePosition.ts +++ b/sdk/order-planner-service/tests/utils/MakerSourcePosition.ts @@ -8,7 +8,7 @@ import { TokenAmount, } from '@summerfi/sdk-common/common' import { PoolType, ProtocolName } from '@summerfi/sdk-common/protocols' -import { ILKType, MakerPoolId } from '@summerfi/protocol-plugins/plugins/maker' +import { ILKType, MakerPoolId, MakerPositionId } from '@summerfi/protocol-plugins/plugins/maker' import { PositionType } from '@summerfi/sdk-common/common' export function getMakerPosition(): Position { @@ -48,7 +48,6 @@ export function getMakerPosition(): Position { const poolId = { protocol: protocol, ilkType: ILKType.ETH_A, - vaultId: '34', } as MakerPoolId const pool = { @@ -59,7 +58,7 @@ export function getMakerPosition(): Position { const position = Position.createFrom({ type: PositionType.Multiply, - positionId: PositionId.createFrom({ id: 'makerPosition' }), + positionId: MakerPositionId.createFrom({ id: 'makerPosition', vaultId: '34' }), debtAmount, collateralAmount, pool, diff --git a/sdk/order-planner-service/tests/utils/SparkTargetPosition.ts b/sdk/order-planner-service/tests/utils/SparkTargetPosition.ts index c46d5c3ed1..3c078cc2d5 100644 --- a/sdk/order-planner-service/tests/utils/SparkTargetPosition.ts +++ b/sdk/order-planner-service/tests/utils/SparkTargetPosition.ts @@ -1,5 +1,5 @@ import { EmodeType } from '@summerfi/protocol-plugins/plugins/common' -import { SparkPoolId } from '@summerfi/protocol-plugins/plugins/spark' +import { SparkPoolId, SparkPositionId } from '@summerfi/protocol-plugins/plugins/spark' import { Address, ChainFamilyMap, @@ -59,7 +59,7 @@ export function getSparkPosition(): Position { const position = Position.createFrom({ type: PositionType.Multiply, - positionId: PositionId.createFrom({ id: 'sparkPosition' }), + positionId: SparkPositionId.createFrom({ id: 'sparkPosition' }), debtAmount, collateralAmount, pool, diff --git a/sdk/order-planner-service/tsconfig.test.json b/sdk/order-planner-service/tsconfig.test.json index 276f69b397..149740f4db 100644 --- a/sdk/order-planner-service/tsconfig.test.json +++ b/sdk/order-planner-service/tsconfig.test.json @@ -6,6 +6,7 @@ "paths": { "@summerfi/order-planner-common/*": ["node_modules/@summerfi/order-planner-common/src/*"], "@summerfi/sdk-common/*": ["node_modules/@summerfi/sdk-common/src/*"], + "@summerfi/sdk-common": ["node_modules/@summerfi/sdk-common/src/index.ts"], "@summerfi/core-contracts": ["node_modules/@summerfi/core-contracts/src/index.ts"], "@summerfi/swap-common/*": ["node_modules/@summerfi/swap-common/src/*"], "@summerfi/deployment-utils": ["node_modules/@summerfi/deployment-utils/src/index.ts"], diff --git a/sdk/protocol-plugins-common/src/interfaces/IPositionId.ts b/sdk/protocol-plugins-common/src/interfaces/IPositionId.ts deleted file mode 100644 index 505d67170e..0000000000 --- a/sdk/protocol-plugins-common/src/interfaces/IPositionId.ts +++ /dev/null @@ -1 +0,0 @@ -export type IPositionId = string & { __positionID: never } diff --git a/sdk/protocol-plugins-common/src/interfaces/IProtocolPlugin.ts b/sdk/protocol-plugins-common/src/interfaces/IProtocolPlugin.ts index 926c474f0a..806c3b7184 100644 --- a/sdk/protocol-plugins-common/src/interfaces/IProtocolPlugin.ts +++ b/sdk/protocol-plugins-common/src/interfaces/IProtocolPlugin.ts @@ -1,7 +1,6 @@ -import { ChainInfo, IPosition, Maybe } from '@summerfi/sdk-common/common' +import { ChainInfo, IPosition, IPositionId, Maybe } from '@summerfi/sdk-common/common' import { IPoolId, IPool, ProtocolName } from '@summerfi/sdk-common/protocols' import { type IProtocolPluginContext } from './IProtocolPluginContext' -import { IPositionId } from './IPositionId' import { steps } from '@summerfi/sdk-common/simulation' import { ActionBuilder, ActionBuildersMap } from '../types/StepBuilderTypes' import { IUser } from '@summerfi/sdk-common/user' diff --git a/sdk/protocol-plugins-common/src/interfaces/index.ts b/sdk/protocol-plugins-common/src/interfaces/index.ts index ad2bf69fc6..2e8321586d 100644 --- a/sdk/protocol-plugins-common/src/interfaces/index.ts +++ b/sdk/protocol-plugins-common/src/interfaces/index.ts @@ -1,4 +1,3 @@ -export { type IPositionId } from './IPositionId' export { type IPriceService } from './IPriceService' export { type IProtocolPlugin } from './IProtocolPlugin' export { type IProtocolPluginContext } from './IProtocolPluginContext' diff --git a/sdk/protocol-plugins-common/tests/ExecutionStorageMapper.spec.ts b/sdk/protocol-plugins-common/tests/ExecutionStorageMapper.spec.ts index 3724c6cb41..b1b43b39b6 100644 --- a/sdk/protocol-plugins-common/tests/ExecutionStorageMapper.spec.ts +++ b/sdk/protocol-plugins-common/tests/ExecutionStorageMapper.spec.ts @@ -81,7 +81,7 @@ describe('Execution Storage Mapper', () => { const position = Position.createFrom({ type: PositionType.Multiply, - positionId: PositionId.createFrom({ id: 'someposition' }), + positionId: { id: 'someposition' }, debtAmount: borrowAmount, collateralAmount: depositAmount, pool: pool, diff --git a/sdk/protocol-plugins-common/tests/StepBuilderContext.spec.ts b/sdk/protocol-plugins-common/tests/StepBuilderContext.spec.ts index 16d3364e1b..34e1427097 100644 --- a/sdk/protocol-plugins-common/tests/StepBuilderContext.spec.ts +++ b/sdk/protocol-plugins-common/tests/StepBuilderContext.spec.ts @@ -90,7 +90,7 @@ describe('Step Builder Context', () => { const position = Position.createFrom({ type: PositionType.Multiply, - positionId: PositionId.createFrom({ id: 'someposition' }), + positionId: { id: 'someposition' }, debtAmount: borrowAmount, collateralAmount: depositAmount, pool: pool, diff --git a/sdk/protocol-plugins/src/implementation/BaseProtocolPlugin.ts b/sdk/protocol-plugins/src/implementation/BaseProtocolPlugin.ts index c3da14790a..423fd730f9 100644 --- a/sdk/protocol-plugins/src/implementation/BaseProtocolPlugin.ts +++ b/sdk/protocol-plugins/src/implementation/BaseProtocolPlugin.ts @@ -1,11 +1,10 @@ import { ActionBuilder, ActionBuildersMap, - IPositionId, IProtocolPlugin, IProtocolPluginContext, } from '@summerfi/protocol-plugins-common' -import { ChainInfo, Maybe, IPosition } from '@summerfi/sdk-common/common' +import { ChainInfo, Maybe, IPosition, IPositionId } from '@summerfi/sdk-common/common' import { IExternalPosition, IPositionsManager, TransactionInfo } from '@summerfi/sdk-common/orders' import { IPoolId, ProtocolName, IPool } from '@summerfi/sdk-common/protocols' import { steps } from '@summerfi/sdk-common/simulation' diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AAVEv3ProtocolPlugin.ts b/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AAVEv3ProtocolPlugin.ts index 9ec7dbcdc7..9df19865bc 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AAVEv3ProtocolPlugin.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AAVEv3ProtocolPlugin.ts @@ -11,6 +11,7 @@ import { Maybe, IPosition, ChainId, + IPositionId, } from '@summerfi/sdk-common/common' import { PoolType, ProtocolName } from '@summerfi/sdk-common/protocols' import { BigNumber } from 'bignumber.js' @@ -40,7 +41,7 @@ import { } from '../abis/AaveV3ABIS' import { AaveV3ContractNames } from '@summerfi/deployment-types' import { EmodeType } from '../../common/enums/EmodeType' -import { AaveV3PoolId } from '../types/AaveV3PoolId' +import { IAaveV3PoolId } from '../interfaces/IAaveV3PoolId' import { IUser } from '@summerfi/sdk-common/user' import { IExternalPosition, IPositionsManager, TransactionInfo } from '@summerfi/sdk-common/orders' @@ -57,7 +58,7 @@ export class AaveV3ProtocolPlugin extends BaseProtocolPlugin { ]) readonly stepBuilders: Partial = {} - readonly aaveV3PoolidSchema = z.object({ + readonly aaveV3PoolIdSchema = z.object({ protocol: z.object({ name: z.literal(ProtocolName.AAVEv3), chainInfo: z.object({ @@ -75,11 +76,11 @@ export class AaveV3ProtocolPlugin extends BaseProtocolPlugin { super(params) } - isPoolId(candidate: unknown): candidate is AaveV3PoolId { - return this._isPoolId(candidate, this.aaveV3PoolidSchema) + isPoolId(candidate: unknown): candidate is IAaveV3PoolId { + return this._isPoolId(candidate, this.aaveV3PoolIdSchema) } - validatePoolId(candidate: unknown): asserts candidate is AaveV3PoolId { + validatePoolId(candidate: unknown): asserts candidate is IAaveV3PoolId { if (!this.isPoolId(candidate)) { throw new Error(`Invalid AaveV3 pool ID: ${JSON.stringify(candidate)}`) } @@ -128,7 +129,7 @@ export class AaveV3ProtocolPlugin extends BaseProtocolPlugin { }) } - async getPosition(positionId: string): Promise { + async getPosition(positionId: IPositionId): Promise { throw new Error(`Not implemented ${positionId}`) } diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3PoolId.ts b/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3PoolId.ts new file mode 100644 index 0000000000..b80128d411 --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3PoolId.ts @@ -0,0 +1,23 @@ +import { PoolId } from '@summerfi/sdk-common/protocols' +import { SerializationService } from '@summerfi/sdk-common/services' +import { EmodeType } from '../../common' +import { IAaveV3PoolId } from '../interfaces/IAaveV3PoolId' +import { IAaveV3Protocol } from '../interfaces/IAaveV3Protocol' + +export class AaveV3PoolId extends PoolId implements IAaveV3PoolId { + protocol: IAaveV3Protocol + emodeType: EmodeType + + private constructor(params: IAaveV3PoolId) { + super(params) + + this.protocol = params.protocol + this.emodeType = params.emodeType + } + + static createFrom(params: IAaveV3PoolId): AaveV3PoolId { + return new AaveV3PoolId(params) + } +} + +SerializationService.registerClass(AaveV3PoolId) diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3PositionId.ts b/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3PositionId.ts new file mode 100644 index 0000000000..1ece75c07b --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3PositionId.ts @@ -0,0 +1,15 @@ +import { PositionId } from '@summerfi/sdk-common' +import { SerializationService } from '@summerfi/sdk-common/services' +import { IAaveV3PositionId } from '../interfaces/IAaveV3PositionId' + +export class AaveV3PositionId extends PositionId implements IAaveV3PositionId { + private constructor(params: IAaveV3PositionId) { + super(params) + } + + static createFrom(params: IAaveV3PositionId): AaveV3PositionId { + return new AaveV3PositionId(params) + } +} + +SerializationService.registerClass(AaveV3PositionId) diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/implementation/index.ts b/sdk/protocol-plugins/src/plugins/aave-v3/implementation/index.ts index b790a0d83d..55b311f93b 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/implementation/index.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/implementation/index.ts @@ -1,10 +1,7 @@ -export { AaveV3ProtocolPlugin } from './AAVEv3ProtocolPlugin' -export { AaveV3CollateralConfig } from './AaveV3CollateralConfig' -export { - AaveV3CollateralConfigMap, - type AaveV3CollateralConfigRecord, -} from './AaveV3CollateralConfigMap' -export { AaveV3DebtConfig } from './AaveV3DebtConfig' -export { AaveV3DebtConfigMap, type AaveV3DebtConfigRecord } from './AaveV3DebtConfigMap' -export { AaveV3LendingPool } from './AaveV3LendingPool' -export { aaveV3EmodeCategoryMap } from './EmodeCategoryMap' +export * from './AAVEv3ProtocolPlugin' +export * from './AaveV3CollateralConfig' +export * from './AaveV3CollateralConfigMap' +export * from './AaveV3DebtConfig' +export * from './AaveV3DebtConfigMap' +export * from './AaveV3LendingPool' +export * from './EmodeCategoryMap' diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/types/AaveV3PoolId.ts b/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3PoolId.ts similarity index 64% rename from sdk/protocol-plugins/src/plugins/aave-v3/types/AaveV3PoolId.ts rename to sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3PoolId.ts index 23a5889432..678b63875f 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/types/AaveV3PoolId.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3PoolId.ts @@ -1,16 +1,13 @@ -import { ChainInfo } from '@summerfi/sdk-common/common' import { IPoolId, ProtocolName, isPoolId } from '@summerfi/sdk-common/protocols' import { EmodeType } from '../../common/enums/EmodeType' +import { IAaveV3Protocol } from './IAaveV3Protocol' -export interface AaveV3PoolId extends IPoolId { - protocol: { - name: ProtocolName.AAVEv3 - chainInfo: ChainInfo - } +export interface IAaveV3PoolId extends IPoolId { + protocol: IAaveV3Protocol emodeType: EmodeType } -export function isAaveV3PoolId(maybeAaveV3PoolId: unknown): maybeAaveV3PoolId is AaveV3PoolId { +export function isAaveV3PoolId(maybeAaveV3PoolId: unknown): maybeAaveV3PoolId is IAaveV3PoolId { return ( isPoolId(maybeAaveV3PoolId) && 'emodeType' in maybeAaveV3PoolId && diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3PositionId.ts b/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3PositionId.ts new file mode 100644 index 0000000000..945bffbdba --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3PositionId.ts @@ -0,0 +1,10 @@ +import { IPositionId } from '@summerfi/sdk-common/common' +import { isPositionId } from '@summerfi/sdk-common' + +export interface IAaveV3PositionId extends IPositionId { + // Empty on purpose +} + +export function isAavev3PositionId(maybePositionId: unknown): maybePositionId is IAaveV3PositionId { + return isPositionId(maybePositionId) +} diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3Protocol.ts b/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3Protocol.ts new file mode 100644 index 0000000000..721fb945a3 --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3Protocol.ts @@ -0,0 +1,8 @@ +import { IProtocol } from '@summerfi/sdk-common' +import { ChainInfo } from '@summerfi/sdk-common/common' +import { ProtocolName } from '@summerfi/sdk-common/protocols' + +export interface IAaveV3Protocol extends IProtocol { + name: ProtocolName.AAVEv3 + chainInfo: ChainInfo +} diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/index.ts b/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/index.ts index da4b10990b..4d780c56e6 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/index.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/index.ts @@ -1,8 +1,5 @@ -export { type IAaveV3CollateralConfig } from './IAaveV3CollateralConfig' -export { - type IAaveV3CollateralConfigMap, - type IAaveV3CollateralConfigRecord, -} from './IAaveV3CollateralConfigMap' -export { type IAaveV3DebtConfig } from './IAaveV3DebtConfig' -export { type IAaveV3DebtConfigMap, type IAaveV3DebtConfigRecord } from './IAaveV3DebtConfigMap' -export { type IAaveV3LendingPool } from './IAaveV3LendingPool' +export * from './IAaveV3CollateralConfig' +export * from './IAaveV3CollateralConfigMap' +export * from './IAaveV3DebtConfig' +export * from './IAaveV3DebtConfigMap' +export * from './IAaveV3LendingPool' diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/types/index.ts b/sdk/protocol-plugins/src/plugins/aave-v3/types/index.ts index 8583be901d..e6e21dc3db 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/types/index.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/types/index.ts @@ -1,2 +1,2 @@ export * from './AaveV3AddressAbiMap' -export * from './AaveV3PoolId' +export * from '../interfaces/IAaveV3PoolId' diff --git a/sdk/protocol-plugins/src/plugins/maker/actions/MakerPaybackAction.ts b/sdk/protocol-plugins/src/plugins/maker/actions/MakerPaybackAction.ts index 4cccb6bf3d..5b590722bb 100644 --- a/sdk/protocol-plugins/src/plugins/maker/actions/MakerPaybackAction.ts +++ b/sdk/protocol-plugins/src/plugins/maker/actions/MakerPaybackAction.ts @@ -1,8 +1,7 @@ import { ActionCall, BaseAction, InputSlotsMapping } from '@summerfi/protocol-plugins-common' -import { TokenAmount } from '@summerfi/sdk-common/common' +import { IPosition, TokenAmount } from '@summerfi/sdk-common/common' import { IPositionsManager } from '@summerfi/sdk-common/orders' -import { IPool } from '@summerfi/sdk-common/protocols/' -import { isMakerPoolId } from '../types/MakerPoolId' +import { isMakerPositionId } from '../interfaces' export class MakerPaybackAction extends BaseAction { public readonly config = { @@ -15,21 +14,21 @@ export class MakerPaybackAction extends BaseAction { public encodeCall( params: { - pool: IPool + position: IPosition positionsManager: IPositionsManager amount: TokenAmount paybackAll: boolean }, paramsMapping?: InputSlotsMapping, ): ActionCall { - if (!isMakerPoolId(params.pool.poolId)) { + if (!isMakerPositionId(params.position.positionId)) { throw new Error('Pool ID is not a Maker one') } return this._encodeCall({ arguments: [ { - vaultId: params.pool.poolId.vaultId, + vaultId: params.position.positionId.vaultId, userAddress: params.positionsManager.address.value, amount: params.amount.toBaseUnit(), paybackAll: params.paybackAll, diff --git a/sdk/protocol-plugins/src/plugins/maker/actions/MakerWithdrawAction.ts b/sdk/protocol-plugins/src/plugins/maker/actions/MakerWithdrawAction.ts index c8a298a095..82341e62c4 100644 --- a/sdk/protocol-plugins/src/plugins/maker/actions/MakerWithdrawAction.ts +++ b/sdk/protocol-plugins/src/plugins/maker/actions/MakerWithdrawAction.ts @@ -1,8 +1,8 @@ import { ActionCall, BaseAction, InputSlotsMapping } from '@summerfi/protocol-plugins-common' import { Address, TokenAmount } from '@summerfi/sdk-common/common' import { IPositionsManager } from '@summerfi/sdk-common/orders' -import { IPool } from '@summerfi/sdk-common/protocols' -import { isMakerPoolId } from '../types/MakerPoolId' +import { IPosition } from '@summerfi/sdk-common' +import { isMakerPositionId } from '../interfaces' export class MakerWithdrawAction extends BaseAction { public readonly config = { @@ -15,21 +15,21 @@ export class MakerWithdrawAction extends BaseAction { public encodeCall( params: { - pool: IPool + position: IPosition positionsManager: IPositionsManager amount: TokenAmount joinAddress: Address }, paramsMapping?: InputSlotsMapping, ): ActionCall { - if (!isMakerPoolId(params.pool.poolId)) { + if (!isMakerPositionId(params.position.positionId)) { throw new Error('Pool ID is not a Maker one') } return this._encodeCall({ arguments: [ { - vaultId: params.pool.poolId.vaultId, + vaultId: params.position.positionId.vaultId, userAddress: params.positionsManager.address.value, joinAddr: params.joinAddress.value, amount: params.amount.toBaseUnit(), diff --git a/sdk/protocol-plugins/src/plugins/maker/builders/MakerImportPositionActionBuilder.ts b/sdk/protocol-plugins/src/plugins/maker/builders/MakerImportPositionActionBuilder.ts index 3e972847a5..adfdc3589b 100644 --- a/sdk/protocol-plugins/src/plugins/maker/builders/MakerImportPositionActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/maker/builders/MakerImportPositionActionBuilder.ts @@ -1,8 +1,8 @@ import { steps } from '@summerfi/sdk-common/simulation' import { ActionNames } from '@summerfi/deployment-types' import { ActionBuilder } from '@summerfi/protocol-plugins-common' -import { isMakerPoolId } from '../types/MakerPoolId' import { ProtocolName } from '@summerfi/sdk-common/protocols' +import { isMakerPoolId } from '../interfaces/IMakerPoolId' export const MakerPaybackWithdrawActionList: ActionNames[] = ['MakerPayback', 'MakerWithdraw'] export const MakerImportPositionActionBuilder: ActionBuilder = async ( diff --git a/sdk/protocol-plugins/src/plugins/maker/builders/MakerPaybackWithdrawActionBuilder.ts b/sdk/protocol-plugins/src/plugins/maker/builders/MakerPaybackWithdrawActionBuilder.ts index d0c785da89..4acefa9000 100644 --- a/sdk/protocol-plugins/src/plugins/maker/builders/MakerPaybackWithdrawActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/maker/builders/MakerPaybackWithdrawActionBuilder.ts @@ -5,7 +5,7 @@ import { MakerWithdrawAction } from '../actions/MakerWithdrawAction' import { Address, AddressValue } from '@summerfi/sdk-common/common' import { ActionBuilder } from '@summerfi/protocol-plugins-common' import { MakerIlkToJoinMap } from '../types/MakerIlkToJoinMap' -import { isMakerPoolId } from '../types/MakerPoolId' +import { isMakerPoolId } from '../interfaces/IMakerPoolId' export const MakerPaybackWithdrawActionList: ActionNames[] = ['MakerPayback', 'MakerWithdraw'] export const MakerPaybackWithdrawActionBuilder: ActionBuilder = async ( @@ -29,7 +29,7 @@ export const MakerPaybackWithdrawActionBuilder: ActionBuilder type Asset = Awaited extends (infer U)[] ? U : never @@ -78,11 +75,11 @@ export class SparkProtocolPlugin extends BaseProtocolPlugin { super(params) } - isPoolId(candidate: unknown): candidate is SparkPoolId { + isPoolId(candidate: unknown): candidate is ISparkPoolId { return this._isPoolId(candidate, this.sparkPoolIdSchema) } - validatePoolId(candidate: unknown): asserts candidate is SparkPoolId { + validatePoolId(candidate: unknown): asserts candidate is ISparkPoolId { if (!this.isPoolId(candidate)) { throw new Error(`Invalid Spark pool ID: ${JSON.stringify(candidate)}`) } diff --git a/sdk/protocol-plugins/src/plugins/spark/implementation/index.ts b/sdk/protocol-plugins/src/plugins/spark/implementation/index.ts index 03ed78d147..266832ac9f 100644 --- a/sdk/protocol-plugins/src/plugins/spark/implementation/index.ts +++ b/sdk/protocol-plugins/src/plugins/spark/implementation/index.ts @@ -1,10 +1,9 @@ -export { sparkEmodeCategoryMap } from './EmodeCategoryMap' -export { SparkCollateralConfig } from './SparkCollateralConfig' -export { - SparkCollateralConfigMap, - type SparkCollateralConfigRecord, -} from './SparkCollateralConfigMap' -export { SparkDebtConfig } from './SparkDebtConfig' -export { SparkDebtConfigMap, type SparkDebtConfigRecord } from './SparkDebtConfigMap' -export { SparkLendingPool } from './SparkLendingPool' -export { SparkProtocolPlugin } from './SparkProtocolPlugin' +export * from './EmodeCategoryMap' +export * from './SparkCollateralConfig' +export * from './SparkCollateralConfigMap' +export * from './SparkDebtConfig' +export * from './SparkDebtConfigMap' +export * from './SparkLendingPool' +export * from './SparkProtocolPlugin' +export * from './SparkPoolId' +export * from './SparkPositionId' diff --git a/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkPoolId.ts b/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkPoolId.ts new file mode 100644 index 0000000000..5e5aa71a6a --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkPoolId.ts @@ -0,0 +1,12 @@ +import { IPoolId, ProtocolName } from '@summerfi/sdk-common/protocols' +import { EmodeType } from '../../common/enums/EmodeType' +import { ISparkProtocol } from './ISparkProtocol' + +export interface ISparkPoolId extends IPoolId { + protocol: ISparkProtocol + emodeType: EmodeType +} + +export function isSparkPoolId(poolId: IPoolId): poolId is ISparkPoolId { + return poolId.protocol.name === ProtocolName.Spark +} diff --git a/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkPositionId.ts b/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkPositionId.ts new file mode 100644 index 0000000000..ad958e5aa0 --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkPositionId.ts @@ -0,0 +1,10 @@ +import { IPositionId } from '@summerfi/sdk-common/common' +import { isPositionId } from '@summerfi/sdk-common' + +export interface ISparkPositionId extends IPositionId { + // Empty on purpose +} + +export function isSparkPositionId(maybePositionId: unknown): maybePositionId is ISparkPositionId { + return isPositionId(maybePositionId) +} diff --git a/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkProtocol.ts b/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkProtocol.ts new file mode 100644 index 0000000000..c4758e8d3c --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkProtocol.ts @@ -0,0 +1,8 @@ +import { IProtocol } from '@summerfi/sdk-common' +import { ChainInfo } from '@summerfi/sdk-common/common' +import { ProtocolName } from '@summerfi/sdk-common/protocols' + +export interface ISparkProtocol extends IProtocol { + name: ProtocolName.Spark + chainInfo: ChainInfo +} diff --git a/sdk/protocol-plugins/src/plugins/spark/interfaces/index.ts b/sdk/protocol-plugins/src/plugins/spark/interfaces/index.ts index 6b0a1a7722..dbdbd287f7 100644 --- a/sdk/protocol-plugins/src/plugins/spark/interfaces/index.ts +++ b/sdk/protocol-plugins/src/plugins/spark/interfaces/index.ts @@ -1,8 +1,7 @@ -export { type ISparkCollateralConfig } from './ISparkCollateralConfig' -export { - type ISparkCollateralConfigMap, - type ISparkCollateralConfigRecord, -} from './ISparkCollateralConfigMap' -export { type ISparkDebtConfig } from './ISparkDebtConfig' -export { type ISparkDebtConfigMap, type ISparkDebtConfigRecord } from './ISparkDebtConfigMap' -export { type ISparkLendingPool } from './ISparkLendingPool' +export * from './ISparkCollateralConfig' +export * from './ISparkCollateralConfigMap' +export * from './ISparkDebtConfig' +export * from './ISparkDebtConfigMap' +export * from './ISparkLendingPool' +export * from './ISparkPositionId' +export * from './ISparkPoolId' diff --git a/sdk/protocol-plugins/src/plugins/spark/types/SparkPoolId.ts b/sdk/protocol-plugins/src/plugins/spark/types/SparkPoolId.ts deleted file mode 100644 index 57c379a57a..0000000000 --- a/sdk/protocol-plugins/src/plugins/spark/types/SparkPoolId.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { ChainInfo } from '@summerfi/sdk-common/common' -import { IPoolId, ProtocolName } from '@summerfi/sdk-common/protocols' -import { EmodeType } from '../../common/enums/EmodeType' - -export interface SparkPoolId extends IPoolId { - protocol: { - name: ProtocolName.Spark - chainInfo: ChainInfo - } - emodeType: EmodeType -} - -export function isSparkPoolId(poolId: IPoolId): poolId is SparkPoolId { - return poolId.protocol.name === ProtocolName.Spark -} diff --git a/sdk/protocol-plugins/src/plugins/spark/types/index.ts b/sdk/protocol-plugins/src/plugins/spark/types/index.ts index 37c67838b4..f1826a124c 100644 --- a/sdk/protocol-plugins/src/plugins/spark/types/index.ts +++ b/sdk/protocol-plugins/src/plugins/spark/types/index.ts @@ -1,2 +1 @@ export * from './SparkAddressAbiMap' -export * from './SparkPoolId' diff --git a/sdk/protocol-plugins/tests/actions/PositionCreatedAction.spec.ts b/sdk/protocol-plugins/tests/actions/PositionCreatedAction.spec.ts index 5e2e6a6b98..a403002482 100644 --- a/sdk/protocol-plugins/tests/actions/PositionCreatedAction.spec.ts +++ b/sdk/protocol-plugins/tests/actions/PositionCreatedAction.spec.ts @@ -2,7 +2,7 @@ import { Address, Position, Token, TokenAmount, PositionType } from '@summerfi/s import { decodeActionCalldata, getTargetHash } from '@summerfi/testing-utils' import { PositionCreatedAction } from '../../src/plugins/common/actions/PositionCreatedAction' import { IProtocol, PoolType, ProtocolName } from '@summerfi/sdk-common/protocols' -import { MakerPoolId } from '../../src/plugins/maker/types/MakerPoolId' +import { MakerPoolId } from '../../src/plugins/maker/implementation/MakerPoolId' import { ILKType } from '../../src/plugins/maker' describe('PositionCreated Action', () => { diff --git a/sdk/protocol-plugins/tests/builders/DepositBorrowActionBuilder.spec.ts b/sdk/protocol-plugins/tests/builders/DepositBorrowActionBuilder.spec.ts index fa6b846340..f3350f9a06 100644 --- a/sdk/protocol-plugins/tests/builders/DepositBorrowActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/builders/DepositBorrowActionBuilder.spec.ts @@ -14,7 +14,7 @@ import { DepositBorrowActionBuilder } from '../../src/plugins/common/builders/De import { PoolType, ProtocolName } from '@summerfi/sdk-common/protocols' import { getErrorMessage } from '@summerfi/testing-utils' import assert from 'assert' -import { MakerPoolId } from '../../src/plugins/maker/types/MakerPoolId' +import { MakerPoolId } from '../../src/plugins/maker/implementation/MakerPoolId' import { ILKType } from '../../src/plugins/maker/enums/ILKType' describe('Deposit Borrow Action Builder', () => { diff --git a/sdk/protocol-plugins/tests/builders/PaybackWithdrawActionBuilder.spec.ts b/sdk/protocol-plugins/tests/builders/PaybackWithdrawActionBuilder.spec.ts index afe11cdb6e..9a3495419b 100644 --- a/sdk/protocol-plugins/tests/builders/PaybackWithdrawActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/builders/PaybackWithdrawActionBuilder.spec.ts @@ -14,7 +14,7 @@ import { PoolType, ProtocolName } from '@summerfi/sdk-common/protocols' import { getErrorMessage } from '@summerfi/testing-utils' import assert from 'assert' import { PaybackWithdrawActionBuilder } from '../../src/plugins/common/builders/PaybackWithdrawActionBuilder' -import { MakerPoolId } from '../../src/plugins/maker/types/MakerPoolId' +import { MakerPoolId } from '../../src/plugins/maker/implementation/MakerPoolId' import { ILKType } from '../../src/plugins/maker/enums/ILKType' describe('Payback Withdraw Action Builder', () => { diff --git a/sdk/protocol-plugins/tests/unit/AAVEv3ProtocolPlugin.spec.ts b/sdk/protocol-plugins/tests/unit/AAVEv3ProtocolPlugin.spec.ts index ff3f9193f5..95b8c1be35 100644 --- a/sdk/protocol-plugins/tests/unit/AAVEv3ProtocolPlugin.spec.ts +++ b/sdk/protocol-plugins/tests/unit/AAVEv3ProtocolPlugin.spec.ts @@ -1,5 +1,5 @@ -import { IProtocolPluginContext, IPositionId } from '@summerfi/protocol-plugins-common' -import { ChainInfo } from '@summerfi/sdk-common/common' +import { IProtocolPluginContext } from '@summerfi/protocol-plugins-common' +import { ChainInfo, IPositionId } from '@summerfi/sdk-common/common' import { ProtocolName } from '@summerfi/sdk-common/protocols' import assert from 'assert' import { AaveV3ProtocolPlugin } from '../../src/plugins/aave-v3' @@ -97,7 +97,9 @@ describe('AAVEv3 Protocol Plugin', () => { }) it('should throw a "Not implemented" error when calling getPosition', async () => { - const positionId = 'mockPositionId' as IPositionId + const positionId: IPositionId = { + id: 'mockPositionId', + } await expect(aaveV3ProtocolPlugin.getPosition(positionId)).rejects.toThrow('Not implemented') }) }) diff --git a/sdk/protocol-plugins/tests/unit/MakerProtocolPlugin.spec.ts b/sdk/protocol-plugins/tests/unit/MakerProtocolPlugin.spec.ts index 1f49194154..0fdde1a676 100644 --- a/sdk/protocol-plugins/tests/unit/MakerProtocolPlugin.spec.ts +++ b/sdk/protocol-plugins/tests/unit/MakerProtocolPlugin.spec.ts @@ -1,4 +1,4 @@ -import { IProtocolPluginContext, IPositionId } from '@summerfi/protocol-plugins-common' +import { IProtocolPluginContext } from '@summerfi/protocol-plugins-common' import { ChainInfo } from '@summerfi/sdk-common/common' import { ProtocolName } from '@summerfi/sdk-common/protocols' import assert from 'assert' @@ -101,7 +101,9 @@ describe('Maker Protocol Plugin', () => { }) it('should throw a "Not implemented" error when calling getPosition', async () => { - const positionId = 'mockPositionId' as IPositionId + const positionId = { + id: 'mockPositionId', + } await expect(makerProtocolPlugin.getPosition(positionId)).rejects.toThrow('Not implemented') }) }) diff --git a/sdk/protocol-plugins/tests/unit/SparkProtocolPlugin.spec.ts b/sdk/protocol-plugins/tests/unit/SparkProtocolPlugin.spec.ts index 84357e4fc8..e4cda4c671 100644 --- a/sdk/protocol-plugins/tests/unit/SparkProtocolPlugin.spec.ts +++ b/sdk/protocol-plugins/tests/unit/SparkProtocolPlugin.spec.ts @@ -1,5 +1,5 @@ -import { IProtocolPluginContext, IPositionId } from '@summerfi/protocol-plugins-common' -import { ChainInfo } from '@summerfi/sdk-common/common' +import { IProtocolPluginContext } from '@summerfi/protocol-plugins-common' +import { ChainInfo, IPositionId } from '@summerfi/sdk-common/common' import { ProtocolName } from '@summerfi/sdk-common/protocols' import assert from 'assert' import { SparkProtocolPlugin } from '../../src/plugins/spark' @@ -101,7 +101,9 @@ describe('Spark Protocol Plugin', () => { }) it('should throw a "Not implemented" error when calling getPosition', async () => { - const positionId = 'mockPositionId' as IPositionId + const positionId: IPositionId = { + id: 'mockPositionId', + } await expect(sparkProtocolPlugin.getPosition(positionId)).rejects.toThrow('Not implemented') }) }) diff --git a/sdk/protocol-plugins/tests/utils/ProtocolPluginMock.ts b/sdk/protocol-plugins/tests/utils/ProtocolPluginMock.ts index 9b20bfd8b0..3463e17be6 100644 --- a/sdk/protocol-plugins/tests/utils/ProtocolPluginMock.ts +++ b/sdk/protocol-plugins/tests/utils/ProtocolPluginMock.ts @@ -1,14 +1,16 @@ -import { ChainFamilyMap, IPosition, Maybe } from '@summerfi/sdk-common/common' +import { ChainFamilyMap, IPosition, IPositionId, Maybe } from '@summerfi/sdk-common/common' import { SimulationSteps, steps } from '@summerfi/sdk-common/simulation' import { StepBuilderContextMock } from '../../../testing-utils/src/mocks/StepBuilderContextMock' import { ActionBuilder, ActionBuildersMap, - IPositionId, IProtocolPlugin, IProtocolPluginContext, } from '@summerfi/protocol-plugins-common' import { IPool, IPoolId, ProtocolName } from '@summerfi/sdk-common/protocols' +import { IExternalPosition, IPositionsManager } from '@summerfi/sdk-common/orders' +import { IUser } from '@summerfi/sdk-common/user' +import { TransactionInfo } from '@summerfi/sdk-common' /* eslint-disable @typescript-eslint/no-unused-vars */ @@ -58,6 +60,14 @@ export class ProtocolPluginMock implements IProtocolPlugin { getActionBuilder(step: T): Maybe> { return this.stepBuilders[step.type] as ActionBuilder } + + async getImportPositionTransaction(params: { + user: IUser + externalPosition: IExternalPosition + positionsManager: IPositionsManager + }): Promise> { + return undefined as unknown as TransactionInfo + } } export class EmptyProtocolPluginMock implements IProtocolPlugin { @@ -83,6 +93,14 @@ export class EmptyProtocolPluginMock implements IProtocolPlugin { getActionBuilder(step: T): Maybe> { return this.stepBuilders[step.type] as ActionBuilder } + + async getImportPositionTransaction(params: { + user: IUser + externalPosition: IExternalPosition + positionsManager: IPositionsManager + }): Promise> { + return undefined as unknown as TransactionInfo + } } export class NoCheckpointProtocolPluginMock implements IProtocolPlugin { @@ -111,4 +129,12 @@ export class NoCheckpointProtocolPluginMock implements IProtocolPlugin { getActionBuilder(step: T): Maybe> { return this.stepBuilders[step.type] as ActionBuilder } + + async getImportPositionTransaction(params: { + user: IUser + externalPosition: IExternalPosition + positionsManager: IPositionsManager + }): Promise> { + return undefined as unknown as TransactionInfo + } } diff --git a/sdk/protocol-plugins/tsconfig.test.json b/sdk/protocol-plugins/tsconfig.test.json index ba19885069..181b38dfbf 100644 --- a/sdk/protocol-plugins/tsconfig.test.json +++ b/sdk/protocol-plugins/tsconfig.test.json @@ -5,6 +5,7 @@ "baseUrl": ".", "paths": { "@summerfi/sdk-common/*": ["node_modules/@summerfi/sdk-common/src/*"], + "@summerfi/sdk-common": ["node_modules/@summerfi/sdk-common/src/index.ts"], "@summerfi/order-planner-common/*": ["node_modules/@summerfi/order-planner-common/src/*"], "@summerfi/protocol-plugins-common": [ "node_modules/@summerfi/protocol-plugins-common/src/index.ts" diff --git a/sdk/sdk-client/tests/queries/getPool.subtest.ts b/sdk/sdk-client/tests/queries/getPool.subtest.ts index b6ee27541c..319d72dc40 100644 --- a/sdk/sdk-client/tests/queries/getPool.subtest.ts +++ b/sdk/sdk-client/tests/queries/getPool.subtest.ts @@ -4,8 +4,8 @@ import { RPCClientType } from '../../src/rpc/SDKClient' import { ILKType, MakerPoolId, - isMakerPoolId, MakerLendingPool, + isMakerPoolId, } from '@summerfi/protocol-plugins/plugins/maker' export default async function getPoolTest() { @@ -60,7 +60,6 @@ export default async function getPoolTest() { chainInfo: chain.chainInfo, }, ilkType: ILKType.ETH_A, - vaultId: '0x123', } const pool = await protocol.getPool({ poolId: makerPoolId }) diff --git a/sdk/sdk-client/tests/queries/newOrder.subtest.ts b/sdk/sdk-client/tests/queries/newOrder.subtest.ts index 8132bc43ff..92621d8647 100644 --- a/sdk/sdk-client/tests/queries/newOrder.subtest.ts +++ b/sdk/sdk-client/tests/queries/newOrder.subtest.ts @@ -1,19 +1,16 @@ import { IProtocol, PoolType, ProtocolName } from '@summerfi/sdk-common/protocols' import { SDKManager } from '../../src/implementation/SDKManager' import { RPCClientType } from '../../src/rpc/SDKClient' -import { MakerLendingPool } from '@summerfi/protocol-plugins/plugins/maker' -import { SparkLendingPool } from '@summerfi/protocol-plugins/plugins/spark' +import { MakerLendingPool, MakerPositionId } from '@summerfi/protocol-plugins/plugins/maker' +import { SparkLendingPool, SparkPositionId } from '@summerfi/protocol-plugins/plugins/spark' import { ISimulation, SimulationType } from '@summerfi/sdk-common/simulation' import { Address, ChainFamilyMap, ChainInfo, Maybe, - Percentage, Position, - PositionId, PositionType, - RiskRatio, Token, TokenAmount, } from '@summerfi/sdk-common/common' @@ -61,11 +58,7 @@ export default async function simulateNewOrder() { pool: pool, debtAmount: TokenAmount.createFrom({ token: DAI, amount: '56.78' }), collateralAmount: TokenAmount.createFrom({ token: WETH, amount: '105.98' }), - positionId: PositionId.createFrom({ id: '1234567890' }), - riskRatio: RiskRatio.createFrom({ - ratio: Percentage.createFrom({ value: 0.5 }), - type: RiskRatio.type.LTV, - }), + positionId: MakerPositionId.createFrom({ id: '1234567890', vaultId: '34' }), } const targetPool: SparkLendingPool = { @@ -85,7 +78,7 @@ export default async function simulateNewOrder() { swaps: [], targetPosition: { type: PositionType.Multiply, - positionId: PositionId.createFrom({ id: '1234567890' }), + positionId: SparkPositionId.createFrom({ id: '1234567890' }), debtAmount: TokenAmount.createFrom({ token: DAI, amount: '56.78' }), collateralAmount: TokenAmount.createFrom({ token: WETH, amount: '105.98' }), pool: targetPool, diff --git a/sdk/sdk-client/tests/queries/simulateRefinance.subtest.ts b/sdk/sdk-client/tests/queries/simulateRefinance.subtest.ts index 9f045bc465..970aef6ab7 100644 --- a/sdk/sdk-client/tests/queries/simulateRefinance.subtest.ts +++ b/sdk/sdk-client/tests/queries/simulateRefinance.subtest.ts @@ -6,8 +6,8 @@ import { ProtocolName, } from '@summerfi/sdk-common/protocols' import { SDKManager } from '../../src/implementation/SDKManager' -import { RPCClientType } from '../../src/rpc/SDKClient' -import { MakerLendingPool } from '@summerfi/protocol-plugins/plugins/maker' +import { RPCClientType, SparkPositionId } from '../../src/rpc/SDKClient' +import { MakerLendingPool, MakerPositionId } from '@summerfi/protocol-plugins/plugins/maker' import { ISimulation, SimulationType } from '@summerfi/sdk-common/simulation' import { Address, @@ -15,9 +15,7 @@ import { ChainInfo, Percentage, Position, - PositionId, PositionType, - RiskRatio, Token, TokenAmount, } from '@summerfi/sdk-common/common' @@ -32,7 +30,7 @@ export default async function simulateRefinanceTest() { sourcePosition: params.sourcePosition, targetPosition: { type: params.sourcePosition.type, - positionId: PositionId.createFrom({ id: '0987654321' }), + positionId: SparkPositionId.createFrom({ id: '0987654321' }), debtAmount: params.targetPosition.debtAmount, collateralAmount: params.targetPosition.collateralAmount, pool: params.targetPosition.pool, @@ -94,11 +92,7 @@ export default async function simulateRefinanceTest() { pool: pool, debtAmount: TokenAmount.createFrom({ token: DAI, amount: '56.78' }), collateralAmount: TokenAmount.createFrom({ token: WETH, amount: '105.98' }), - positionId: PositionId.createFrom({ id: '1234567890' }), - riskRatio: RiskRatio.createFrom({ - ratio: Percentage.createFrom({ value: 0.5 }), - type: RiskRatio.type.LTV, - }), + positionId: MakerPositionId.createFrom({ id: '1234567890', vaultId: '34' }), } const targetPool = { diff --git a/sdk/sdk-client/tsconfig.test.json b/sdk/sdk-client/tsconfig.test.json index fe5966336a..48e3bcb2df 100644 --- a/sdk/sdk-client/tsconfig.test.json +++ b/sdk/sdk-client/tsconfig.test.json @@ -5,6 +5,7 @@ "baseUrl": ".", "paths": { "@summerfi/sdk-common/*": ["node_modules/@summerfi/sdk-common/src/*"], + "@summerfi/sdk-common": ["node_modules/@summerfi/sdk-common/src/index.ts"], "@summerfi/sdk-server/*": ["node_modules/@summerfi/sdk-server/src/*"], "@summerfi/protocol-plugins/*": ["../protocol-plugins/src/*"], "@summerfi/protocol-plugins": ["../protocol-plugins/src/index.ts"], diff --git a/sdk/sdk-common/src/common/implementation/Position.ts b/sdk/sdk-common/src/common/implementation/Position.ts index 744b9f773f..4e4aa4432f 100644 --- a/sdk/sdk-common/src/common/implementation/Position.ts +++ b/sdk/sdk-common/src/common/implementation/Position.ts @@ -2,7 +2,6 @@ import { IPosition } from '../interfaces/IPosition' import { IPool } from '../../protocols/interfaces/IPool' import { SerializationService } from '../../services/SerializationService' import { PositionId } from './PositionId' -import { RiskRatio } from './RiskRatio' import { TokenAmount } from './TokenAmount' import { PositionType } from '../enums/PositionType' @@ -25,11 +24,6 @@ export class Position implements IPosition { static createFrom(params: IPosition): Position { return new Position(params) } - - get riskRatio(): RiskRatio { - // TODO: Implement risk ratio calculation - throw new Error('Not implemented') - } } SerializationService.registerClass(Position) diff --git a/sdk/sdk-common/src/common/implementation/PositionId.ts b/sdk/sdk-common/src/common/implementation/PositionId.ts index 4c068f6728..5cf2a80791 100644 --- a/sdk/sdk-common/src/common/implementation/PositionId.ts +++ b/sdk/sdk-common/src/common/implementation/PositionId.ts @@ -1,22 +1,15 @@ import { SerializationService } from '../../services/SerializationService' +import { IPositionId } from '../interfaces/IPositionId' -interface IPositionIdSerialized { - readonly id: string -} - -export class PositionId implements IPositionIdSerialized { +export abstract class PositionId implements IPositionId { readonly id: string - private constructor(params: IPositionIdSerialized) { + protected constructor(params: IPositionId) { this.id = params.id } - static createFrom({ id }: { id: string }): PositionId { - return new PositionId({ id }) - } - toString(): string { - return `PositionId: ${this.id}` + return `Position ID: ${this.id}` } } diff --git a/sdk/sdk-common/src/common/interfaces/IPosition.ts b/sdk/sdk-common/src/common/interfaces/IPosition.ts index 2080808b0c..fafaf150fd 100644 --- a/sdk/sdk-common/src/common/interfaces/IPosition.ts +++ b/sdk/sdk-common/src/common/interfaces/IPosition.ts @@ -1,11 +1,11 @@ import { IPool } from '../../protocols/interfaces/IPool' import { PositionType } from '../enums/PositionType' -import { PositionId } from '../implementation/PositionId' +import { IPositionId } from './IPositionId' import { ITokenAmount } from './ITokenAmount' export interface IPosition { readonly type: PositionType - readonly positionId: PositionId + readonly positionId: IPositionId readonly debtAmount: ITokenAmount readonly collateralAmount: ITokenAmount readonly pool: IPool diff --git a/sdk/sdk-common/src/common/interfaces/IPositionId.ts b/sdk/sdk-common/src/common/interfaces/IPositionId.ts new file mode 100644 index 0000000000..43ba5ac48b --- /dev/null +++ b/sdk/sdk-common/src/common/interfaces/IPositionId.ts @@ -0,0 +1,11 @@ +/** + * Generic position ID interface, to be specialized by each protocol + */ +export interface IPositionId { + /* Unique identifier for the position inside the Summer.fi system */ + readonly id: string +} + +export function isPositionId(maybePositionId: unknown): maybePositionId is IPositionId { + return typeof maybePositionId === 'object' && maybePositionId !== null && 'id' in maybePositionId +} diff --git a/sdk/sdk-common/src/common/interfaces/index.ts b/sdk/sdk-common/src/common/interfaces/index.ts index a6bc2b5409..dd5f3289a8 100644 --- a/sdk/sdk-common/src/common/interfaces/index.ts +++ b/sdk/sdk-common/src/common/interfaces/index.ts @@ -6,3 +6,4 @@ export * from './IAddress' export * from './IPercentage' export * from './IRiskRatio' export * from './IPrice' +export * from './IPositionId' diff --git a/sdk/sdk-common/src/protocols/implementation/PoolId.ts b/sdk/sdk-common/src/protocols/implementation/PoolId.ts new file mode 100644 index 0000000000..75311d036d --- /dev/null +++ b/sdk/sdk-common/src/protocols/implementation/PoolId.ts @@ -0,0 +1,10 @@ +import { IPoolId } from '../interfaces/IPoolId' +import { IProtocol } from '../interfaces/IProtocol' + +export abstract class PoolId implements IPoolId { + protocol: IProtocol + + protected constructor(params: IPoolId) { + this.protocol = params.protocol + } +} diff --git a/sdk/sdk-common/src/protocols/implementation/index.ts b/sdk/sdk-common/src/protocols/implementation/index.ts index 6f0d4cad29..ccb7fe8273 100644 --- a/sdk/sdk-common/src/protocols/implementation/index.ts +++ b/sdk/sdk-common/src/protocols/implementation/index.ts @@ -1,7 +1,8 @@ -export { CollateralConfig } from './CollateralConfig' -export { CollateralConfigMap, type CollateralConfigRecord } from './CollateralConfigMap' -export { DebtConfig } from './DebtConfig' -export { DebtConfigMap, type DebtConfigRecord } from './DebtConfigMap' -export { LendingPool, isLendingPool } from './LendingPool' -export { Pool } from './Pool' -export { PoolBaseImpl } from './PoolBaseImpl' +export * from './CollateralConfig' +export * from './CollateralConfigMap' +export * from './DebtConfig' +export * from './DebtConfigMap' +export * from './LendingPool' +export * from './Pool' +export * from './PoolBaseImpl' +export * from './PoolId' diff --git a/sdk/sdk-common/src/protocols/interfaces/IPool.ts b/sdk/sdk-common/src/protocols/interfaces/IPool.ts index c11c457f64..d5be4cb52d 100644 --- a/sdk/sdk-common/src/protocols/interfaces/IPool.ts +++ b/sdk/sdk-common/src/protocols/interfaces/IPool.ts @@ -1,7 +1,6 @@ import { IPoolId } from './IPoolId' import { PoolType } from '../types/PoolType' import { IProtocol } from './IProtocol' -import { Address } from '../../common/implementation/Address' /** * @interface IPool @@ -13,6 +12,14 @@ export interface IPool { type: PoolType poolId: IPoolId protocol: IProtocol - address?: Address - TVL?: number +} + +export function isPool(maybePool: unknown): maybePool is IPool { + return ( + typeof maybePool === 'object' && + maybePool !== null && + 'type' in maybePool && + 'poolId' in maybePool && + 'protocol' in maybePool + ) } diff --git a/sdk/sdk-common/src/protocols/interfaces/index.ts b/sdk/sdk-common/src/protocols/interfaces/index.ts index d3980bf9bd..c63962e30a 100644 --- a/sdk/sdk-common/src/protocols/interfaces/index.ts +++ b/sdk/sdk-common/src/protocols/interfaces/index.ts @@ -1,9 +1,9 @@ -export { type ICollateralConfig } from './ICollateralConfig' -export { type ICollateralConfigMap, type ICollateralConfigRecord } from './ICollateralConfigMap' -export { type IDebtConfig } from './IDebtConfig' -export { type IDebtConfigMap, type IDebtConfigRecord } from './IDebtConfigMap' -export { type ILendingPool } from './ILendingPool' -export { type IPoolId, isPoolId } from './IPoolId' -export { type IProtocol } from './IProtocol' -export { type IProtocolId } from './IProtocolId' -export { type IPool } from './IPool' +export * from './ICollateralConfig' +export * from './ICollateralConfigMap' +export * from './IDebtConfig' +export * from './IDebtConfigMap' +export * from './ILendingPool' +export * from './IProtocol' +export * from './IProtocolId' +export * from './IPool' +export * from './IPoolId' diff --git a/sdk/sdk-e2e/tests/importMakerPosition.test.ts b/sdk/sdk-e2e/tests/importMakerPosition.test.ts index 0f29ffacbc..8d71f78a47 100644 --- a/sdk/sdk-e2e/tests/importMakerPosition.test.ts +++ b/sdk/sdk-e2e/tests/importMakerPosition.test.ts @@ -1,5 +1,4 @@ import { - PositionId, Token, TokenAmount, Position, @@ -16,7 +15,7 @@ import { ExternalPositionType, IImportPositionParameters, Order } from '@summerf import { ISimulation, SimulationSteps, SimulationType } from '@summerfi/sdk-common/simulation' import assert from 'assert' -import { ILKType, MakerPoolId } from '@summerfi/protocol-plugins/plugins/maker' +import { ILKType, MakerPoolId, MakerPositionId } from '@summerfi/protocol-plugins/plugins/maker' import { Hex } from 'viem' import { TransactionUtils } from './utils/TransactionUtils' @@ -66,7 +65,6 @@ describe.skip('Import Maker Position | SDK', () => { chainInfo: chain.chainInfo, }, ilkType: ILKType.ETH_C, - vaultId: '31646', } const makerPool = await maker.getPool({ @@ -81,7 +79,7 @@ describe.skip('Import Maker Position | SDK', () => { // Source position const makerPosition: Position = Position.createFrom({ type: PositionType.Multiply, - positionId: PositionId.createFrom({ id: '31646' }), + positionId: MakerPositionId.createFrom({ id: '31646', vaultId: '31646' }), debtAmount: TokenAmount.createFromBaseUnit({ token: DAI, amount: '3717915731044925295249', diff --git a/sdk/sdk-e2e/tests/refinanceMakerSparkAlreadyImported.test.ts b/sdk/sdk-e2e/tests/refinanceMakerSparkAlreadyImported.test.ts index 28b3bcadea..3675bf3588 100644 --- a/sdk/sdk-e2e/tests/refinanceMakerSparkAlreadyImported.test.ts +++ b/sdk/sdk-e2e/tests/refinanceMakerSparkAlreadyImported.test.ts @@ -1,6 +1,5 @@ import { Percentage, - PositionId, Token, TokenAmount, Position, @@ -39,13 +38,16 @@ import { ILKType, MakerPaybackAction, MakerPoolId, + MakerPositionId, MakerWithdrawAction, + isMakerPositionId, } from '@summerfi/protocol-plugins/plugins/maker' import { SparkBorrowAction, SparkDepositAction, SparkPoolId, isSparkPoolId, + isSparkPositionId, } from '@summerfi/protocol-plugins/plugins/spark' jest.setTimeout(300000) @@ -111,7 +113,6 @@ describe.skip('Refinance Maker Spark | SDK', () => { chainInfo: chain.chainInfo, }, ilkType: ILKType.ETH_C, - vaultId: '31646', } const makerPool = await maker.getPool({ @@ -126,7 +127,7 @@ describe.skip('Refinance Maker Spark | SDK', () => { // Source position const makerPosition: Position = Position.createFrom({ type: PositionType.Multiply, - positionId: PositionId.createFrom({ id: '31646' }), + positionId: MakerPositionId.createFrom({ id: '31646', vaultId: '31646' }), debtAmount: TokenAmount.createFromBaseUnit({ token: DAI, amount: '3717915731044925295249', @@ -239,6 +240,9 @@ describe.skip('Refinance Maker Spark | SDK', () => { const sourcePosition = Position.createFrom(refinanceOrder.simulation.sourcePosition) const targetPosition = Position.createFrom(refinanceOrder.simulation.targetPosition) + assert(isMakerPositionId(sourcePosition.positionId), 'Source position is not a Maker position') + assert(isSparkPositionId(targetPosition.positionId), 'Target position is not a Spark position') + assert(flashloanParams, 'Cannot decode Flashloan action calldata') const FlashloanMargin = 1.001 @@ -265,9 +269,8 @@ describe.skip('Refinance Maker Spark | SDK', () => { }).toBaseUnit() assert(makerPaybackAction, 'Cannot decode Maker Payback action calldata') - expect(makerPaybackAction.args[0].vaultId).toBe( - BigInt((sourcePosition.pool.poolId as MakerPoolId).vaultId), - ) + assert + expect(makerPaybackAction.args[0].vaultId).toBe(BigInt(sourcePosition.positionId.vaultId)) expect(makerPaybackAction.args[0].userAddress).toBe(positionsManager.address.value) expect(makerPaybackAction.args[0].amount).toBe(BigInt(paybackAmount)) expect(makerPaybackAction.args[0].paybackAll).toBe(true) @@ -280,9 +283,7 @@ describe.skip('Refinance Maker Spark | SDK', () => { assert(makerWithdrawAction, 'Cannot decode Maker Withdraw action calldata') - expect(makerWithdrawAction.args[0].vaultId).toBe( - BigInt((sourcePosition.pool.poolId as MakerPoolId).vaultId), - ) + expect(makerWithdrawAction.args[0].vaultId).toBe(BigInt(sourcePosition.positionId.vaultId)) expect(makerWithdrawAction.args[0].userAddress).toBe(positionsManager.address.value) expect(makerWithdrawAction.args[0].joinAddr).toBe( deployment.dependencies.MCD_JOIN_ETH_C.address, diff --git a/sdk/sdk-e2e/tsconfig.test.json b/sdk/sdk-e2e/tsconfig.test.json index 3666f79777..a3f4a15ecf 100644 --- a/sdk/sdk-e2e/tsconfig.test.json +++ b/sdk/sdk-e2e/tsconfig.test.json @@ -5,6 +5,7 @@ "baseUrl": ".", "paths": { "@summerfi/sdk-common/*": ["node_modules/@summerfi/sdk-common/src/*"], + "@summerfi/sdk-common": ["node_modules/@summerfi/sdk-common/src/index.ts"], "@summerfi/sdk-client": ["node_modules/@summerfi/sdk-client/src"], "@summerfi/protocol-manager-service": [ "node_modules/@summerfi/protocol-manager-service/src/index.ts" diff --git a/sdk/simulator-service/tsconfig.test.json b/sdk/simulator-service/tsconfig.test.json index 50588f141c..1c454ed450 100644 --- a/sdk/simulator-service/tsconfig.test.json +++ b/sdk/simulator-service/tsconfig.test.json @@ -5,6 +5,7 @@ "baseUrl": ".", "paths": { "@summerfi/sdk-common/*": ["node_modules/@summerfi/sdk-common/src/*"], + "@summerfi/sdk-common": ["node_modules/@summerfi/sdk-common/src/index.ts"], "@summerfi/swap-common/*": ["node_modules/@summerfi/swap-common/src/*"], "@summerfi/protocol-plugins/*": ["node_modules/@summerfi/protocol-plugins/src/*"], "@summerfi/protocol-plugins-common": [ From 7b3348c7639fa51657efeba872fafab0d27a092e Mon Sep 17 00:00:00 2001 From: Roberto Cano <3525807+robercano@users.noreply.github.com> Date: Thu, 2 May 2024 14:58:02 +0200 Subject: [PATCH 02/45] feat: refactor lending pool data type into single pair (#204) --- package.json | 3 +- pnpm-lock.yaml | 681 +++++++++--------- .../src/implementation/OrderPlanner.ts | 7 +- .../src/utils/GenerateStrategyName.ts | 2 +- .../tests/EncodeStrategy.spec.ts | 1 - sdk/order-planner-common/tsconfig.test.json | 1 + sdk/order-planner-service/package.json | 2 +- .../tests/service/OrderPlannerService.spec.ts | 19 +- .../tests/utils/MakerSourcePosition.ts | 28 +- .../tests/utils/SparkTargetPosition.ts | 26 +- .../src/interfaces/IProtocolManager.ts | 43 +- .../src/implementation/ProtocolManager.ts | 96 ++- .../tests/ProtocolManager.spec.ts | 49 +- .../tsconfig.test.json | 1 + sdk/protocol-plugins-common/package.json | 1 - .../src/interfaces/IProtocolPlugin.ts | 52 +- .../tests/ExecutionStorageMapper.spec.ts | 7 +- .../tests/StepBuilderContext.spec.ts | 8 +- sdk/protocol-plugins/bundle/package.json | 1 - sdk/protocol-plugins/package.json | 1 - .../src/implementation/BaseProtocolPlugin.ts | 109 ++- .../aave-v3/builders/AaveV3StepBuilders.ts | 3 + .../src/plugins/aave-v3/builders/index.ts | 1 + .../implementation/AAVEv3ProtocolPlugin.ts | 162 +++-- .../implementation/AaveV3LendingPool.ts | 27 +- .../implementation/AaveV3LendingPoolId.ts | 34 + .../aave-v3/implementation/AaveV3PoolId.ts | 23 - .../aave-v3/implementation/AaveV3Position.ts | 26 + .../implementation/AaveV3PositionId.ts | 16 +- .../aave-v3/implementation/AaveV3Protocol.ts | 25 + .../plugins/aave-v3/implementation/index.ts | 4 + .../aave-v3/interfaces/IAaveV3LendingPool.ts | 55 +- .../interfaces/IAaveV3LendingPoolId.ts | 64 ++ .../aave-v3/interfaces/IAaveV3PoolId.ts | 16 - .../aave-v3/interfaces/IAaveV3Position.ts | 53 ++ .../aave-v3/interfaces/IAaveV3PositionId.ts | 45 +- .../aave-v3/interfaces/IAaveV3Protocol.ts | 56 +- .../src/plugins/aave-v3/interfaces/index.ts | 1 + .../src/plugins/aave-v3/types/index.ts | 2 +- .../common/actions/PositionCreatedAction.ts | 2 +- .../builders/DepositBorrowActionBuilder.ts | 2 +- .../builders/ImportPositionActionBuilder.ts | 2 +- .../builders/PaybackWithdrawActionBuilder.ts | 2 +- .../src/plugins/common/enums/EmodeType.ts | 26 + .../maker/actions/MakerPaybackAction.ts | 8 +- .../maker/actions/MakerWithdrawAction.ts | 4 +- .../MakerImportPositionActionBuilder.ts | 4 +- .../MakerPaybackWithdrawActionBuilder.ts | 6 +- .../maker/implementation/MakerLendingPool.ts | 27 +- .../implementation/MakerLendingPoolId.ts | 34 + .../maker/implementation/MakerPoolId.ts | 23 - .../maker/implementation/MakerPosition.ts | 26 + .../maker/implementation/MakerPositionId.ts | 20 +- .../maker/implementation/MakerProtocol.ts | 25 + .../implementation/MakerProtocolPlugin.ts | 349 +++++---- .../maker/implementation/MakerStepBuilders.ts | 12 + .../src/plugins/maker/implementation/index.ts | 4 +- .../maker/interfaces/IMakerLendingPool.ts | 55 +- .../maker/interfaces/IMakerLendingPoolId.ts | 64 ++ .../plugins/maker/interfaces/IMakerPoolId.ts | 16 - .../maker/interfaces/IMakerPosition.ts | 54 ++ .../maker/interfaces/IMakerPositionId.ts | 50 +- .../maker/interfaces/IMakerProtocol.ts | 53 +- .../src/plugins/maker/interfaces/index.ts | 4 +- .../src/plugins/maker/types/MakerVaultId.ts | 26 + .../spark/builders/SparkStepBuilders.ts | 7 + .../src/plugins/spark/builders/index.ts | 6 +- .../spark/implementation/SparkLendingPool.ts | 19 +- .../implementation/SparkLendingPoolId.ts | 34 + .../spark/implementation/SparkPoolId.ts | 23 - .../spark/implementation/SparkPosition.ts | 26 + .../spark/implementation/SparkPositionId.ts | 16 +- .../spark/implementation/SparkProtocol.ts | 25 + .../implementation/SparkProtocolPlugin.ts | 166 +++-- .../src/plugins/spark/implementation/index.ts | 4 +- .../spark/interfaces/ISparkLendingPool.ts | 64 +- .../spark/interfaces/ISparkLendingPoolId.ts | 60 ++ .../plugins/spark/interfaces/ISparkPoolId.ts | 12 - .../spark/interfaces/ISparkPosition.ts | 65 ++ .../spark/interfaces/ISparkPositionId.ts | 46 +- .../spark/interfaces/ISparkProtocol.ts | 53 +- .../src/plugins/spark/interfaces/index.ts | 4 +- .../actions/PositionCreatedAction.spec.ts | 4 +- .../DepositBorrowActionBuilder.spec.ts | 2 +- .../PaybackWithdrawActionBuilder.spec.ts | 2 +- .../integration/AAVEv3ProtocolPlugin.spec.ts | 206 +++--- .../integration/MakerProtocolPlugin.spec.ts | 225 +++--- .../integration/SparkProtocolPlugin.spec.ts | 211 +++--- .../tests/mocks/AAVEv3PoolIdMock.ts | 27 +- .../tests/mocks/MakerPoolIdMock.ts | 28 +- .../tests/mocks/SparkPoolIdMock.ts | 27 +- .../tests/unit/AAVEv3ProtocolPlugin.spec.ts | 89 ++- .../tests/unit/MakerProtocolPlugin.spec.ts | 81 ++- .../tests/unit/SparkProtocolPlugin.spec.ts | 88 +-- .../tests/utils/ProtocolPluginMock.ts | 12 +- sdk/sdk-client/bundle/package.json | 1 - .../src/implementation/ChainsManager.ts | 12 +- sdk/sdk-client/src/implementation/Protocol.ts | 26 - .../src/implementation/ProtocolClient.ts | 46 ++ .../src/implementation/ProtocolsManager.ts | 6 +- .../simulations/ImportingSimulationManager.ts | 22 +- .../simulations/RefinanceSimulationManager.ts | 28 +- sdk/sdk-client/src/index.ts | 2 +- .../src/interfaces/IProtocolClient.ts | 4 +- .../src/interfaces/IProtocolsManager.ts | 4 +- .../tests/queries/getPool.subtest.ts | 53 +- .../tests/queries/newOrder.subtest.ts | 108 ++- .../queries/simulateRefinance.subtest.ts | 92 +-- sdk/sdk-common/bundle/package.json | 1 - sdk/sdk-common/src/common/aliases/ChainId.ts | 7 + .../src/common/implementation/Address.ts | 10 +- .../common/implementation/ChainFamilies.ts | 28 +- .../src/common/implementation/ChainInfo.ts | 16 +- .../src/common/implementation/Percentage.ts | 24 +- .../src/common/implementation/Position.ts | 24 +- .../src/common/implementation/PositionId.ts | 8 +- .../src/common/implementation/Price.ts | 21 +- .../src/common/implementation/RiskRatio.ts | 61 +- .../src/common/implementation/Token.ts | 18 +- .../src/common/implementation/TokenAmount.ts | 27 +- .../src/common/implementation/Wallet.ts | 13 +- .../src/common/interfaces/IAddress.ts | 59 +- .../src/common/interfaces/IChainInfo.ts | 53 +- .../src/common/interfaces/IPercentage.ts | 63 +- .../src/common/interfaces/IPosition.ts | 68 +- .../src/common/interfaces/IPositionId.ts | 39 +- .../src/common/interfaces/IPrice.ts | 71 +- .../src/common/interfaces/IPrintable.ts | 16 + .../src/common/interfaces/IRiskRatio.ts | 53 +- .../src/common/interfaces/IToken.ts | 87 ++- .../src/common/interfaces/ITokenAmount.ts | 83 ++- .../src/common/interfaces/IWallet.ts | 46 ++ sdk/sdk-common/src/common/interfaces/index.ts | 1 + .../src/common/utils/PercentageUtils.ts | 5 - .../src/common/utils/PositionUtils.ts | 53 +- sdk/sdk-common/src/common/utils/TokenUtils.ts | 4 +- sdk/sdk-common/src/common/utils/index.ts | 1 - .../orders/implementation/PositionsManager.ts | 25 + .../base/TransactionInfoBaseImpl.ts | 11 - .../src/orders/implementation/base/index.ts | 1 - .../src/orders/implementation/client/.gitkeep | 0 .../src/orders/implementation/index.ts | 1 + .../src/orders/implementation/server/.gitkeep | 0 sdk/sdk-common/src/orders/index.ts | 2 +- .../orders/interfaces/IPositionsManager.ts | 45 +- .../interfaces/importing/IExternalPosition.ts | 4 +- sdk/sdk-common/src/orders/interfaces/index.ts | 1 + .../refinance/IRefinanceParameters.ts | 10 +- .../src/protocols/enums/ProtocolName.ts | 16 + sdk/sdk-common/src/protocols/enums/index.ts | 2 +- .../implementation/CollateralConfigMap.ts | 6 +- .../protocols/implementation/DebtConfigMap.ts | 6 +- .../protocols/implementation/LendingPool.ts | 45 +- .../protocols/implementation/LendingPoolId.ts | 27 + .../src/protocols/implementation/Pool.ts | 24 +- .../protocols/implementation/PoolBaseImpl.ts | 30 - .../src/protocols/implementation/PoolId.ts | 25 +- .../src/protocols/implementation/Protocol.ts | 29 + .../src/protocols/implementation/index.ts | 3 +- .../protocols/interfaces/ICollateralConfig.ts | 24 +- .../src/protocols/interfaces/IDebtConfig.ts | 26 +- .../src/protocols/interfaces/ILendingPool.ts | 67 +- .../protocols/interfaces/ILendingPoolId.ts | 56 ++ .../src/protocols/interfaces/IPool.ts | 60 +- .../src/protocols/interfaces/IPoolId.ts | 45 +- .../src/protocols/interfaces/IProtocol.ts | 54 +- .../src/protocols/interfaces/IProtocolId.ts | 7 - .../src/protocols/interfaces/index.ts | 2 +- .../src/protocols/types/PoolType.ts | 6 + sdk/sdk-common/src/simulation/Simulation.ts | 6 +- sdk/sdk-common/tests/chainFamilies.spec.ts | 30 +- sdk/sdk-common/tests/riskRatio.test.ts | 43 +- sdk/sdk-e2e/tests/importMakerPosition.test.ts | 39 +- ...refinanceMakerSparkAlreadyImported.test.ts | 104 +-- .../tests/refinanceMakerSparkAnyPair.test.ts | 77 +- sdk/sdk-server/src/SDKAppRouter.ts | 4 +- sdk/sdk-server/src/context/Context.ts | 2 +- sdk/sdk-server/src/handlers/getPool.ts | 4 +- .../reducer/depositBorrowReducer.ts | 3 +- .../reducer/paybackWithdrawReducer.ts | 2 +- .../RefinanceLendingToLendingAnyPair.ts | 50 +- .../RefinanceLendingToLendingSamePair.ts | 19 +- .../tests/mocks/contextMock.ts | 36 +- .../tests/mocks/testSourcePosition.ts | 199 +---- sdk/simulator-service/tests/simulator.test.ts | 22 +- sdk/simulator-service/tsconfig.test.json | 1 + .../src/mocks/CollateralConfigMock.ts | 3 +- 187 files changed, 4469 insertions(+), 2480 deletions(-) create mode 100644 sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3StepBuilders.ts create mode 100644 sdk/protocol-plugins/src/plugins/aave-v3/builders/index.ts create mode 100644 sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3LendingPoolId.ts delete mode 100644 sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3PoolId.ts create mode 100644 sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3Position.ts create mode 100644 sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3Protocol.ts create mode 100644 sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3LendingPoolId.ts delete mode 100644 sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3PoolId.ts create mode 100644 sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3Position.ts create mode 100644 sdk/protocol-plugins/src/plugins/maker/implementation/MakerLendingPoolId.ts delete mode 100644 sdk/protocol-plugins/src/plugins/maker/implementation/MakerPoolId.ts create mode 100644 sdk/protocol-plugins/src/plugins/maker/implementation/MakerPosition.ts create mode 100644 sdk/protocol-plugins/src/plugins/maker/implementation/MakerProtocol.ts create mode 100644 sdk/protocol-plugins/src/plugins/maker/implementation/MakerStepBuilders.ts create mode 100644 sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerLendingPoolId.ts delete mode 100644 sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerPoolId.ts create mode 100644 sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerPosition.ts create mode 100644 sdk/protocol-plugins/src/plugins/spark/builders/SparkStepBuilders.ts create mode 100644 sdk/protocol-plugins/src/plugins/spark/implementation/SparkLendingPoolId.ts delete mode 100644 sdk/protocol-plugins/src/plugins/spark/implementation/SparkPoolId.ts create mode 100644 sdk/protocol-plugins/src/plugins/spark/implementation/SparkPosition.ts create mode 100644 sdk/protocol-plugins/src/plugins/spark/implementation/SparkProtocol.ts create mode 100644 sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkLendingPoolId.ts delete mode 100644 sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkPoolId.ts create mode 100644 sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkPosition.ts delete mode 100644 sdk/sdk-client/src/implementation/Protocol.ts create mode 100644 sdk/sdk-client/src/implementation/ProtocolClient.ts create mode 100644 sdk/sdk-common/src/common/interfaces/IPrintable.ts create mode 100644 sdk/sdk-common/src/common/interfaces/IWallet.ts delete mode 100644 sdk/sdk-common/src/common/utils/PercentageUtils.ts create mode 100644 sdk/sdk-common/src/orders/implementation/PositionsManager.ts delete mode 100644 sdk/sdk-common/src/orders/implementation/base/TransactionInfoBaseImpl.ts delete mode 100644 sdk/sdk-common/src/orders/implementation/base/index.ts delete mode 100644 sdk/sdk-common/src/orders/implementation/client/.gitkeep create mode 100644 sdk/sdk-common/src/orders/implementation/index.ts delete mode 100644 sdk/sdk-common/src/orders/implementation/server/.gitkeep create mode 100644 sdk/sdk-common/src/protocols/implementation/LendingPoolId.ts delete mode 100644 sdk/sdk-common/src/protocols/implementation/PoolBaseImpl.ts create mode 100644 sdk/sdk-common/src/protocols/implementation/Protocol.ts create mode 100644 sdk/sdk-common/src/protocols/interfaces/ILendingPoolId.ts delete mode 100644 sdk/sdk-common/src/protocols/interfaces/IProtocolId.ts diff --git a/package.json b/package.json index e165a142af..ab4d9b7b57 100644 --- a/package.json +++ b/package.json @@ -58,6 +58,7 @@ }, "dependencies": { "bignumber.js": "^9.1.2", - "viem": "^2.9.19" + "viem": "^2.9.19", + "zod": "^3.22.4" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 25b1a1d960..779a2a59df 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,7 +13,10 @@ importers: version: 9.1.2 viem: specifier: ^2.9.19 - version: 2.9.25(typescript@5.4.5)(zod@3.23.0) + version: 2.9.19(typescript@5.4.5)(zod@3.22.4) + zod: + specifier: ^3.22.4 + version: 3.22.4 devDependencies: '@graphql-codegen/add': specifier: ^5.0.2 @@ -83,7 +86,7 @@ importers: version: 3.2.5 sst: specifier: ^2.41.4 - version: 2.41.4(@aws-sdk/credential-provider-node@3.556.0) + version: 2.41.4(@aws-sdk/credential-provider-node@3.554.0) ts-jest: specifier: ^29.1.2 version: 29.1.2(@babel/core@7.24.4)(esbuild@0.20.2)(jest@29.7.0)(typescript@5.4.5) @@ -98,19 +101,19 @@ importers: version: 5.4.5 zx: specifier: ^8.0.1 - version: 8.0.2 + version: 8.0.1 external-api/get-collateral-locked-function: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.0.4 - version: 2.1.0 + version: 2.0.4 '@aws-lambda-powertools/metrics': specifier: ^2.0.4 - version: 2.1.0 + version: 2.0.4 '@aws-lambda-powertools/tracer': specifier: ^2.0.4 - version: 2.1.0 + version: 2.0.4 '@summerfi/aave-spark-subgraph': specifier: workspace:* version: link:../../packages/aave-spark-subgraph @@ -128,7 +131,7 @@ importers: version: 9.1.2 zod: specifier: ^3.22.4 - version: 3.23.0 + version: 3.22.4 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -150,7 +153,7 @@ importers: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.0.4 - version: 2.1.0 + version: 2.0.4 '@summerfi/serverless-shared': specifier: workspace:* version: link:../serverless-shared @@ -199,7 +202,7 @@ importers: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.0.4 - version: 2.1.0 + version: 2.0.4 '@summerfi/serverless-shared': specifier: workspace:* version: link:../serverless-shared @@ -224,7 +227,7 @@ importers: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.0.4 - version: 2.1.0 + version: 2.0.4 '@summerfi/serverless-shared': specifier: workspace:* version: link:../serverless-shared @@ -258,7 +261,7 @@ importers: devDependencies: '@nomicfoundation/hardhat-toolbox-viem': specifier: ^2.0.0 - version: 2.0.0(@nomicfoundation/hardhat-network-helpers@1.0.10)(@nomicfoundation/hardhat-verify@2.0.6)(@nomicfoundation/hardhat-viem@1.0.4)(@types/chai-as-promised@7.1.8)(@types/chai@4.3.14)(@types/mocha@10.0.6)(@types/node@20.12.7)(chai@4.4.1)(hardhat-gas-reporter@1.0.10)(hardhat@2.22.3)(solidity-coverage@0.8.12)(ts-node@10.9.2)(typescript@5.0.4)(viem@1.21.4) + version: 2.0.0(@nomicfoundation/hardhat-network-helpers@1.0.10)(@nomicfoundation/hardhat-verify@2.0.5)(@nomicfoundation/hardhat-viem@1.0.4)(@types/chai-as-promised@7.1.8)(@types/chai@4.3.14)(@types/mocha@10.0.6)(@types/node@20.12.7)(chai@4.4.1)(hardhat-gas-reporter@1.0.10)(hardhat@2.22.2)(solidity-coverage@0.8.12)(ts-node@10.9.2)(typescript@5.0.4)(viem@1.21.4) '@summerfi/eslint-config': specifier: workspace:* version: link:../eslint-config @@ -270,7 +273,7 @@ importers: version: link:../typescript-config hardhat: specifier: ^2.22.2 - version: 2.22.3(ts-node@10.9.2)(typescript@5.0.4) + version: 2.22.2(ts-node@10.9.2)(typescript@5.0.4) packages/core-contracts: devDependencies: @@ -279,7 +282,7 @@ importers: version: 5.7.0 '@nomicfoundation/hardhat-toolbox-viem': specifier: ^2.0.0 - version: 2.0.0(@nomicfoundation/hardhat-network-helpers@1.0.10)(@nomicfoundation/hardhat-verify@2.0.6)(@nomicfoundation/hardhat-viem@1.0.4)(@types/chai-as-promised@7.1.8)(@types/chai@4.3.14)(@types/mocha@10.0.6)(@types/node@20.12.7)(chai@4.4.1)(hardhat-gas-reporter@1.0.10)(hardhat@2.22.3)(solidity-coverage@0.8.12)(ts-node@10.9.2)(typescript@5.0.4)(viem@1.21.4) + version: 2.0.0(@nomicfoundation/hardhat-network-helpers@1.0.10)(@nomicfoundation/hardhat-verify@2.0.5)(@nomicfoundation/hardhat-viem@1.0.4)(@types/chai-as-promised@7.1.8)(@types/chai@4.3.14)(@types/mocha@10.0.6)(@types/node@20.12.7)(chai@4.4.1)(hardhat-gas-reporter@1.0.10)(hardhat@2.22.2)(solidity-coverage@0.8.12)(ts-node@10.9.2)(typescript@5.0.4)(viem@1.21.4) '@openzeppelin/contracts': specifier: 4.9.3 version: 4.9.3 @@ -315,7 +318,7 @@ importers: version: link:../typescript-config hardhat: specifier: ^2.22.2 - version: 2.22.3(ts-node@10.9.2)(typescript@5.0.4) + version: 2.22.2(ts-node@10.9.2)(typescript@5.0.4) packages/defi-llama-client: dependencies: @@ -370,7 +373,7 @@ importers: devDependencies: '@nomicfoundation/hardhat-toolbox-viem': specifier: ^2.0.0 - version: 2.0.0(@nomicfoundation/hardhat-network-helpers@1.0.10)(@nomicfoundation/hardhat-verify@2.0.6)(@nomicfoundation/hardhat-viem@1.0.4)(@types/chai-as-promised@7.1.8)(@types/chai@4.3.14)(@types/mocha@10.0.6)(@types/node@20.12.7)(chai@4.4.1)(hardhat-gas-reporter@1.0.10)(hardhat@2.22.3)(solidity-coverage@0.8.12)(ts-node@10.9.2)(typescript@5.0.4)(viem@1.21.4) + version: 2.0.0(@nomicfoundation/hardhat-network-helpers@1.0.10)(@nomicfoundation/hardhat-verify@2.0.5)(@nomicfoundation/hardhat-viem@1.0.4)(@types/chai-as-promised@7.1.8)(@types/chai@4.3.14)(@types/mocha@10.0.6)(@types/node@20.12.7)(chai@4.4.1)(hardhat-gas-reporter@1.0.10)(hardhat@2.22.2)(solidity-coverage@0.8.12)(ts-node@10.9.2)(typescript@5.0.4)(viem@1.21.4) '@summerfi/common': specifier: workspace:* version: link:../common @@ -388,7 +391,7 @@ importers: version: link:../typescript-config hardhat: specifier: ^2.22.2 - version: 2.22.3(ts-node@10.9.2)(typescript@5.0.4) + version: 2.22.2(ts-node@10.9.2)(typescript@5.0.4) packages/eslint-config: devDependencies: @@ -424,7 +427,7 @@ importers: devDependencies: '@nomicfoundation/hardhat-toolbox-viem': specifier: ^2.0.0 - version: 2.0.0(@nomicfoundation/hardhat-network-helpers@1.0.10)(@nomicfoundation/hardhat-verify@2.0.6)(@nomicfoundation/hardhat-viem@1.0.4)(@types/chai-as-promised@7.1.8)(@types/chai@4.3.14)(@types/mocha@10.0.6)(@types/node@20.12.7)(chai@4.4.1)(hardhat-gas-reporter@1.0.10)(hardhat@2.22.3)(solidity-coverage@0.8.12)(ts-node@10.9.2)(typescript@5.0.4)(viem@1.21.4) + version: 2.0.0(@nomicfoundation/hardhat-network-helpers@1.0.10)(@nomicfoundation/hardhat-verify@2.0.5)(@nomicfoundation/hardhat-viem@1.0.4)(@types/chai-as-promised@7.1.8)(@types/chai@4.3.14)(@types/mocha@10.0.6)(@types/node@20.12.7)(chai@4.4.1)(hardhat-gas-reporter@1.0.10)(hardhat@2.22.2)(solidity-coverage@0.8.12)(ts-node@10.9.2)(typescript@5.0.4)(viem@1.21.4) '@summerfi/eslint-config': specifier: workspace:* version: link:../eslint-config @@ -433,13 +436,13 @@ importers: version: link:../typescript-config hardhat: specifier: ^2.22.2 - version: 2.22.3(ts-node@10.9.2)(typescript@5.0.4) + version: 2.22.2(ts-node@10.9.2)(typescript@5.0.4) hardhat-abi-exporter: specifier: ^2.10.1 - version: 2.10.1(hardhat@2.22.3) + version: 2.10.1(hardhat@2.22.2) solidity-docgen: specifier: 0.6.0-beta.36 - version: 0.6.0-beta.36(hardhat@2.22.3) + version: 0.6.0-beta.36(hardhat@2.22.2) packages/jest-config: dependencies: @@ -464,7 +467,7 @@ importers: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.0.4 - version: 2.1.0 + version: 2.0.4 '@summerfi/serverless-shared': specifier: workspace:* version: link:../serverless-shared @@ -489,7 +492,7 @@ importers: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.0.4 - version: 2.1.0 + version: 2.0.4 '@summerfi/serverless-shared': specifier: workspace:* version: link:../serverless-shared @@ -517,7 +520,7 @@ importers: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.0.4 - version: 2.1.0 + version: 2.0.4 '@summerfi/serverless-shared': specifier: workspace:* version: link:../serverless-shared @@ -561,10 +564,10 @@ importers: dependencies: viem: specifier: ^2.9.19 - version: 2.9.25(typescript@5.4.5)(zod@3.23.0) + version: 2.9.19(typescript@5.4.5)(zod@3.22.4) zod: specifier: ^3.22.4 - version: 3.23.0 + version: 3.22.4 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -605,13 +608,13 @@ importers: version: 1.6.8 ethers: specifier: ^6.11.1 - version: 6.12.0 + version: 6.11.1 packages/triggers-calculations: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.0.4 - version: 2.1.0 + version: 2.0.4 '@summerfi/abis': specifier: workspace:* version: link:../abis @@ -623,7 +626,7 @@ importers: version: link:../triggers-shared viem: specifier: ^2.9.19 - version: 2.9.25(typescript@5.4.5)(zod@3.23.0) + version: 2.9.19(typescript@5.4.5)(zod@3.22.4) devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -654,7 +657,7 @@ importers: version: link:../serverless-shared zod: specifier: ^3.22.4 - version: 3.23.0 + version: 3.22.4 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -796,7 +799,7 @@ importers: version: 2.6.11 zod: specifier: ^3.22.4 - version: 3.23.0 + version: 3.22.4 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -833,7 +836,7 @@ importers: version: 2.6.11 zod: specifier: ^3.22.4 - version: 3.23.0 + version: 3.22.4 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -868,12 +871,9 @@ importers: '@summerfi/testing-utils': specifier: workspace:* version: link:../testing-utils - bignumber.js: - specifier: 9.0.1 - version: 9.0.1 zod: specifier: ^3.22.4 - version: 3.23.0 + version: 3.22.4 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -899,12 +899,9 @@ importers: '@summerfi/swap-common': specifier: workspace:* version: link:../swap-common - bignumber.js: - specifier: 9.0.1 - version: 9.0.1 zod: specifier: ^3.22.4 - version: 3.23.0 + version: 3.22.4 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -936,12 +933,9 @@ importers: '@summerfi/testing-utils': specifier: workspace:* version: link:../../testing-utils - bignumber.js: - specifier: 9.0.1 - version: 9.0.1 zod: specifier: ^3.22.4 - version: 3.23.0 + version: 3.22.4 sdk/sdk-client: dependencies: @@ -979,15 +973,12 @@ importers: '@trpc/client': specifier: 11.0.0-next-beta.264 version: 11.0.0-next-beta.264(@trpc/server@11.0.0-next-beta.264) - bignumber.js: - specifier: ^9.1.2 - version: 9.1.2 superjson: specifier: ^1.13.3 version: 1.13.3 viem: specifier: ^2.7.9 - version: 2.9.25(typescript@5.4.5)(zod@3.23.0) + version: 2.9.19(typescript@5.4.5)(zod@3.22.4) sdk/sdk-common: dependencies: @@ -1010,15 +1001,12 @@ importers: sdk/sdk-common/bundle: dependencies: - bignumber.js: - specifier: 9.0.1 - version: 9.0.1 superjson: specifier: ^1.13.3 version: 1.13.3 viem: specifier: ^2.2.0 - version: 2.9.25(typescript@5.4.5)(zod@3.23.0) + version: 2.9.19(typescript@5.4.5)(zod@3.22.4) sdk/sdk-e2e: devDependencies: @@ -1123,7 +1111,7 @@ importers: version: 1.13.3 zod: specifier: ^3.22.4 - version: 3.23.0 + version: 3.22.4 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -1263,13 +1251,13 @@ importers: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.0.2 - version: 2.1.0 + version: 2.0.4 '@aws-lambda-powertools/metrics': specifier: ^2.0.2 - version: 2.1.0 + version: 2.0.4 '@aws-lambda-powertools/tracer': specifier: ^2.0.2 - version: 2.1.0 + version: 2.0.4 '@summerfi/aave-spark-subgraph': specifier: workspace:* version: link:../../packages/aave-spark-subgraph @@ -1293,10 +1281,10 @@ importers: version: link:../../packages/serverless-shared viem: specifier: ^1.19.11 - version: 1.21.4(typescript@5.4.5)(zod@3.23.0) + version: 1.21.4(typescript@5.4.5)(zod@3.22.4) zod: specifier: ^3.22.4 - version: 3.23.0 + version: 3.22.4 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -1318,13 +1306,13 @@ importers: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.0.4 - version: 2.1.0 + version: 2.0.4 '@aws-lambda-powertools/metrics': specifier: ^2.0.4 - version: 2.1.0 + version: 2.0.4 '@aws-lambda-powertools/tracer': specifier: ^2.0.4 - version: 2.1.0 + version: 2.0.4 '@summerfi/morpho-blue-external-api-client': specifier: workspace:* version: link:../../packages/morpho-blue-external-api-client @@ -1333,13 +1321,13 @@ importers: version: link:../../packages/serverless-shared abitype: specifier: ^1.0.2 - version: 1.0.2(typescript@5.4.5)(zod@3.23.0) + version: 1.0.2(typescript@5.4.5)(zod@3.22.4) viem: specifier: ^1.21.4 - version: 1.21.4(typescript@5.4.5)(zod@3.23.0) + version: 1.21.4(typescript@5.4.5)(zod@3.22.4) zod: specifier: ^3.22.4 - version: 3.23.0 + version: 3.22.4 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -1361,13 +1349,13 @@ importers: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.0.4 - version: 2.1.0 + version: 2.0.4 '@aws-lambda-powertools/metrics': specifier: ^2.0.4 - version: 2.1.0 + version: 2.0.4 '@aws-lambda-powertools/tracer': specifier: ^2.0.4 - version: 2.1.0 + version: 2.0.4 '@oasisdex/addresses': specifier: ^0.1.60 version: 0.1.60 @@ -1379,10 +1367,10 @@ importers: version: 1.1.0(typescript@5.4.5)(viem@1.21.4) viem: specifier: ^1.21.4 - version: 1.21.4(typescript@5.4.5)(zod@3.23.0) + version: 1.21.4(typescript@5.4.5)(zod@3.22.4) zod: specifier: ^3.22.4 - version: 3.23.0 + version: 3.22.4 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -1410,13 +1398,13 @@ importers: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.0.4 - version: 2.1.0 + version: 2.0.4 '@aws-lambda-powertools/metrics': specifier: ^2.0.4 - version: 2.1.0 + version: 2.0.4 '@aws-lambda-powertools/tracer': specifier: ^2.0.4 - version: 2.1.0 + version: 2.0.4 '@summerfi/serverless-shared': specifier: workspace:* version: link:../../packages/serverless-shared @@ -1425,7 +1413,7 @@ importers: version: 3.3.2 zod: specifier: ^3.22.4 - version: 3.23.0 + version: 3.22.4 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -1447,13 +1435,13 @@ importers: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.0.4 - version: 2.1.0 + version: 2.0.4 '@aws-lambda-powertools/metrics': specifier: ^2.0.4 - version: 2.1.0 + version: 2.0.4 '@aws-lambda-powertools/tracer': specifier: ^2.0.4 - version: 2.1.0 + version: 2.0.4 '@summerfi/automation-subgraph': specifier: workspace:* version: link:../../packages/automation-subgraph @@ -1471,10 +1459,10 @@ importers: version: link:../../packages/triggers-shared viem: specifier: ^2.9.19 - version: 2.9.25(typescript@5.4.5)(zod@3.23.0) + version: 2.9.19(typescript@5.4.5)(zod@3.22.4) zod: specifier: ^3.22.4 - version: 3.23.0 + version: 3.22.4 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -1502,7 +1490,7 @@ importers: version: 3.3.2 zod: specifier: ^3.22.4 - version: 3.23.0 + version: 3.22.4 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -1533,7 +1521,7 @@ importers: version: 3.3.2 zod: specifier: ^3.22.4 - version: 3.23.0 + version: 3.22.4 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -1570,7 +1558,7 @@ importers: version: 1.13.3 zod: specifier: ^3.22.4 - version: 3.23.0 + version: 3.22.4 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -1589,13 +1577,13 @@ importers: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.0.4 - version: 2.1.0 + version: 2.0.4 '@aws-lambda-powertools/metrics': specifier: ^2.0.4 - version: 2.1.0 + version: 2.0.4 '@aws-lambda-powertools/tracer': specifier: ^2.0.4 - version: 2.1.0 + version: 2.0.4 '@oasisdex/automation': specifier: 1.6.4-alpha.1 version: 1.6.4-alpha.1 @@ -1628,10 +1616,10 @@ importers: version: 3.3.2 viem: specifier: ^2.9.19 - version: 2.9.25(typescript@5.4.5)(zod@3.23.0) + version: 2.9.19(typescript@5.4.5)(zod@3.22.4) zod: specifier: ^3.22.4 - version: 3.23.0 + version: 3.22.4 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -1881,8 +1869,8 @@ packages: resolution: {integrity: sha512-gFRgQ2GJDghKvf+fXvT0kQVftgOT05W+hCa7RkfZj6HSjVAO+9DZZeJL3JK1HcsLAjWRj7W9ra0/MqB3Abf+PQ==} dev: false - /@aws-lambda-powertools/commons@2.1.0: - resolution: {integrity: sha512-pFIlGa2IreeQ8elvuWlqxp6q/R4Zx7EqzCAlj0yXg12XpQprF4BhuE3NpeF09MA/QkyCot5Hxu3kG95E35XETA==} + /@aws-lambda-powertools/commons@2.0.4: + resolution: {integrity: sha512-6tH27airGDbK+hNltrb33qdsbbrql34KcSBLmKnZYGZam7nWc5giTEtDh1Zyw2N3bQ0BnZ6SahgO9eY46WaiRA==} dev: false /@aws-lambda-powertools/logger@1.18.1: @@ -1897,15 +1885,15 @@ packages: lodash.merge: 4.6.2 dev: false - /@aws-lambda-powertools/logger@2.1.0: - resolution: {integrity: sha512-vsxB2ESJYm4hXCC3rrClzjBXNdGJI1qr6wQATuvS6Is0UcbqWbN7N3lnA4hYSknDmh+HKxAn9E4bcelMmuSBew==} + /@aws-lambda-powertools/logger@2.0.4: + resolution: {integrity: sha512-KzBw7oUtSTKxY5Ulck4ZKelr4jX3erhlcuscvihZvu4OJv5TdZ1GrIT+wkySaLp8nKidOHjhTJAlNXCFjNiINQ==} peerDependencies: '@middy/core': '>=3.x' peerDependenciesMeta: '@middy/core': optional: true dependencies: - '@aws-lambda-powertools/commons': 2.1.0 + '@aws-lambda-powertools/commons': 2.0.4 lodash.merge: 4.6.2 dev: false @@ -1920,15 +1908,15 @@ packages: '@aws-lambda-powertools/commons': 1.18.1 dev: false - /@aws-lambda-powertools/metrics@2.1.0: - resolution: {integrity: sha512-U4Da+UNBi5bCPuJhfLmuWtX4GVSwN/xGumoArN97jRlmz24kmKR3rYAps4iz5CBz6C91eKhRCnm84ijfyJyTMQ==} + /@aws-lambda-powertools/metrics@2.0.4: + resolution: {integrity: sha512-w9kaRtqH1xPe2SLny5hF1z2c2rQDlgYtbVGm0YtQ48nIxHMNh+yV8dLd4o7fdjl2p6yuhXlHCiD+HoMi5aOPCg==} peerDependencies: '@middy/core': '>=3.x' peerDependenciesMeta: '@middy/core': optional: true dependencies: - '@aws-lambda-powertools/commons': 2.1.0 + '@aws-lambda-powertools/commons': 2.0.4 dev: false /@aws-lambda-powertools/tracer@1.18.1: @@ -1943,27 +1931,27 @@ packages: aws-xray-sdk-core: 3.6.0 dev: false - /@aws-lambda-powertools/tracer@2.1.0: - resolution: {integrity: sha512-xQrGPdqwi5BLlZTESFIf43T0YHRzc+NsO25pt/gDLZFEZUKJDr7j1HwpjiXWzxiCfrCt/lNurPW+DpWqlTpvAg==} + /@aws-lambda-powertools/tracer@2.0.4: + resolution: {integrity: sha512-Alc/oy8JnEMlM33zYVuiutyYjxen10AaOdKBuwyxwzCJPpkwO5ks+6RxLBTHjFVrvCt7CwPd9G1lDvruDvcxKQ==} peerDependencies: '@middy/core': '>=3.x' peerDependenciesMeta: '@middy/core': optional: true dependencies: - '@aws-lambda-powertools/commons': 2.1.0 + '@aws-lambda-powertools/commons': 2.0.4 aws-xray-sdk-core: 3.6.0 dev: false - /@aws-sdk/client-cloudformation@3.556.0: - resolution: {integrity: sha512-qsqAZVFg1QQdS0lINII9xpZo6p5VcNqupnugxkqZ7BlzBGQaNuovlcLkWjBNM7rufRTxWThqPpRqc7/CAD4kvQ==} + /@aws-sdk/client-cloudformation@3.555.0: + resolution: {integrity: sha512-gm+qteiSwG/Y25lrIdjiP/GQkYSCdxhTAcHHUGmC85pDTLRsZbTXUm79rhvT3SfoLX3/Hh4JHoVSiFL+wxKeww==} engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sts': 3.556.0(@aws-sdk/credential-provider-node@3.556.0) - '@aws-sdk/core': 3.556.0 - '@aws-sdk/credential-provider-node': 3.556.0 + '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) + '@aws-sdk/core': 3.554.0 + '@aws-sdk/credential-provider-node': 3.554.0 '@aws-sdk/middleware-host-header': 3.535.0 '@aws-sdk/middleware-logger': 3.535.0 '@aws-sdk/middleware-recursion-detection': 3.535.0 @@ -2005,15 +1993,15 @@ packages: - aws-crt dev: true - /@aws-sdk/client-cognito-identity@3.556.0: - resolution: {integrity: sha512-HWd7PyXCuY1Z9KBaufbzpIvS2QeUAak5wfYwylW2DrEvt6A4tjWCBSbbSXNoawqCv/HitA39v953N/1PojJVVQ==} + /@aws-sdk/client-cognito-identity@3.554.0: + resolution: {integrity: sha512-/rFufn75nrCj5gTpTLIlDxjGoPeAj+gC3JLVqS2Tlpqx3YhqHiz+jYaHYJbkvrcLMEdDFqaoO3DI7y/GcD59Mg==} engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sts': 3.556.0(@aws-sdk/credential-provider-node@3.556.0) - '@aws-sdk/core': 3.556.0 - '@aws-sdk/credential-provider-node': 3.556.0 + '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) + '@aws-sdk/core': 3.554.0 + '@aws-sdk/credential-provider-node': 3.554.0 '@aws-sdk/middleware-host-header': 3.535.0 '@aws-sdk/middleware-logger': 3.535.0 '@aws-sdk/middleware-recursion-detection': 3.535.0 @@ -2053,15 +2041,15 @@ packages: - aws-crt dev: true - /@aws-sdk/client-ecs@3.556.0: - resolution: {integrity: sha512-IV7etxo8QQogq/0Onf6nmjogeuOqZSCtdUFuZz2M3Xq75k5oaEQ3CfFv4xRldr0WCMJ3SY8hjYiQGiYUyqzBmA==} + /@aws-sdk/client-ecs@3.554.0: + resolution: {integrity: sha512-JyGbk0ulTtz8rjvVCWKqf+1Lobk6TDB+bPpfhMa3Z+ACyNsS+qU3W+XcDUXkgn+VGFd+nMfFoJOotSsT03ilFw==} engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sts': 3.556.0(@aws-sdk/credential-provider-node@3.556.0) - '@aws-sdk/core': 3.556.0 - '@aws-sdk/credential-provider-node': 3.556.0 + '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) + '@aws-sdk/core': 3.554.0 + '@aws-sdk/credential-provider-node': 3.554.0 '@aws-sdk/middleware-host-header': 3.535.0 '@aws-sdk/middleware-logger': 3.535.0 '@aws-sdk/middleware-recursion-detection': 3.535.0 @@ -2103,22 +2091,22 @@ packages: - aws-crt dev: true - /@aws-sdk/client-eventbridge@3.556.0: - resolution: {integrity: sha512-Rx3NaRpsMcUdNIOerb8yrmeMKkLOEuK80TYtr/uBWnCUgnwfl69yf7Z5unwvO/7ZswGy7HCN4L/JOtQAWWTQpw==} + /@aws-sdk/client-eventbridge@3.554.0: + resolution: {integrity: sha512-rO5jYUaYsHFmjfXkgtCN1Tb3O9Or0ro61f6vzZB/+XLZvgTSP8OLJcH+1BHMj26L2ntuTkZ4zPikO+2Bg4urDg==} engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sts': 3.556.0(@aws-sdk/credential-provider-node@3.556.0) - '@aws-sdk/core': 3.556.0 - '@aws-sdk/credential-provider-node': 3.556.0 + '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) + '@aws-sdk/core': 3.554.0 + '@aws-sdk/credential-provider-node': 3.554.0 '@aws-sdk/middleware-host-header': 3.535.0 '@aws-sdk/middleware-logger': 3.535.0 '@aws-sdk/middleware-recursion-detection': 3.535.0 - '@aws-sdk/middleware-signing': 3.556.0 + '@aws-sdk/middleware-signing': 3.552.0 '@aws-sdk/middleware-user-agent': 3.540.0 '@aws-sdk/region-config-resolver': 3.535.0 - '@aws-sdk/signature-v4-multi-region': 3.556.0 + '@aws-sdk/signature-v4-multi-region': 3.552.0 '@aws-sdk/types': 3.535.0 '@aws-sdk/util-endpoints': 3.540.0 '@aws-sdk/util-user-agent-browser': 3.535.0 @@ -2151,15 +2139,15 @@ packages: - aws-crt dev: true - /@aws-sdk/client-iam@3.556.0: - resolution: {integrity: sha512-avZ8JDUC2+ma85Ep+ekMNxioKab1iYCaY+QBNQjCsFfilaNVxq2XAodqdOrqd3n8sdYCuIgYi7Oh5nQ1ztHHWw==} + /@aws-sdk/client-iam@3.554.0: + resolution: {integrity: sha512-Q+8PTBdZ1e3hzWRZGnIE5P+7jbxQx9Gas3ayOfzdHx538apqk4z8+Q4PoymECttPSPwv1KoYphFZvRyH7lrDKA==} engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sts': 3.556.0(@aws-sdk/credential-provider-node@3.556.0) - '@aws-sdk/core': 3.556.0 - '@aws-sdk/credential-provider-node': 3.556.0 + '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) + '@aws-sdk/core': 3.554.0 + '@aws-sdk/credential-provider-node': 3.554.0 '@aws-sdk/middleware-host-header': 3.535.0 '@aws-sdk/middleware-logger': 3.535.0 '@aws-sdk/middleware-recursion-detection': 3.535.0 @@ -2200,15 +2188,15 @@ packages: - aws-crt dev: true - /@aws-sdk/client-iot-data-plane@3.556.0: - resolution: {integrity: sha512-8mAG0FvTsfypLswpNIYnvgiq8uW+e6emgLW7Jj7ThRFtL5CGimH7anvG+EC2y7ySy8X9VH/3XUrkzUkIDdUIuw==} + /@aws-sdk/client-iot-data-plane@3.554.0: + resolution: {integrity: sha512-2xtMWKlJ1wOq+8mQe1XddfqOkskfIV/AgkGTueZUqO7FvVxHtWOlXpafN7naRZUBtzzu9/oeK8gfvYhpW+kqGw==} engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sts': 3.556.0(@aws-sdk/credential-provider-node@3.556.0) - '@aws-sdk/core': 3.556.0 - '@aws-sdk/credential-provider-node': 3.556.0 + '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) + '@aws-sdk/core': 3.554.0 + '@aws-sdk/credential-provider-node': 3.554.0 '@aws-sdk/middleware-host-header': 3.535.0 '@aws-sdk/middleware-logger': 3.535.0 '@aws-sdk/middleware-recursion-detection': 3.535.0 @@ -2249,15 +2237,15 @@ packages: - aws-crt dev: true - /@aws-sdk/client-iot@3.556.0: - resolution: {integrity: sha512-Cfi9VoaChP9A2SsjTldDVBUITs1tLnEgCD28Dn+j0eX8lt7tsB0nYeJV+O90TnbjqM0gRp284TDPZ+7OOQ4X6g==} + /@aws-sdk/client-iot@3.554.0: + resolution: {integrity: sha512-3mr5Ik3hVa3WS0F2N88sSKAwOVdRtoRN8xY1bqpT+I/tjAgt+07uItHrkJErEh4Xq3EnhJfKiPR/KbcRK2oQuQ==} engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sts': 3.556.0(@aws-sdk/credential-provider-node@3.556.0) - '@aws-sdk/core': 3.556.0 - '@aws-sdk/credential-provider-node': 3.556.0 + '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) + '@aws-sdk/core': 3.554.0 + '@aws-sdk/credential-provider-node': 3.554.0 '@aws-sdk/middleware-host-header': 3.535.0 '@aws-sdk/middleware-logger': 3.535.0 '@aws-sdk/middleware-recursion-detection': 3.535.0 @@ -2298,15 +2286,15 @@ packages: - aws-crt dev: true - /@aws-sdk/client-lambda@3.556.0: - resolution: {integrity: sha512-HrsdCySeoHA1WTxzOT42ct+Se71ncwRv+vJ3Le6NmUV9oRQ6h7Bw7OYliB5wadP8GHWV7egbbvR+Dy8SwuENvw==} + /@aws-sdk/client-lambda@3.554.0: + resolution: {integrity: sha512-KNUAAZKcsCdUOB2/rbWpc96jsSM/ahw3hK5/Ru4RTLfNP27GitxqF0v+mzrVk9lTuj2ChJ3JDV+UfdGsqvZgpw==} engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sts': 3.556.0(@aws-sdk/credential-provider-node@3.556.0) - '@aws-sdk/core': 3.556.0 - '@aws-sdk/credential-provider-node': 3.556.0 + '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) + '@aws-sdk/core': 3.554.0 + '@aws-sdk/credential-provider-node': 3.554.0 '@aws-sdk/middleware-host-header': 3.535.0 '@aws-sdk/middleware-logger': 3.535.0 '@aws-sdk/middleware-recursion-detection': 3.535.0 @@ -2351,15 +2339,15 @@ packages: - aws-crt dev: true - /@aws-sdk/client-rds-data@3.556.0: - resolution: {integrity: sha512-riBH62k9C/0oAh5hVeYcFw5asqweylrDVuiwLjbX9d+QTBAoK9GD4jV3VRvASVMEXnvi7C/9GvIBqfnKnE+Kyg==} + /@aws-sdk/client-rds-data@3.554.0: + resolution: {integrity: sha512-pJq/RhBuSngWik5y7M385hm0qLidgPBWNff4+h3UGPDvFUvHTvSCMrPbU5lhMTcrVw+aralLSi3DwCqsUjHKBA==} engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sts': 3.556.0(@aws-sdk/credential-provider-node@3.556.0) - '@aws-sdk/core': 3.556.0 - '@aws-sdk/credential-provider-node': 3.556.0 + '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) + '@aws-sdk/core': 3.554.0 + '@aws-sdk/credential-provider-node': 3.554.0 '@aws-sdk/middleware-host-header': 3.535.0 '@aws-sdk/middleware-logger': 3.535.0 '@aws-sdk/middleware-recursion-detection': 3.535.0 @@ -2399,16 +2387,16 @@ packages: - aws-crt dev: true - /@aws-sdk/client-s3@3.556.0: - resolution: {integrity: sha512-6WF9Kuzz1/8zqX8hKBpqj9+FYwQ5uTsVcOKpTW94AMX2qtIeVRlwlnNnYyywWo61yqD3g59CMNHcqSsaqAwglg==} + /@aws-sdk/client-s3@3.554.0: + resolution: {integrity: sha512-d5TKKtGWhN0vl9QovUFrf3UsM7jgFQkowDPx1O+E/yeQUj1FBDOoRfDCcQOKW/9ghloI6k7f0bBpNxdd+x0oKA==} engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha1-browser': 3.0.0 '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sts': 3.556.0(@aws-sdk/credential-provider-node@3.556.0) - '@aws-sdk/core': 3.556.0 - '@aws-sdk/credential-provider-node': 3.556.0 + '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) + '@aws-sdk/core': 3.554.0 + '@aws-sdk/credential-provider-node': 3.554.0 '@aws-sdk/middleware-bucket-endpoint': 3.535.0 '@aws-sdk/middleware-expect-continue': 3.535.0 '@aws-sdk/middleware-flexible-checksums': 3.535.0 @@ -2416,12 +2404,12 @@ packages: '@aws-sdk/middleware-location-constraint': 3.535.0 '@aws-sdk/middleware-logger': 3.535.0 '@aws-sdk/middleware-recursion-detection': 3.535.0 - '@aws-sdk/middleware-sdk-s3': 3.556.0 - '@aws-sdk/middleware-signing': 3.556.0 + '@aws-sdk/middleware-sdk-s3': 3.552.0 + '@aws-sdk/middleware-signing': 3.552.0 '@aws-sdk/middleware-ssec': 3.537.0 '@aws-sdk/middleware-user-agent': 3.540.0 '@aws-sdk/region-config-resolver': 3.535.0 - '@aws-sdk/signature-v4-multi-region': 3.556.0 + '@aws-sdk/signature-v4-multi-region': 3.552.0 '@aws-sdk/types': 3.535.0 '@aws-sdk/util-endpoints': 3.540.0 '@aws-sdk/util-user-agent-browser': 3.535.0 @@ -2464,15 +2452,15 @@ packages: - aws-crt dev: true - /@aws-sdk/client-ssm@3.556.0: - resolution: {integrity: sha512-uGrzSEcxcldW2vOirEYyr/lbO5n4FV5O36Sm4Q/eXtBO8FOUM5Fydi8mg+3xAIW7I3wEU79ygp7+FpM6u9W+9g==} + /@aws-sdk/client-ssm@3.554.0: + resolution: {integrity: sha512-zqc5Pyb0agJ3erp1x2ILoll7mG6atQTD2AFWA5UBFhNa7R0+w+TLvSNnX813X4bv4OySqBYYEtAokoTvV66UZw==} engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sts': 3.556.0(@aws-sdk/credential-provider-node@3.556.0) - '@aws-sdk/core': 3.556.0 - '@aws-sdk/credential-provider-node': 3.556.0 + '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) + '@aws-sdk/core': 3.554.0 + '@aws-sdk/credential-provider-node': 3.554.0 '@aws-sdk/middleware-host-header': 3.535.0 '@aws-sdk/middleware-logger': 3.535.0 '@aws-sdk/middleware-recursion-detection': 3.535.0 @@ -2514,17 +2502,17 @@ packages: - aws-crt dev: true - /@aws-sdk/client-sso-oidc@3.556.0(@aws-sdk/credential-provider-node@3.556.0): - resolution: {integrity: sha512-AXKd2TB6nNrksu+OfmHl8uI07PdgzOo4o8AxoRO8SHlwoMAGvcT9optDGVSYoVfgOKTymCoE7h8/UoUfPc11wQ==} + /@aws-sdk/client-sso-oidc@3.554.0(@aws-sdk/credential-provider-node@3.554.0): + resolution: {integrity: sha512-M86rkiRqbZBF5VyfTQ/vttry9VSoQkZ1oCqYF+SAGlXmD0Of8587yRSj2M4rYe0Uj7nRQIfSnhDYp1UzsZeRfQ==} engines: {node: '>=14.0.0'} peerDependencies: - '@aws-sdk/credential-provider-node': ^3.556.0 + '@aws-sdk/credential-provider-node': ^3.554.0 dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sts': 3.556.0(@aws-sdk/credential-provider-node@3.556.0) - '@aws-sdk/core': 3.556.0 - '@aws-sdk/credential-provider-node': 3.556.0 + '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) + '@aws-sdk/core': 3.554.0 + '@aws-sdk/credential-provider-node': 3.554.0 '@aws-sdk/middleware-host-header': 3.535.0 '@aws-sdk/middleware-logger': 3.535.0 '@aws-sdk/middleware-recursion-detection': 3.535.0 @@ -2564,13 +2552,13 @@ packages: - aws-crt dev: true - /@aws-sdk/client-sso@3.556.0: - resolution: {integrity: sha512-unXdWS7uvHqCcOyC1de+Fr8m3F2vMg2m24GPea0bg7rVGTYmiyn9mhUX11VCt+ozydrw+F50FQwL6OqoqPocmw==} + /@aws-sdk/client-sso@3.554.0: + resolution: {integrity: sha512-yj6CgIxCT3UwMumEO481KH4QvwArkAPzD7Xvwe1QKgJATc9bKNEo/FxV8LfnWIJ7nOtMDxbNxYLMXH/Fs1qGaQ==} engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/core': 3.556.0 + '@aws-sdk/core': 3.554.0 '@aws-sdk/middleware-host-header': 3.535.0 '@aws-sdk/middleware-logger': 3.535.0 '@aws-sdk/middleware-recursion-detection': 3.535.0 @@ -2610,16 +2598,16 @@ packages: - aws-crt dev: true - /@aws-sdk/client-sts@3.556.0(@aws-sdk/credential-provider-node@3.556.0): - resolution: {integrity: sha512-TsK3js7Suh9xEmC886aY+bv0KdLLYtzrcmVt6sJ/W6EnDXYQhBuKYFhp03NrN2+vSvMGpqJwR62DyfKe1G0QzQ==} + /@aws-sdk/client-sts@3.554.0(@aws-sdk/credential-provider-node@3.554.0): + resolution: {integrity: sha512-EhaA6T0M0DNg5M8TCF1a7XJI5D/ZxAF3dgVIchyF98iNzjYgl/7U8K6hJay2A11aFvVu70g46xYMpz3Meky4wQ==} engines: {node: '>=14.0.0'} peerDependencies: - '@aws-sdk/credential-provider-node': ^3.556.0 + '@aws-sdk/credential-provider-node': ^3.554.0 dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/core': 3.556.0 - '@aws-sdk/credential-provider-node': 3.556.0 + '@aws-sdk/core': 3.554.0 + '@aws-sdk/credential-provider-node': 3.554.0 '@aws-sdk/middleware-host-header': 3.535.0 '@aws-sdk/middleware-logger': 3.535.0 '@aws-sdk/middleware-recursion-detection': 3.535.0 @@ -2668,8 +2656,8 @@ packages: tslib: 2.6.2 dev: true - /@aws-sdk/core@3.556.0: - resolution: {integrity: sha512-vJaSaHw2kPQlo11j/Rzuz0gk1tEaKdz+2ser0f0qZ5vwFlANjt08m/frU17ctnVKC1s58bxpctO/1P894fHLrA==} + /@aws-sdk/core@3.554.0: + resolution: {integrity: sha512-JrG7ToTLeNf+/S3IiCUPVw9jEDB0DXl5ho8n/HwOa946mv+QyCepCuV2U/8f/1KAX0mD8Ufm/E4/cbCbFHgbSg==} engines: {node: '>=14.0.0'} dependencies: '@smithy/core': 1.4.2 @@ -2681,11 +2669,11 @@ packages: tslib: 2.6.2 dev: true - /@aws-sdk/credential-provider-cognito-identity@3.556.0: - resolution: {integrity: sha512-PKYBjfpLHJZhrIv0M9eJ47yeDaV8NUMVe4vsiHG5tvlvwWGP84k9GJlr51U/s84OzIyXzVpiqP8PU5yKovUFIg==} + /@aws-sdk/credential-provider-cognito-identity@3.554.0: + resolution: {integrity: sha512-soF84soy9rTAfzsH1ODP0AnJt5JlsJI8k1aWtC08/Al0CZjLkxDRHzaB1wxubFyT2Ql6bpxbDfU6KDFXsQIpdA==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/client-cognito-identity': 3.556.0 + '@aws-sdk/client-cognito-identity': 3.554.0 '@aws-sdk/types': 3.535.0 '@smithy/property-provider': 2.2.0 '@smithy/types': 2.12.0 @@ -2719,15 +2707,15 @@ packages: tslib: 2.6.2 dev: true - /@aws-sdk/credential-provider-ini@3.556.0(@aws-sdk/credential-provider-node@3.556.0): - resolution: {integrity: sha512-0Nz4ErOlXhe3muxWYMbPwRMgfKmVbBp36BAE2uv/z5wTbfdBkcgUwaflEvlKCLUTdHzuZsQk+BFS/gVyaUeOuA==} + /@aws-sdk/credential-provider-ini@3.554.0(@aws-sdk/credential-provider-node@3.554.0): + resolution: {integrity: sha512-BQenhg43S6TMJHxrdjDVdVF+HH5tA1op9ZYLyJrvV5nn7CCO4kyAkkOuSAv1NkL+RZsIkW0/vHTXwQOQw3cUsg==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/client-sts': 3.556.0(@aws-sdk/credential-provider-node@3.556.0) + '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) '@aws-sdk/credential-provider-env': 3.535.0 '@aws-sdk/credential-provider-process': 3.535.0 - '@aws-sdk/credential-provider-sso': 3.556.0(@aws-sdk/credential-provider-node@3.556.0) - '@aws-sdk/credential-provider-web-identity': 3.556.0(@aws-sdk/credential-provider-node@3.556.0) + '@aws-sdk/credential-provider-sso': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) + '@aws-sdk/credential-provider-web-identity': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) '@aws-sdk/types': 3.535.0 '@smithy/credential-provider-imds': 2.3.0 '@smithy/property-provider': 2.2.0 @@ -2739,16 +2727,16 @@ packages: - aws-crt dev: true - /@aws-sdk/credential-provider-node@3.556.0: - resolution: {integrity: sha512-s1xVtKjyGc60O8qcNIzS1X3H+pWEwEfZ7TgNznVDNyuXvLrlNWiAcigPWGl2aAkc8tGcsSG0Qpyw2KYC939LFg==} + /@aws-sdk/credential-provider-node@3.554.0: + resolution: {integrity: sha512-poX/+2OE3oxqp4f5MiaJh251p8l+bzcFwgcDBwz0e2rcpvMSYl9jw4AvGnCiG2bmf9yhNJdftBiS1A+KjxV0qA==} engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/credential-provider-env': 3.535.0 '@aws-sdk/credential-provider-http': 3.552.0 - '@aws-sdk/credential-provider-ini': 3.556.0(@aws-sdk/credential-provider-node@3.556.0) + '@aws-sdk/credential-provider-ini': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) '@aws-sdk/credential-provider-process': 3.535.0 - '@aws-sdk/credential-provider-sso': 3.556.0(@aws-sdk/credential-provider-node@3.556.0) - '@aws-sdk/credential-provider-web-identity': 3.556.0(@aws-sdk/credential-provider-node@3.556.0) + '@aws-sdk/credential-provider-sso': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) + '@aws-sdk/credential-provider-web-identity': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) '@aws-sdk/types': 3.535.0 '@smithy/credential-provider-imds': 2.3.0 '@smithy/property-provider': 2.2.0 @@ -2770,12 +2758,12 @@ packages: tslib: 2.6.2 dev: true - /@aws-sdk/credential-provider-sso@3.556.0(@aws-sdk/credential-provider-node@3.556.0): - resolution: {integrity: sha512-ETuBgcnpfxqadEAqhQFWpKoV1C/NAgvs5CbBc5EJbelJ8f4prTdErIHjrRtVT8c02MXj92QwczsiNYd5IoOqyw==} + /@aws-sdk/credential-provider-sso@3.554.0(@aws-sdk/credential-provider-node@3.554.0): + resolution: {integrity: sha512-8QPpwBA31i/fZ7lDZJC4FA9EdxLg5SJ8sPB2qLSjp5UTGTYL2HRl0Eznkb7DXyp/wImsR/HFR1NxuFCCVotLCg==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/client-sso': 3.556.0 - '@aws-sdk/token-providers': 3.556.0(@aws-sdk/credential-provider-node@3.556.0) + '@aws-sdk/client-sso': 3.554.0 + '@aws-sdk/token-providers': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) '@aws-sdk/types': 3.535.0 '@smithy/property-provider': 2.2.0 '@smithy/shared-ini-file-loader': 2.4.0 @@ -2786,11 +2774,11 @@ packages: - aws-crt dev: true - /@aws-sdk/credential-provider-web-identity@3.556.0(@aws-sdk/credential-provider-node@3.556.0): - resolution: {integrity: sha512-R/YAL8Uh8i+dzVjzMnbcWLIGeeRi2mioHVGnVF+minmaIkCiQMZg2HPrdlKm49El+RljT28Nl5YHRuiqzEIwMA==} + /@aws-sdk/credential-provider-web-identity@3.554.0(@aws-sdk/credential-provider-node@3.554.0): + resolution: {integrity: sha512-HN54DzLjepw5ZWSF9ycGevhFTyg6pjLuLKy5Y8t/f1jFDComzYdGEDe0cdV9YO653W3+PQwZZGz09YVygGYBLg==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/client-sts': 3.556.0(@aws-sdk/credential-provider-node@3.556.0) + '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) '@aws-sdk/types': 3.535.0 '@smithy/property-provider': 2.2.0 '@smithy/types': 2.12.0 @@ -2800,21 +2788,21 @@ packages: - aws-crt dev: true - /@aws-sdk/credential-providers@3.556.0: - resolution: {integrity: sha512-CnWP/AEF+sPeO8fabrHy4Oeo52xDFuDQMpjKcI7oJzGF6Ne2ZPTq6wTJQPLeXeg4OzLcK0tT3G4z/27MLdsLsw==} + /@aws-sdk/credential-providers@3.554.0: + resolution: {integrity: sha512-UMmJ4M7RknSz1p0981t57QUw6DibPEo/GG8+env6Q8dHrEc3pnRL206f1zxLcqzT5RI50XstH/bDtnyC7uRYiw==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/client-cognito-identity': 3.556.0 - '@aws-sdk/client-sso': 3.556.0 - '@aws-sdk/client-sts': 3.556.0(@aws-sdk/credential-provider-node@3.556.0) - '@aws-sdk/credential-provider-cognito-identity': 3.556.0 + '@aws-sdk/client-cognito-identity': 3.554.0 + '@aws-sdk/client-sso': 3.554.0 + '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) + '@aws-sdk/credential-provider-cognito-identity': 3.554.0 '@aws-sdk/credential-provider-env': 3.535.0 '@aws-sdk/credential-provider-http': 3.552.0 - '@aws-sdk/credential-provider-ini': 3.556.0(@aws-sdk/credential-provider-node@3.556.0) - '@aws-sdk/credential-provider-node': 3.556.0 + '@aws-sdk/credential-provider-ini': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) + '@aws-sdk/credential-provider-node': 3.554.0 '@aws-sdk/credential-provider-process': 3.535.0 - '@aws-sdk/credential-provider-sso': 3.556.0(@aws-sdk/credential-provider-node@3.556.0) - '@aws-sdk/credential-provider-web-identity': 3.556.0(@aws-sdk/credential-provider-node@3.556.0) + '@aws-sdk/credential-provider-sso': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) + '@aws-sdk/credential-provider-web-identity': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) '@aws-sdk/types': 3.535.0 '@smithy/credential-provider-imds': 2.3.0 '@smithy/property-provider': 2.2.0 @@ -2909,8 +2897,8 @@ packages: uuid: 8.3.2 dev: true - /@aws-sdk/middleware-sdk-s3@3.556.0: - resolution: {integrity: sha512-4W/dnxqj1B6/uS/5Z+3UHaqDDGjNPgEVlqf5d3ToOFZ31ZfpANwhcCmyX39JklC4aolCEi9renQ5wHnTCC8K8g==} + /@aws-sdk/middleware-sdk-s3@3.552.0: + resolution: {integrity: sha512-9KzOqsbwJJuQcpmrpkkIftjPahB1bsrcWalYzcVqKCgHCylhkSHW2tX+uGHRnvAl9iobQD5D7LUrS+cv0NeQ/Q==} engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 @@ -2924,8 +2912,8 @@ packages: tslib: 2.6.2 dev: true - /@aws-sdk/middleware-signing@3.556.0: - resolution: {integrity: sha512-kWrPmU8qd3gI5qzpuW9LtWFaH80cOz1ZJDavXx6PRpYZJ5JaKdUHghwfDlVTzzFYAeJmVsWIkPcLT5d5mY5ZTQ==} + /@aws-sdk/middleware-signing@3.552.0: + resolution: {integrity: sha512-ZjOrlEmwjhbmkINa4Zx9LJh+xb/kgEiUrcfud2kq/r8ath1Nv1/4zalI9jHnou1J+R+yS+FQlXLXHSZ7vqyFbA==} engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 @@ -2969,11 +2957,11 @@ packages: tslib: 2.6.2 dev: true - /@aws-sdk/signature-v4-crt@3.556.0: - resolution: {integrity: sha512-98rLxcpNPOXKmBPz9jmyvOP0Bz/1TV+CPhjrXrkcwgNPFv87Qmm4PM6+8vgiyc67EroqLtn/kdXEklePUdRB3g==} + /@aws-sdk/signature-v4-crt@3.552.0: + resolution: {integrity: sha512-5Dy4E2RtHw3hFCx5L+OsRN2n1OW3yoX06xDPqJ5xe38Pd9H8ZPYxiCEOdyw/TIJUwRjDMgsa2uPKyM/Nwr9cMg==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/signature-v4-multi-region': 3.556.0 + '@aws-sdk/signature-v4-multi-region': 3.552.0 '@aws-sdk/types': 3.535.0 '@aws-sdk/util-user-agent-node': 3.535.0(aws-crt@1.21.2) '@smithy/querystring-parser': 2.2.0 @@ -2989,11 +2977,11 @@ packages: - utf-8-validate dev: true - /@aws-sdk/signature-v4-multi-region@3.556.0: - resolution: {integrity: sha512-bWDSK0ggK7QzAOmPZGv29UAIZocL1MNY7XyOvm3P3P1U3tFMoIBilQQBLabXyHoZ9J3Ik0Vv4n95htUhRQ35ow==} + /@aws-sdk/signature-v4-multi-region@3.552.0: + resolution: {integrity: sha512-cC11/5ahp+LaBCq7cR+51AM2ftf6m9diRd2oWkbEpjSiEKQzZRAltUPZAJM6NXGypmDODQDJphLGt45tvS+8kg==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/middleware-sdk-s3': 3.556.0 + '@aws-sdk/middleware-sdk-s3': 3.552.0 '@aws-sdk/types': 3.535.0 '@smithy/protocol-http': 3.3.0 '@smithy/signature-v4': 2.3.0 @@ -3010,11 +2998,11 @@ packages: tslib: 2.6.2 dev: true - /@aws-sdk/token-providers@3.556.0(@aws-sdk/credential-provider-node@3.556.0): - resolution: {integrity: sha512-tvIiugNF0/+2wfuImMrpKjXMx4nCnFWQjQvouObny+wrif/PGqqQYrybwxPJDvzbd965bu1I+QuSv85/ug7xsg==} + /@aws-sdk/token-providers@3.554.0(@aws-sdk/credential-provider-node@3.554.0): + resolution: {integrity: sha512-KMMQ5Cw0FUPL9H8g69Lp08xtzRo7r/MK+lBV6LznWBbCP/NwtZ8awVHaPy2P31z00cWtu9MYkUTviWPqJTaBvg==} engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/client-sso-oidc': 3.556.0(@aws-sdk/credential-provider-node@3.556.0) + '@aws-sdk/client-sso-oidc': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) '@aws-sdk/types': 3.535.0 '@smithy/property-provider': 2.2.0 '@smithy/shared-ini-file-loader': 2.4.0 @@ -4488,7 +4476,7 @@ packages: '@ethersproject/bytes': 5.6.1 '@ethersproject/constants': 5.6.0 '@ethersproject/hash': 5.6.0 - '@ethersproject/keccak256': 5.7.0 + '@ethersproject/keccak256': 5.6.0 '@ethersproject/logger': 5.6.0 '@ethersproject/properties': 5.6.0 '@ethersproject/strings': 5.6.0 @@ -4554,7 +4542,7 @@ packages: dependencies: '@ethersproject/bignumber': 5.6.0 '@ethersproject/bytes': 5.6.1 - '@ethersproject/keccak256': 5.7.0 + '@ethersproject/keccak256': 5.6.0 '@ethersproject/logger': 5.6.0 '@ethersproject/rlp': 5.6.0 dev: false @@ -4665,7 +4653,7 @@ packages: '@ethersproject/address': 5.6.0 '@ethersproject/bignumber': 5.6.0 '@ethersproject/bytes': 5.6.1 - '@ethersproject/keccak256': 5.7.0 + '@ethersproject/keccak256': 5.6.0 '@ethersproject/logger': 5.6.0 '@ethersproject/properties': 5.6.0 '@ethersproject/strings': 5.6.0 @@ -4724,7 +4712,7 @@ packages: '@ethersproject/address': 5.6.0 '@ethersproject/bytes': 5.6.1 '@ethersproject/hdnode': 5.6.0 - '@ethersproject/keccak256': 5.7.0 + '@ethersproject/keccak256': 5.6.0 '@ethersproject/logger': 5.6.0 '@ethersproject/pbkdf2': 5.6.0 '@ethersproject/properties': 5.6.0 @@ -4928,7 +4916,7 @@ packages: dependencies: '@ethersproject/bignumber': 5.6.0 '@ethersproject/bytes': 5.6.1 - '@ethersproject/keccak256': 5.7.0 + '@ethersproject/keccak256': 5.6.0 '@ethersproject/logger': 5.6.0 '@ethersproject/sha2': 5.6.0 '@ethersproject/strings': 5.6.0 @@ -4966,7 +4954,7 @@ packages: '@ethersproject/bignumber': 5.6.0 '@ethersproject/bytes': 5.6.1 '@ethersproject/constants': 5.6.0 - '@ethersproject/keccak256': 5.7.0 + '@ethersproject/keccak256': 5.6.0 '@ethersproject/logger': 5.6.0 '@ethersproject/properties': 5.6.0 '@ethersproject/rlp': 5.6.0 @@ -5012,7 +5000,7 @@ packages: '@ethersproject/hash': 5.6.0 '@ethersproject/hdnode': 5.6.0 '@ethersproject/json-wallets': 5.6.0 - '@ethersproject/keccak256': 5.7.0 + '@ethersproject/keccak256': 5.6.0 '@ethersproject/logger': 5.6.0 '@ethersproject/properties': 5.6.0 '@ethersproject/random': 5.6.0 @@ -5786,22 +5774,22 @@ packages: resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} dev: true - /@inquirer/checkbox@2.3.1: - resolution: {integrity: sha512-w0B2PhvIh6SFA5uMh32FE+7xSuv1P2o/qjBb5jxgi1DB8VBFjSD3gHDsgiGDeSmfTaQDyR7/beDllIvKeA+YDw==} + /@inquirer/checkbox@2.3.0: + resolution: {integrity: sha512-QE8k4cC00gQQghyRGz9DJ59hOqZ4YpCpr6p8o9H3H+WIxjEEi/3BsYSGWkYGel4v2VKLjph4ork9HGPoNcURKg==} engines: {node: '>=18'} dependencies: - '@inquirer/core': 8.0.1 - '@inquirer/figures': 1.0.1 + '@inquirer/core': 8.0.0 + '@inquirer/figures': 1.0.0 '@inquirer/type': 1.3.0 ansi-escapes: 4.3.2 chalk: 4.1.2 dev: false - /@inquirer/confirm@3.1.5: - resolution: {integrity: sha512-6+dwZrpko5vr5EFEQmUbfBVhtu6IsnB8lQNsLHgO9S9fbfS5J6MuUj+NY0h98pPpYZXEazLR7qzypEDqVzf6aQ==} + /@inquirer/confirm@3.1.4: + resolution: {integrity: sha512-2z2RC0JyQCmggQfRxFnQitGp8YZgdM/AqcOuLaUtL0dZHFByk5jgtzxECX4z5MsH8aq2WzdLPI2AHmHOkh8eRA==} engines: {node: '>=18'} dependencies: - '@inquirer/core': 8.0.1 + '@inquirer/core': 8.0.0 '@inquirer/type': 1.3.0 dev: false @@ -5809,7 +5797,7 @@ packages: resolution: {integrity: sha512-MbHUe32W0DRtuw3Hlt+vLWy3c0Vw7wVHSJyYZ16IGVXyxs31BTyo2MOFKzNnzBBAWhsqn+iHO1r84FXIzs39HQ==} engines: {node: '>=18'} dependencies: - '@inquirer/figures': 1.0.1 + '@inquirer/figures': 1.0.0 '@inquirer/type': 1.3.0 '@types/mute-stream': 0.0.4 '@types/node': 20.12.7 @@ -5824,11 +5812,11 @@ packages: wrap-ansi: 6.2.0 dev: false - /@inquirer/core@8.0.1: - resolution: {integrity: sha512-qJRk1y51Os2ARc11Bg2N6uIwiQ9qBSrmZeuMonaQ/ntFpb4+VlcQ8Gl1TFH67mJLz3HA2nvuave0nbv6Lu8pbg==} + /@inquirer/core@8.0.0: + resolution: {integrity: sha512-RAszmjXj+grbT9yQ9B+me40LskytwBYPhyl6yHI8h+J5BmL0gNI3pdvBBFD6S9LV0lzhzfCRMBMH5UvuUPYzZQ==} engines: {node: '>=18'} dependencies: - '@inquirer/figures': 1.0.1 + '@inquirer/figures': 1.0.0 '@inquirer/type': 1.3.0 '@types/mute-stream': 0.0.4 '@types/node': 20.12.7 @@ -5843,42 +5831,42 @@ packages: wrap-ansi: 6.2.0 dev: false - /@inquirer/editor@2.1.5: - resolution: {integrity: sha512-wzMc/lTt79gOCPbBH7LVCrsn36+JHwYPXchDPATYphFTS/XLy50DuM2D79/dn0VIZHfNSw4C8RZNLDUH/3YmpA==} + /@inquirer/editor@2.1.4: + resolution: {integrity: sha512-bZ/YDEWNzQaKPhwyspy77Hntk9UjqXmQPMc3I3Cqn1pPBlPzliylgJDhgErxyIMFMtd92FpbDoOk5WWlaVpBMQ==} engines: {node: '>=18'} dependencies: - '@inquirer/core': 8.0.1 + '@inquirer/core': 8.0.0 '@inquirer/type': 1.3.0 external-editor: 3.1.0 dev: false - /@inquirer/expand@2.1.5: - resolution: {integrity: sha512-XWMJWHtH4qHbr4Zxms8qq0QxzFtwGOVnQX8QnuA5HT1Ew19H6moy48pN5od2PxcZ8NuIKxsW8vSTiCidpzri9Q==} + /@inquirer/expand@2.1.4: + resolution: {integrity: sha512-dQeTV54ffbkR6epoue2NlbX8R62gS3M8e3OpXlzl3KxueSSQwlO5o3pAASzBnYje1rkTJ3lhX7fhS8Np0HDofA==} engines: {node: '>=18'} dependencies: - '@inquirer/core': 8.0.1 + '@inquirer/core': 8.0.0 '@inquirer/type': 1.3.0 chalk: 4.1.2 dev: false - /@inquirer/figures@1.0.1: - resolution: {integrity: sha512-mtup3wVKia3ZwULPHcbs4Mor8Voi+iIXEWD7wCNbIO6lYR62oPCTQyrddi5OMYVXHzeCSoneZwJuS8sBvlEwDw==} + /@inquirer/figures@1.0.0: + resolution: {integrity: sha512-3fw+7+77/duTnMJTeSS44wneszghI4tkr0m0xdIJabbYRe36ElzmsqyboMZ1nFRon6sT+ckVvYDVjwapKv+2sw==} engines: {node: '>=18'} dev: false - /@inquirer/input@2.1.5: - resolution: {integrity: sha512-z4l1ISps86JZXo1OsWt8IAh4nnyXjXwcu/na2pKFkDud6DC9TLxvDPWxHmq25T40/WZCULhMQuCMDV+VccVG+A==} + /@inquirer/input@2.1.4: + resolution: {integrity: sha512-FnskIUMM0ogcYu9zHIuIx8McSnXC69CMm5qzBSo27joFATe/dbK2SXrq9/i/y2dCGFfETSaiYI6q5Rp7jhDbWg==} engines: {node: '>=18'} dependencies: - '@inquirer/core': 8.0.1 + '@inquirer/core': 8.0.0 '@inquirer/type': 1.3.0 dev: false - /@inquirer/password@2.1.5: - resolution: {integrity: sha512-uQ7zG/yOpO+OqeBg+W+Z1DY1gt+ZOW+pFGsYpqwHVIbTr17zOiUOFiInDXTWfiOk7r+hTAI7CqcJpZj/Zx6c6Q==} + /@inquirer/password@2.1.4: + resolution: {integrity: sha512-FK14dvubrLZi4B/OCelmtZngLIKe4AX3Iqwwp48YW1ciEDamoxirMrwV9WzhWnfannPfZFnPLZuqIoqhF9sglg==} engines: {node: '>=18'} dependencies: - '@inquirer/core': 8.0.1 + '@inquirer/core': 8.0.0 '@inquirer/type': 1.3.0 ansi-escapes: 4.3.2 dev: false @@ -5887,32 +5875,32 @@ packages: resolution: {integrity: sha512-QLn4tTeLKH3Foqlof0+dY0kLoCGQvvR4MDkHAooPI0rLGPOjUwoiVeEalcMtJTGulqJ76it2UW4++j88WO6KLQ==} engines: {node: '>=18'} dependencies: - '@inquirer/checkbox': 2.3.1 - '@inquirer/confirm': 3.1.5 + '@inquirer/checkbox': 2.3.0 + '@inquirer/confirm': 3.1.4 '@inquirer/core': 7.1.3 - '@inquirer/editor': 2.1.5 - '@inquirer/expand': 2.1.5 - '@inquirer/input': 2.1.5 - '@inquirer/password': 2.1.5 - '@inquirer/rawlist': 2.1.5 - '@inquirer/select': 2.3.1 + '@inquirer/editor': 2.1.4 + '@inquirer/expand': 2.1.4 + '@inquirer/input': 2.1.4 + '@inquirer/password': 2.1.4 + '@inquirer/rawlist': 2.1.4 + '@inquirer/select': 2.3.0 dev: false - /@inquirer/rawlist@2.1.5: - resolution: {integrity: sha512-gy/vHQYGGU9r/6dUvPKv5nBKcgxXvX+wnLJy6C5A0arMvC5rjgqf9/6fnvM1fQcjoRr6HReIoSrrzw7pqF57BQ==} + /@inquirer/rawlist@2.1.4: + resolution: {integrity: sha512-XtG9e/OYzGedsKsXfUw4tf26aNBN7o2gcYjYdYi7FuE4cOAg1fcFoIn2h0qRMr/+xLsJf4F+Hh+sRnC6yk3yxg==} engines: {node: '>=18'} dependencies: - '@inquirer/core': 8.0.1 + '@inquirer/core': 8.0.0 '@inquirer/type': 1.3.0 chalk: 4.1.2 dev: false - /@inquirer/select@2.3.1: - resolution: {integrity: sha512-UagbSdmSjeoukHLXqkDQi2ewiGEogUyxaOeKeH34Ngmc/2z+S8u4JsJWToMJNKIHjEtoTFdlYpFrxCxapp06nQ==} + /@inquirer/select@2.3.0: + resolution: {integrity: sha512-FHZkDUIfGfENxzH/M4tskSWUgRnszKUXb/qlrqbvjwUeFFFSOaWztMkAg4sLwnw2nbT+bdi+WlBn98C/j0NOlQ==} engines: {node: '>=18'} dependencies: - '@inquirer/core': 8.0.1 - '@inquirer/figures': 1.0.1 + '@inquirer/core': 8.0.0 + '@inquirer/figures': 1.0.0 '@inquirer/type': 1.3.0 ansi-escapes: 4.3.2 chalk: 4.1.2 @@ -6263,7 +6251,6 @@ packages: /@noble/hashes@1.3.3: resolution: {integrity: sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==} engines: {node: '>= 16'} - dev: true /@noble/hashes@1.4.0: resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} @@ -6413,16 +6400,16 @@ packages: ethereum-cryptography: 0.1.3 dev: true - /@nomicfoundation/hardhat-network-helpers@1.0.10(hardhat@2.22.3): + /@nomicfoundation/hardhat-network-helpers@1.0.10(hardhat@2.22.2): resolution: {integrity: sha512-R35/BMBlx7tWN5V6d/8/19QCwEmIdbnA4ZrsuXgvs8i2qFx5i7h6mH5pBS4Pwi4WigLH+upl6faYusrNPuzMrQ==} peerDependencies: hardhat: ^2.9.5 dependencies: ethereumjs-util: 7.1.5 - hardhat: 2.22.3(ts-node@10.9.2)(typescript@5.0.4) + hardhat: 2.22.2(ts-node@10.9.2)(typescript@5.0.4) dev: true - /@nomicfoundation/hardhat-toolbox-viem@2.0.0(@nomicfoundation/hardhat-network-helpers@1.0.10)(@nomicfoundation/hardhat-verify@2.0.6)(@nomicfoundation/hardhat-viem@1.0.4)(@types/chai-as-promised@7.1.8)(@types/chai@4.3.14)(@types/mocha@10.0.6)(@types/node@20.12.7)(chai@4.4.1)(hardhat-gas-reporter@1.0.10)(hardhat@2.22.3)(solidity-coverage@0.8.12)(ts-node@10.9.2)(typescript@5.0.4)(viem@1.21.4): + /@nomicfoundation/hardhat-toolbox-viem@2.0.0(@nomicfoundation/hardhat-network-helpers@1.0.10)(@nomicfoundation/hardhat-verify@2.0.5)(@nomicfoundation/hardhat-viem@1.0.4)(@types/chai-as-promised@7.1.8)(@types/chai@4.3.14)(@types/mocha@10.0.6)(@types/node@20.12.7)(chai@4.4.1)(hardhat-gas-reporter@1.0.10)(hardhat@2.22.2)(solidity-coverage@0.8.12)(ts-node@10.9.2)(typescript@5.0.4)(viem@1.21.4): resolution: {integrity: sha512-1bxTaC+PcbdctwgP/AvmKJGQTeLoT2kJtAfaDvt5PbL3esZ1EO+pfoBkpliP3DJSNESLSqAjVN1yIFxoLJmiBg==} peerDependencies: '@nomicfoundation/hardhat-network-helpers': ^1.0.0 @@ -6440,25 +6427,25 @@ packages: typescript: ~5.0.4 viem: ^1.15.1 dependencies: - '@nomicfoundation/hardhat-network-helpers': 1.0.10(hardhat@2.22.3) - '@nomicfoundation/hardhat-verify': 2.0.6(hardhat@2.22.3) - '@nomicfoundation/hardhat-viem': 1.0.4(hardhat@2.22.3)(typescript@5.0.4)(viem@1.21.4) + '@nomicfoundation/hardhat-network-helpers': 1.0.10(hardhat@2.22.2) + '@nomicfoundation/hardhat-verify': 2.0.5(hardhat@2.22.2) + '@nomicfoundation/hardhat-viem': 1.0.4(hardhat@2.22.2)(typescript@5.0.4)(viem@1.21.4)(zod@3.22.4) '@types/chai': 4.3.14 '@types/chai-as-promised': 7.1.8 '@types/mocha': 10.0.6 '@types/node': 20.12.7 chai: 4.4.1 chai-as-promised: 7.1.1(chai@4.4.1) - hardhat: 2.22.3(ts-node@10.9.2)(typescript@5.0.4) - hardhat-gas-reporter: 1.0.10(hardhat@2.22.3) - solidity-coverage: 0.8.12(hardhat@2.22.3) + hardhat: 2.22.2(ts-node@10.9.2)(typescript@5.0.4) + hardhat-gas-reporter: 1.0.10(hardhat@2.22.2) + solidity-coverage: 0.8.12(hardhat@2.22.2) ts-node: 10.9.2(@types/node@20.12.7)(typescript@5.0.4) typescript: 5.0.4 - viem: 1.21.4(typescript@5.0.4) + viem: 1.21.4(typescript@5.0.4)(zod@3.22.4) dev: true - /@nomicfoundation/hardhat-verify@2.0.6(hardhat@2.22.3): - resolution: {integrity: sha512-oKUI5fl8QC8jysE2LUBHE6rObzEmccJcc4b43Ov7LFMlCBZJE27qoqGIsg/++wX7L8Jdga+bkejPxl8NvsecpQ==} + /@nomicfoundation/hardhat-verify@2.0.5(hardhat@2.22.2): + resolution: {integrity: sha512-Tg4zu8RkWpyADSFIgF4FlJIUEI4VkxcvELsmbJn2OokbvH2SnUrqKmw0BBfDrtvP0hhmx8wsnrRKP5DV/oTyTA==} peerDependencies: hardhat: ^2.0.4 dependencies: @@ -6467,7 +6454,7 @@ packages: cbor: 8.1.0 chalk: 2.4.2 debug: 4.3.4(supports-color@8.1.1) - hardhat: 2.22.3(ts-node@10.9.2)(typescript@5.0.4) + hardhat: 2.22.2(ts-node@10.9.2)(typescript@5.0.4) lodash.clonedeep: 4.5.0 semver: 6.3.1 table: 6.8.2 @@ -6476,18 +6463,18 @@ packages: - supports-color dev: true - /@nomicfoundation/hardhat-viem@1.0.4(hardhat@2.22.3)(typescript@5.0.4)(viem@1.21.4): + /@nomicfoundation/hardhat-viem@1.0.4(hardhat@2.22.2)(typescript@5.0.4)(viem@1.21.4)(zod@3.22.4): resolution: {integrity: sha512-6coot+y0y6d75DG33zAdgXlktNp1MRy2B3vDjqlRBaubqlocYak+BSyryiv76F9JuLLgNSxkxTIZCd24h9gKcQ==} peerDependencies: hardhat: ^2.17.0 typescript: ~5.0.0 viem: ^1.15.1 dependencies: - abitype: 0.9.10(typescript@5.0.4) - hardhat: 2.22.3(ts-node@10.9.2)(typescript@5.0.4) + abitype: 0.9.10(typescript@5.0.4)(zod@3.22.4) + hardhat: 2.22.2(ts-node@10.9.2)(typescript@5.0.4) lodash.memoize: 4.1.2 typescript: 5.0.4 - viem: 1.21.4(typescript@5.0.4) + viem: 1.21.4(typescript@5.0.4)(zod@3.22.4) transitivePeerDependencies: - zod dev: true @@ -6756,7 +6743,7 @@ packages: resolution: {integrity: sha512-N1ZhksgwD3OBlwTv3R6KFEcPojl/W4ElJOeCZdi+vuI5QmTFwLq3OFf2zd2ROpKvxFdgZ6hUpb0dx9bVNEwYCA==} dependencies: '@noble/curves': 1.2.0 - '@noble/hashes': 1.3.2 + '@noble/hashes': 1.3.3 '@scure/base': 1.1.6 /@scure/bip32@1.3.3: @@ -6777,7 +6764,7 @@ packages: /@scure/bip39@1.2.1: resolution: {integrity: sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==} dependencies: - '@noble/hashes': 1.3.2 + '@noble/hashes': 1.3.3 '@scure/base': 1.1.6 /@scure/bip39@1.2.2: @@ -8091,7 +8078,7 @@ packages: resolution: {integrity: sha512-LEyx4aLEC3x6T0UguF6YILf+ntvmOaWsVfENmIW0E9H09vKlLDGelMjjSm0jkDHALj8A8quZ/HapKNigzwge+Q==} dev: true - /abitype@0.9.10(typescript@5.0.4): + /abitype@0.9.10(typescript@5.0.4)(zod@3.22.4): resolution: {integrity: sha512-FIS7U4n7qwAT58KibwYig5iFG4K61rbhAqaQh/UWj8v1Y8mjX3F8TC9gd8cz9yT1TYel9f8nS5NO5kZp2RW0jQ==} peerDependencies: typescript: '>=5.0.4' @@ -8103,9 +8090,10 @@ packages: optional: true dependencies: typescript: 5.0.4 + zod: 3.22.4 dev: true - /abitype@0.9.8(typescript@5.0.4): + /abitype@0.9.8(typescript@5.0.4)(zod@3.22.4): resolution: {integrity: sha512-puLifILdm+8sjyss4S+fsUN09obiT1g2YW6CtcQF+QDzxR0euzgEB29MZujC6zMk2a6SVmtttq1fc6+YFA7WYQ==} peerDependencies: typescript: '>=5.0.4' @@ -8117,9 +8105,10 @@ packages: optional: true dependencies: typescript: 5.0.4 + zod: 3.22.4 dev: true - /abitype@0.9.8(typescript@5.4.5)(zod@3.23.0): + /abitype@0.9.8(typescript@5.4.5)(zod@3.22.4): resolution: {integrity: sha512-puLifILdm+8sjyss4S+fsUN09obiT1g2YW6CtcQF+QDzxR0euzgEB29MZujC6zMk2a6SVmtttq1fc6+YFA7WYQ==} peerDependencies: typescript: '>=5.0.4' @@ -8131,10 +8120,10 @@ packages: optional: true dependencies: typescript: 5.4.5 - zod: 3.23.0 + zod: 3.22.4 dev: false - /abitype@1.0.0(typescript@5.4.5)(zod@3.23.0): + /abitype@1.0.0(typescript@5.4.5)(zod@3.22.4): resolution: {integrity: sha512-NMeMah//6bJ56H5XRj8QCV4AwuW6hB6zqz2LnhhLdcWVQOsXki6/Pn3APeqxCma62nXIcmZWdu1DlHWS74umVQ==} peerDependencies: typescript: '>=5.0.4' @@ -8146,10 +8135,10 @@ packages: optional: true dependencies: typescript: 5.4.5 - zod: 3.23.0 + zod: 3.22.4 dev: false - /abitype@1.0.2(typescript@5.4.5)(zod@3.23.0): + /abitype@1.0.2(typescript@5.4.5)(zod@3.22.4): resolution: {integrity: sha512-aFt4k2H+eiAKy/zxtnORa9iIb10BMBeWL18l8v4+QuwYEBXPxxjSB1bFZCzQmKPoj8m7j68K705l3uY+E2gAjg==} peerDependencies: typescript: '>=5.0.4' @@ -8161,7 +8150,7 @@ packages: optional: true dependencies: typescript: 5.4.5 - zod: 3.23.0 + zod: 3.22.4 dev: false /accepts@1.3.8: @@ -8679,8 +8668,8 @@ packages: - utf-8-validate dev: true - /aws-sdk@2.1603.0: - resolution: {integrity: sha512-AB54LyTODyiTKdtUzE0LzhnPbumYH3KhDstje8i4KfeBSGCeszTgq89YfOVpSy5twfu9WpsJ2cHOxlrlXn9cpg==} + /aws-sdk@2.1599.0: + resolution: {integrity: sha512-jPb1LAN+s1TLTK+VR3TTJLr//sb3AhhT60Bm9jxB5G/fVeeRczXtBtixNpQ00gksQdkstILYLc9S6MuKMsksxA==} engines: {node: '>= 10.0.0'} requiresBuild: true dependencies: @@ -8981,8 +8970,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001612 - electron-to-chromium: 1.4.745 + caniuse-lite: 1.0.30001610 + electron-to-chromium: 1.4.737 node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.23.0) dev: true @@ -9103,8 +9092,8 @@ packages: engines: {node: '>=10'} dev: true - /caniuse-lite@1.0.30001612: - resolution: {integrity: sha512-lFgnZ07UhaCcsSZgWW0K5j4e69dK1u/ltrL9lTUiFOwNHs12S3UMIEYgBV0Z6C6hRDev7iRnMzzYmKabYdXF9g==} + /caniuse-lite@1.0.30001610: + resolution: {integrity: sha512-QFutAY4NgaelojVMjY63o6XlZyORPaLfyMnsl3HgnWdJUcX6K0oaJymHjH8PT5Gk7sTm8rvC/c5COUQKXqmOMA==} dev: true /capital-case@1.0.4: @@ -9134,7 +9123,7 @@ packages: '@aws-cdk/cloud-assembly-schema': 2.132.1 '@aws-cdk/cx-api': 2.132.1(@aws-cdk/cloud-assembly-schema@2.132.1) archiver: 5.3.2 - aws-sdk: 2.1603.0 + aws-sdk: 2.1599.0 glob: 7.2.3 mime: 2.6.0 yargs: 16.2.0 @@ -10121,8 +10110,8 @@ packages: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} dev: true - /electron-to-chromium@1.4.745: - resolution: {integrity: sha512-tRbzkaRI5gbUn5DEvF0dV4TQbMZ5CLkWeTAXmpC9IrYT+GE+x76i9p+o3RJ5l9XmdQlI1pPhVtE9uNcJJ0G0EA==} + /electron-to-chromium@1.4.737: + resolution: {integrity: sha512-QvLTxaLHKdy5YxvixAw/FfHq2eWLUL9KvsPjp0aHK1gI5d3EDuDgITkvj0nFO2c6zUY3ZqVAJQiBYyQP9tQpfw==} dev: true /elliptic@6.5.4: @@ -11078,8 +11067,8 @@ packages: - bufferutil - utf-8-validate - /ethers@6.12.0: - resolution: {integrity: sha512-zL5NlOTjML239gIvtVJuaSk0N9GQLi1Hom3ZWUszE5lDTQE/IVB62mrPkQ2W1bGcZwVGSLaetQbWNQSvI4rGDQ==} + /ethers@6.11.1: + resolution: {integrity: sha512-mxTAE6wqJQAbp5QAe/+o+rXOID7Nw91OZXvgpjDa1r4fAbq2Nu314oEZSbjoRLacuCzs7kUC3clEvkCQowffGg==} engines: {node: '>=14.0.0'} dependencies: '@adraffy/ens-normalize': 1.10.1 @@ -11920,7 +11909,7 @@ packages: uglify-js: 3.17.4 dev: true - /hardhat-abi-exporter@2.10.1(hardhat@2.22.3): + /hardhat-abi-exporter@2.10.1(hardhat@2.22.2): resolution: {integrity: sha512-X8GRxUTtebMAd2k4fcPyVnCdPa6dYK4lBsrwzKP5yiSq4i+WadWPIumaLfce53TUf/o2TnLpLOduyO1ylE2NHQ==} engines: {node: '>=14.14.0'} peerDependencies: @@ -11928,17 +11917,17 @@ packages: dependencies: '@ethersproject/abi': 5.7.0 delete-empty: 3.0.0 - hardhat: 2.22.3(ts-node@10.9.2)(typescript@5.0.4) + hardhat: 2.22.2(ts-node@10.9.2)(typescript@5.0.4) dev: true - /hardhat-gas-reporter@1.0.10(hardhat@2.22.3): + /hardhat-gas-reporter@1.0.10(hardhat@2.22.2): resolution: {integrity: sha512-02N4+So/fZrzJ88ci54GqwVA3Zrf0C9duuTyGt0CFRIh/CdNwbnTgkXkRfojOMLBQ+6t+lBIkgbsOtqMvNwikA==} peerDependencies: hardhat: ^2.0.2 dependencies: array-uniq: 1.0.3 eth-gas-reporter: 0.2.27 - hardhat: 2.22.3(ts-node@10.9.2)(typescript@5.0.4) + hardhat: 2.22.2(ts-node@10.9.2)(typescript@5.0.4) sha1: 1.1.1 transitivePeerDependencies: - '@codechecks/client' @@ -11947,8 +11936,8 @@ packages: - utf-8-validate dev: true - /hardhat@2.22.3(ts-node@10.9.2)(typescript@5.0.4): - resolution: {integrity: sha512-k8JV2ECWNchD6ahkg2BR5wKVxY0OiKot7fuxiIpRK0frRqyOljcR2vKwgWSLw6YIeDcNNA4xybj7Og7NSxr2hA==} + /hardhat@2.22.2(ts-node@10.9.2)(typescript@5.0.4): + resolution: {integrity: sha512-0xZ7MdCZ5sJem4MrvpQWLR3R3zGDoHw5lsR+pBFimqwagimIOn3bWuZv69KA+veXClwI1s/zpqgwPwiFrd4Dxw==} hasBin: true peerDependencies: ts-node: '*' @@ -13459,13 +13448,13 @@ packages: minimist: 1.2.8 dev: true - /kysely-data-api@0.2.1(@aws-sdk/client-rds-data@3.556.0)(kysely@0.25.0): + /kysely-data-api@0.2.1(@aws-sdk/client-rds-data@3.554.0)(kysely@0.25.0): resolution: {integrity: sha512-KmASvF1gmjVqyU9WOUXhCQlv29ofR+xc2DhjaIomz1+Bjd/VtR2/3g4ZuXwG1L4lWGKxMuo5iOvK3XyPbB4LdQ==} peerDependencies: '@aws-sdk/client-rds-data': 3.x kysely: 0.x dependencies: - '@aws-sdk/client-rds-data': 3.556.0 + '@aws-sdk/client-rds-data': 3.554.0 kysely: 0.25.0 dev: true @@ -15052,8 +15041,8 @@ packages: - encoding dev: true - /remeda@1.61.0: - resolution: {integrity: sha512-caKfSz9rDeSKBQQnlJnVW3mbVdFgxgGWQKq1XlFokqjf+hQD5gxutLGTTY2A/x24UxVyJe9gH5fAkFI63ULw4A==} + /remeda@1.59.0: + resolution: {integrity: sha512-yqIz7z+eriLF6ll4TxhUM56b2wIrmHgJNbzRGYqfJ0Jx6QOioSvGJuT9jD6MqtKzGUizaxSlJZXTVYjVSC4Qig==} dev: true /remedial@1.0.8: @@ -15211,7 +15200,7 @@ packages: optional: true dependencies: typescript: 5.4.5 - viem: 1.21.4(typescript@5.4.5)(zod@3.23.0) + viem: 1.21.4(typescript@5.4.5)(zod@3.22.4) dev: false /rfdc@1.3.1: @@ -15595,7 +15584,7 @@ packages: array.prototype.findlast: 1.2.5 dev: true - /solidity-coverage@0.8.12(hardhat@2.22.3): + /solidity-coverage@0.8.12(hardhat@2.22.2): resolution: {integrity: sha512-8cOB1PtjnjFRqOgwFiD8DaUsYJtVJ6+YdXQtSZDrLGf8cdhhh8xzTtGzVTGeBf15kTv0v7lYPJlV/az7zLEPJw==} hasBin: true peerDependencies: @@ -15610,7 +15599,7 @@ packages: ghost-testrpc: 0.0.2 global-modules: 2.0.0 globby: 10.0.2 - hardhat: 2.22.3(ts-node@10.9.2)(typescript@5.0.4) + hardhat: 2.22.2(ts-node@10.9.2)(typescript@5.0.4) jsonschema: 1.4.1 lodash: 4.17.21 mocha: 10.4.0 @@ -15623,13 +15612,13 @@ packages: web3-utils: 1.10.4 dev: true - /solidity-docgen@0.6.0-beta.36(hardhat@2.22.3): + /solidity-docgen@0.6.0-beta.36(hardhat@2.22.2): resolution: {integrity: sha512-f/I5G2iJgU1h0XrrjRD0hHMr7C10u276vYvm//rw1TzFcYQ4xTOyAoi9oNAHRU0JU4mY9eTuxdVc2zahdMuhaQ==} peerDependencies: hardhat: ^2.8.0 dependencies: handlebars: 4.7.8 - hardhat: 2.22.3(ts-node@10.9.2)(typescript@5.0.4) + hardhat: 2.22.2(ts-node@10.9.2)(typescript@5.0.4) solidity-ast: 0.4.56 dev: true @@ -15736,7 +15725,7 @@ packages: fsevents: 2.3.2 dev: true - /sst@2.41.4(@aws-sdk/credential-provider-node@3.556.0): + /sst@2.41.4(@aws-sdk/credential-provider-node@3.554.0): resolution: {integrity: sha512-a1o14VXlWWEQDI5izfv03Yo60Ne7JGm+j5agMiv9JrNMr0Ap+y9dTETGgrwPPpEb4EVFFIQnEFmyO1bIL7Bsdg==} hasBin: true peerDependencies: @@ -15750,22 +15739,22 @@ packages: '@aws-cdk/cloudformation-diff': 2.132.1 '@aws-cdk/cx-api': 2.132.1(@aws-cdk/cloud-assembly-schema@2.132.1) '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/client-cloudformation': 3.556.0 - '@aws-sdk/client-ecs': 3.556.0 - '@aws-sdk/client-eventbridge': 3.556.0 - '@aws-sdk/client-iam': 3.556.0 - '@aws-sdk/client-iot': 3.556.0 - '@aws-sdk/client-iot-data-plane': 3.556.0 - '@aws-sdk/client-lambda': 3.556.0 - '@aws-sdk/client-rds-data': 3.556.0 - '@aws-sdk/client-s3': 3.556.0 - '@aws-sdk/client-ssm': 3.556.0 - '@aws-sdk/client-sts': 3.556.0(@aws-sdk/credential-provider-node@3.556.0) + '@aws-sdk/client-cloudformation': 3.555.0 + '@aws-sdk/client-ecs': 3.554.0 + '@aws-sdk/client-eventbridge': 3.554.0 + '@aws-sdk/client-iam': 3.554.0 + '@aws-sdk/client-iot': 3.554.0 + '@aws-sdk/client-iot-data-plane': 3.554.0 + '@aws-sdk/client-lambda': 3.554.0 + '@aws-sdk/client-rds-data': 3.554.0 + '@aws-sdk/client-s3': 3.554.0 + '@aws-sdk/client-ssm': 3.554.0 + '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) '@aws-sdk/config-resolver': 3.374.0 - '@aws-sdk/credential-providers': 3.556.0 + '@aws-sdk/credential-providers': 3.554.0 '@aws-sdk/middleware-retry': 3.374.0 - '@aws-sdk/middleware-signing': 3.556.0 - '@aws-sdk/signature-v4-crt': 3.556.0 + '@aws-sdk/middleware-signing': 3.552.0 + '@aws-sdk/signature-v4-crt': 3.552.0 '@aws-sdk/smithy-client': 3.374.0 '@babel/core': 7.24.4 '@babel/generator': 7.24.4 @@ -15775,7 +15764,7 @@ packages: adm-zip: 0.5.12 aws-cdk-lib: 2.132.1(constructs@10.3.0) aws-iot-device-sdk: 2.2.13 - aws-sdk: 2.1603.0 + aws-sdk: 2.1599.0 builtin-modules: 3.2.0 cdk-assets: 2.132.1 chalk: 5.3.0 @@ -15799,19 +15788,19 @@ packages: ink-spinner: 5.0.0(ink@4.4.1)(react@18.2.0) kysely: 0.25.0 kysely-codegen: 0.10.1(kysely@0.25.0) - kysely-data-api: 0.2.1(@aws-sdk/client-rds-data@3.556.0)(kysely@0.25.0) + kysely-data-api: 0.2.1(@aws-sdk/client-rds-data@3.554.0)(kysely@0.25.0) minimatch: 6.2.0 openid-client: 5.6.5 ora: 6.3.1 react: 18.2.0 - remeda: 1.61.0 + remeda: 1.59.0 sst-aws-cdk: 2.132.1 tree-kill: 1.2.2 undici: 5.28.4 uuid: 9.0.1 ws: 8.16.0 yargs: 17.7.2 - zod: 3.23.0 + zod: 3.22.4 transitivePeerDependencies: - '@aws-sdk/credential-provider-node' - '@types/react' @@ -16730,7 +16719,7 @@ packages: engines: {node: '>= 0.8'} dev: true - /viem@1.21.4(typescript@5.0.4): + /viem@1.21.4(typescript@5.0.4)(zod@3.22.4): resolution: {integrity: sha512-BNVYdSaUjeS2zKQgPs+49e5JKocfo60Ib2yiXOWBT6LuVxY1I/6fFX3waEtpXvL1Xn4qu+BVitVtMh9lyThyhQ==} peerDependencies: typescript: '>=5.0.4' @@ -16743,7 +16732,7 @@ packages: '@noble/hashes': 1.3.2 '@scure/bip32': 1.3.2 '@scure/bip39': 1.2.1 - abitype: 0.9.8(typescript@5.0.4) + abitype: 0.9.8(typescript@5.0.4)(zod@3.22.4) isows: 1.0.3(ws@8.13.0) typescript: 5.0.4 ws: 8.13.0 @@ -16753,7 +16742,7 @@ packages: - zod dev: true - /viem@1.21.4(typescript@5.4.5)(zod@3.23.0): + /viem@1.21.4(typescript@5.4.5)(zod@3.22.4): resolution: {integrity: sha512-BNVYdSaUjeS2zKQgPs+49e5JKocfo60Ib2yiXOWBT6LuVxY1I/6fFX3waEtpXvL1Xn4qu+BVitVtMh9lyThyhQ==} peerDependencies: typescript: '>=5.0.4' @@ -16766,7 +16755,7 @@ packages: '@noble/hashes': 1.3.2 '@scure/bip32': 1.3.2 '@scure/bip39': 1.2.1 - abitype: 0.9.8(typescript@5.4.5)(zod@3.23.0) + abitype: 0.9.8(typescript@5.4.5)(zod@3.22.4) isows: 1.0.3(ws@8.13.0) typescript: 5.4.5 ws: 8.13.0 @@ -16776,8 +16765,8 @@ packages: - zod dev: false - /viem@2.9.25(typescript@5.4.5)(zod@3.23.0): - resolution: {integrity: sha512-W0QOXCsYQppnV89PQP0EnCvfZIEsDYqmpVakLPNrok4Q4B7651M3MV/sYifYcLWv3Mn4KUyMCUlVxlej6CfC/w==} + /viem@2.9.19(typescript@5.4.5)(zod@3.22.4): + resolution: {integrity: sha512-1txsVoTz9+XGQpuN62wcDXasNtalW52UR41KnzwWTwHtV2cDcGuVuS/j/hcuQdZ7pU8X8jtq2IrwwR4jjKpy9Q==} peerDependencies: typescript: '>=5.0.4' peerDependenciesMeta: @@ -16789,7 +16778,7 @@ packages: '@noble/hashes': 1.3.2 '@scure/bip32': 1.3.2 '@scure/bip39': 1.2.1 - abitype: 1.0.0(typescript@5.4.5)(zod@3.23.0) + abitype: 1.0.0(typescript@5.4.5)(zod@3.22.4) isows: 1.0.3(ws@8.13.0) typescript: 5.4.5 ws: 8.13.0 @@ -17222,11 +17211,11 @@ packages: readable-stream: 3.6.2 dev: true - /zod@3.23.0: - resolution: {integrity: sha512-OFLT+LTocvabn6q76BTwVB0hExEBS0IduTr3cqZyMqEDbOnYmcU+y0tUAYbND4uwclpBGi4I4UUBGzylWpjLGA==} + /zod@3.22.4: + resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} - /zx@8.0.2: - resolution: {integrity: sha512-3g+ePtPYmyrjRuASlJiUhkje1je4a47woML/fzTKBb9PA5BzRQbSswwyJ8nlFWJjA1ORRi6TMyAdhuz/jK+Gaw==} + /zx@8.0.1: + resolution: {integrity: sha512-Y+ITW1GQjADk7qgrbhnukMgoNsJmlyx53cUQ6/6NXU+BMBdCbTc6flTOHUctmzKvPjTmdwaddzJY/dbLie9sQg==} engines: {node: '>= 16.0.0'} hasBin: true optionalDependencies: diff --git a/sdk/order-planner-common/src/implementation/OrderPlanner.ts b/sdk/order-planner-common/src/implementation/OrderPlanner.ts index d1615af173..85e542ab8b 100644 --- a/sdk/order-planner-common/src/implementation/OrderPlanner.ts +++ b/sdk/order-planner-common/src/implementation/OrderPlanner.ts @@ -12,6 +12,7 @@ import { } from '@summerfi/protocol-plugins-common' import { IOrderPlanner, OrderPlannerParams } from '../interfaces/IOrderPlanner' import { encodeStrategy } from '../utils/EncodeStrategy' +import { generateStrategyName } from '../utils/GenerateStrategyName' export class OrderPlanner implements IOrderPlanner { // TODO: receive it as parameter in the constructor @@ -73,10 +74,6 @@ export class OrderPlanner implements IOrderPlanner { return actionBuildersMap[step.type] as ActionBuilder } - private _getStrategyName(simulation: ISimulation): string { - return `${simulation.simulationType}${simulation.sourcePosition?.pool.protocol.name}${simulation.targetPosition?.pool.protocol.name}` - } - private _generateOrder(params: { simulation: ISimulation preRequisiteTransactions: TransactionInfo[] @@ -92,7 +89,7 @@ export class OrderPlanner implements IOrderPlanner { throw new Error(`Executor contract ${this.ExecutorContractName} not found in deployment`) } const executorAddress = Address.createFromEthereum({ value: executorInfo.address as HexData }) - const strategyName = this._getStrategyName(simulation) + const strategyName = generateStrategyName(simulation) const strategyExecutorTransaction = encodeStrategy({ strategyName: strategyName, diff --git a/sdk/order-planner-common/src/utils/GenerateStrategyName.ts b/sdk/order-planner-common/src/utils/GenerateStrategyName.ts index 24a8f2319a..6cd3715765 100644 --- a/sdk/order-planner-common/src/utils/GenerateStrategyName.ts +++ b/sdk/order-planner-common/src/utils/GenerateStrategyName.ts @@ -1,5 +1,5 @@ import { ISimulation, SimulationType } from '@summerfi/sdk-common/simulation' export function generateStrategyName(simulation: ISimulation): string { - return `${simulation.simulationType}${simulation.sourcePosition?.pool.protocol.name}${simulation.targetPosition?.pool.protocol.name}` + return `${simulation.simulationType}${simulation.sourcePosition?.pool.id.protocol.name}${simulation.targetPosition?.pool.id.protocol.name}` } diff --git a/sdk/order-planner-common/tests/EncodeStrategy.spec.ts b/sdk/order-planner-common/tests/EncodeStrategy.spec.ts index c957026616..0cf95ad8af 100644 --- a/sdk/order-planner-common/tests/EncodeStrategy.spec.ts +++ b/sdk/order-planner-common/tests/EncodeStrategy.spec.ts @@ -1,6 +1,5 @@ import { ActionNames } from '@summerfi/deployment-types' import { encodeStrategy } from '../src/utils' -import { decodeStrategy } from './utils/DecodeStrategy' import { ActionCall, BaseAction } from '@summerfi/protocol-plugins-common' import { Address } from '@summerfi/sdk-common/common' import { diff --git a/sdk/order-planner-common/tsconfig.test.json b/sdk/order-planner-common/tsconfig.test.json index 514088a7c7..78774db207 100644 --- a/sdk/order-planner-common/tsconfig.test.json +++ b/sdk/order-planner-common/tsconfig.test.json @@ -5,6 +5,7 @@ "baseUrl": ".", "paths": { "@summerfi/sdk-common/*": ["node_modules/@summerfi/sdk-common/src/*"], + "@summerfi/sdk-common": ["node_modules/@summerfi/sdk-common/src/index.ts"], "@summerfi/common": ["../../packages/common/src/index.ts"], "@summerfi/sdk-client": ["./node_modules/@summerfi/sdk-client/src/index.ts"], "@summerfi/deployment-types": ["./node_modules/@summerfi/deployment-types/src/index.ts"], diff --git a/sdk/order-planner-service/package.json b/sdk/order-planner-service/package.json index 5ba1ae9744..d25eda83f0 100644 --- a/sdk/order-planner-service/package.json +++ b/sdk/order-planner-service/package.json @@ -10,7 +10,7 @@ "scripts": { "tsc": "tsc", "watch": "tsc -w", - "test": "jest --coverage=true", + "test": "jest --coverage=true --silent=false", "testw": "jest --watch", "lint": "eslint .", "lint:fix": "eslint . --fix", diff --git a/sdk/order-planner-service/tests/service/OrderPlannerService.spec.ts b/sdk/order-planner-service/tests/service/OrderPlannerService.spec.ts index 49ba12fcd9..c131d626a5 100644 --- a/sdk/order-planner-service/tests/service/OrderPlannerService.spec.ts +++ b/sdk/order-planner-service/tests/service/OrderPlannerService.spec.ts @@ -27,7 +27,7 @@ import { IProtocolPluginsRegistry, ITokenService, } from '@summerfi/protocol-plugins-common' -import { PublicClient } from 'viem' +import { http, createPublicClient } from 'viem' import { MakerPaybackAction, MakerProtocolPlugin, @@ -42,6 +42,7 @@ import { import { ProtocolPluginsRegistry } from '@summerfi/protocol-plugins/implementation' import { getMakerPosition } from '../utils/MakerSourcePosition' import { getSparkPosition } from '../utils/SparkTargetPosition' +import { mainnet } from 'viem/chains' describe('Order Planner Service', () => { const chainInfo: ChainInfo = ChainFamilyMap.Ethereum.Mainnet @@ -67,7 +68,13 @@ describe('Order Planner Service', () => { [ProtocolName.Spark]: SparkProtocolPlugin, }, context: { - provider: undefined as unknown as PublicClient, + provider: createPublicClient({ + batch: { + multicall: true, + }, + chain: mainnet, + transport: http(''), + }), tokenService: undefined as unknown as ITokenService, priceService: undefined as unknown as IPriceService, deployments: deploymentsIndex, @@ -155,7 +162,7 @@ describe('Order Planner Service', () => { assert(strategyExecutorParams, 'Calldata for Strategy Executor could not be decoded') expect(strategyExecutorParams.strategyName).toEqual( - `${SimulationType.Refinance}${refinanceSimulation.sourcePosition?.pool.protocol.name}${refinanceSimulation.targetPosition.pool.protocol.name}`, + `${SimulationType.Refinance}${refinanceSimulation.sourcePosition?.pool.id.protocol.name}${refinanceSimulation.targetPosition.pool.id.protocol.name}`, ) // Flashloan is at the beginning, so we get the flashloan call plus the return funds call @@ -188,11 +195,11 @@ describe('Order Planner Service', () => { }) assert(makerPaybackAction, 'MakerPaybackAction is not defined') - assert(isMakerPositionId(sourcePosition.positionId), 'Source position ID is not a MakerPoolId') + assert(isMakerPositionId(sourcePosition.id), 'Source position ID is not a MakerPoolId') expect(makerPaybackAction.args).toEqual([ { - vaultId: BigInt(sourcePosition.positionId.vaultId), + vaultId: BigInt(sourcePosition.id.vaultId), userAddress: positionsManager.address.value, amount: BigInt(sourcePosition.debtAmount.toBaseUnit()), paybackAll: true, @@ -208,7 +215,7 @@ describe('Order Planner Service', () => { assert(makerWithdrawAction, 'MakerWithdrawAction is not defined') expect(makerWithdrawAction.args).toEqual([ { - vaultId: BigInt(sourcePosition.positionId.vaultId), + vaultId: BigInt(sourcePosition.id.vaultId), userAddress: positionsManager.address.value, joinAddr: deployments.dependencies.MCD_JOIN_ETH_A.address, amount: BigInt(sourcePosition.collateralAmount.toBaseUnit()), diff --git a/sdk/order-planner-service/tests/utils/MakerSourcePosition.ts b/sdk/order-planner-service/tests/utils/MakerSourcePosition.ts index 074aa915c5..2cc9a0d322 100644 --- a/sdk/order-planner-service/tests/utils/MakerSourcePosition.ts +++ b/sdk/order-planner-service/tests/utils/MakerSourcePosition.ts @@ -3,13 +3,18 @@ import { ChainFamilyMap, ChainInfo, Position, - PositionId, Token, TokenAmount, } from '@summerfi/sdk-common/common' import { PoolType, ProtocolName } from '@summerfi/sdk-common/protocols' -import { ILKType, MakerPoolId, MakerPositionId } from '@summerfi/protocol-plugins/plugins/maker' +import { + ILKType, + IMakerLendingPoolData, + MakerPositionId, +} from '@summerfi/protocol-plugins/plugins/maker' import { PositionType } from '@summerfi/sdk-common/common' +import { IMakerLendingPoolIdData } from 'node_modules/@summerfi/protocol-plugins/src/plugins/maker/interfaces/IMakerLendingPoolId' +import { IMakerProtocolData } from 'node_modules/@summerfi/protocol-plugins/src/plugins/maker/interfaces/IMakerProtocol' export function getMakerPosition(): Position { const chainInfo: ChainInfo = ChainFamilyMap.Ethereum.Mainnet @@ -40,29 +45,30 @@ export function getMakerPosition(): Position { amount: '700.0', }) - const protocol = { + const protocol: IMakerProtocolData = { name: ProtocolName.Maker, chainInfo: chainInfo, } - const poolId = { + const poolId: IMakerLendingPoolIdData = { protocol: protocol, + collateralToken: WETH, + debtToken: DAI, ilkType: ILKType.ETH_A, - } as MakerPoolId + } - const pool = { + const pool: IMakerLendingPoolData = { type: PoolType.Lending, - protocol, - poolId, + id: poolId, } - const position = Position.createFrom({ + const position = { type: PositionType.Multiply, - positionId: MakerPositionId.createFrom({ id: 'makerPosition', vaultId: '34' }), + id: MakerPositionId.createFrom({ id: 'makerPosition', vaultId: '34' }), debtAmount, collateralAmount, pool, - }) + } as unknown as Position return position } diff --git a/sdk/order-planner-service/tests/utils/SparkTargetPosition.ts b/sdk/order-planner-service/tests/utils/SparkTargetPosition.ts index 3c078cc2d5..bfb43cf73e 100644 --- a/sdk/order-planner-service/tests/utils/SparkTargetPosition.ts +++ b/sdk/order-planner-service/tests/utils/SparkTargetPosition.ts @@ -1,5 +1,9 @@ import { EmodeType } from '@summerfi/protocol-plugins/plugins/common' -import { SparkPoolId, SparkPositionId } from '@summerfi/protocol-plugins/plugins/spark' +import { + ISparkLendingPoolData, + ISparkLendingPoolIdData, + SparkPositionId, +} from '@summerfi/protocol-plugins/plugins/spark' import { Address, ChainFamilyMap, @@ -11,6 +15,7 @@ import { TokenAmount, } from '@summerfi/sdk-common/common' import { PoolType, ProtocolName } from '@summerfi/sdk-common/protocols' +import { ISparkProtocolData } from 'node_modules/@summerfi/protocol-plugins/src/plugins/spark/interfaces/ISparkProtocol' export function getSparkPosition(): Position { const chainInfo: ChainInfo = ChainFamilyMap.Ethereum.Mainnet @@ -41,29 +46,30 @@ export function getSparkPosition(): Position { amount: '700.0', }) - const protocol = { + const protocol: ISparkProtocolData = { name: ProtocolName.Spark, chainInfo: ChainFamilyMap.Ethereum.Mainnet, } - const poolId = { + const poolId: ISparkLendingPoolIdData = { protocol: protocol, + collateralToken: WETH, + debtToken: DAI, emodeType: EmodeType.None, - } as SparkPoolId + } - const pool = { + const pool: ISparkLendingPoolData = { type: PoolType.Lending, - protocol, - poolId, + id: poolId, } - const position = Position.createFrom({ + const position = { type: PositionType.Multiply, - positionId: SparkPositionId.createFrom({ id: 'sparkPosition' }), + id: SparkPositionId.createFrom({ id: 'sparkPosition' }), debtAmount, collateralAmount, pool, - }) + } as unknown as Position return position } diff --git a/sdk/protocol-manager-common/src/interfaces/IProtocolManager.ts b/sdk/protocol-manager-common/src/interfaces/IProtocolManager.ts index a89a13b7cc..43182f7cf4 100644 --- a/sdk/protocol-manager-common/src/interfaces/IProtocolManager.ts +++ b/sdk/protocol-manager-common/src/interfaces/IProtocolManager.ts @@ -1,6 +1,43 @@ -import { IPool } from '@summerfi/sdk-common/protocols' +import { Maybe } from '@summerfi/sdk-common' +import { IPosition } from '@summerfi/sdk-common/common' +import { IExternalPosition, IPositionsManager, TransactionInfo } from '@summerfi/sdk-common/orders' +import { ILendingPool } from '@summerfi/sdk-common/protocols' +import { IUser } from '@summerfi/sdk-common/user' +/** + * @interface IProtocolManager + * @description Interface to be implemented by a protocol manager to provide access to protocol-specific functionality + */ export interface IProtocolManager { - getPool: (poolId: unknown) => Promise - getPosition: () => void + /** + * @name getLendingPool + * @description Gets the lending pool for the given pool ID + * @param poolId The pool ID + * @returns The lending pool for the specific protocol + */ + getLendingPool(poolId: unknown): Promise + + /** POSITIONS */ + + /** + * @name getPosition + * @description Gets the position for the given position ID + * @param positionId The position ID for the specific protocol + * @returns The position for the specific protocol + */ + getPosition(positionId: unknown): Promise + + /** IMPORT POSITION */ + + /** + * @name getImportPositionTransaction + * @description Gets the transaction to import the given external position + * @param params The parameters to get the import position transaction + * @returns The transaction to import the given external position, or undefined if not supported + */ + getImportPositionTransaction(params: { + user: IUser + externalPosition: IExternalPosition + positionsManager: IPositionsManager + }): Promise> } diff --git a/sdk/protocol-manager-service/src/implementation/ProtocolManager.ts b/sdk/protocol-manager-service/src/implementation/ProtocolManager.ts index b8dd983a21..9b33e8c4e8 100644 --- a/sdk/protocol-manager-service/src/implementation/ProtocolManager.ts +++ b/sdk/protocol-manager-service/src/implementation/ProtocolManager.ts @@ -1,49 +1,89 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ -import { ChainId, IPosition } from '@summerfi/sdk-common/common' +import { IPosition } from '@summerfi/sdk-common/common' import { IProtocolManager } from '@summerfi/protocol-manager-common' -import { z } from 'zod' -import { IPool, IPoolId, ProtocolName } from '@summerfi/sdk-common/protocols' +import { ILendingPool, ILendingPoolId, isLendingPoolId } from '@summerfi/sdk-common/protocols' import { IProtocolPluginsRegistry } from '@summerfi/protocol-plugins-common' +import { IPositionId, Maybe, isPositionId } from '@summerfi/sdk-common' +import { IUser } from '@summerfi/sdk-common/user' +import { IExternalPosition, IPositionsManager, TransactionInfo } from '@summerfi/sdk-common/orders' +/** + * @class ProtocolManager + * @description Component that offers access to the different protocol plugins for the endpoint service + * @see IProtocolManager + * + * It validates the input data coming from the SDK client and forwards the requests to the corresponding protocol plugin + * Each plugin is in charge of further validation and processing of the request + */ export class ProtocolManager implements IProtocolManager { - private pluginsRegistry: IProtocolPluginsRegistry - - private PoolIdSchema = z.object({ - protocol: z.object({ - name: z.nativeEnum(ProtocolName), - chainInfo: z.object({ - name: z.string(), - chainId: z.custom(), - }), - }), - }) - - constructor(params: { pluginsRegistry: IProtocolPluginsRegistry }) { - this.pluginsRegistry = params.pluginsRegistry + /** The registry of protocol plugins */ + private _pluginsRegistry: IProtocolPluginsRegistry + + /** + * @name createWith + * @param params.pluginsRegistry The registry of protocol plugins + * @returns A new instance of ProtocolManager + */ + static createWith(params: { pluginsRegistry: IProtocolPluginsRegistry }): ProtocolManager { + return new ProtocolManager(params) + } + + /** Sealed constructor */ + private constructor(params: { pluginsRegistry: IProtocolPluginsRegistry }) { + this._pluginsRegistry = params.pluginsRegistry } - public async getPool(poolId: unknown): Promise { - this.validatePoolId(poolId) + /** @see IProtocolManager.getLendingPool */ + async getLendingPool(poolId: unknown): Promise { + this._validateLendingPoolId(poolId) - const plugin = this.pluginsRegistry.getPlugin({ protocolName: poolId.protocol.name }) + const plugin = this._pluginsRegistry.getPlugin({ protocolName: poolId.protocol.name }) if (!plugin) { throw new Error(`Protocol plugin for protocol ${poolId.protocol.name} not found`) } - return plugin.getPool(poolId) + return plugin.getLendingPool(poolId) } - getPosition(): IPosition { + /** @see IProtocolManager.getPosition */ + async getPosition(positionId: unknown): Promise { + this._validatePositionId(positionId) + throw new Error('Not implemented') } - private isPoolId(candidate: unknown): candidate is IPoolId { - const { success } = this.PoolIdSchema.safeParse(candidate) - return success + /** @see IProtocolManager.getImportPositionTransaction */ + /* eslint-disable-next-line @typescript-eslint/no-unused-vars */ + async getImportPositionTransaction(params: { + user: IUser + externalPosition: IExternalPosition + positionsManager: IPositionsManager + }): Promise> { + throw new Error('Not implemented') + } + + /** PRIVATE */ + + /** + * @name _validateLendingPoolId + * @description Validates that the candidate is a valid lending pool ID for the specific protocol + * @param candidate The candidate to validate + * @returns asserts that the candidate is a valid lending pool ID for the specific protocol + */ + private _validateLendingPoolId(candidate: unknown): asserts candidate is ILendingPoolId { + if (!isLendingPoolId(candidate)) { + throw new Error(`Invalid lending pool ID: ${JSON.stringify(candidate)}`) + } } - private validatePoolId(candidate: unknown): asserts candidate is IPoolId { - if (!this.isPoolId(candidate)) { - throw new Error(`Invalid pool ID: ${JSON.stringify(candidate)}`) + /** + * @name _validateLendingPoolId + * @description Validates that the candidate is a valid lending pool ID for the specific protocol + * @param candidate The candidate to validate + * @returns asserts that the candidate is a valid lending pool ID for the specific protocol + */ + private _validatePositionId(candidate: unknown): asserts candidate is IPositionId { + if (!isPositionId(candidate)) { + throw new Error(`Invalid lending pool ID: ${JSON.stringify(candidate)}`) } } } diff --git a/sdk/protocol-manager-service/tests/ProtocolManager.spec.ts b/sdk/protocol-manager-service/tests/ProtocolManager.spec.ts index 70431bcc69..297267d702 100644 --- a/sdk/protocol-manager-service/tests/ProtocolManager.spec.ts +++ b/sdk/protocol-manager-service/tests/ProtocolManager.spec.ts @@ -6,7 +6,7 @@ import { IProtocolPluginContext, } from '@summerfi/protocol-plugins-common' import { ProtocolName } from '@summerfi/sdk-common/protocols' -import { ChainInfo } from '@summerfi/sdk-common/common' +import { AddressType, ChainInfo } from '@summerfi/sdk-common/common' import { createPublicClient, http, PublicClient } from 'viem' import { mainnet } from 'viem/chains' import { ProtocolManager } from '../src' @@ -16,6 +16,7 @@ import { ProtocolPluginsRegistry, } from '@summerfi/protocol-plugins/implementation' import { DeploymentIndex } from '@summerfi/deployment-utils' +import { EmodeType, ISparkLendingPoolIdData } from '@summerfi/protocol-plugins' describe('Protocol Manager', () => { let ctx: IProtocolManagerContext @@ -34,21 +35,21 @@ describe('Protocol Manager', () => { context: ctx, deploymentConfigTag: 'standard', }) - protocolManager = new ProtocolManager({ pluginsRegistry }) + protocolManager = ProtocolManager.createWith({ pluginsRegistry }) }) it('should throw an error when getPool is called with an unsupported protocol', async () => { await expect( - protocolManager.getPool({ protocol: { name: 'unsupportedProtocol' } } as any), - ).rejects.toThrow('Invalid pool ID: {"protocol":{"name":"unsupportedProtocol"}}') + protocolManager.getLendingPool({ protocol: { name: 'unsupportedProtocol' } } as any), + ).rejects.toThrow('Invalid lending pool ID: {"protocol":{"name":"unsupportedProtocol"}}') }) it('should throw an error when getPool is called for a chain that is not supported by the plugin', async () => { const unsupportedChainId = 'unsupportedChain' ctx.provider.getChainId = jest.fn().mockResolvedValue(unsupportedChainId) await expect( - protocolManager.getPool({ protocol: { name: ProtocolName.Spark } } as any), - ).rejects.toThrow(`Invalid pool ID: {"protocol":{"name":"Spark"}}`) + protocolManager.getLendingPool({ protocol: { name: ProtocolName.Spark } } as any), + ).rejects.toThrow(`Invalid lending pool ID: {"protocol":{"name":"Spark"}}`) }) it('should retrieve the pool using the correct plugin and chain ID', async () => { @@ -62,7 +63,7 @@ describe('Protocol Manager', () => { }) { super(params) this.protocolName = ProtocolName.Spark - this.getPool = jest.fn().mockResolvedValue('mockPoolData') + this.getLendingPool = jest.fn().mockResolvedValue('mockPoolData') } } @@ -76,25 +77,42 @@ describe('Protocol Manager', () => { deploymentConfigTag: 'standard', }) - protocolManager = new ProtocolManager({ pluginsRegistry }) + protocolManager = ProtocolManager.createWith({ pluginsRegistry }) const chainId = 'supportedChain' - const poolId = { + const poolId: ISparkLendingPoolIdData = { protocol: { name: ProtocolName.Spark, chainInfo: ChainInfo.createFrom({ chainId: 1, name: 'Ethereum' }), }, + collateralToken: { + address: { + type: AddressType.Ethereum, + value: '0x6b175474e89094c44da98b954eedeac495271d0f', + }, + chainInfo: { chainId: 1, name: 'Ethereum' }, + name: 'USD Coin', + symbol: 'USDC', + decimals: 6, + }, + debtToken: { + address: { + type: AddressType.Ethereum, + value: '0x6b175474e89094c44da98b954eedeac495271d0f', + }, + chainInfo: { chainId: 1, name: 'Ethereum' }, + name: 'USD Coin', + symbol: 'USDC', + decimals: 6, + }, + emodeType: EmodeType.None, } ctx.provider.getChainId = jest.fn().mockResolvedValue(chainId) - const pool = await protocolManager.getPool(poolId as any) + const pool = await protocolManager.getLendingPool(poolId as any) expect(pool).toBe('mockPoolData') }) - - it('should throw an error when getPosition is called as it is not implemented', () => { - expect(() => protocolManager.getPosition()).toThrow('Not implemented') - }) }) export type ProtocolPluginConstructor = new (params: { @@ -120,8 +138,9 @@ class MockPlugin implements IProtocolPlugin { this.stepBuilders = {} } - getPool = jest.fn() + getLendingPool = jest.fn() getPosition = jest.fn() + getImportPositionTransaction = jest.fn() // @ts-ignore isPoolId = jest.fn() validatePoolId = jest.fn() diff --git a/sdk/protocol-manager-service/tsconfig.test.json b/sdk/protocol-manager-service/tsconfig.test.json index 82cafa533c..ab0bb09d08 100644 --- a/sdk/protocol-manager-service/tsconfig.test.json +++ b/sdk/protocol-manager-service/tsconfig.test.json @@ -6,6 +6,7 @@ "paths": { "~sdk-common/*": ["node_modules/@summerfi/sdk-common/src/*"], "@summerfi/sdk-common/*": ["node_modules/@summerfi/sdk-common/src/*"], + "@summerfi/sdk-common": ["node_modules/@summerfi/sdk-common/src/index.ts"], "@summerfi/protocol-plugins": ["node_modules/@summerfi/protocol-plugins/src/index.ts"], "@summerfi/protocol-plugins/*": ["node_modules/@summerfi/protocol-plugins/src/*"], "@summerfi/order-planner-common/*": ["node_modules/@summerfi/order-planner-common/src/*"], diff --git a/sdk/protocol-plugins-common/package.json b/sdk/protocol-plugins-common/package.json index 75a4304590..0adb5286eb 100644 --- a/sdk/protocol-plugins-common/package.json +++ b/sdk/protocol-plugins-common/package.json @@ -21,7 +21,6 @@ "@summerfi/deployment-utils": "workspace:*", "@summerfi/sdk-common": "workspace:*", "@summerfi/swap-common": "workspace:*", - "bignumber.js": "9.0.1", "zod": "^3.22.4" }, "devDependencies": { diff --git a/sdk/protocol-plugins-common/src/interfaces/IProtocolPlugin.ts b/sdk/protocol-plugins-common/src/interfaces/IProtocolPlugin.ts index 806c3b7184..66f0392a1b 100644 --- a/sdk/protocol-plugins-common/src/interfaces/IProtocolPlugin.ts +++ b/sdk/protocol-plugins-common/src/interfaces/IProtocolPlugin.ts @@ -1,26 +1,62 @@ -import { ChainInfo, IPosition, IPositionId, Maybe } from '@summerfi/sdk-common/common' -import { IPoolId, IPool, ProtocolName } from '@summerfi/sdk-common/protocols' +import { ChainInfo, IPosition, IPositionIdData, Maybe } from '@summerfi/sdk-common/common' +import { ProtocolName, ILendingPool, ILendingPoolIdData } from '@summerfi/sdk-common/protocols' import { type IProtocolPluginContext } from './IProtocolPluginContext' import { steps } from '@summerfi/sdk-common/simulation' import { ActionBuilder, ActionBuildersMap } from '../types/StepBuilderTypes' import { IUser } from '@summerfi/sdk-common/user' import { IExternalPosition, IPositionsManager, TransactionInfo } from '@summerfi/sdk-common/orders' +/** + * @interface IProtocolPlugin + * @description Interface to be implemented by a protocol plugin to provide protocol-specific functionality + */ export interface IProtocolPlugin { protocolName: ProtocolName supportedChains: ChainInfo[] stepBuilders: Partial context: IProtocolPluginContext - isPoolId(candidate: unknown): candidate is IPoolId - validatePoolId(candidate: unknown): asserts candidate is IPoolId + /** LENDING POOLS */ - getPool: (poolId: IPoolId) => Promise - getPosition: (positionId: IPositionId) => Promise + /** + * @name getLendingPool + * @description Gets the lending pool for the given pool ID + * @param poolId The pool ID + * @returns The lending pool for the specific protocol + */ + getLendingPool(poolId: ILendingPoolIdData): Promise + + /** POSITIONS */ + + /** + * @name getPosition + * @description Gets the position for the given position ID + * @param positionId The position ID for the specific protocol + * @returns The position for the specific protocol + */ + getPosition(positionId: IPositionIdData): Promise + + /** ACTION BUILDERS */ + + /** + * @name getActionBuilder + * @description Gets the action builder for the given step + * @param step The simulation step for which to get the action builder + * @returns The action builder for the given step for the specific protocol, or undefined if not found + */ getActionBuilder(step: StepType): Maybe> - getImportPositionTransaction: (params: { + + /** IMPORT POSITION */ + + /** + * @name getImportPositionTransaction + * @description Gets the transaction to import the given external position + * @param params The parameters to get the import position transaction + * @returns The transaction to import the given external position, or undefined if not supported + */ + getImportPositionTransaction(params: { user: IUser externalPosition: IExternalPosition positionsManager: IPositionsManager - }) => Promise> + }): Promise> } diff --git a/sdk/protocol-plugins-common/tests/ExecutionStorageMapper.spec.ts b/sdk/protocol-plugins-common/tests/ExecutionStorageMapper.spec.ts index b1b43b39b6..149e2c3ac8 100644 --- a/sdk/protocol-plugins-common/tests/ExecutionStorageMapper.spec.ts +++ b/sdk/protocol-plugins-common/tests/ExecutionStorageMapper.spec.ts @@ -14,6 +14,7 @@ import { IPoolId, PoolType, ProtocolName } from '@summerfi/sdk-common/protocols' import { ActionNames } from '@summerfi/deployment-types' import { BaseAction } from '../src/actions/BaseAction' import { ActionCall } from '../src/actions/Types' +import { IPoolIdData } from '@summerfi/sdk-common' class DerivedAction extends BaseAction { public readonly config = { @@ -66,7 +67,7 @@ describe('Execution Storage Mapper', () => { chainInfo: ChainFamilyMap.Ethereum.Mainnet, } - const poolId: IPoolId = { + const poolId: IPoolIdData = { protocol: { name: ProtocolName.Maker, chainInfo: ChainInfo.createFrom({ chainId: 1, name: 'Ethereum' }), @@ -79,13 +80,13 @@ describe('Execution Storage Mapper', () => { poolId, } - const position = Position.createFrom({ + const position = { type: PositionType.Multiply, positionId: { id: 'someposition' }, debtAmount: borrowAmount, collateralAmount: depositAmount, pool: pool, - }) + } as unknown as Position it('should return undefined if mapping does not exist', () => { const executionStorageMapper = new ExecutionStorageMapper() diff --git a/sdk/protocol-plugins-common/tests/StepBuilderContext.spec.ts b/sdk/protocol-plugins-common/tests/StepBuilderContext.spec.ts index 34e1427097..c5e9115d58 100644 --- a/sdk/protocol-plugins-common/tests/StepBuilderContext.spec.ts +++ b/sdk/protocol-plugins-common/tests/StepBuilderContext.spec.ts @@ -8,7 +8,7 @@ import { Token, TokenAmount, } from '@summerfi/sdk-common/common' -import { IPoolId, PoolType, ProtocolName } from '@summerfi/sdk-common/protocols' +import { IPoolId, IPoolIdData, PoolType, ProtocolName } from '@summerfi/sdk-common/protocols' import { SimulationSteps, TokenTransferTargetType, steps } from '@summerfi/sdk-common/simulation' import { ActionNames } from '@summerfi/deployment-types' import { ChainFamilyMap } from '@summerfi/sdk-common/common' @@ -78,7 +78,7 @@ describe('Step Builder Context', () => { chainInfo: ChainFamilyMap.Ethereum.Mainnet, } - const poolId: IPoolId = { + const poolId: IPoolIdData = { protocol: protocol, } @@ -88,13 +88,13 @@ describe('Step Builder Context', () => { poolId, } - const position = Position.createFrom({ + const position = { type: PositionType.Multiply, positionId: { id: 'someposition' }, debtAmount: borrowAmount, collateralAmount: depositAmount, pool: pool, - }) + } as unknown as Position it('should not allow adding calls without subcontext', () => { const stepBuilderContext = new StepBuilderContext() diff --git a/sdk/protocol-plugins/bundle/package.json b/sdk/protocol-plugins/bundle/package.json index 264be41217..c1764013ac 100644 --- a/sdk/protocol-plugins/bundle/package.json +++ b/sdk/protocol-plugins/bundle/package.json @@ -12,7 +12,6 @@ "@summerfi/protocol-plugins-common": "workspace:*", "@summerfi/testing-utils": "workspace:*", "@summerfi/swap-common": "workspace:*", - "bignumber.js": "9.0.1", "zod": "^3.22.4" } } diff --git a/sdk/protocol-plugins/package.json b/sdk/protocol-plugins/package.json index d73d67ca93..a1afee60d3 100644 --- a/sdk/protocol-plugins/package.json +++ b/sdk/protocol-plugins/package.json @@ -31,7 +31,6 @@ "@summerfi/protocol-plugins-common": "workspace:*", "@summerfi/testing-utils": "workspace:*", "@summerfi/swap-common": "workspace:*", - "bignumber.js": "9.0.1", "zod": "^3.22.4" }, "devDependencies": { diff --git a/sdk/protocol-plugins/src/implementation/BaseProtocolPlugin.ts b/sdk/protocol-plugins/src/implementation/BaseProtocolPlugin.ts index 423fd730f9..3e6b0eddd6 100644 --- a/sdk/protocol-plugins/src/implementation/BaseProtocolPlugin.ts +++ b/sdk/protocol-plugins/src/implementation/BaseProtocolPlugin.ts @@ -4,23 +4,24 @@ import { IProtocolPlugin, IProtocolPluginContext, } from '@summerfi/protocol-plugins-common' -import { ChainInfo, Maybe, IPosition, IPositionId } from '@summerfi/sdk-common/common' +import { ChainInfo, Maybe, IPosition, IPositionIdData } from '@summerfi/sdk-common/common' import { IExternalPosition, IPositionsManager, TransactionInfo } from '@summerfi/sdk-common/orders' -import { IPoolId, ProtocolName, IPool } from '@summerfi/sdk-common/protocols' +import { ProtocolName, ILendingPool, ILendingPoolIdData } from '@summerfi/sdk-common/protocols' import { steps } from '@summerfi/sdk-common/simulation' import { IUser } from '@summerfi/sdk-common/user' -import { z } from 'zod' /** - * @class Base class for all ProtocolDataPlugins. It provides the basic functionality & fields for all protocol plugins - * and implements shared functionality for late dependency injection, pool schema validation - * and action building + * @class BaseProtocolPlugin + * @description Base class for all protocol plugins + * + * It provides some extra functionality to validate input data coming from the SDK client */ export abstract class BaseProtocolPlugin implements IProtocolPlugin { - /** These properties need to be initialized by the actual plugin implementation */ + /** Name of the protocol that the plugin is implementing */ abstract readonly protocolName: ProtocolName - // TODO: Use ContractProvider to determine supported chains + /** List of supported chains for the protocol */ abstract readonly supportedChains: ChainInfo[] + /** Map of action builders for the protocol */ abstract readonly stepBuilders: Partial /** These properties are initialized in the constructor */ @@ -30,37 +31,105 @@ export abstract class BaseProtocolPlugin implements IProtocolPlugin { protected constructor(params: { context: IProtocolPluginContext; deploymentConfigTag?: string }) { this.context = params.context this.deploymentConfigTag = params.deploymentConfigTag ?? 'standard' + + if (!this.context.provider.chain) { + throw new Error('ctx.provider.chain undefined') + } + + if (!this.context.provider.chain.id) { + throw new Error('ctx.provider.chain.id undefined') + } } // Short alias for the context - get ctx(): IProtocolPluginContext { + protected get ctx(): IProtocolPluginContext { return this.context } - abstract isPoolId(candidate: unknown): candidate is IPoolId - abstract validatePoolId(candidate: unknown): asserts candidate is IPoolId + /** VALIDATORS */ + + /** + * @name _validateLendingPoolId + * @description Validates that the candidate is a valid lending pool ID for the specific protocol + * @param candidate The candidate to validate + * @returns asserts that the candidate is a valid lending pool ID for the specific protocol + */ + protected abstract _validateLendingPoolId( + candidate: ILendingPoolIdData, + ): asserts candidate is ILendingPoolIdData + + /** + * @name _validatePositionId + * @description Validates that the candidate is a valid position ID for the specific protocol + * @param candidate The candidate to validate + * @returns asserts that the candidate is a valid position ID for the specific protocol + */ + protected abstract _validatePositionId( + candidate: IPositionIdData, + ): asserts candidate is IPositionIdData + + /** LENDING POOLS */ + + /** + * @name getLendingPoolImpl + * @description Gets the lending pool for the given pool ID + * @param poolId The pool ID + * @returns The lending pool for the specific protocol + * + * @remarks This method should be implemented by the protocol plugin as the external one is just a wrapper to + * validate the input and call this one + */ + protected abstract _getLendingPoolImpl(poolId: ILendingPoolIdData): Promise + + /** @see IProtocolPlugin.getLendingPool */ + async getLendingPool(poolId: ILendingPoolIdData): Promise { + this._validateLendingPoolId(poolId) + this._checkChainIdSupported(poolId.protocol.chainInfo.chainId) + + return this._getLendingPoolImpl(poolId) + } + + /** POSITIONS */ + + /** @see IProtocolPlugin.getPosition */ + abstract getPosition(positionId: IPositionIdData): Promise + + /** IMPORT POSITION */ - abstract getPool(poolId: unknown): Promise - abstract getPosition(positionId: IPositionId): Promise + /** @see IProtocolPlugin.getImportPositionTransaction */ abstract getImportPositionTransaction(params: { user: IUser externalPosition: IExternalPosition positionsManager: IPositionsManager }): Promise> + /** ACTION BUILDERS */ + + /** @see IProtocolPlugin.getActionBuilder */ getActionBuilder(step: T): Maybe> { return this.stepBuilders[step.type] as ActionBuilder } - protected _isPoolId( - candidate: unknown, - schema: z.Schema, - ): candidate is PoolId { - const { success } = schema.safeParse(candidate) - return success - } + /** HELPERS */ + /** + * @name _getDeploymentKey + * @description Gets the key to use for the deployment configuration + * @param chainInfo The chain information + * @returns The key to use for the deployment configuration + */ protected _getDeploymentKey(chainInfo: ChainInfo): string { return `${chainInfo.name}.${this.deploymentConfigTag}` } + + /** + * @name _validateChainId + * @param chainId The chain ID to validate + * @returns asserts that the chain ID is supported + */ + private _checkChainIdSupported(chainId: number) { + if (!this.supportedChains.some((chain) => chain.chainId === chainId)) { + throw new Error(`Chain ID ${chainId} is not supported`) + } + } } diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3StepBuilders.ts b/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3StepBuilders.ts new file mode 100644 index 0000000000..8bc202b71e --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3StepBuilders.ts @@ -0,0 +1,3 @@ +import { ActionBuildersMap } from '@summerfi/protocol-plugins-common' + +export const AaveV3StepBuilders: Partial = {} diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/builders/index.ts b/sdk/protocol-plugins/src/plugins/aave-v3/builders/index.ts new file mode 100644 index 0000000000..cf848f3266 --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/aave-v3/builders/index.ts @@ -0,0 +1 @@ +export * from './AaveV3StepBuilders' diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AAVEv3ProtocolPlugin.ts b/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AAVEv3ProtocolPlugin.ts index 9df19865bc..1f0561e3b0 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AAVEv3ProtocolPlugin.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AAVEv3ProtocolPlugin.ts @@ -10,13 +10,13 @@ import { valuesOfChainFamilyMap, Maybe, IPosition, - ChainId, IPositionId, + IPositionIdData, + RiskRatioType, } from '@summerfi/sdk-common/common' -import { PoolType, ProtocolName } from '@summerfi/sdk-common/protocols' +import { ILendingPoolIdData, PoolType, ProtocolName } from '@summerfi/sdk-common/protocols' import { BigNumber } from 'bignumber.js' import { BaseProtocolPlugin } from '../../../implementation/BaseProtocolPlugin' -import { aaveV3EmodeCategoryMap } from './EmodeCategoryMap' import { AaveV3LikeProtocolDataBuilder, @@ -26,12 +26,6 @@ import { UNCAPPED_SUPPLY, PRECISION_BI } from '../../common/constants/AaveV3Like import { AaveV3LendingPool } from './AaveV3LendingPool' import { AaveV3CollateralConfig } from './AaveV3CollateralConfig' import { AaveV3DebtConfig } from './AaveV3DebtConfig' -import { - AaveV3CollateralConfigMap, - AaveV3CollateralConfigRecord, -} from './AaveV3CollateralConfigMap' -import { AaveV3DebtConfigMap, AaveV3DebtConfigRecord } from './AaveV3DebtConfigMap' -import { z } from 'zod' import { AaveV3AddressAbiMap } from '../types/AaveV3AddressAbiMap' import { ActionBuildersMap, IProtocolPluginContext } from '@summerfi/protocol-plugins-common' import { @@ -40,14 +34,21 @@ import { AAVEV3_POOL_DATA_PROVIDER_ABI, } from '../abis/AaveV3ABIS' import { AaveV3ContractNames } from '@summerfi/deployment-types' -import { EmodeType } from '../../common/enums/EmodeType' -import { IAaveV3PoolId } from '../interfaces/IAaveV3PoolId' +import { IAaveV3LendingPoolIdData, isAaveV3LendingPoolId } from '../interfaces/IAaveV3LendingPoolId' import { IUser } from '@summerfi/sdk-common/user' import { IExternalPosition, IPositionsManager, TransactionInfo } from '@summerfi/sdk-common/orders' +import { AaveV3StepBuilders } from '../builders' +import { AaveV3LendingPoolId } from './AaveV3LendingPoolId' +import { IAaveV3PositionIdData, isAaveV3PositionId } from '../interfaces/IAaveV3PositionId' -type AssetsList = ReturnType +type AssetsList = ReturnType type Asset = Awaited extends (infer U)[] ? U : never +/** + * @class AaveV3ProtocolPlugin + * @description Aave V3 protocol plugin + * @see BaseProtocolPlugin + */ export class AaveV3ProtocolPlugin extends BaseProtocolPlugin { readonly protocolName = ProtocolName.AAVEv3 readonly supportedChains = valuesOfChainFamilyMap([ @@ -56,83 +57,60 @@ export class AaveV3ProtocolPlugin extends BaseProtocolPlugin { ChainFamilyName.Arbitrum, ChainFamilyName.Optimism, ]) - readonly stepBuilders: Partial = {} - - readonly aaveV3PoolIdSchema = z.object({ - protocol: z.object({ - name: z.literal(ProtocolName.AAVEv3), - chainInfo: z.object({ - name: z.string(), - chainId: z.custom( - (chainId) => this.supportedChains.some((chainInfo) => chainInfo.chainId === chainId), - 'Chain ID not supported', - ), - }), - }), - emodeType: z.nativeEnum(EmodeType), - }) + readonly stepBuilders: Partial = AaveV3StepBuilders constructor(params: { context: IProtocolPluginContext; deploymentConfigTag?: string }) { super(params) - } - isPoolId(candidate: unknown): candidate is IAaveV3PoolId { - return this._isPoolId(candidate, this.aaveV3PoolIdSchema) + if ( + !this.supportedChains.some( + (chainInfo) => chainInfo.chainId === this.context.provider.chain?.id, + ) + ) { + throw new Error(`Chain ID ${this.context.provider.chain?.id} is not supported`) + } } - validatePoolId(candidate: unknown): asserts candidate is IAaveV3PoolId { - if (!this.isPoolId(candidate)) { + /** VALIDATORS */ + + /** @see BaseProtocolPlugin._validateLendingPoolId */ + protected _validateLendingPoolId( + candidate: ILendingPoolIdData, + ): asserts candidate is IAaveV3LendingPoolIdData { + if (!isAaveV3LendingPoolId(candidate)) { throw new Error(`Invalid AaveV3 pool ID: ${JSON.stringify(candidate)}`) } } - async getPool(aaveV3PoolId: unknown): Promise { - this.validatePoolId(aaveV3PoolId) - - const emode = aaveV3EmodeCategoryMap[aaveV3PoolId.emodeType] - - const ctx = this.ctx - const chainId = ctx.provider.chain?.id - if (!chainId) throw new Error('ctx.provider.chain.id undefined') - - if (!this.supportedChains.some((chainInfo) => chainInfo.chainId === chainId)) { - throw new Error(`Chain ID ${chainId} is not supported`) + /** @see BaseProtocolPlugin.validateLendingPoolId */ + protected _validatePositionId( + candidate: IPositionIdData, + ): asserts candidate is IAaveV3PositionIdData { + if (!isAaveV3PositionId(candidate)) { + throw new Error(`Invalid AaveV3 position ID: ${JSON.stringify(candidate)}`) } + } - const assetsList = await this.buildAssetsList(emode) - - // Both USDC & DAI use fixed price oracles that keep both stable at 1 USD - const poolBaseCurrencyToken = CurrencySymbol.USD - - const collaterals = assetsList.reduce((colls, asset) => { - const assetInfo = this.getCollateralAssetInfo(asset, poolBaseCurrencyToken) - const { token: collateralToken } = asset - colls[collateralToken.address.value] = assetInfo - return colls - }, {}) - - const debts = assetsList.reduce((debts, asset) => { - const assetInfo = this.getDebtAssetInfo(asset, poolBaseCurrencyToken) - if (!assetInfo) return debts - const { token: quoteToken } = asset - debts[quoteToken.address.value] = assetInfo - return debts - }, {}) + /** LENDING POOLS */ + /** @see BaseProtocolPlugin._getLendingPoolImpl */ + async _getLendingPoolImpl(aaveV3PoolId: AaveV3LendingPoolId): Promise { return AaveV3LendingPool.createFrom({ type: PoolType.Lending, - poolId: aaveV3PoolId, - protocol: aaveV3PoolId.protocol, - baseCurrency: CurrencySymbol.USD, - collaterals: AaveV3CollateralConfigMap.createFrom({ record: collaterals }), - debts: AaveV3DebtConfigMap.createFrom({ record: debts }), + id: aaveV3PoolId, }) } + /** POSITIONS */ + + /** @see BaseProtocolPlugin.getPosition */ async getPosition(positionId: IPositionId): Promise { throw new Error(`Not implemented ${positionId}`) } + /** IMPORT TRANSACTIONS */ + + /** @see BaseProtocolPlugin.getImportPositionTransaction */ async getImportPositionTransaction(params: { user: IUser externalPosition: IExternalPosition @@ -141,7 +119,9 @@ export class AaveV3ProtocolPlugin extends BaseProtocolPlugin { throw new Error(`Not implemented ${params}`) } - private getContractDef(contractName: K): AaveV3AddressAbiMap[K] { + /** PRIVATE */ + + private _getContractDef(contractName: K): AaveV3AddressAbiMap[K] { // TODO: Need to be driven by ChainId in future const map: AaveV3AddressAbiMap = { Oracle: { @@ -165,11 +145,11 @@ export class AaveV3ProtocolPlugin extends BaseProtocolPlugin { return map[contractName] } - private async buildAssetsList(emode: bigint) { + private async _buildAssetsList(emode: bigint) { try { const _ctx = { ...this.ctx, - getContractDef: this.getContractDef, + getContractDef: this._getContractDef, } const builder = await new AaveV3LikeProtocolDataBuilder(_ctx, this.protocolName).init() const list = await builder @@ -186,7 +166,7 @@ export class AaveV3ProtocolPlugin extends BaseProtocolPlugin { } } - private getCollateralAssetInfo( + private _getCollateralAssetInfo( asset: Asset, poolBaseCurrencyToken: Token | CurrencySymbol, ): AaveV3CollateralConfig { @@ -216,7 +196,7 @@ export class AaveV3ProtocolPlugin extends BaseProtocolPlugin { ratio: Percentage.createFrom({ value: new BigNumber(ltv.toString()).div(LTV_TO_PERCENTAGE_DIVISOR).toNumber(), }), - type: RiskRatio.type.LTV, + type: RiskRatioType.LTV, }), liquidationThreshold: RiskRatio.createFrom({ ratio: Percentage.createFrom({ @@ -224,7 +204,7 @@ export class AaveV3ProtocolPlugin extends BaseProtocolPlugin { .div(LTV_TO_PERCENTAGE_DIVISOR) .toNumber(), }), - type: RiskRatio.type.LTV, + type: RiskRatioType.LTV, }), tokensLocked: TokenAmount.createFromBaseUnit({ token: collateralToken, @@ -247,7 +227,7 @@ export class AaveV3ProtocolPlugin extends BaseProtocolPlugin { } } - private getDebtAssetInfo( + private _getDebtAssetInfo( asset: Asset, poolBaseCurrencyToken: CurrencySymbol | Token, ): Maybe { @@ -308,3 +288,37 @@ export class AaveV3ProtocolPlugin extends BaseProtocolPlugin { } } } + +/** + const emode = aaveV3EmodeCategoryMap[aaveV3PoolId.emodeType] + + const ctx = this.ctx + const chainId = ctx.provider.chain?.id + if (!chainId) throw new Error('ctx.provider.chain.id undefined') + + if (!this.supportedChains.some((chainInfo) => chainInfo.chainId === chainId)) { + throw new Error(`Chain ID ${chainId} is not supported`) + } + + const assetsList = await this.buildAssetsList(emode) + + // Both USDC & DAI use fixed price oracles that keep both stable at 1 USD + const poolBaseCurrencyToken = CurrencySymbol.USD + + const collaterals = assetsList.reduce((colls, asset) => { + const assetInfo = this.getCollateralAssetInfo(asset, poolBaseCurrencyToken) + const { token: collateralToken } = asset + colls[collateralToken.address.value] = assetInfo + return colls + }, {}) + + const debts = assetsList.reduce((debts, asset) => { + const assetInfo = this.getDebtAssetInfo(asset, poolBaseCurrencyToken) + if (!assetInfo) return debts + const { token: quoteToken } = asset + debts[quoteToken.address.value] = assetInfo + return debts + }, {}) + + + */ diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3LendingPool.ts b/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3LendingPool.ts index 0f38dd74ad..cbb112fcac 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3LendingPool.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3LendingPool.ts @@ -1,22 +1,25 @@ import { LendingPool } from '@summerfi/sdk-common/protocols' -import { IAaveV3LendingPool } from '../interfaces/IAaveV3LendingPool' -import { AaveV3CollateralConfigMap } from './AaveV3CollateralConfigMap' -import { AaveV3DebtConfigMap } from './AaveV3DebtConfigMap' +import { IAaveV3LendingPool, IAaveV3LendingPoolData } from '../interfaces/IAaveV3LendingPool' import { SerializationService } from '@summerfi/sdk-common/services' +import { AaveV3LendingPoolId } from './AaveV3LendingPoolId' +/** + * @class AaveV3LendingPool + * @see IAaveV3LendingPoolData + */ export class AaveV3LendingPool extends LendingPool implements IAaveV3LendingPool { - readonly collaterals: AaveV3CollateralConfigMap - readonly debts: AaveV3DebtConfigMap + readonly id: AaveV3LendingPoolId - private constructor(params: IAaveV3LendingPool) { - super(params) - - this.collaterals = AaveV3CollateralConfigMap.createFrom(params.collaterals) - this.debts = AaveV3DebtConfigMap.createFrom(params.debts) + /** Factory method */ + public static createFrom(params: IAaveV3LendingPoolData): AaveV3LendingPool { + return new AaveV3LendingPool(params) } - public static createFrom(params: IAaveV3LendingPool): AaveV3LendingPool { - return new AaveV3LendingPool(params) + /** Sealed constructor */ + private constructor(params: IAaveV3LendingPoolData) { + super(params) + + this.id = AaveV3LendingPoolId.createFrom(params.id) } } diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3LendingPoolId.ts b/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3LendingPoolId.ts new file mode 100644 index 0000000000..947ab29dec --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3LendingPoolId.ts @@ -0,0 +1,34 @@ +import { SerializationService } from '@summerfi/sdk-common/services' +import { EmodeType } from '../../common' +import { IAaveV3LendingPoolId, IAaveV3LendingPoolIdData } from '../interfaces/IAaveV3LendingPoolId' +import { LendingPoolId } from '@summerfi/sdk-common' +import { AaveV3Protocol } from './AaveV3Protocol' +import { IPrintable } from '@summerfi/sdk-common/common' + +/** + * @class AaveV3LendingPoolId + * @see IAaveV3LendingPoolIdData + */ +export class AaveV3LendingPoolId extends LendingPoolId implements IAaveV3LendingPoolId, IPrintable { + readonly protocol: AaveV3Protocol + readonly emodeType: EmodeType + + /** Factory method */ + static createFrom(params: IAaveV3LendingPoolIdData): AaveV3LendingPoolId { + return new AaveV3LendingPoolId(params) + } + + /** Sealed constructor */ + private constructor(params: IAaveV3LendingPoolIdData) { + super(params) + + this.protocol = AaveV3Protocol.createFrom(params.protocol) + this.emodeType = params.emodeType + } + + toString(): string { + return `${LendingPoolId.toString()} [emode: ${this.emodeType}]` + } +} + +SerializationService.registerClass(AaveV3LendingPoolId) diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3PoolId.ts b/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3PoolId.ts deleted file mode 100644 index b80128d411..0000000000 --- a/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3PoolId.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { PoolId } from '@summerfi/sdk-common/protocols' -import { SerializationService } from '@summerfi/sdk-common/services' -import { EmodeType } from '../../common' -import { IAaveV3PoolId } from '../interfaces/IAaveV3PoolId' -import { IAaveV3Protocol } from '../interfaces/IAaveV3Protocol' - -export class AaveV3PoolId extends PoolId implements IAaveV3PoolId { - protocol: IAaveV3Protocol - emodeType: EmodeType - - private constructor(params: IAaveV3PoolId) { - super(params) - - this.protocol = params.protocol - this.emodeType = params.emodeType - } - - static createFrom(params: IAaveV3PoolId): AaveV3PoolId { - return new AaveV3PoolId(params) - } -} - -SerializationService.registerClass(AaveV3PoolId) diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3Position.ts b/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3Position.ts new file mode 100644 index 0000000000..c6f8a9998e --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3Position.ts @@ -0,0 +1,26 @@ +import { SerializationService } from '@summerfi/sdk-common/services' +import { IAaveV3Position, IAaveV3PositionData } from '../interfaces/IAaveV3Position' +import { Position } from '@summerfi/sdk-common' +import { AaveV3LendingPool } from './AaveV3LendingPool' + +/** + * @class AaveV3Position + * @see IAaveV3Position + */ +export class AaveV3Position extends Position implements IAaveV3Position { + readonly pool: AaveV3LendingPool + + /** Factory method */ + static createFrom(params: IAaveV3PositionData): AaveV3Position { + return new AaveV3Position(params) + } + + /** Sealed constructor */ + private constructor(params: IAaveV3PositionData) { + super(params) + + this.pool = AaveV3LendingPool.createFrom(params.pool) + } +} + +SerializationService.registerClass(AaveV3Position) diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3PositionId.ts b/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3PositionId.ts index 1ece75c07b..9a95e01ba6 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3PositionId.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3PositionId.ts @@ -1,14 +1,20 @@ import { PositionId } from '@summerfi/sdk-common' import { SerializationService } from '@summerfi/sdk-common/services' -import { IAaveV3PositionId } from '../interfaces/IAaveV3PositionId' +import { IAaveV3PositionId, IAaveV3PositionIdData } from '../interfaces/IAaveV3PositionId' +/** + * @class AaveV3PositionId + * @see IAaveV3PositionIdData + */ export class AaveV3PositionId extends PositionId implements IAaveV3PositionId { - private constructor(params: IAaveV3PositionId) { - super(params) + /** Factory method */ + static createFrom(params: IAaveV3PositionIdData): AaveV3PositionId { + return new AaveV3PositionId(params) } - static createFrom(params: IAaveV3PositionId): AaveV3PositionId { - return new AaveV3PositionId(params) + /** Sealed constructor */ + private constructor(params: IAaveV3PositionIdData) { + super(params) } } diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3Protocol.ts b/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3Protocol.ts new file mode 100644 index 0000000000..28005df5a0 --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3Protocol.ts @@ -0,0 +1,25 @@ +import { Protocol, ProtocolName } from '@summerfi/sdk-common/protocols' +import { SerializationService } from '@summerfi/sdk-common/services' +import { IAaveV3Protocol, IAaveV3ProtocolData } from '../interfaces/IAaveV3Protocol' + +/** + * @class AaveV3Protocol + * @see IAaveV3ProtocolData + */ +export class AaveV3Protocol extends Protocol implements IAaveV3Protocol { + readonly name: ProtocolName.AAVEv3 + + /** Factory method */ + static createFrom(params: IAaveV3ProtocolData): AaveV3Protocol { + return new AaveV3Protocol(params) + } + + /** Sealed constructor */ + private constructor(params: IAaveV3ProtocolData) { + super(params) + + this.name = params.name + } +} + +SerializationService.registerClass(AaveV3Protocol) diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/implementation/index.ts b/sdk/protocol-plugins/src/plugins/aave-v3/implementation/index.ts index 55b311f93b..ad470ff22e 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/implementation/index.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/implementation/index.ts @@ -5,3 +5,7 @@ export * from './AaveV3DebtConfig' export * from './AaveV3DebtConfigMap' export * from './AaveV3LendingPool' export * from './EmodeCategoryMap' +export * from './AaveV3Protocol' +export * from './AaveV3LendingPoolId' +export * from './AaveV3PositionId' +export * from './AaveV3Position' diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3LendingPool.ts b/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3LendingPool.ts index 85aa5c8dc0..989e597524 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3LendingPool.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3LendingPool.ts @@ -1,8 +1,51 @@ -import { ILendingPool } from '@summerfi/sdk-common/protocols' -import { IAaveV3DebtConfigMap } from './IAaveV3DebtConfigMap' -import { IAaveV3CollateralConfigMap } from './IAaveV3CollateralConfigMap' +import { ILendingPool, ILendingPoolData, LendingPoolSchema } from '@summerfi/sdk-common/protocols' +import { z } from 'zod' +import { + AaveV3LendingPoolIdSchema, + IAaveV3LendingPoolId, + IAaveV3LendingPoolIdData, +} from './IAaveV3LendingPoolId' -export interface IAaveV3LendingPool extends ILendingPool { - collaterals: IAaveV3CollateralConfigMap - debts: IAaveV3DebtConfigMap +/** + * @interface IAaveV3LendingPoolData + * @description Represents a lending pool in the Aave V3 protocol + */ +export interface IAaveV3LendingPoolData extends ILendingPoolData { + /** The lending pool's ID */ + readonly id: IAaveV3LendingPoolIdData } + +/** + * @interface IAaveV3LendingPool + * @description Interface for the implementors of the lending pool + * + * This interface is used to add all the methods that the interface supports + */ +export interface IAaveV3LendingPool extends ILendingPool, IAaveV3LendingPoolData { + readonly id: IAaveV3LendingPoolId +} + +/** + * @description Zod schema for IAaveV3LendingPool + */ +export const AaveV3LendingPoolSchema = z.object({ + ...LendingPoolSchema.shape, + id: AaveV3LendingPoolIdSchema, +}) + +/** + * @description Type guard for IAaveV3LendingPool + * @param maybeLendingPool + * @returns true if the object is an IAaveV3LendingPool + */ +export function isAaveV3LendingPool( + maybeLendingPool: unknown, +): maybeLendingPool is IAaveV3LendingPoolData { + return AaveV3LendingPoolSchema.safeParse(maybeLendingPool).success +} + +/** + * Checker to make sure that the schema is aligned with the interface + */ +/* eslint-disable-next-line @typescript-eslint/no-unused-vars */ +const __schemaChecker: IAaveV3LendingPoolData = {} as z.infer diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3LendingPoolId.ts b/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3LendingPoolId.ts new file mode 100644 index 0000000000..db180a75d2 --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3LendingPoolId.ts @@ -0,0 +1,64 @@ +import { + ILendingPoolId, + ILendingPoolIdData, + LendingPoolIdSchema, +} from '@summerfi/sdk-common/protocols' +import { EmodeType, EmodeTypeSchema } from '../../common/enums/EmodeType' +import { AaveV3ProtocolSchema, IAaveV3Protocol, IAaveV3ProtocolData } from './IAaveV3Protocol' +import { z } from 'zod' +import { IToken } from '@summerfi/sdk-common' + +/** + * @interface IAaveV3LendingPoolIdData + * @description Identifier of a lending pool on the Aave v3 protocol + */ +export interface IAaveV3LendingPoolIdData extends ILendingPoolIdData { + /** Aave v3 protocol */ + readonly protocol: IAaveV3ProtocolData + /** The pool's efficiency mode */ + readonly emodeType: EmodeType +} + +/** + * @interface IAaveV3LendingPoolId + * @description Interface for the implementors of the lending pool id + * + * This interface is used to add all the methods that the interface supports + * + * Typescript forces the interface to re-declare any properties that have different BUT compatible types. + * This may be fixed eventually, there is a discussion on the topic here: https://github.com/microsoft/TypeScript/issues/16936 + */ +export interface IAaveV3LendingPoolId extends ILendingPoolId, IAaveV3LendingPoolIdData { + readonly protocol: IAaveV3Protocol + readonly emodeType: EmodeType + + // Re-declaring the properties with the correct types + readonly collateralToken: IToken + readonly debtToken: IToken +} + +/** + * @description Zod schema for IAaveV3LendingPoolId + */ +export const AaveV3LendingPoolIdSchema = z.object({ + ...LendingPoolIdSchema.shape, + protocol: AaveV3ProtocolSchema, + emodeType: EmodeTypeSchema, +}) + +/** + * @description Type guard for IAaveV3LendingPoolId + * @param maybePoolId + * @returns true if the object is an IAaveV3LendingPoolId + */ +export function isAaveV3LendingPoolId( + maybePoolId: unknown, +): maybePoolId is IAaveV3LendingPoolIdData { + return AaveV3LendingPoolIdSchema.safeParse(maybePoolId).success +} + +/** + * Checker to make sure that the schema is aligned with the interface + */ +/* eslint-disable-next-line @typescript-eslint/no-unused-vars */ +const __schemaChecker: IAaveV3LendingPoolIdData = {} as z.infer diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3PoolId.ts b/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3PoolId.ts deleted file mode 100644 index 678b63875f..0000000000 --- a/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3PoolId.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { IPoolId, ProtocolName, isPoolId } from '@summerfi/sdk-common/protocols' -import { EmodeType } from '../../common/enums/EmodeType' -import { IAaveV3Protocol } from './IAaveV3Protocol' - -export interface IAaveV3PoolId extends IPoolId { - protocol: IAaveV3Protocol - emodeType: EmodeType -} - -export function isAaveV3PoolId(maybeAaveV3PoolId: unknown): maybeAaveV3PoolId is IAaveV3PoolId { - return ( - isPoolId(maybeAaveV3PoolId) && - 'emodeType' in maybeAaveV3PoolId && - maybeAaveV3PoolId.protocol.name === ProtocolName.AAVEv3 - ) -} diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3Position.ts b/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3Position.ts new file mode 100644 index 0000000000..41a5641a8a --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3Position.ts @@ -0,0 +1,53 @@ +import { IPosition, IPositionData, ITokenAmount, PositionSchema } from '@summerfi/sdk-common/common' +import { z } from 'zod' +import { + AaveV3LendingPoolSchema, + IAaveV3LendingPool, + IAaveV3LendingPoolData, +} from './IAaveV3LendingPool' + +/** + * @interface IAaveV3PositionData + * @description Represents a position in the Aave V3 protocol + */ +export interface IAaveV3PositionData extends IPositionData { + readonly pool: IAaveV3LendingPoolData +} + +/** + * @interface IAaveV3Position + * @description Interface for the implementors of the position + * + * This interface is used to add all the methods that the interface supports + * + */ +export interface IAaveV3Position extends IPosition, IAaveV3PositionData { + readonly pool: IAaveV3LendingPool + + // Empty on purpose + readonly debtAmount: ITokenAmount + readonly collateralAmount: ITokenAmount +} + +/** + * @description Zod schema for IAaveV3PositionId + */ +export const AaveV3PositionSchema = z.object({ + ...PositionSchema.shape, + pool: AaveV3LendingPoolSchema, +}) + +/** + * @description Type guard for IAaveV3Position + * @param maybePosition + * @returns true if the object is an IAaveV3Position + */ +export function isAaveV3Position(maybePositionId: unknown): maybePositionId is IAaveV3PositionData { + return AaveV3PositionSchema.safeParse(maybePositionId).success +} + +/** + * Checker to make sure that the schema is aligned with the interface + */ +/* eslint-disable-next-line @typescript-eslint/no-unused-vars */ +const __schemaChecker: IAaveV3PositionData = {} as z.infer diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3PositionId.ts b/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3PositionId.ts index 945bffbdba..88aa38c1db 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3PositionId.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3PositionId.ts @@ -1,10 +1,45 @@ -import { IPositionId } from '@summerfi/sdk-common/common' -import { isPositionId } from '@summerfi/sdk-common' +import { IPositionId, IPositionIdData, PositionIdSchema } from '@summerfi/sdk-common/common' +import { z } from 'zod' -export interface IAaveV3PositionId extends IPositionId { +/** + * @interface IAaveV3PositionIdData + * @see IPositionIdData + */ +export interface IAaveV3PositionIdData extends IPositionIdData { // Empty on purpose } -export function isAavev3PositionId(maybePositionId: unknown): maybePositionId is IAaveV3PositionId { - return isPositionId(maybePositionId) +/** + * @interface IAaveV3PositionId + * @description Interface for the implementors of the position id + * + * This interface is used to add all the methods that the interface supports + * + */ +export interface IAaveV3PositionId extends IPositionId, IAaveV3PositionIdData { + // Empty on purpose } + +/** + * @description Zod schema for IAaveV3PositionId + */ +export const AaveV3PositionIdSchema = z.object({ + ...PositionIdSchema.shape, +}) + +/** + * @description Type guard for IAaveV3PositionId + * @param maybePositionId + * @returns true if the object is an IAaveV3PositionId + */ +export function isAaveV3PositionId( + maybePositionId: unknown, +): maybePositionId is IAaveV3PositionIdData { + return AaveV3PositionIdSchema.safeParse(maybePositionId).success +} + +/** + * Checker to make sure that the schema is aligned with the interface + */ +/* eslint-disable-next-line @typescript-eslint/no-unused-vars */ +const __schemaChecker: IAaveV3PositionIdData = {} as z.infer diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3Protocol.ts b/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3Protocol.ts index 721fb945a3..0071396a38 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3Protocol.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3Protocol.ts @@ -1,8 +1,52 @@ -import { IProtocol } from '@summerfi/sdk-common' -import { ChainInfo } from '@summerfi/sdk-common/common' -import { ProtocolName } from '@summerfi/sdk-common/protocols' +import { ChainInfoSchema, IChainInfo, IProtocol, ProtocolSchema } from '@summerfi/sdk-common' +import { IProtocolData, ProtocolName } from '@summerfi/sdk-common/protocols' +import { z } from 'zod' -export interface IAaveV3Protocol extends IProtocol { - name: ProtocolName.AAVEv3 - chainInfo: ChainInfo +/** + * @interface IAaveV3ProtocolData + * @description Identifier of the Aave V3 protocol + */ +export interface IAaveV3ProtocolData extends IProtocolData { + /** AaveV3 protocol name */ + readonly name: ProtocolName.AAVEv3 } + +/** + * @interface IAaveV3Protocol + * @description Interface for the implementors of the Aave V3 protocol + * + * This interface is used to add all the methods that the interface supports + * + * Typescript forces the interface to re-declare any properties that have different BUT compatible types. + * This may be fixed eventually, there is a discussion on the topic here: https://github.com/microsoft/TypeScript/issues/16936 + */ +export interface IAaveV3Protocol extends IProtocol, IAaveV3ProtocolData { + readonly name: ProtocolName.AAVEv3 + + // Re-declaring the properties with the correct types + readonly chainInfo: IChainInfo +} + +/** + * @description Zod schema for IAaveV3Protocol + */ +export const AaveV3ProtocolSchema = z.object({ + ...ProtocolSchema.shape, + name: z.literal(ProtocolName.AAVEv3), + chainInfo: ChainInfoSchema, +}) + +/** + * @description Type guard for IAaveV3Protocol + * @param maybeProtocol + * @returns true if the object is an IAaveV3Protocol + */ +export function isAaveV3Protocol(maybeProtocol: unknown): maybeProtocol is IAaveV3ProtocolData { + return AaveV3ProtocolSchema.safeParse(maybeProtocol).success +} + +/** + * Checker to make sure that the schema is aligned with the interface + */ +/* eslint-disable-next-line @typescript-eslint/no-unused-vars */ +const __schemaChecker: IAaveV3ProtocolData = {} as z.infer diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/index.ts b/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/index.ts index 4d780c56e6..c7b8ab24bf 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/index.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/index.ts @@ -3,3 +3,4 @@ export * from './IAaveV3CollateralConfigMap' export * from './IAaveV3DebtConfig' export * from './IAaveV3DebtConfigMap' export * from './IAaveV3LendingPool' +export * from './IAaveV3Position' diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/types/index.ts b/sdk/protocol-plugins/src/plugins/aave-v3/types/index.ts index e6e21dc3db..f79d864f0e 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/types/index.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/types/index.ts @@ -1,2 +1,2 @@ export * from './AaveV3AddressAbiMap' -export * from '../interfaces/IAaveV3PoolId' +export * from '../interfaces/IAaveV3LendingPoolId' diff --git a/sdk/protocol-plugins/src/plugins/common/actions/PositionCreatedAction.ts b/sdk/protocol-plugins/src/plugins/common/actions/PositionCreatedAction.ts index 7d10271d3f..ee56d18a28 100644 --- a/sdk/protocol-plugins/src/plugins/common/actions/PositionCreatedAction.ts +++ b/sdk/protocol-plugins/src/plugins/common/actions/PositionCreatedAction.ts @@ -15,7 +15,7 @@ export class PositionCreatedAction extends BaseAction { return this._encodeCall({ arguments: [ { - protocol: params.position.pool.protocol.name, + protocol: params.position.pool.id.protocol, positionType: params.position.type, collateralToken: params.position.collateralAmount.token.address.value, debtToken: params.position.debtAmount.token.address.value, diff --git a/sdk/protocol-plugins/src/plugins/common/builders/DepositBorrowActionBuilder.ts b/sdk/protocol-plugins/src/plugins/common/builders/DepositBorrowActionBuilder.ts index 560b27ec8f..b665af6717 100644 --- a/sdk/protocol-plugins/src/plugins/common/builders/DepositBorrowActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/common/builders/DepositBorrowActionBuilder.ts @@ -6,7 +6,7 @@ export const DepositBorrowActionBuilder: ActionBuilder params, ): Promise => { delegateToProtocolActionBuilder({ - protocolName: params.step.inputs.position.pool.protocol.name, + protocolName: params.step.inputs.position.pool.id.protocol.name, actionBuilderParams: params, }) } diff --git a/sdk/protocol-plugins/src/plugins/common/builders/ImportPositionActionBuilder.ts b/sdk/protocol-plugins/src/plugins/common/builders/ImportPositionActionBuilder.ts index 47de30864e..1ec5ddf062 100644 --- a/sdk/protocol-plugins/src/plugins/common/builders/ImportPositionActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/common/builders/ImportPositionActionBuilder.ts @@ -8,7 +8,7 @@ export const ImportPositionActionBuilder: ActionBuilder = asyn const externalPosition = params.step.inputs.externalPosition delegateToProtocolActionBuilder({ - protocolName: externalPosition.position.pool.protocol.name, + protocolName: externalPosition.position.pool.id.protocol.name, actionBuilderParams: params, }) } diff --git a/sdk/protocol-plugins/src/plugins/common/builders/PaybackWithdrawActionBuilder.ts b/sdk/protocol-plugins/src/plugins/common/builders/PaybackWithdrawActionBuilder.ts index 5b4a62956e..e3080f1706 100644 --- a/sdk/protocol-plugins/src/plugins/common/builders/PaybackWithdrawActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/common/builders/PaybackWithdrawActionBuilder.ts @@ -6,7 +6,7 @@ export const PaybackWithdrawActionBuilder: ActionBuilder => { delegateToProtocolActionBuilder({ - protocolName: params.step.inputs.position.pool.protocol.name, + protocolName: params.step.inputs.position.pool.id.protocol.name, actionBuilderParams: params, }) } diff --git a/sdk/protocol-plugins/src/plugins/common/enums/EmodeType.ts b/sdk/protocol-plugins/src/plugins/common/enums/EmodeType.ts index d9c617b911..9c50d6caed 100644 --- a/sdk/protocol-plugins/src/plugins/common/enums/EmodeType.ts +++ b/sdk/protocol-plugins/src/plugins/common/enums/EmodeType.ts @@ -1,5 +1,31 @@ +import { z } from 'zod' + +/** + * @enum EmodeType + * @description Enumerates the efficiency modes of a lending pool + */ export enum EmodeType { None = 'None', Stablecoins = 'Stablecoins', ETHCorrelated = 'ETHCorrelated', } + +/** + * @description Zod schema for EmodeType + */ +export const EmodeTypeSchema = z.nativeEnum(EmodeType) + +/** + * @description Type guard for EmodeType + * @param maybeEmodeType Object to be checked + * @returns true if the object is an EmodeType + */ +export function isEmodeType(maybeEmodeType: unknown): maybeEmodeType is EmodeType { + return EmodeTypeSchema.safeParse(maybeEmodeType).success +} + +/** + * Checker to make sure that the schema is aligned with the interface + */ +/* eslint-disable-next-line @typescript-eslint/no-unused-vars */ +const __schemaChecker: EmodeType = {} as z.infer diff --git a/sdk/protocol-plugins/src/plugins/maker/actions/MakerPaybackAction.ts b/sdk/protocol-plugins/src/plugins/maker/actions/MakerPaybackAction.ts index 5b590722bb..c5ea4744f9 100644 --- a/sdk/protocol-plugins/src/plugins/maker/actions/MakerPaybackAction.ts +++ b/sdk/protocol-plugins/src/plugins/maker/actions/MakerPaybackAction.ts @@ -1,7 +1,7 @@ import { ActionCall, BaseAction, InputSlotsMapping } from '@summerfi/protocol-plugins-common' import { IPosition, TokenAmount } from '@summerfi/sdk-common/common' import { IPositionsManager } from '@summerfi/sdk-common/orders' -import { isMakerPositionId } from '../interfaces' +import { isMakerPositionId } from '../interfaces/IMakerPositionId' export class MakerPaybackAction extends BaseAction { public readonly config = { @@ -21,14 +21,14 @@ export class MakerPaybackAction extends BaseAction { }, paramsMapping?: InputSlotsMapping, ): ActionCall { - if (!isMakerPositionId(params.position.positionId)) { - throw new Error('Pool ID is not a Maker one') + if (!isMakerPositionId(params.position.id)) { + throw new Error(`Position ID is not a Maker one: ${JSON.stringify(params.position.id)} `) } return this._encodeCall({ arguments: [ { - vaultId: params.position.positionId.vaultId, + vaultId: params.position.id.vaultId, userAddress: params.positionsManager.address.value, amount: params.amount.toBaseUnit(), paybackAll: params.paybackAll, diff --git a/sdk/protocol-plugins/src/plugins/maker/actions/MakerWithdrawAction.ts b/sdk/protocol-plugins/src/plugins/maker/actions/MakerWithdrawAction.ts index 82341e62c4..76be744cbc 100644 --- a/sdk/protocol-plugins/src/plugins/maker/actions/MakerWithdrawAction.ts +++ b/sdk/protocol-plugins/src/plugins/maker/actions/MakerWithdrawAction.ts @@ -22,14 +22,14 @@ export class MakerWithdrawAction extends BaseAction { }, paramsMapping?: InputSlotsMapping, ): ActionCall { - if (!isMakerPositionId(params.position.positionId)) { + if (!isMakerPositionId(params.position.id)) { throw new Error('Pool ID is not a Maker one') } return this._encodeCall({ arguments: [ { - vaultId: params.position.positionId.vaultId, + vaultId: params.position.id.vaultId, userAddress: params.positionsManager.address.value, joinAddr: params.joinAddress.value, amount: params.amount.toBaseUnit(), diff --git a/sdk/protocol-plugins/src/plugins/maker/builders/MakerImportPositionActionBuilder.ts b/sdk/protocol-plugins/src/plugins/maker/builders/MakerImportPositionActionBuilder.ts index adfdc3589b..814686f2d1 100644 --- a/sdk/protocol-plugins/src/plugins/maker/builders/MakerImportPositionActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/maker/builders/MakerImportPositionActionBuilder.ts @@ -2,7 +2,7 @@ import { steps } from '@summerfi/sdk-common/simulation' import { ActionNames } from '@summerfi/deployment-types' import { ActionBuilder } from '@summerfi/protocol-plugins-common' import { ProtocolName } from '@summerfi/sdk-common/protocols' -import { isMakerPoolId } from '../interfaces/IMakerPoolId' +import { isMakerLendingPoolId } from '../interfaces/IMakerLendingPoolId' export const MakerPaybackWithdrawActionList: ActionNames[] = ['MakerPayback', 'MakerWithdraw'] export const MakerImportPositionActionBuilder: ActionBuilder = async ( @@ -10,7 +10,7 @@ export const MakerImportPositionActionBuilder: ActionBuilder = ): Promise => { const { protocolsRegistry, step, user, context, positionsManager } = params - if (!isMakerPoolId(step.inputs.externalPosition.position.pool.poolId)) { + if (!isMakerLendingPoolId(step.inputs.externalPosition.position.pool.id)) { throw new Error('Maker: Invalid pool id') } diff --git a/sdk/protocol-plugins/src/plugins/maker/builders/MakerPaybackWithdrawActionBuilder.ts b/sdk/protocol-plugins/src/plugins/maker/builders/MakerPaybackWithdrawActionBuilder.ts index 4acefa9000..46c4d3ee4a 100644 --- a/sdk/protocol-plugins/src/plugins/maker/builders/MakerPaybackWithdrawActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/maker/builders/MakerPaybackWithdrawActionBuilder.ts @@ -5,7 +5,7 @@ import { MakerWithdrawAction } from '../actions/MakerWithdrawAction' import { Address, AddressValue } from '@summerfi/sdk-common/common' import { ActionBuilder } from '@summerfi/protocol-plugins-common' import { MakerIlkToJoinMap } from '../types/MakerIlkToJoinMap' -import { isMakerPoolId } from '../interfaces/IMakerPoolId' +import { isMakerLendingPoolId } from '../interfaces/IMakerLendingPoolId' export const MakerPaybackWithdrawActionList: ActionNames[] = ['MakerPayback', 'MakerWithdraw'] export const MakerPaybackWithdrawActionBuilder: ActionBuilder = async ( @@ -13,11 +13,11 @@ export const MakerPaybackWithdrawActionBuilder: ActionBuilder => { const { context, positionsManager, step } = params - if (!isMakerPoolId(step.inputs.position.pool.poolId)) { + if (!isMakerLendingPoolId(step.inputs.position.pool.id)) { throw new Error('Maker: Invalid pool id') } - const ilkType = step.inputs.position.pool.poolId.ilkType + const ilkType = step.inputs.position.pool.id.ilkType const joinName = MakerIlkToJoinMap[ilkType] const joinAddressValue = params.deployment.dependencies[joinName].address as AddressValue diff --git a/sdk/protocol-plugins/src/plugins/maker/implementation/MakerLendingPool.ts b/sdk/protocol-plugins/src/plugins/maker/implementation/MakerLendingPool.ts index 3a0b3a8b38..c097a3b9e7 100644 --- a/sdk/protocol-plugins/src/plugins/maker/implementation/MakerLendingPool.ts +++ b/sdk/protocol-plugins/src/plugins/maker/implementation/MakerLendingPool.ts @@ -1,22 +1,25 @@ import { LendingPool } from '@summerfi/sdk-common/protocols' -import { IMakerLendingPool } from '../interfaces/IMakerLendingPool' -import { MakerCollateralConfigMap } from './MakerCollateralConfigMap' -import { MakerDebtConfigMap } from './MakerDebtConfigMap' +import { IMakerLendingPool, IMakerLendingPoolData } from '../interfaces/IMakerLendingPool' import { SerializationService } from '@summerfi/sdk-common/services' +import { MakerLendingPoolId } from './MakerLendingPoolId' +/** + * @class MakerLendingPool + * @see IMakerLendingPoolData + */ export class MakerLendingPool extends LendingPool implements IMakerLendingPool { - readonly collaterals: MakerCollateralConfigMap - readonly debts: MakerDebtConfigMap + readonly id: MakerLendingPoolId - private constructor(params: IMakerLendingPool) { - super(params) - - this.collaterals = MakerCollateralConfigMap.createFrom(params.collaterals) - this.debts = MakerDebtConfigMap.createFrom(params.debts) + /** Factory method */ + static createFrom(params: IMakerLendingPoolData): MakerLendingPool { + return new MakerLendingPool(params) } - public static createFrom(params: IMakerLendingPool): MakerLendingPool { - return new MakerLendingPool(params) + /** Sealed constructor */ + private constructor(params: IMakerLendingPoolData) { + super(params) + + this.id = MakerLendingPoolId.createFrom(params.id) } } diff --git a/sdk/protocol-plugins/src/plugins/maker/implementation/MakerLendingPoolId.ts b/sdk/protocol-plugins/src/plugins/maker/implementation/MakerLendingPoolId.ts new file mode 100644 index 0000000000..3076b06d86 --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/maker/implementation/MakerLendingPoolId.ts @@ -0,0 +1,34 @@ +import { LendingPoolId } from '@summerfi/sdk-common/protocols' +import { SerializationService } from '@summerfi/sdk-common/services' +import { IMakerLendingPoolId, IMakerLendingPoolIdData } from '../interfaces/IMakerLendingPoolId' +import { ILKType } from '../enums/ILKType' +import { MakerProtocol } from './MakerProtocol' +import { IPrintable } from '@summerfi/sdk-common/common' + +/** + * @class MakerLendingPoolId + * @see IMakerLendingPoolIdData + */ +export class MakerLendingPoolId extends LendingPoolId implements IMakerLendingPoolId, IPrintable { + readonly protocol: MakerProtocol + readonly ilkType: ILKType + + /** Factory method */ + public static createFrom(params: IMakerLendingPoolIdData): MakerLendingPoolId { + return new MakerLendingPoolId(params) + } + + /** Sealed constructor */ + private constructor(params: IMakerLendingPoolIdData) { + super(params) + + this.protocol = MakerProtocol.createFrom(params.protocol) + this.ilkType = params.ilkType + } + + toString(): string { + return `${LendingPoolId.toString()} [ilkType: ${this.ilkType}]` + } +} + +SerializationService.registerClass(MakerLendingPoolId) diff --git a/sdk/protocol-plugins/src/plugins/maker/implementation/MakerPoolId.ts b/sdk/protocol-plugins/src/plugins/maker/implementation/MakerPoolId.ts deleted file mode 100644 index b029e41cad..0000000000 --- a/sdk/protocol-plugins/src/plugins/maker/implementation/MakerPoolId.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { PoolId } from '@summerfi/sdk-common/protocols' -import { ILKType } from '../enums/ILKType' -import { IMakerPoolId } from '../interfaces/IMakerPoolId' -import { SerializationService } from '@summerfi/sdk-common/services' -import { IMakerProtocol } from '../interfaces/IMakerProtocol' - -export class MakerPoolId extends PoolId implements IMakerPoolId { - protocol: IMakerProtocol - ilkType: ILKType - - private constructor(params: IMakerPoolId) { - super(params) - - this.protocol = params.protocol - this.ilkType = params.ilkType - } - - static createFrom(params: IMakerPoolId): MakerPoolId { - return new MakerPoolId(params) - } -} - -SerializationService.registerClass(MakerPoolId) diff --git a/sdk/protocol-plugins/src/plugins/maker/implementation/MakerPosition.ts b/sdk/protocol-plugins/src/plugins/maker/implementation/MakerPosition.ts new file mode 100644 index 0000000000..8a6a32657a --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/maker/implementation/MakerPosition.ts @@ -0,0 +1,26 @@ +import { SerializationService } from '@summerfi/sdk-common/services' +import { IMakerPosition, IMakerPositionData } from '../interfaces/IMakerPosition' +import { Position } from '@summerfi/sdk-common' +import { MakerLendingPool } from './MakerLendingPool' + +/** + * @class MakerPosition + * @see IMakerPosition + */ +export class MakerPosition extends Position implements IMakerPosition { + readonly pool: MakerLendingPool + + /** Factory method */ + static createFrom(params: IMakerPositionData): MakerPosition { + return new MakerPosition(params) + } + + /** Sealed constructor */ + private constructor(params: IMakerPositionData) { + super(params) + + this.pool = MakerLendingPool.createFrom(params.pool) + } +} + +SerializationService.registerClass(MakerPosition) diff --git a/sdk/protocol-plugins/src/plugins/maker/implementation/MakerPositionId.ts b/sdk/protocol-plugins/src/plugins/maker/implementation/MakerPositionId.ts index 34b6b226a1..3faae60886 100644 --- a/sdk/protocol-plugins/src/plugins/maker/implementation/MakerPositionId.ts +++ b/sdk/protocol-plugins/src/plugins/maker/implementation/MakerPositionId.ts @@ -1,20 +1,26 @@ import { MakerVaultId } from '../types/MakerVaultId' -import { IMakerPositionId } from '../interfaces/IMakerPositionId' +import { IMakerPositionIdData } from '../interfaces/IMakerPositionId' import { PositionId } from '@summerfi/sdk-common' import { SerializationService } from '@summerfi/sdk-common/services' -export class MakerPositionId extends PositionId implements IMakerPositionId { +/** + * @class MakerPositionId + * @see IMakerPositionIdData + */ +export class MakerPositionId extends PositionId implements IMakerPositionIdData { readonly vaultId: MakerVaultId - private constructor(params: IMakerPositionId) { + /** Factory method */ + static createFrom(params: IMakerPositionIdData): MakerPositionId { + return new MakerPositionId(params) + } + + /** Sealed constructor */ + private constructor(params: IMakerPositionIdData) { super(params) this.vaultId = params.vaultId } - - static createFrom(params: IMakerPositionId): MakerPositionId { - return new MakerPositionId(params) - } } SerializationService.registerClass(MakerPositionId) diff --git a/sdk/protocol-plugins/src/plugins/maker/implementation/MakerProtocol.ts b/sdk/protocol-plugins/src/plugins/maker/implementation/MakerProtocol.ts new file mode 100644 index 0000000000..e008203695 --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/maker/implementation/MakerProtocol.ts @@ -0,0 +1,25 @@ +import { Protocol, ProtocolName } from '@summerfi/sdk-common/protocols' +import { SerializationService } from '@summerfi/sdk-common/services' +import { IMakerProtocol, IMakerProtocolData } from '../interfaces/IMakerProtocol' + +/** + * @class MakerProtocol + * @see IMakerProtocolData + */ +export class MakerProtocol extends Protocol implements IMakerProtocol { + readonly name: ProtocolName.Maker + + /** Factory method */ + static createFrom(params: IMakerProtocolData): MakerProtocol { + return new MakerProtocol(params) + } + + /** Sealed constructor */ + private constructor(params: IMakerProtocolData) { + super(params) + + this.name = params.name + } +} + +SerializationService.registerClass(MakerProtocol) diff --git a/sdk/protocol-plugins/src/plugins/maker/implementation/MakerProtocolPlugin.ts b/sdk/protocol-plugins/src/plugins/maker/implementation/MakerProtocolPlugin.ts index 889956fa08..d59a50ecab 100644 --- a/sdk/protocol-plugins/src/plugins/maker/implementation/MakerProtocolPlugin.ts +++ b/sdk/protocol-plugins/src/plugins/maker/implementation/MakerProtocolPlugin.ts @@ -1,25 +1,16 @@ /* eslint-disable @typescript-eslint/no-unused-vars */ import { - Percentage, - TokenAmount, - TokenSymbol, - Price, - RiskRatio, Address, Position, - ChainId, ChainFamilyName, valuesOfChainFamilyMap, Maybe, AddressValue, IPositionId, } from '@summerfi/sdk-common/common' -import { PoolType, ProtocolName } from '@summerfi/sdk-common/protocols' -import { SimulationSteps } from '@summerfi/sdk-common/simulation' -import { stringToHex, getContract } from 'viem' +import { ILendingPoolId, PoolType, ProtocolName } from '@summerfi/sdk-common/protocols' +import { getContract } from 'viem' import { BigNumber } from 'bignumber.js' -import { z } from 'zod' -import { MakerPaybackWithdrawActionBuilder } from '../builders/MakerPaybackWithdrawActionBuilder' import { BaseProtocolPlugin } from '../../../implementation/BaseProtocolPlugin' import { PRECISION_BI } from '../../common/constants/AaveV3LikeConstants' import { @@ -31,14 +22,10 @@ import { SPOT_ABI, VAT_ABI, } from '../abis/MakerABIS' -import { MakerCollateralConfigMap, MakerCollateralConfigRecord } from './MakerCollateralConfigMap' -import { MakerDebtConfigMap, MakerDebtConfigRecord } from './MakerDebtConfigMap' import { MakerLendingPool } from './MakerLendingPool' import { amountFromRad, amountFromRay, amountFromWei } from '../utils/AmountUtils' import { MakerAddressAbiMap } from '../types/MakerAddressAbiMap' import { ActionBuildersMap, IProtocolPluginContext } from '@summerfi/protocol-plugins-common' -import { ILKType } from '../enums/ILKType' -import { MakerPoolId } from './MakerPoolId' import { IUser } from '@summerfi/sdk-common/user' import { ExternalPositionType, @@ -47,192 +34,79 @@ import { TransactionInfo, } from '@summerfi/sdk-common/orders' import { encodeMakerGiveThroughProxyActions } from '../utils/MakerGive' -import { MakerImportPositionActionBuilder } from '../builders/MakerImportPositionActionBuilder' import { isMakerPositionId } from '../interfaces/IMakerPositionId' -import { isMakerPoolId } from '../interfaces/IMakerPoolId' +import { MakerLendingPoolId } from './MakerLendingPoolId' +import { isMakerLendingPoolId } from '../interfaces/IMakerLendingPoolId' +import { MakerStepBuilders } from './MakerStepBuilders' +import { MakerPositionId } from './MakerPositionId' export class MakerProtocolPlugin extends BaseProtocolPlugin { - readonly CdpManagerContractName = 'CdpManager' - readonly DssProxyActionsContractName = 'DssProxyActions' - readonly protocolName = ProtocolName.Maker readonly supportedChains = valuesOfChainFamilyMap([ChainFamilyName.Ethereum]) - readonly makerPoolIdSchema = z.object({ - protocol: z.object({ - name: z.literal(ProtocolName.Maker), - chainInfo: z.object({ - name: z.string(), - chainId: z.custom( - (chainId) => this.supportedChains.some((chainInfo) => chainInfo.chainId === chainId), - 'Chain ID not supported', - true, - ), - }), - }), - ilkType: z.nativeEnum(ILKType), - vaultId: z.string(), - }) - readonly stepBuilders: Partial = { - [SimulationSteps.PaybackWithdraw]: MakerPaybackWithdrawActionBuilder, - [SimulationSteps.Import]: MakerImportPositionActionBuilder, - } + readonly stepBuilders: Partial = MakerStepBuilders + + readonly CdpManagerContractName = 'CdpManager' + readonly DssProxyActionsContractName = 'DssProxyActions' constructor(params: { context: IProtocolPluginContext; deploymentConfigTag?: string }) { super(params) - } - isPoolId(candidate: unknown): candidate is MakerPoolId { - return this._isPoolId(candidate, this.makerPoolIdSchema) - } - - validatePoolId(candidate: unknown): asserts candidate is MakerPoolId { - if (!this.isPoolId(candidate)) { - throw new Error(`Invalid Maker pool ID: ${JSON.stringify(candidate)}`) + if ( + !this.supportedChains.some( + (chainInfo) => chainInfo.chainId === this.context.provider.chain?.id, + ) + ) { + throw new Error(`Chain ID ${this.context.provider.chain?.id} is not supported`) } } - async getPool(makerPoolId: unknown): Promise { - this.validatePoolId(makerPoolId) - - const ilk = makerPoolId.ilkType - const ilkInHex = stringToHex(ilk, { size: 32 }) - - const ctx = this.ctx - const chainId = ctx.provider.chain?.id - if (!chainId) throw new Error('ctx.provider.chain.id undefined') - - if (!this.supportedChains.some((chainInfo) => chainInfo.chainId === chainId)) { - throw new Error(`Chain ID ${chainId} is not supported`) - } - - const { osm, vatRes, jugRes, dogRes, spotRes, erc20, ilkRegistryRes } = - await this.getIlkProtocolData(ilkInHex, makerPoolId) + /** VALIDATORS */ - const makerSpotDef = this.getContractDef('Spot') - const [ - [peek], - [peep], - zzz, - hop, - joinGemBalance, - collateralToken, - quoteToken, - poolBaseCurrencyToken, - ] = await Promise.all([ - osm.read.peek({ account: makerSpotDef.address }), - osm.read.peep({ account: makerSpotDef.address }), - osm.read.zzz({ account: makerSpotDef.address }), - osm.read.hop({ account: makerSpotDef.address }), - erc20.read.balanceOf([ilkRegistryRes.join]), - ctx.tokenService.getTokenByAddress(Address.createFromEthereum({ value: ilkRegistryRes.gem })), - ctx.tokenService.getTokenBySymbol(TokenSymbol.DAI), - ctx.tokenService.getTokenBySymbol(TokenSymbol.DAI), - ]) - - const SECONDS_PER_YEAR = 60 * 60 * 24 * 365 - BigNumber.config({ POW_PRECISION: 100 }) - const stabilityFee = jugRes.rawFee.pow(SECONDS_PER_YEAR).minus(1) - - const osmData = { - currentPrice: new BigNumber(peek) - .shiftedBy(-18) - .toPrecision(collateralToken.decimals, BigNumber.ROUND_DOWN) - .toString(), - nextPrice: new BigNumber(peep) - .shiftedBy(-18) - .toPrecision(collateralToken.decimals, BigNumber.ROUND_DOWN) - .toString(), - currentPriceUpdate: new Date(Number(zzz) * 1000), - nextPriceUpdate: new Date((Number(zzz) + hop) * 1000), + /** @see BaseProtocolPlugin._validateLendingPoolId */ + protected _validateLendingPoolId( + candidate: ILendingPoolId, + ): asserts candidate is MakerLendingPoolId { + if (!isMakerLendingPoolId(candidate)) { + throw new Error(`Invalid Maker pool ID: ${JSON.stringify(candidate)}`) } + } - const collaterals: MakerCollateralConfigRecord = { - [collateralToken.address.value]: { - token: collateralToken, - price: Price.createFrom({ - value: osmData.currentPrice, - baseToken: collateralToken, - quoteToken: quoteToken, - }), - nextPrice: Price.createFrom({ - value: osmData.nextPrice, - baseToken: collateralToken, - quoteToken: quoteToken, - }), - priceUSD: await ctx.priceService.getPriceUSD(collateralToken), - lastPriceUpdate: osmData.currentPriceUpdate, - nextPriceUpdate: osmData.nextPriceUpdate, - - liquidationThreshold: RiskRatio.createFrom({ - ratio: Percentage.createFrom({ - value: spotRes.liquidationRatio.times(100).toNumber(), - }), - type: RiskRatio.type.CollateralizationRatio, - }), - - tokensLocked: TokenAmount.createFromBaseUnit({ - token: collateralToken, - amount: joinGemBalance.toString(), - }), - maxSupply: TokenAmount.createFrom({ - token: collateralToken, - amount: Number.MAX_SAFE_INTEGER.toString(), - }), - liquidationPenalty: Percentage.createFrom({ - value: dogRes.liquidationPenalty.toNumber() * 100, - }), - }, + /** @see BaseProtocolPlugin._validatePositionId */ + protected _validatePositionId(candidate: IPositionId): asserts candidate is MakerPositionId { + if (!isMakerPositionId(candidate)) { + throw new Error(`Invalid Maker position ID: ${JSON.stringify(candidate)}`) } + } - const debts: MakerDebtConfigRecord = { - [quoteToken.address.value]: { - token: quoteToken, - price: await ctx.priceService.getPriceUSD(quoteToken), - priceUSD: await ctx.priceService.getPriceUSD(quoteToken), - rate: Percentage.createFrom({ value: stabilityFee.times(100).toNumber() }), - totalBorrowed: TokenAmount.createFrom({ - token: quoteToken, - amount: vatRes.normalizedIlkDebt.times(vatRes.debtScalingFactor).toString(), - }), - debtCeiling: TokenAmount.createFrom({ - token: quoteToken, - amount: vatRes.debtCeiling.toString(), - }), - debtAvailable: TokenAmount.createFrom({ - token: quoteToken, - amount: vatRes.debtCeiling - .minus(vatRes.normalizedIlkDebt.times(vatRes.debtScalingFactor)) - .toString(), - }), - dustLimit: TokenAmount.createFrom({ - token: quoteToken, - amount: vatRes.debtFloor.toString(), - }), - originationFee: Percentage.createFrom({ value: 0 }), - }, - } + /** LENDING POOLS */ + /** @see BaseProtocolPlugin._getLendingPoolImpl */ + protected async _getLendingPoolImpl( + makerLendingPoolId: MakerLendingPoolId, + ): Promise { return MakerLendingPool.createFrom({ type: PoolType.Lending, - poolId: makerPoolId, - protocol: makerPoolId.protocol, - baseCurrency: poolBaseCurrencyToken, - collaterals: MakerCollateralConfigMap.createFrom({ record: collaterals }), - debts: MakerDebtConfigMap.createFrom({ record: debts }), + id: makerLendingPoolId, }) } + /** POSITIONS */ + + /** @see BaseProtocolPlugin.getPosition */ // eslint-disable-next-line @typescript-eslint/no-unused-vars async getPosition(positionId: IPositionId): Promise { throw new Error('Not implemented') } + /** IMPORT POSITION */ + + /** @see BaseProtocolPlugin.getImportPositionTransaction */ async getImportPositionTransaction(params: { user: IUser externalPosition: IExternalPosition positionsManager: IPositionsManager }): Promise> { - if (!isMakerPoolId(params.externalPosition.position.pool.poolId)) { + if (!isMakerLendingPoolId(params.externalPosition.position.pool.id)) { throw new Error('Invalid Maker pool ID') } if (!isMakerPositionId(params.externalPosition.position)) { @@ -272,7 +146,9 @@ export class MakerProtocolPlugin extends BaseProtocolPlugin { } } - private getContractDef( + /** PRIVATE */ + + private _getContractDef( contractName: K, ): MakerAddressAbiMap[K] { const map: MakerAddressAbiMap = { @@ -328,13 +204,16 @@ export class MakerProtocolPlugin extends BaseProtocolPlugin { return map[contractName] } - private async getIlkProtocolData(ilkInHex: `0x${string}`, makerPoolId: MakerPoolId) { + private async _getIlkProtocolData( + ilkInHex: `0x${string}`, + makerLendingPoolId: MakerLendingPoolId, + ) { const ctx = this.ctx - const makerDogDef = this.getContractDef('Dog') - const makerVatDef = this.getContractDef('Vat') - const makerSpotDef = this.getContractDef('Spot') - const makerJugDef = this.getContractDef('McdJug') - const makerIlkRegistryDef = this.getContractDef('IlkRegistry') + const makerDogDef = this._getContractDef('Dog') + const makerVatDef = this._getContractDef('Vat') + const makerSpotDef = this._getContractDef('Spot') + const makerJugDef = this._getContractDef('McdJug') + const makerIlkRegistryDef = this._getContractDef('IlkRegistry') const [ { @@ -459,3 +338,123 @@ export class MakerProtocolPlugin extends BaseProtocolPlugin { } } } + +/** + const ctx = this.ctx + const chainId = ctx.provider.chain?.id + if (!chainId) throw new Error('ctx.provider.chain.id undefined') + + if (!this.supportedChains.some((chainInfo) => chainInfo.chainId === chainId)) { + throw new Error(`Chain ID ${chainId} is not supported`) + } + const ilk = makerLendingPoolId.ilkType + const ilkInHex = stringToHex(ilk, { size: 32 }) + const { osm, vatRes, jugRes, dogRes, spotRes, erc20, ilkRegistryRes } = + await this._getIlkProtocolData(ilkInHex, makerLendingPoolId) + + const makerSpotDef = this._getContractDef('Spot') + const [ + [peek], + [peep], + zzz, + hop, + joinGemBalance, + collateralToken, + quoteToken, + poolBaseCurrencyToken, + ] = await Promise.all([ + osm.read.peek({ account: makerSpotDef.address }), + osm.read.peep({ account: makerSpotDef.address }), + osm.read.zzz({ account: makerSpotDef.address }), + osm.read.hop({ account: makerSpotDef.address }), + erc20.read.balanceOf([ilkRegistryRes.join]), + ctx.tokenService.getTokenByAddress(Address.createFromEthereum({ value: ilkRegistryRes.gem })), + ctx.tokenService.getTokenBySymbol(TokenSymbol.DAI), + ctx.tokenService.getTokenBySymbol(TokenSymbol.DAI), + ]) + + const SECONDS_PER_YEAR = 60 * 60 * 24 * 365 + BigNumber.config({ POW_PRECISION: 100 }) + + const stabilityFee = jugRes.rawFee.pow(SECONDS_PER_YEAR).minus(1) + + const osmData = { + currentPrice: new BigNumber(peek) + .shiftedBy(-18) + .toPrecision(collateralToken.decimals, BigNumber.ROUND_DOWN) + .toString(), + nextPrice: new BigNumber(peep) + .shiftedBy(-18) + .toPrecision(collateralToken.decimals, BigNumber.ROUND_DOWN) + .toString(), + currentPriceUpdate: new Date(Number(zzz) * 1000), + nextPriceUpdate: new Date((Number(zzz) + hop) * 1000), + } + +const collaterals: MakerCollateralConfigRecord = { + [collateralToken.address.value]: { + token: collateralToken, + price: Price.createFrom({ + value: osmData.currentPrice, + baseToken: collateralToken, + quoteToken: quoteToken, + }), + nextPrice: Price.createFrom({ + value: osmData.nextPrice, + baseToken: collateralToken, + quoteToken: quoteToken, + }), + priceUSD: await ctx.priceService.getPriceUSD(collateralToken), + lastPriceUpdate: osmData.currentPriceUpdate, + nextPriceUpdate: osmData.nextPriceUpdate, + + liquidationThreshold: RiskRatio.createFrom({ + ratio: Percentage.createFrom({ + value: spotRes.liquidationRatio.times(100).toNumber(), + }), + type: RiskRatio.type.CollateralizationRatio, + }), + + tokensLocked: TokenAmount.createFromBaseUnit({ + token: collateralToken, + amount: joinGemBalance.toString(), + }), + maxSupply: TokenAmount.createFrom({ + token: collateralToken, + amount: Number.MAX_SAFE_INTEGER.toString(), + }), + liquidationPenalty: Percentage.createFrom({ + value: dogRes.liquidationPenalty.toNumber() * 100, + }), + }, + } + + const debts: MakerDebtConfigRecord = { + [quoteToken.address.value]: { + token: quoteToken, + price: await ctx.priceService.getPriceUSD(quoteToken), + priceUSD: await ctx.priceService.getPriceUSD(quoteToken), + rate: Percentage.createFrom({ value: stabilityFee.times(100).toNumber() }), + totalBorrowed: TokenAmount.createFrom({ + token: quoteToken, + amount: vatRes.normalizedIlkDebt.times(vatRes.debtScalingFactor).toString(), + }), + debtCeiling: TokenAmount.createFrom({ + token: quoteToken, + amount: vatRes.debtCeiling.toString(), + }), + debtAvailable: TokenAmount.createFrom({ + token: quoteToken, + amount: vatRes.debtCeiling + .minus(vatRes.normalizedIlkDebt.times(vatRes.debtScalingFactor)) + .toString(), + }), + dustLimit: TokenAmount.createFrom({ + token: quoteToken, + amount: vatRes.debtFloor.toString(), + }), + originationFee: Percentage.createFrom({ value: 0 }), + }, + } + + */ diff --git a/sdk/protocol-plugins/src/plugins/maker/implementation/MakerStepBuilders.ts b/sdk/protocol-plugins/src/plugins/maker/implementation/MakerStepBuilders.ts new file mode 100644 index 0000000000..84ba6f58de --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/maker/implementation/MakerStepBuilders.ts @@ -0,0 +1,12 @@ +import { ActionBuildersMap } from '@summerfi/protocol-plugins-common' +import { MakerPaybackWithdrawActionBuilder } from '../builders/MakerPaybackWithdrawActionBuilder' +import { MakerImportPositionActionBuilder } from '../builders/MakerImportPositionActionBuilder' +import { SimulationSteps } from '@summerfi/sdk-common/simulation' + +/** + * @description Map of action builders for the Maker protocol + */ +export const MakerStepBuilders: Partial = { + [SimulationSteps.PaybackWithdraw]: MakerPaybackWithdrawActionBuilder, + [SimulationSteps.Import]: MakerImportPositionActionBuilder, +} diff --git a/sdk/protocol-plugins/src/plugins/maker/implementation/index.ts b/sdk/protocol-plugins/src/plugins/maker/implementation/index.ts index 92aa2885cb..644f261f70 100644 --- a/sdk/protocol-plugins/src/plugins/maker/implementation/index.ts +++ b/sdk/protocol-plugins/src/plugins/maker/implementation/index.ts @@ -5,4 +5,6 @@ export * from './MakerDebtConfigMap' export * from './MakerLendingPool' export * from './MakerProtocolPlugin' export * from './MakerPositionId' -export * from './MakerPoolId' +export * from './MakerPosition' +export * from './MakerLendingPoolId' +export * from './MakerProtocol' diff --git a/sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerLendingPool.ts b/sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerLendingPool.ts index a9457bf351..7d568e072c 100644 --- a/sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerLendingPool.ts +++ b/sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerLendingPool.ts @@ -1,8 +1,51 @@ -import { ILendingPool } from '@summerfi/sdk-common/protocols' -import { IMakerDebtConfigMap } from './IMakerDebtConfigMap' -import { IMakerCollateralConfigMap } from './IMakerCollateralConfigMap' +import { ILendingPool, ILendingPoolData, LendingPoolSchema } from '@summerfi/sdk-common/protocols' +import { + IMakerLendingPoolId, + IMakerLendingPoolIdData, + MakerLendingPoolIdSchema, +} from './IMakerLendingPoolId' +import { z } from 'zod' -export interface IMakerLendingPool extends ILendingPool { - collaterals: IMakerCollateralConfigMap - debts: IMakerDebtConfigMap +/** + * @interface IMakerLendingPoolData + * @description Represents a lending pool in the Maker protocol + */ +export interface IMakerLendingPoolData extends ILendingPoolData { + /** The pool's ID */ + readonly id: IMakerLendingPoolIdData } + +/** + * @interface IMakerLendingPool + * @description Interface for the implementors of the lending pool + * + * This interface is used to add all the methods that the interface supports + */ +export interface IMakerLendingPool extends ILendingPool, IMakerLendingPoolData { + readonly id: IMakerLendingPoolId +} + +/** + * @description Zod schema for IMakerLendingPool + */ +export const MakerLendingPoolSchema = z.object({ + ...LendingPoolSchema.shape, + id: MakerLendingPoolIdSchema, +}) + +/** + * @description Type guard for IMakerLendingPool + * @param maybeLendingPool + * @returns true if the object is an IMakerLendingPool + */ +export function isMakerLendingPool( + maybeLendingPool: unknown, +): maybeLendingPool is IMakerLendingPoolData { + return MakerLendingPoolSchema.safeParse(maybeLendingPool).success +} + +/** + * Checker to make sure that the schema is aligned with the interface + */ +/* eslint-disable-next-line @typescript-eslint/no-unused-vars */ +const __schemaChecker: IMakerLendingPoolData = {} as z.infer diff --git a/sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerLendingPoolId.ts b/sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerLendingPoolId.ts new file mode 100644 index 0000000000..d166978500 --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerLendingPoolId.ts @@ -0,0 +1,64 @@ +import { + ILendingPoolId, + ILendingPoolIdData, + LendingPoolIdSchema, +} from '@summerfi/sdk-common/protocols' +import { ILKType } from '../enums' +import { IMakerProtocol, IMakerProtocolData, MakerProtocolSchema } from './IMakerProtocol' +import { z } from 'zod' +import { IToken } from '@summerfi/sdk-common' + +/** + * @name IMakerLendingPoolIdData + * @description Represents a lending pool's ID for the Maker protocol + * + * It includes the ILK type which will determine which pool will be used + */ +export interface IMakerLendingPoolIdData extends ILendingPoolIdData { + /** The Maker protocol */ + readonly protocol: IMakerProtocolData + /** The ILK type of the pool */ + readonly ilkType: ILKType +} + +/** + * @name IMakerLendingPoolId + * @description Interface for the implementors of the lending pool ID + * + * This interface is used to add all the methods that the interface supports + * + * Typescript forces the interface to re-declare any properties that have different BUT compatible types. + * This may be fixed eventually, there is a discussion on the topic here: https://github.com/microsoft/TypeScript/issues/16936 + */ +export interface IMakerLendingPoolId extends ILendingPoolId, IMakerLendingPoolIdData { + readonly protocol: IMakerProtocol + readonly ilkType: ILKType + + // Re-declaring the properties with the correct types + readonly collateralToken: IToken + readonly debtToken: IToken +} + +/** + * @description Zod schema for IMakerLendingPoolId + */ +export const MakerLendingPoolIdSchema = z.object({ + ...LendingPoolIdSchema.shape, + protocol: MakerProtocolSchema, + ilkType: z.nativeEnum(ILKType), +}) + +/** + * @description Type guard for IMakerLendingPoolId + * @param maybePoolId + * @returns true if the object is an IMakerLendingPoolId + */ +export function isMakerLendingPoolId(maybePoolId: unknown): maybePoolId is IMakerLendingPoolIdData { + return MakerLendingPoolIdSchema.safeParse(maybePoolId).success +} + +/** + * Checker to make sure that the schema is aligned with the interface + */ +/* eslint-disable-next-line @typescript-eslint/no-unused-vars */ +const __schemaChecker: IMakerLendingPoolIdData = {} as z.infer diff --git a/sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerPoolId.ts b/sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerPoolId.ts deleted file mode 100644 index eeaa4ab8f4..0000000000 --- a/sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerPoolId.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { IPoolId, ProtocolName, isPoolId } from '@summerfi/sdk-common/protocols' -import { ILKType } from '../enums/ILKType' -import { IMakerProtocol } from './IMakerProtocol' - -export interface IMakerPoolId extends IPoolId { - protocol: IMakerProtocol - ilkType: ILKType -} - -export function isMakerPoolId(maybePoolId: unknown): maybePoolId is IMakerPoolId { - return ( - isPoolId(maybePoolId) && - 'ilkType' in maybePoolId && - maybePoolId.protocol.name === ProtocolName.Maker - ) -} diff --git a/sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerPosition.ts b/sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerPosition.ts new file mode 100644 index 0000000000..8ba806b7d2 --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerPosition.ts @@ -0,0 +1,54 @@ +import { IPosition, IPositionData, ITokenAmount, PositionSchema } from '@summerfi/sdk-common' +import { z } from 'zod' +import { + IMakerLendingPool, + IMakerLendingPoolData, + MakerLendingPoolSchema, +} from './IMakerLendingPool' + +/** + * @interface IMakerPositionData + * @description Represents a Maker position + */ +export interface IMakerPositionData extends IPositionData { + readonly pool: IMakerLendingPoolData +} + +/** + * @interface IMakerPosition + * @description Interface for the implementors of the position + * + * This interface is used to add all the methods that the interface supports + */ +export interface IMakerPosition extends IPosition, IMakerPositionData { + readonly pool: IMakerLendingPool + + // Re-declaring the properties with the correct types + readonly debtAmount: ITokenAmount + readonly collateralAmount: ITokenAmount +} + +/** + * @description Zod schema for IMakerPositionId + */ +export const MakerPositionSchema = z.object({ + ...PositionSchema.shape, + pool: MakerLendingPoolSchema, +}) + +/** + * @description Type guard for IMakerPosition + * @param maybeMakerPosition Object to be checked + * @returns true if the object is a IMakerPosition + */ +export function isMakerPosition( + maybeMakerPosition: unknown, +): maybeMakerPosition is IMakerPositionData { + return MakerPositionSchema.safeParse(maybeMakerPosition).success +} + +/** + * Checker to make sure that the schema is aligned with the interface + */ +/* eslint-disable-next-line @typescript-eslint/no-unused-vars */ +const __schemaChecker: IMakerPositionData = {} as z.infer diff --git a/sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerPositionId.ts b/sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerPositionId.ts index bd17c6fbbc..24fb82b69d 100644 --- a/sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerPositionId.ts +++ b/sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerPositionId.ts @@ -1,11 +1,49 @@ -import { IPositionId } from '@summerfi/sdk-common/common' -import { MakerVaultId } from '../types/MakerVaultId' -import { isPositionId } from '@summerfi/sdk-common' +import { IPositionIdData } from '@summerfi/sdk-common/common' +import { MakerVaultId, MakerVaultIdSchema } from '../types/MakerVaultId' +import { IPositionId, PositionIdSchema } from '@summerfi/sdk-common' +import { z } from 'zod' -export interface IMakerPositionId extends IPositionId { +/** + * @interface IMakerPositionIdData + * @description Identifier of a Maker position + */ +export interface IMakerPositionIdData extends IPositionIdData { + /** The vault ID that identifies the position on Maker */ vaultId: MakerVaultId } -export function isMakerPositionId(maybePositionId: unknown): maybePositionId is IMakerPositionId { - return isPositionId(maybePositionId) && 'vaultId' in maybePositionId +/** + * @interface IMakerPositionId + * @description Interface for the implementors of the position id + * + * This interface is used to add all the methods that the interface supports + */ +export interface IMakerPositionId extends IPositionId, IMakerPositionIdData { + /** The vault ID that identifies the position on Maker */ + readonly vaultId: MakerVaultId } + +/** + * @description Zod schema for IMakerPositionId + */ +export const MakerPositionIdSchema = z.object({ + ...PositionIdSchema.shape, + vaultId: MakerVaultIdSchema, +}) + +/** + * @description Type guard for IMakerPositionId + * @param maybeMakerPositionId Object to be checked + * @returns true if the object is a IMakerPositionId + */ +export function isMakerPositionId( + maybeMakerPositionId: unknown, +): maybeMakerPositionId is IMakerPositionIdData { + return MakerPositionIdSchema.safeParse(maybeMakerPositionId).success +} + +/** + * Checker to make sure that the schema is aligned with the interface + */ +/* eslint-disable-next-line @typescript-eslint/no-unused-vars */ +const __schemaChecker: IMakerPositionIdData = {} as z.infer diff --git a/sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerProtocol.ts b/sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerProtocol.ts index dda955aa17..0f4791f8fb 100644 --- a/sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerProtocol.ts +++ b/sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerProtocol.ts @@ -1,8 +1,51 @@ -import { IProtocol } from '@summerfi/sdk-common' -import { ChainInfo } from '@summerfi/sdk-common/common' -import { ProtocolName } from '@summerfi/sdk-common/protocols' +import { IChainInfo, IProtocol } from '@summerfi/sdk-common' +import { IProtocolData, ProtocolName, ProtocolSchema } from '@summerfi/sdk-common/protocols' +import { z } from 'zod' -export interface IMakerProtocol extends IProtocol { +/** + * @interface IMakerProtocolData + * @description Identifier of the Maker protocol + */ +export interface IMakerProtocolData extends IProtocolData { + /** Maker protocol name */ name: ProtocolName.Maker - chainInfo: ChainInfo } + +/** + * @interface IMakerProtocol + * @description Interface for the implementors of the Maker protocol + * + * This interface is used to add all the methods that the interface supports + * + * Typescript forces the interface to re-declare any properties that have different BUT compatible types. + * This may be fixed eventually, there is a discussion on the topic here: https://github.com/microsoft/TypeScript/issues/16936 + */ +export interface IMakerProtocol extends IProtocol, IMakerProtocolData { + readonly name: ProtocolName.Maker + + // Re-declaring the properties with the correct types + readonly chainInfo: IChainInfo +} + +/** + * @description Zod schema for IMakerProtocol + */ +export const MakerProtocolSchema = z.object({ + ...ProtocolSchema.shape, + name: z.literal(ProtocolName.Maker), +}) + +/** + * @description Type guard for IMakerProtocol + * @param maybeProtocol + * @returns true if the object is an IMakerProtocol + */ +export function isMakerProtocol(maybeProtocol: unknown): maybeProtocol is IMakerProtocolData { + return MakerProtocolSchema.safeParse(maybeProtocol).success +} + +/** + * Checker to make sure that the schema is aligned with the interface + */ +/* eslint-disable-next-line @typescript-eslint/no-unused-vars */ +const __schemaChecker: IMakerProtocolData = {} as z.infer diff --git a/sdk/protocol-plugins/src/plugins/maker/interfaces/index.ts b/sdk/protocol-plugins/src/plugins/maker/interfaces/index.ts index 4f23be59a9..c59ab8c2e1 100644 --- a/sdk/protocol-plugins/src/plugins/maker/interfaces/index.ts +++ b/sdk/protocol-plugins/src/plugins/maker/interfaces/index.ts @@ -4,4 +4,6 @@ export * from './IMakerDebtConfig' export * from './IMakerDebtConfigMap' export * from './IMakerLendingPool' export * from './IMakerPositionId' -export * from './IMakerPoolId' +export * from './IMakerLendingPoolId' +export * from './IMakerProtocol' +export * from './IMakerPosition' diff --git a/sdk/protocol-plugins/src/plugins/maker/types/MakerVaultId.ts b/sdk/protocol-plugins/src/plugins/maker/types/MakerVaultId.ts index 5e27d5e60a..55875c32fb 100644 --- a/sdk/protocol-plugins/src/plugins/maker/types/MakerVaultId.ts +++ b/sdk/protocol-plugins/src/plugins/maker/types/MakerVaultId.ts @@ -1 +1,27 @@ +import { z } from 'zod' + +/** + * @name MakerVaultId + * @description Represents a Maker vault ID + */ export type MakerVaultId = string + +/** + * @description Zod schema for MakerVaultId + */ +export const MakerVaultIdSchema = z.string() + +/** + * @description Type guard for MakerVaultId + * @param maybeMakerVaultId Object to be checked + * @returns true if the object is a MakerVaultId + */ +export function isMakerVaultId(maybeMakerVaultId: unknown): maybeMakerVaultId is MakerVaultId { + return MakerVaultIdSchema.safeParse(maybeMakerVaultId).success +} + +/** + * Checker to make sure that the schema is aligned with the interface + */ +/* eslint-disable-next-line @typescript-eslint/no-unused-vars */ +const __schemaChecker: MakerVaultId = {} as z.infer diff --git a/sdk/protocol-plugins/src/plugins/spark/builders/SparkStepBuilders.ts b/sdk/protocol-plugins/src/plugins/spark/builders/SparkStepBuilders.ts new file mode 100644 index 0000000000..fa13b4bead --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/spark/builders/SparkStepBuilders.ts @@ -0,0 +1,7 @@ +import { ActionBuildersMap } from '@summerfi/protocol-plugins-common' +import { SparkDepositBorrowActionBuilder } from './SparkDepositBorrowActionBuilder' +import { SimulationSteps } from '@summerfi/sdk-common/simulation' + +export const SparkStepBuilders: Partial = { + [SimulationSteps.DepositBorrow]: SparkDepositBorrowActionBuilder, +} diff --git a/sdk/protocol-plugins/src/plugins/spark/builders/index.ts b/sdk/protocol-plugins/src/plugins/spark/builders/index.ts index e636486efc..a9c7ff8ef0 100644 --- a/sdk/protocol-plugins/src/plugins/spark/builders/index.ts +++ b/sdk/protocol-plugins/src/plugins/spark/builders/index.ts @@ -1,4 +1,2 @@ -export { - SparkDepositBorrowActionList, - SparkDepositBorrowActionBuilder, -} from './SparkDepositBorrowActionBuilder' +export * from './SparkDepositBorrowActionBuilder' +export * from './SparkStepBuilders' diff --git a/sdk/protocol-plugins/src/plugins/spark/implementation/SparkLendingPool.ts b/sdk/protocol-plugins/src/plugins/spark/implementation/SparkLendingPool.ts index 2258aa52c5..1bc37487a9 100644 --- a/sdk/protocol-plugins/src/plugins/spark/implementation/SparkLendingPool.ts +++ b/sdk/protocol-plugins/src/plugins/spark/implementation/SparkLendingPool.ts @@ -1,21 +1,22 @@ import { LendingPool } from '@summerfi/sdk-common/protocols' -import { ISparkLendingPool } from '../interfaces/ISparkLendingPool' -import { SparkCollateralConfigMap } from './SparkCollateralConfigMap' -import { SparkDebtConfigMap } from './SparkDebtConfigMap' +import { ISparkLendingPool, ISparkLendingPoolData } from '../interfaces/ISparkLendingPool' import { SerializationService } from '@summerfi/sdk-common/services' +import { SparkLendingPoolId } from './SparkLendingPoolId' +/** + * @class SparkLendingPool + * @see ISparkLendingPool + */ export class SparkLendingPool extends LendingPool implements ISparkLendingPool { - readonly collaterals: SparkCollateralConfigMap - readonly debts: SparkDebtConfigMap + readonly id: SparkLendingPoolId - private constructor(params: ISparkLendingPool) { + private constructor(params: ISparkLendingPoolData) { super(params) - this.collaterals = SparkCollateralConfigMap.createFrom(params.collaterals) - this.debts = SparkDebtConfigMap.createFrom(params.debts) + this.id = SparkLendingPoolId.createFrom(params.id) } - public static createFrom(params: ISparkLendingPool): SparkLendingPool { + public static createFrom(params: ISparkLendingPoolData): SparkLendingPool { return new SparkLendingPool(params) } } diff --git a/sdk/protocol-plugins/src/plugins/spark/implementation/SparkLendingPoolId.ts b/sdk/protocol-plugins/src/plugins/spark/implementation/SparkLendingPoolId.ts new file mode 100644 index 0000000000..7924518e36 --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/spark/implementation/SparkLendingPoolId.ts @@ -0,0 +1,34 @@ +import { SerializationService } from '@summerfi/sdk-common/services' +import { ISparkLendingPoolId, ISparkLendingPoolIdData } from '../interfaces/ISparkLendingPoolId' +import { EmodeType } from '../../common' +import { SparkProtocol } from './SparkProtocol' +import { LendingPoolId } from '@summerfi/sdk-common' +import { IPrintable } from '@summerfi/sdk-common/common' + +/** + * @class SparkLendingPoolId + * @see ISparkLendingPoolIdData + */ +export class SparkLendingPoolId extends LendingPoolId implements ISparkLendingPoolId, IPrintable { + readonly protocol: SparkProtocol + readonly emodeType: EmodeType + + /** Factory method */ + static createFrom(params: ISparkLendingPoolIdData): SparkLendingPoolId { + return new SparkLendingPoolId(params) + } + + /** Sealed constructor */ + private constructor(params: ISparkLendingPoolIdData) { + super(params) + + this.protocol = SparkProtocol.createFrom(params.protocol) + this.emodeType = params.emodeType + } + + toString(): string { + return `${LendingPoolId.toString()} [emode: ${this.emodeType}]` + } +} + +SerializationService.registerClass(SparkLendingPoolId) diff --git a/sdk/protocol-plugins/src/plugins/spark/implementation/SparkPoolId.ts b/sdk/protocol-plugins/src/plugins/spark/implementation/SparkPoolId.ts deleted file mode 100644 index 081bb624d6..0000000000 --- a/sdk/protocol-plugins/src/plugins/spark/implementation/SparkPoolId.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { PoolId } from '@summerfi/sdk-common/protocols' -import { SerializationService } from '@summerfi/sdk-common/services' -import { ISparkPoolId } from '../interfaces/ISparkPoolId' -import { ISparkProtocol } from '../interfaces/ISparkProtocol' -import { EmodeType } from '../../common' - -export class SparkPoolId extends PoolId implements ISparkPoolId { - protocol: ISparkProtocol - emodeType: EmodeType - - private constructor(params: ISparkPoolId) { - super(params) - - this.protocol = params.protocol - this.emodeType = params.emodeType - } - - static createFrom(params: ISparkPoolId): SparkPoolId { - return new SparkPoolId(params) - } -} - -SerializationService.registerClass(SparkPoolId) diff --git a/sdk/protocol-plugins/src/plugins/spark/implementation/SparkPosition.ts b/sdk/protocol-plugins/src/plugins/spark/implementation/SparkPosition.ts new file mode 100644 index 0000000000..7a5b79a780 --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/spark/implementation/SparkPosition.ts @@ -0,0 +1,26 @@ +import { SerializationService } from '@summerfi/sdk-common/services' +import { ISparkPosition, ISparkPositionData } from '../interfaces/ISparkPosition' +import { Position } from '@summerfi/sdk-common' +import { SparkLendingPool } from './SparkLendingPool' + +/** + * @class SparkPosition + * @see ISparkPosition + */ +export class SparkPosition extends Position implements ISparkPosition { + readonly pool: SparkLendingPool + + /** Factory method */ + static createFrom(params: ISparkPositionData): SparkPosition { + return new SparkPosition(params) + } + + /** Sealed constructor */ + private constructor(params: ISparkPositionData) { + super(params) + + this.pool = SparkLendingPool.createFrom(params.pool) + } +} + +SerializationService.registerClass(SparkPosition) diff --git a/sdk/protocol-plugins/src/plugins/spark/implementation/SparkPositionId.ts b/sdk/protocol-plugins/src/plugins/spark/implementation/SparkPositionId.ts index 95879a1cda..353f62b171 100644 --- a/sdk/protocol-plugins/src/plugins/spark/implementation/SparkPositionId.ts +++ b/sdk/protocol-plugins/src/plugins/spark/implementation/SparkPositionId.ts @@ -1,14 +1,20 @@ import { PositionId } from '@summerfi/sdk-common' import { SerializationService } from '@summerfi/sdk-common/services' -import { ISparkPositionId } from '../interfaces/ISparkPositionId' +import { ISparkPositionId, ISparkPositionIdData } from '../interfaces/ISparkPositionId' +/** + * @class SparkPositionId + * @see ISparkPositionId + */ export class SparkPositionId extends PositionId implements ISparkPositionId { - private constructor(params: ISparkPositionId) { - super(params) + /** Factory method */ + static createFrom(params: ISparkPositionIdData): SparkPositionId { + return new SparkPositionId(params) } - static createFrom(params: ISparkPositionId): SparkPositionId { - return new SparkPositionId(params) + /** Sealed constructor */ + private constructor(params: ISparkPositionIdData) { + super(params) } } diff --git a/sdk/protocol-plugins/src/plugins/spark/implementation/SparkProtocol.ts b/sdk/protocol-plugins/src/plugins/spark/implementation/SparkProtocol.ts new file mode 100644 index 0000000000..25d260510f --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/spark/implementation/SparkProtocol.ts @@ -0,0 +1,25 @@ +import { Protocol, ProtocolName } from '@summerfi/sdk-common/protocols' +import { ISparkProtocol, ISparkProtocolData } from '../interfaces/ISparkProtocol' +import { SerializationService } from '@summerfi/sdk-common/services' + +/** + * @class SparkProtocol + * @see ISparkProtocol + */ +export class SparkProtocol extends Protocol implements ISparkProtocol { + readonly name: ProtocolName.Spark + + /** Factory method */ + static createFrom(params: ISparkProtocolData): SparkProtocol { + return new SparkProtocol(params) + } + + /** Sealed constructor */ + private constructor(params: ISparkProtocolData) { + super(params) + + this.name = params.name + } +} + +SerializationService.registerClass(SparkProtocol) diff --git a/sdk/protocol-plugins/src/plugins/spark/implementation/SparkProtocolPlugin.ts b/sdk/protocol-plugins/src/plugins/spark/implementation/SparkProtocolPlugin.ts index 6e0bf1d99e..c82e1ca0cf 100644 --- a/sdk/protocol-plugins/src/plugins/spark/implementation/SparkProtocolPlugin.ts +++ b/sdk/protocol-plugins/src/plugins/spark/implementation/SparkProtocolPlugin.ts @@ -5,28 +5,20 @@ import { CurrencySymbol, RiskRatio, Position, - ChainId, Token, ChainFamilyName, valuesOfChainFamilyMap, Maybe, - IPositionId, } from '@summerfi/sdk-common/common' -import { SimulationSteps } from '@summerfi/sdk-common/simulation' import { PoolType, ProtocolName } from '@summerfi/sdk-common/protocols' import { BigNumber } from 'bignumber.js' -import { z } from 'zod' -import { SparkDepositBorrowActionBuilder } from '../builders/SparkDepositBorrowActionBuilder' import { BaseProtocolPlugin } from '../../../implementation/BaseProtocolPlugin' -import { sparkEmodeCategoryMap } from './EmodeCategoryMap' import { UNCAPPED_SUPPLY, PRECISION_BI } from '../../common/constants/AaveV3LikeConstants' import { SparkLendingPool } from './SparkLendingPool' import { SparkCollateralConfig } from './SparkCollateralConfig' import { SparkDebtConfig } from './SparkDebtConfig' -import { SparkCollateralConfigMap, SparkCollateralConfigRecord } from './SparkCollateralConfigMap' -import { SparkDebtConfigRecord, SparkDebtConfigMap } from './SparkDebtConfigMap' import { AaveV3LikeProtocolDataBuilder, @@ -40,97 +32,82 @@ import { } from '../abis/SparkABIS' import { ActionBuildersMap, IProtocolPluginContext } from '@summerfi/protocol-plugins-common' import { SparkAddressAbiMap } from '../types/SparkAddressAbiMap' -import { EmodeType } from '../../common/enums/EmodeType' import { IUser } from '@summerfi/sdk-common/user' import { IExternalPosition, IPositionsManager, TransactionInfo } from '@summerfi/sdk-common/orders' -import { ISparkPoolId } from '../interfaces/ISparkPoolId' +import { ISparkLendingPoolIdData, isSparkLendingPoolId } from '../interfaces/ISparkLendingPoolId' +import { SparkStepBuilders } from '../builders/SparkStepBuilders' +import { AaveV3PositionId } from '../../aave-v3/implementation/AaveV3PositionId' +import { ISparkPositionIdData, isSparkPositionId } from '../interfaces' +import { ILendingPoolIdData, IPositionIdData, RiskRatioType } from '@summerfi/sdk-common' -type AssetsList = ReturnType +type AssetsList = ReturnType type Asset = Awaited extends (infer U)[] ? U : never +/** + * @class SparkProtocolPlugin + * @description Protocol plugin for the Spark protocol + * @see BaseProtocolPlugin + */ export class SparkProtocolPlugin extends BaseProtocolPlugin { readonly protocolName: ProtocolName.Spark = ProtocolName.Spark readonly supportedChains = valuesOfChainFamilyMap([ChainFamilyName.Ethereum]) - readonly sparkPoolIdSchema = z.object({ - protocol: z.object({ - name: z.literal(ProtocolName.Spark), - chainInfo: z.object({ - name: z.string(), - chainId: z.custom( - (chainId) => this.supportedChains.some((chainInfo) => chainInfo.chainId === chainId), - 'Chain ID not supported', - true, - ), - }), - }), - emodeType: z.nativeEnum(EmodeType), - }) - - readonly stepBuilders: Partial = { - [SimulationSteps.DepositBorrow]: SparkDepositBorrowActionBuilder, - } + readonly stepBuilders: Partial = SparkStepBuilders constructor(params: { context: IProtocolPluginContext; deploymentConfigTag?: string }) { super(params) - } - isPoolId(candidate: unknown): candidate is ISparkPoolId { - return this._isPoolId(candidate, this.sparkPoolIdSchema) + if ( + !this.supportedChains.some( + (chainInfo) => chainInfo.chainId === this.context.provider.chain?.id, + ) + ) { + throw new Error(`Chain ID ${this.context.provider.chain?.id} is not supported`) + } } - validatePoolId(candidate: unknown): asserts candidate is ISparkPoolId { - if (!this.isPoolId(candidate)) { + /** VALIDATORS */ + + /** @see BaseProtocolPlugin._validateLendingPoolId */ + protected _validateLendingPoolId( + candidate: ILendingPoolIdData, + ): asserts candidate is ISparkLendingPoolIdData { + if (!isSparkLendingPoolId(candidate)) { throw new Error(`Invalid Spark pool ID: ${JSON.stringify(candidate)}`) } } - async getPool(poolId: unknown): Promise { - this.validatePoolId(poolId) - - const emode = sparkEmodeCategoryMap[poolId.emodeType] - - const ctx = this.ctx - const chainId = ctx.provider.chain?.id - if (!chainId) throw new Error('ctx.provider.chain.id undefined') - - if (!this.supportedChains.some((chainInfo) => chainInfo.chainId === chainId)) { - throw new Error(`Chain ID ${chainId} is not supported`) + /** @see BaseProtocolPlugin._validatePositionId */ + protected _validatePositionId( + candidate: IPositionIdData, + ): asserts candidate is ISparkPositionIdData { + if (!isSparkPositionId(candidate)) { + throw new Error(`Invalid Spark position ID: ${JSON.stringify(candidate)}`) } + } - const assetsList = await this.buildAssetsList(emode) - - // Both USDC & DAI use fixed price oracles that keep both stable at 1 USD - const poolBaseCurrencyToken = CurrencySymbol.USD - - const collaterals = assetsList.reduce((colls, asset) => { - const assetInfo = this.getCollateralAssetInfo(asset, poolBaseCurrencyToken) - const { token: collateralToken } = asset - colls[collateralToken.address.value] = assetInfo - return colls - }, {}) - const debts = assetsList.reduce((debts, asset) => { - const assetInfo = this.getDebtAssetInfo(asset, poolBaseCurrencyToken) - if (!assetInfo) return debts - const { token: quoteToken } = asset - debts[quoteToken.address.value] = assetInfo - return debts - }, {}) + /** LENDING POOLS */ - return { + /** @see BaseProtocolPlugin._getLendingPoolImpl */ + protected async _getLendingPoolImpl(poolId: ISparkLendingPoolIdData): Promise { + return SparkLendingPool.createFrom({ type: PoolType.Lending, - poolId: poolId, - protocol: poolId.protocol, - baseCurrency: CurrencySymbol.USD, - collaterals: SparkCollateralConfigMap.createFrom({ record: collaterals }), - debts: SparkDebtConfigMap.createFrom({ record: debts }), - } + id: poolId, + }) } + /** POSITIONS */ + + /** @see BaseProtocolPlugin.getPosition */ // eslint-disable-next-line @typescript-eslint/no-unused-vars - async getPosition(positionId: IPositionId): Promise { + async getPosition(positionId: AaveV3PositionId): Promise { + this._validatePositionId(positionId) + throw new Error(`Not implemented ${positionId}`) } + /** IMPORT POSITIONS */ + + /** @see BaseProtocolPlugin.getImportPositionTransaction */ async getImportPositionTransaction(params: { user: IUser externalPosition: IExternalPosition @@ -139,7 +116,9 @@ export class SparkProtocolPlugin extends BaseProtocolPlugin { throw new Error(`Not implemented ${params}`) } - private getContractDef(contractName: K): SparkAddressAbiMap[K] { + /** PRIVATE */ + + private _getContractDef(contractName: K): SparkAddressAbiMap[K] { const map: SparkAddressAbiMap = { Oracle: { address: '0x8105f69D9C41644c6A0803fDA7D03Aa70996cFD9', @@ -158,11 +137,11 @@ export class SparkProtocolPlugin extends BaseProtocolPlugin { return map[contractName] } - private async buildAssetsList(emode: bigint) { + private async _buildAssetsList(emode: bigint) { try { const _ctx = { ...this.ctx, - getContractDef: this.getContractDef, + getContractDef: this._getContractDef, } const builder = await new AaveV3LikeProtocolDataBuilder(_ctx, this.protocolName).init() const list = await builder @@ -179,7 +158,7 @@ export class SparkProtocolPlugin extends BaseProtocolPlugin { } } - private getCollateralAssetInfo( + private _getCollateralAssetInfo( asset: Asset, poolBaseCurrencyToken: Token | CurrencySymbol, ): SparkCollateralConfig { @@ -208,13 +187,13 @@ export class SparkProtocolPlugin extends BaseProtocolPlugin { ratio: Percentage.createFrom({ value: Number((ltv / LTV_TO_PERCENTAGE_DIVISOR).toString()), }), - type: RiskRatio.type.LTV, + type: RiskRatioType.LTV, }), liquidationThreshold: RiskRatio.createFrom({ ratio: Percentage.createFrom({ value: Number((liquidationThreshold / LTV_TO_PERCENTAGE_DIVISOR).toString()), }), - type: RiskRatio.type.LTV, + type: RiskRatioType.LTV, }), tokensLocked: TokenAmount.createFromBaseUnit({ token: collateralToken, @@ -235,7 +214,7 @@ export class SparkProtocolPlugin extends BaseProtocolPlugin { } } - private getDebtAssetInfo( + private _getDebtAssetInfo( asset: Asset, poolBaseCurrencyToken: CurrencySymbol | Token, ): Maybe { @@ -292,3 +271,34 @@ export class SparkProtocolPlugin extends BaseProtocolPlugin { } } } + +/** + const emode = sparkEmodeCategoryMap[poolId.emodeType] + + const ctx = this.ctx + const chainId = ctx.provider.chain?.id + if (!chainId) throw new Error('ctx.provider.chain.id undefined') + + if (!this.supportedChains.some((chainInfo) => chainInfo.chainId === chainId)) { + throw new Error(`Chain ID ${chainId} is not supported`) + } + + const assetsList = await this.buildAssetsList(emode) + + // Both USDC & DAI use fixed price oracles that keep both stable at 1 USD + const poolBaseCurrencyToken = CurrencySymbol.USD + + const collaterals = assetsList.reduce((colls, asset) => { + const assetInfo = this.getCollateralAssetInfo(asset, poolBaseCurrencyToken) + const { token: collateralToken } = asset + colls[collateralToken.address.value] = assetInfo + return colls + }, {}) + const debts = assetsList.reduce((debts, asset) => { + const assetInfo = this.getDebtAssetInfo(asset, poolBaseCurrencyToken) + if (!assetInfo) return debts + const { token: quoteToken } = asset + debts[quoteToken.address.value] = assetInfo + return debts + }, {}) + */ diff --git a/sdk/protocol-plugins/src/plugins/spark/implementation/index.ts b/sdk/protocol-plugins/src/plugins/spark/implementation/index.ts index 266832ac9f..d05a09e566 100644 --- a/sdk/protocol-plugins/src/plugins/spark/implementation/index.ts +++ b/sdk/protocol-plugins/src/plugins/spark/implementation/index.ts @@ -5,5 +5,7 @@ export * from './SparkDebtConfig' export * from './SparkDebtConfigMap' export * from './SparkLendingPool' export * from './SparkProtocolPlugin' -export * from './SparkPoolId' +export * from './SparkLendingPoolId' export * from './SparkPositionId' +export * from './SparkPosition' +export * from './SparkProtocol' diff --git a/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkLendingPool.ts b/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkLendingPool.ts index 5ce26d9f87..6037f0cc8b 100644 --- a/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkLendingPool.ts +++ b/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkLendingPool.ts @@ -1,8 +1,60 @@ -import { ILendingPool } from '@summerfi/sdk-common/protocols' -import { ISparkDebtConfigMap } from './ISparkDebtConfigMap' -import { ISparkCollateralConfigMap } from './ISparkCollateralConfigMap' +import { ILendingPoolData, LendingPoolSchema } from '@summerfi/sdk-common/protocols' +import { + ISparkLendingPoolId, + ISparkLendingPoolIdData, + SparkLendingPoolIdSchema, +} from './ISparkLendingPoolId' +import { z } from 'zod' +import { ILendingPool, PoolType } from '@summerfi/sdk-common' -export interface ISparkLendingPool extends ILendingPool { - collaterals: ISparkCollateralConfigMap - debts: ISparkDebtConfigMap +/** + * @interface ISparkLendingPoolData + * @description Represents a lending pool in the Spark protocol + * + * Currently empty as there are no specifics for this protocol + */ +export interface ISparkLendingPoolData extends ILendingPoolData { + /** The id of the lending pool */ + readonly id: ISparkLendingPoolIdData } + +/** + * @interface ISparkLendingPool + * @description Interface for the implementors of the lending pool + * + * This interface is used to add all the methods that the interface supports + * + * Typescript forces the interface to re-declare any properties that have different BUT compatible types. + * This may be fixed eventually, there is a discussion on the topic here: https://github.com/microsoft/TypeScript/issues/16936 + */ +export interface ISparkLendingPool extends ISparkLendingPoolData, ILendingPool { + readonly id: ISparkLendingPoolId + + // Re-declaring the properties with the correct types + readonly type: PoolType.Lending +} + +/** + * @description Zod schema for ISparkLendingPool + */ +export const SparkLendingPoolSchema = z.object({ + ...LendingPoolSchema.shape, + id: SparkLendingPoolIdSchema, +}) + +/** + * @description Type guard for ISparkLendingPool + * @param maybeLendingPool + * @returns true if the object is an ISparkLendingPool + */ +export function isSparkLendingPool( + maybeLendingPool: unknown, +): maybeLendingPool is ISparkLendingPoolData { + return SparkLendingPoolSchema.safeParse(maybeLendingPool).success +} + +/** + * Checker to make sure that the schema is aligned with the interface + */ +/* eslint-disable-next-line @typescript-eslint/no-unused-vars */ +const __schemaChecker: ISparkLendingPoolData = {} as z.infer diff --git a/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkLendingPoolId.ts b/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkLendingPoolId.ts new file mode 100644 index 0000000000..15806c9b9b --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkLendingPoolId.ts @@ -0,0 +1,60 @@ +import { ILendingPoolIdData } from '@summerfi/sdk-common/protocols' +import { EmodeType, EmodeTypeSchema } from '../../common/enums/EmodeType' +import { ISparkProtocol, ISparkProtocolData, SparkProtocolSchema } from './ISparkProtocol' +import { ILendingPoolId, IToken, LendingPoolIdSchema } from '@summerfi/sdk-common' +import { z } from 'zod' + +/** + * @interface ISparkLendingPoolIdData + * @description Identifier of a lending pool in the Spark protocol + */ +export interface ISparkLendingPoolIdData extends ILendingPoolIdData { + /** The protocol to which the pool belongs */ + readonly protocol: ISparkProtocolData + /** The efficiency mode of the pool */ + readonly emodeType: EmodeType +} + +/** + * @interface ISparkLendingPoolId + * @description Interface for the implementors of the lending pool id + * + * This interface is used to add all the methods that the interface supports + * + * Typescript forces the interface to re-declare any properties that have different BUT compatible types. + * This may be fixed eventually, there is a discussion on the topic here: https://github.com/microsoft/TypeScript/issues/16936 + */ +export interface ISparkLendingPoolId extends ISparkLendingPoolIdData, ILendingPoolId { + readonly protocol: ISparkProtocol + readonly emodeType: EmodeType + + // Re-declaring the properties with the correct types + readonly collateralToken: IToken + readonly debtToken: IToken +} + +/** + * @description Zod schema for ISparkLendingPoolId + */ +export const SparkLendingPoolIdSchema = z.object({ + ...LendingPoolIdSchema.shape, + protocol: SparkProtocolSchema, + emodeType: EmodeTypeSchema, +}) + +/** + * @description Type guard for ISparkLendingPoolId + * @param poolId Object to be checked + * @returns true if the object is an ISparkLendingPoolId + */ +export function isSparkLendingPoolId( + maybeLendingPoolId: unknown, +): maybeLendingPoolId is ISparkLendingPoolIdData { + return SparkLendingPoolIdSchema.safeParse(maybeLendingPoolId).success +} + +/** + * Checker to make sure that the schema is aligned with the interface + */ +/* eslint-disable-next-line @typescript-eslint/no-unused-vars */ +const __schemaChecker: ISparkLendingPoolIdData = {} as z.infer diff --git a/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkPoolId.ts b/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkPoolId.ts deleted file mode 100644 index 5e5aa71a6a..0000000000 --- a/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkPoolId.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { IPoolId, ProtocolName } from '@summerfi/sdk-common/protocols' -import { EmodeType } from '../../common/enums/EmodeType' -import { ISparkProtocol } from './ISparkProtocol' - -export interface ISparkPoolId extends IPoolId { - protocol: ISparkProtocol - emodeType: EmodeType -} - -export function isSparkPoolId(poolId: IPoolId): poolId is ISparkPoolId { - return poolId.protocol.name === ProtocolName.Spark -} diff --git a/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkPosition.ts b/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkPosition.ts new file mode 100644 index 0000000000..80891f223e --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkPosition.ts @@ -0,0 +1,65 @@ +import { PositionSchema } from '@summerfi/sdk-common' +import { + IPosition, + IPositionData, + IPositionId, + ITokenAmount, + PositionType, +} from '@summerfi/sdk-common/common' +import { z } from 'zod' +import { + ISparkLendingPool, + ISparkLendingPoolData, + SparkLendingPoolSchema, +} from './ISparkLendingPool' + +/** + * @interface ISparkPositionData + * @description Represents a position in the Spark protocol + * + * Currently empty as there are no specifics for this protocol + */ +export interface ISparkPositionData extends IPositionData { + readonly pool: ISparkLendingPoolData +} + +/** + * @interface ISparkPosition + * @description Interface for the implementors of the position id + * + * This interface is used to add all the methods that the interface supports + * + * Typescript forces the interface to re-declare any properties that have different BUT compatible types. + * This may be fixed eventually, there is a discussion on the topic here: https://github.com/microsoft/TypeScript/issues/16936 + */ +export interface ISparkPosition extends ISparkPositionData, IPosition { + // Re-declaring the properties with the correct types + readonly type: PositionType + readonly id: IPositionId + readonly debtAmount: ITokenAmount + readonly collateralAmount: ITokenAmount + readonly pool: ISparkLendingPool +} + +/** + * @description Zod schema for ISparkPositionId + */ +export const SparkPositionSchema = z.object({ + ...PositionSchema.shape, + pool: SparkLendingPoolSchema, +}) + +/** + * @description Type guard for ISparkPosition + * @param maybePosition + * @returns true if the object is an ISparkPosition + */ +export function isSparkPosition(maybePosition: unknown): maybePosition is ISparkPositionData { + return SparkPositionSchema.safeParse(maybePosition).success +} + +/** + * Checker to make sure that the schema is aligned with the interface + */ +/* eslint-disable-next-line @typescript-eslint/no-unused-vars */ +const __schemaChecker: ISparkPositionData = {} as z.infer diff --git a/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkPositionId.ts b/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkPositionId.ts index ad958e5aa0..d31ef4fa87 100644 --- a/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkPositionId.ts +++ b/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkPositionId.ts @@ -1,10 +1,46 @@ -import { IPositionId } from '@summerfi/sdk-common/common' -import { isPositionId } from '@summerfi/sdk-common' +import { IPositionId, IPositionIdData, PositionIdSchema } from '@summerfi/sdk-common/common' +import { z } from 'zod' -export interface ISparkPositionId extends IPositionId { +/** + * @interface ISparkPositionIdData + * @description Represents the ID of a position in the Spark protocol + * + * Currently empty as there are no specifics for this protocol + */ +export interface ISparkPositionIdData extends IPositionIdData { // Empty on purpose } -export function isSparkPositionId(maybePositionId: unknown): maybePositionId is ISparkPositionId { - return isPositionId(maybePositionId) +/** + * @interface ISparkPositionId + * @description Interface for the implementors of the position id + * + * This interface is used to add all the methods that the interface supports + */ +export interface ISparkPositionId extends IPositionId, ISparkPositionIdData { + // Empty on purpose } + +/** + * @description Zod schema for ISparkPositionId + */ +export const SparkPositionIdSchema = z.object({ + ...PositionIdSchema.shape, +}) + +/** + * @description Type guard for ISparkPositionId + * @param maybePositionId + * @returns true if the object is an ISparkPositionId + */ +export function isSparkPositionId( + maybePositionId: unknown, +): maybePositionId is ISparkPositionIdData { + return SparkPositionIdSchema.safeParse(maybePositionId).success +} + +/** + * Checker to make sure that the schema is aligned with the interface + */ +/* eslint-disable-next-line @typescript-eslint/no-unused-vars */ +const __schemaChecker: ISparkPositionIdData = {} as z.infer diff --git a/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkProtocol.ts b/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkProtocol.ts index c4758e8d3c..5310e5c972 100644 --- a/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkProtocol.ts +++ b/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkProtocol.ts @@ -1,8 +1,49 @@ -import { IProtocol } from '@summerfi/sdk-common' -import { ChainInfo } from '@summerfi/sdk-common/common' -import { ProtocolName } from '@summerfi/sdk-common/protocols' +import { IChainInfo, IProtocol } from '@summerfi/sdk-common' +import { IProtocolData, ProtocolName, ProtocolSchema } from '@summerfi/sdk-common/protocols' +import { z } from 'zod' -export interface ISparkProtocol extends IProtocol { - name: ProtocolName.Spark - chainInfo: ChainInfo +/** + * @interface ISparkProtocolData + * @description Identifier of the Spark protocol + */ +export interface ISparkProtocolData extends IProtocolData { + /** Spark protocol name */ + readonly name: ProtocolName.Spark } + +/** + * @interface ISparkProtocol + * @description Interface for the implementors of the Spark protocol + * + * This interface is used to add all the methods that the interface supports + * + * Typescript forces the interface to re-declare any properties that have different BUT compatible types. + * This may be fixed eventually, there is a discussion on the topic here: https://github.com/microsoft/TypeScript/issues/16936 + */ +export interface ISparkProtocol extends ISparkProtocolData, IProtocol { + readonly name: ProtocolName.Spark + readonly chainInfo: IChainInfo +} + +/** + * @description Zod schema for ISparkProtocol + */ +export const SparkProtocolSchema = z.object({ + ...ProtocolSchema.shape, + name: z.literal(ProtocolName.Spark), +}) + +/** + * @description Type guard for ISparkProtocol + * @param maybeProtocol + * @returns true if the object is an ISparkProtocol + */ +export function isSparkProtocol(maybeProtocol: unknown): maybeProtocol is ISparkProtocolData { + return SparkProtocolSchema.safeParse(maybeProtocol).success +} + +/** + * Checker to make sure that the schema is aligned with the interface + */ +/* eslint-disable-next-line @typescript-eslint/no-unused-vars */ +const __schemaChecker: ISparkProtocolData = {} as z.infer diff --git a/sdk/protocol-plugins/src/plugins/spark/interfaces/index.ts b/sdk/protocol-plugins/src/plugins/spark/interfaces/index.ts index dbdbd287f7..fbcab6d783 100644 --- a/sdk/protocol-plugins/src/plugins/spark/interfaces/index.ts +++ b/sdk/protocol-plugins/src/plugins/spark/interfaces/index.ts @@ -4,4 +4,6 @@ export * from './ISparkDebtConfig' export * from './ISparkDebtConfigMap' export * from './ISparkLendingPool' export * from './ISparkPositionId' -export * from './ISparkPoolId' +export * from './ISparkLendingPoolId' +export * from './ISparkProtocol' +export * from './ISparkPosition' diff --git a/sdk/protocol-plugins/tests/actions/PositionCreatedAction.spec.ts b/sdk/protocol-plugins/tests/actions/PositionCreatedAction.spec.ts index a403002482..f811740ef1 100644 --- a/sdk/protocol-plugins/tests/actions/PositionCreatedAction.spec.ts +++ b/sdk/protocol-plugins/tests/actions/PositionCreatedAction.spec.ts @@ -41,13 +41,13 @@ describe('PositionCreated Action', () => { const position = Position.createFrom({ type: PositionType.Multiply, - positionId: { + id: { id: '0x123', }, pool: { type: PoolType.Lending, protocol: protocol, - poolId: { + id: { protocol: protocol, vaultId: '0x123', ilkType: ILKType.ETH_A, diff --git a/sdk/protocol-plugins/tests/builders/DepositBorrowActionBuilder.spec.ts b/sdk/protocol-plugins/tests/builders/DepositBorrowActionBuilder.spec.ts index f3350f9a06..367f975528 100644 --- a/sdk/protocol-plugins/tests/builders/DepositBorrowActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/builders/DepositBorrowActionBuilder.spec.ts @@ -68,7 +68,7 @@ describe('Deposit Borrow Action Builder', () => { const position = Position.createFrom({ type: PositionType.Multiply, - positionId: PositionId.createFrom({ id: 'someposition' }), + id: PositionId.createFrom({ id: 'someposition' }), debtAmount: borrowAmount, collateralAmount: depositAmount, pool: pool, diff --git a/sdk/protocol-plugins/tests/builders/PaybackWithdrawActionBuilder.spec.ts b/sdk/protocol-plugins/tests/builders/PaybackWithdrawActionBuilder.spec.ts index 9a3495419b..aa4832131d 100644 --- a/sdk/protocol-plugins/tests/builders/PaybackWithdrawActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/builders/PaybackWithdrawActionBuilder.spec.ts @@ -68,7 +68,7 @@ describe('Payback Withdraw Action Builder', () => { const position = Position.createFrom({ type: PositionType.Multiply, - positionId: PositionId.createFrom({ id: 'someposition' }), + id: PositionId.createFrom({ id: 'someposition' }), debtAmount: withdrawAmount, collateralAmount: paybackAmount, pool: pool, diff --git a/sdk/protocol-plugins/tests/integration/AAVEv3ProtocolPlugin.spec.ts b/sdk/protocol-plugins/tests/integration/AAVEv3ProtocolPlugin.spec.ts index 88a2a7f340..2a2cb82504 100644 --- a/sdk/protocol-plugins/tests/integration/AAVEv3ProtocolPlugin.spec.ts +++ b/sdk/protocol-plugins/tests/integration/AAVEv3ProtocolPlugin.spec.ts @@ -23,7 +23,7 @@ describe('AAVEv3 Protocol Plugin (Integration)', () => { }) it('correctly populates collateral configuration from blockchain data', async () => { - const pool = await aaveV3ProtocolPlugin.getPool(validAaveV3PoolId) + const pool = await aaveV3ProtocolPlugin.getLendingPool(validAaveV3PoolId) const mockCollateralToken = Token.createFrom({ chainInfo: ChainInfo.createFrom({ chainId: 1, name: 'Ethereum' }), address: Address.createFromEthereum({ value: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2' }), @@ -32,59 +32,60 @@ describe('AAVEv3 Protocol Plugin (Integration)', () => { decimals: 18, }) - const config = pool.collaterals.get({ token: mockCollateralToken }) - expect(config).toBeDefined() - expect(config).toMatchObject({ - token: expect.objectContaining({ - symbol: mockCollateralToken.symbol, - address: mockCollateralToken.address, - decimals: mockCollateralToken.decimals, - name: mockCollateralToken.name, - }), - price: expect.anything(), - priceUSD: expect.anything(), - maxLtv: expect.anything(), - liquidationThreshold: expect.anything(), - tokensLocked: expect.anything(), - maxSupply: expect.anything(), - liquidationPenalty: expect.anything(), - apy: expect.anything(), - usageAsCollateralEnabled: expect.any(Boolean), - }) - - const price = config!.price - expect(price).toBeInstanceOf(Price) - expect(Number(price.value)).toBeGreaterThan(0) - - const priceUSD = config!.priceUSD - expect(priceUSD).toBeInstanceOf(Price) - expect(Number(priceUSD.value)).toBeGreaterThan(0) - - const maxLtv = config!.maxLtv - expect(maxLtv).toBeInstanceOf(RiskRatio) - expect(maxLtv.ratio.value).toBeGreaterThan(0) - expect(maxLtv.ratio.value).toBeLessThan(100) - - const liquidationThreshold = config!.liquidationThreshold - expect(liquidationThreshold).toBeInstanceOf(RiskRatio) - expect(liquidationThreshold.ratio.value).toBeGreaterThan(0) - expect(liquidationThreshold.ratio.value).toBeLessThan(100) - - const tokensLocked = config!.tokensLocked - expect(tokensLocked).toBeInstanceOf(TokenAmount) - expect(Number(tokensLocked.amount)).toBeGreaterThan(0) - - const maxSupply = config!.maxSupply - expect(maxSupply).toBeInstanceOf(TokenAmount) - expect(Number(maxSupply.amount)).toBeGreaterThan(0) - - const liquidationPenalty = config!.liquidationPenalty - expect(liquidationPenalty).toBeInstanceOf(Percentage) - expect(Number(liquidationPenalty.value)).toBeGreaterThan(100) + // TODO: re-enable when pool info is implemented + // const config = pool.collaterals.get({ token: mockCollateralToken }) + // expect(config).toBeDefined() + // expect(config).toMatchObject({ + // token: expect.objectContaining({ + // symbol: mockCollateralToken.symbol, + // address: mockCollateralToken.address, + // decimals: mockCollateralToken.decimals, + // name: mockCollateralToken.name, + // }), + // price: expect.anything(), + // priceUSD: expect.anything(), + // maxLtv: expect.anything(), + // liquidationThreshold: expect.anything(), + // tokensLocked: expect.anything(), + // maxSupply: expect.anything(), + // liquidationPenalty: expect.anything(), + // apy: expect.anything(), + // usageAsCollateralEnabled: expect.any(Boolean), + // }) + + // const price = config!.price + // expect(price).toBeInstanceOf(Price) + // expect(Number(price.value)).toBeGreaterThan(0) + + // const priceUSD = config!.priceUSD + // expect(priceUSD).toBeInstanceOf(Price) + // expect(Number(priceUSD.value)).toBeGreaterThan(0) + + // const maxLtv = config!.maxLtv + // expect(maxLtv).toBeInstanceOf(RiskRatio) + // expect(maxLtv.ratio.value).toBeGreaterThan(0) + // expect(maxLtv.ratio.value).toBeLessThan(100) + + // const liquidationThreshold = config!.liquidationThreshold + // expect(liquidationThreshold).toBeInstanceOf(RiskRatio) + // expect(liquidationThreshold.ratio.value).toBeGreaterThan(0) + // expect(liquidationThreshold.ratio.value).toBeLessThan(100) + + // const tokensLocked = config!.tokensLocked + // expect(tokensLocked).toBeInstanceOf(TokenAmount) + // expect(Number(tokensLocked.amount)).toBeGreaterThan(0) + + // const maxSupply = config!.maxSupply + // expect(maxSupply).toBeInstanceOf(TokenAmount) + // expect(Number(maxSupply.amount)).toBeGreaterThan(0) + + // const liquidationPenalty = config!.liquidationPenalty + // expect(liquidationPenalty).toBeInstanceOf(Percentage) + // expect(Number(liquidationPenalty.value)).toBeGreaterThan(100) }) it('correctly populates debt configuration from blockchain data', async () => { - const pool = await aaveV3ProtocolPlugin.getPool(validAaveV3PoolId) + const pool = await aaveV3ProtocolPlugin.getLendingPool(validAaveV3PoolId) const mockDebtToken = Token.createFrom({ chainInfo: ChainInfo.createFrom({ chainId: 1, name: 'Ethereum' }), @@ -94,56 +95,57 @@ describe('AAVEv3 Protocol Plugin (Integration)', () => { decimals: 18, }) - const config = pool.debts.get({ token: mockDebtToken }) - expect(config).toBeDefined() - expect(config).toMatchObject({ - token: expect.objectContaining({ - symbol: mockDebtToken.symbol, - address: mockDebtToken.address, - decimals: mockDebtToken.decimals, - name: mockDebtToken.name, - }), - price: expect.anything(), - priceUSD: expect.anything(), - rate: expect.anything(), - totalBorrowed: expect.anything(), - debtCeiling: expect.anything(), - debtAvailable: expect.anything(), - dustLimit: expect.anything(), - originationFee: expect.anything(), - borrowingEnabled: expect.any(Boolean), - }) - - const price = config!.price - expect(price).toBeInstanceOf(Price) - expect(Number(price.value)).toBeGreaterThan(0) - - const priceUSD = config!.priceUSD - expect(priceUSD).toBeInstanceOf(Price) - expect(Number(priceUSD.value)).toBeGreaterThan(0) - - const rate = config!.rate - expect(rate).toBeInstanceOf(Percentage) - expect(rate.value).toBeGreaterThan(0) - expect(rate.value).toBeLessThan(100) - - const totalBorrowed = config!.totalBorrowed - expect(totalBorrowed).toBeInstanceOf(TokenAmount) - expect(Number(totalBorrowed.amount)).toBeGreaterThan(0) - - const debtCeiling = config!.debtCeiling - expect(debtCeiling).toBeInstanceOf(TokenAmount) - expect(Number(debtCeiling.amount)).toBeGreaterThan(0) - - const debtAvailable = config!.debtAvailable - expect(debtAvailable).toBeInstanceOf(TokenAmount) - expect(Number(debtAvailable.amount)).toBeGreaterThan(0) - - const dustLimit = config!.dustLimit - expect(dustLimit).toBeInstanceOf(TokenAmount) - expect(Number(dustLimit.amount)).toBe(0) - - const originationFee = config!.originationFee - expect(originationFee).toBeInstanceOf(Percentage) + // TODO: re-enable when pool info is implemented + // const config = pool.debts.get({ token: mockDebtToken }) + // expect(config).toBeDefined() + // expect(config).toMatchObject({ + // token: expect.objectContaining({ + // symbol: mockDebtToken.symbol, + // address: mockDebtToken.address, + // decimals: mockDebtToken.decimals, + // name: mockDebtToken.name, + // }), + // price: expect.anything(), + // priceUSD: expect.anything(), + // rate: expect.anything(), + // totalBorrowed: expect.anything(), + // debtCeiling: expect.anything(), + // debtAvailable: expect.anything(), + // dustLimit: expect.anything(), + // originationFee: expect.anything(), + // borrowingEnabled: expect.any(Boolean), + // }) + + // const price = config!.price + // expect(price).toBeInstanceOf(Price) + // expect(Number(price.value)).toBeGreaterThan(0) + + // const priceUSD = config!.priceUSD + // expect(priceUSD).toBeInstanceOf(Price) + // expect(Number(priceUSD.value)).toBeGreaterThan(0) + + // const rate = config!.rate + // expect(rate).toBeInstanceOf(Percentage) + // expect(rate.value).toBeGreaterThan(0) + // expect(rate.value).toBeLessThan(100) + + // const totalBorrowed = config!.totalBorrowed + // expect(totalBorrowed).toBeInstanceOf(TokenAmount) + // expect(Number(totalBorrowed.amount)).toBeGreaterThan(0) + + // const debtCeiling = config!.debtCeiling + // expect(debtCeiling).toBeInstanceOf(TokenAmount) + // expect(Number(debtCeiling.amount)).toBeGreaterThan(0) + + // const debtAvailable = config!.debtAvailable + // expect(debtAvailable).toBeInstanceOf(TokenAmount) + // expect(Number(debtAvailable.amount)).toBeGreaterThan(0) + + // const dustLimit = config!.dustLimit + // expect(dustLimit).toBeInstanceOf(TokenAmount) + // expect(Number(dustLimit.amount)).toBe(0) + + // const originationFee = config!.originationFee + // expect(originationFee).toBeInstanceOf(Percentage) }) }) diff --git a/sdk/protocol-plugins/tests/integration/MakerProtocolPlugin.spec.ts b/sdk/protocol-plugins/tests/integration/MakerProtocolPlugin.spec.ts index 003e436b2b..df949bc9f2 100644 --- a/sdk/protocol-plugins/tests/integration/MakerProtocolPlugin.spec.ts +++ b/sdk/protocol-plugins/tests/integration/MakerProtocolPlugin.spec.ts @@ -21,30 +21,9 @@ describe('Maker Protocol Plugin (Integration)', () => { context: ctx, }) }) - // - // it('should throw an error when a OSM/TokenService reads fail', async () => { - // const wrongCtx = await createProtocolPluginContext({ - // contractProvider: new MockContractProvider({ - // ...defaultAddressAbiMapsByProtocol, - // [ProtocolName.Maker]: { - // ...defaultAddressAbiMapsByProtocol[ProtocolName.Maker], - // IlkRegistry: { - // ...defaultAddressAbiMapsByProtocol[ProtocolName.Maker].IlkRegistry, - // address: '0xWrong', - // }, - // }, - // }), - // }) - // const makerProtocolPluginWithWrongCtx = new MakerProtocolPlugin() - // makerProtocolPluginWithWrongCtx.init(wrongCtx) - // - // await expect(makerProtocolPluginWithWrongCtx.getPool(validMakerPoolId)).rejects.toThrow( - // `An error occurred fetching protocol data for Maker`, - // ) - // }) it('correctly populates collateral configuration from blockchain data', async () => { - const pool = await makerProtocolPlugin.getPool(validMakerPoolId) + const pool = await makerProtocolPlugin.getLendingPool(validMakerPoolId) const mockCollateralToken = Token.createFrom({ chainInfo: ChainInfo.createFrom({ chainId: 1, name: 'Ethereum' }), address: Address.createFromEthereum({ value: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2' }), @@ -53,59 +32,60 @@ describe('Maker Protocol Plugin (Integration)', () => { decimals: 18, }) - const config = pool.collaterals.get({ token: mockCollateralToken }) - expect(config).toBeDefined() - expect(config).toMatchObject({ - token: expect.objectContaining({ - symbol: mockCollateralToken.symbol, - address: mockCollateralToken.address, - decimals: mockCollateralToken.decimals, - name: mockCollateralToken.name, - }), - price: expect.anything(), - nextPrice: expect.anything(), - priceUSD: expect.anything(), - lastPriceUpdate: expect.any(Date), - nextPriceUpdate: expect.any(Date), - liquidationThreshold: expect.anything(), - tokensLocked: expect.anything(), - maxSupply: expect.anything(), - liquidationPenalty: expect.anything(), - }) - - const price = config!.price - expect(price).toBeInstanceOf(Price) - expect(Number(price.value)).toBeGreaterThan(0) - - const nextPrice = config!.nextPrice - expect(nextPrice).toBeInstanceOf(Price) - expect(Number(nextPrice.value)).toBeGreaterThan(0) - - const priceUSD = config!.priceUSD - expect(priceUSD).toBeInstanceOf(Price) - expect(Number(priceUSD.value)).toBeGreaterThan(0) - - const liquidationThreshold = config!.liquidationThreshold - expect(liquidationThreshold).toBeInstanceOf(RiskRatio) - expect(liquidationThreshold.ratio.value).toBeGreaterThan(0) - expect(liquidationThreshold.ratio.value).toBeLessThan(100) - - const tokensLocked = config!.tokensLocked - expect(tokensLocked).toBeInstanceOf(TokenAmount) - expect(Number(tokensLocked.amount)).toBeGreaterThan(0) - - const maxSupply = config!.maxSupply - expect(maxSupply).toBeInstanceOf(TokenAmount) - expect(Number(maxSupply.amount)).toBeGreaterThan(0) - - const liquidationPenalty = config!.liquidationPenalty - expect(liquidationPenalty).toBeInstanceOf(Percentage) - expect(Number(liquidationPenalty.value)).toBeGreaterThan(0) - expect(Number(liquidationPenalty.value)).toBeLessThan(100) + // TODO: re-enable when pool info is implemented + // const config = pool.collaterals.get({ token: mockCollateralToken }) + // expect(config).toBeDefined() + // expect(config).toMatchObject({ + // token: expect.objectContaining({ + // symbol: mockCollateralToken.symbol, + // address: mockCollateralToken.address, + // decimals: mockCollateralToken.decimals, + // name: mockCollateralToken.name, + // }), + // price: expect.anything(), + // nextPrice: expect.anything(), + // priceUSD: expect.anything(), + // lastPriceUpdate: expect.any(Date), + // nextPriceUpdate: expect.any(Date), + // liquidationThreshold: expect.anything(), + // tokensLocked: expect.anything(), + // maxSupply: expect.anything(), + // liquidationPenalty: expect.anything(), + // }) + + // const price = config!.price + // expect(price).toBeInstanceOf(Price) + // expect(Number(price.value)).toBeGreaterThan(0) + + // const nextPrice = config!.nextPrice + // expect(nextPrice).toBeInstanceOf(Price) + // expect(Number(nextPrice.value)).toBeGreaterThan(0) + + // const priceUSD = config!.priceUSD + // expect(priceUSD).toBeInstanceOf(Price) + // expect(Number(priceUSD.value)).toBeGreaterThan(0) + + // const liquidationThreshold = config!.liquidationThreshold + // expect(liquidationThreshold).toBeInstanceOf(RiskRatio) + // expect(liquidationThreshold.ratio.value).toBeGreaterThan(0) + // expect(liquidationThreshold.ratio.value).toBeLessThan(100) + + // const tokensLocked = config!.tokensLocked + // expect(tokensLocked).toBeInstanceOf(TokenAmount) + // expect(Number(tokensLocked.amount)).toBeGreaterThan(0) + + // const maxSupply = config!.maxSupply + // expect(maxSupply).toBeInstanceOf(TokenAmount) + // expect(Number(maxSupply.amount)).toBeGreaterThan(0) + + // const liquidationPenalty = config!.liquidationPenalty + // expect(liquidationPenalty).toBeInstanceOf(Percentage) + // expect(Number(liquidationPenalty.value)).toBeGreaterThan(0) + // expect(Number(liquidationPenalty.value)).toBeLessThan(100) }) it('correctly populates debt configuration from blockchain data', async () => { - const pool = await makerProtocolPlugin.getPool(validMakerPoolId) + const pool = await makerProtocolPlugin.getLendingPool(validMakerPoolId) const mockDebtToken = Token.createFrom({ chainInfo: ChainInfo.createFrom({ chainId: 1, name: 'Ethereum' }), @@ -115,55 +95,56 @@ describe('Maker Protocol Plugin (Integration)', () => { decimals: 18, }) - const config = pool.debts.get({ token: mockDebtToken }) - expect(config).toBeDefined() - expect(config).toMatchObject({ - token: expect.objectContaining({ - symbol: mockDebtToken.symbol, - address: mockDebtToken.address, - decimals: mockDebtToken.decimals, - name: mockDebtToken.name, - }), - price: expect.anything(), - priceUSD: expect.anything(), - rate: expect.anything(), - totalBorrowed: expect.anything(), - debtCeiling: expect.anything(), - debtAvailable: expect.anything(), - dustLimit: expect.anything(), - originationFee: expect.anything(), - }) - - const price = config!.price - expect(price).toBeInstanceOf(Price) - expect(Number(price.value)).toBeGreaterThan(0) - - const priceUSD = config!.priceUSD - expect(priceUSD).toBeInstanceOf(Price) - expect(Number(priceUSD.value)).toBeGreaterThan(0) - - const rate = config!.rate - expect(rate).toBeInstanceOf(Percentage) - expect(rate.value).toBeGreaterThan(0) - expect(rate.value).toBeLessThan(100) - - const totalBorrowed = config!.totalBorrowed - expect(totalBorrowed).toBeInstanceOf(TokenAmount) - expect(Number(totalBorrowed.amount)).toBeGreaterThan(0) - - const debtCeiling = config!.debtCeiling - expect(debtCeiling).toBeInstanceOf(TokenAmount) - expect(Number(debtCeiling.amount)).toBeGreaterThan(0) - - const debtAvailable = config!.debtAvailable - expect(debtAvailable).toBeInstanceOf(TokenAmount) - expect(Number(debtAvailable.amount)).toBeGreaterThan(0) - - const dustLimit = config!.dustLimit - expect(dustLimit).toBeInstanceOf(TokenAmount) - expect(Number(dustLimit.amount)).toBeGreaterThan(0) - - const originationFee = config!.originationFee - expect(originationFee).toBeInstanceOf(Percentage) + // TODO: re-enable when pool info is implemented + // const config = pool.debts.get({ token: mockDebtToken }) + // expect(config).toBeDefined() + // expect(config).toMatchObject({ + // token: expect.objectContaining({ + // symbol: mockDebtToken.symbol, + // address: mockDebtToken.address, + // decimals: mockDebtToken.decimals, + // name: mockDebtToken.name, + // }), + // price: expect.anything(), + // priceUSD: expect.anything(), + // rate: expect.anything(), + // totalBorrowed: expect.anything(), + // debtCeiling: expect.anything(), + // debtAvailable: expect.anything(), + // dustLimit: expect.anything(), + // originationFee: expect.anything(), + // }) + + // const price = config!.price + // expect(price).toBeInstanceOf(Price) + // expect(Number(price.value)).toBeGreaterThan(0) + + // const priceUSD = config!.priceUSD + // expect(priceUSD).toBeInstanceOf(Price) + // expect(Number(priceUSD.value)).toBeGreaterThan(0) + + // const rate = config!.rate + // expect(rate).toBeInstanceOf(Percentage) + // expect(rate.value).toBeGreaterThan(0) + // expect(rate.value).toBeLessThan(100) + + // const totalBorrowed = config!.totalBorrowed + // expect(totalBorrowed).toBeInstanceOf(TokenAmount) + // expect(Number(totalBorrowed.amount)).toBeGreaterThan(0) + + // const debtCeiling = config!.debtCeiling + // expect(debtCeiling).toBeInstanceOf(TokenAmount) + // expect(Number(debtCeiling.amount)).toBeGreaterThan(0) + + // const debtAvailable = config!.debtAvailable + // expect(debtAvailable).toBeInstanceOf(TokenAmount) + // expect(Number(debtAvailable.amount)).toBeGreaterThan(0) + + // const dustLimit = config!.dustLimit + // expect(dustLimit).toBeInstanceOf(TokenAmount) + // expect(Number(dustLimit.amount)).toBeGreaterThan(0) + + // const originationFee = config!.originationFee + // expect(originationFee).toBeInstanceOf(Percentage) }) }) diff --git a/sdk/protocol-plugins/tests/integration/SparkProtocolPlugin.spec.ts b/sdk/protocol-plugins/tests/integration/SparkProtocolPlugin.spec.ts index bffe2abb84..a92b047850 100644 --- a/sdk/protocol-plugins/tests/integration/SparkProtocolPlugin.spec.ts +++ b/sdk/protocol-plugins/tests/integration/SparkProtocolPlugin.spec.ts @@ -24,7 +24,7 @@ describe('Spark Protocol Plugin (Integration)', () => { }) it('correctly populates collateral configuration from blockchain data', async () => { - const pool = await sparkProtocolPlugin.getPool(validSparkPoolId) + const pool = await sparkProtocolPlugin.getLendingPool(validSparkPoolId) const mockCollateralToken = Token.createFrom({ chainInfo: ChainInfo.createFrom({ chainId: 1, name: 'Ethereum' }), address: Address.createFromEthereum({ value: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2' }), @@ -33,59 +33,60 @@ describe('Spark Protocol Plugin (Integration)', () => { decimals: 18, }) - const config = pool.collaterals.get({ token: mockCollateralToken }) - expect(config).toBeDefined() - expect(config).toMatchObject({ - token: expect.objectContaining({ - symbol: mockCollateralToken.symbol, - address: mockCollateralToken.address, - decimals: mockCollateralToken.decimals, - name: mockCollateralToken.name, - }), - price: expect.anything(), - priceUSD: expect.anything(), - maxLtv: expect.anything(), - liquidationThreshold: expect.anything(), - tokensLocked: expect.anything(), - maxSupply: expect.anything(), - liquidationPenalty: expect.anything(), - apy: expect.anything(), - usageAsCollateralEnabled: expect.any(Boolean), - }) - - const price = config!.price - expect(price).toBeInstanceOf(Price) - expect(Number(price.value)).toBeGreaterThan(0) - - const priceUSD = config!.priceUSD - expect(priceUSD).toBeInstanceOf(Price) - expect(Number(priceUSD.value)).toBeGreaterThan(0) - - const maxLtv = config!.maxLtv - expect(maxLtv).toBeInstanceOf(RiskRatio) - expect(maxLtv.ratio.value).toBeGreaterThan(0) - expect(maxLtv.ratio.value).toBeLessThan(100) - - const liquidationThreshold = config!.liquidationThreshold - expect(liquidationThreshold).toBeInstanceOf(RiskRatio) - expect(liquidationThreshold.ratio.value).toBeGreaterThan(0) - expect(liquidationThreshold.ratio.value).toBeLessThan(100) - - const tokensLocked = config!.tokensLocked - expect(tokensLocked).toBeInstanceOf(TokenAmount) - expect(Number(tokensLocked.amount)).toBeGreaterThan(0) - - const maxSupply = config!.maxSupply - expect(maxSupply).toBeInstanceOf(TokenAmount) - expect(Number(maxSupply.amount)).toBeGreaterThan(0) - - const liquidationPenalty = config!.liquidationPenalty - expect(liquidationPenalty).toBeInstanceOf(Percentage) - expect(Number(liquidationPenalty.value)).toBeGreaterThan(100) + // TODO: re-enable when pool info is implemented + // const config = pool.collaterals.get({ token: mockCollateralToken }) + // expect(config).toBeDefined() + // expect(config).toMatchObject({ + // token: expect.objectContaining({ + // symbol: mockCollateralToken.symbol, + // address: mockCollateralToken.address, + // decimals: mockCollateralToken.decimals, + // name: mockCollateralToken.name, + // }), + // price: expect.anything(), + // priceUSD: expect.anything(), + // maxLtv: expect.anything(), + // liquidationThreshold: expect.anything(), + // tokensLocked: expect.anything(), + // maxSupply: expect.anything(), + // liquidationPenalty: expect.anything(), + // apy: expect.anything(), + // usageAsCollateralEnabled: expect.any(Boolean), + // }) + + // const price = config!.price + // expect(price).toBeInstanceOf(Price) + // expect(Number(price.value)).toBeGreaterThan(0) + + // const priceUSD = config!.priceUSD + // expect(priceUSD).toBeInstanceOf(Price) + // expect(Number(priceUSD.value)).toBeGreaterThan(0) + + // const maxLtv = config!.maxLtv + // expect(maxLtv).toBeInstanceOf(RiskRatio) + // expect(maxLtv.ratio.value).toBeGreaterThan(0) + // expect(maxLtv.ratio.value).toBeLessThan(100) + + // const liquidationThreshold = config!.liquidationThreshold + // expect(liquidationThreshold).toBeInstanceOf(RiskRatio) + // expect(liquidationThreshold.ratio.value).toBeGreaterThan(0) + // expect(liquidationThreshold.ratio.value).toBeLessThan(100) + + // const tokensLocked = config!.tokensLocked + // expect(tokensLocked).toBeInstanceOf(TokenAmount) + // expect(Number(tokensLocked.amount)).toBeGreaterThan(0) + + // const maxSupply = config!.maxSupply + // expect(maxSupply).toBeInstanceOf(TokenAmount) + // expect(Number(maxSupply.amount)).toBeGreaterThan(0) + + // const liquidationPenalty = config!.liquidationPenalty + // expect(liquidationPenalty).toBeInstanceOf(Percentage) + // expect(Number(liquidationPenalty.value)).toBeGreaterThan(100) }) it('correctly populates debt configuration from blockchain data', async () => { - pool = await sparkProtocolPlugin.getPool(validSparkPoolId) + const pool = await sparkProtocolPlugin.getLendingPool(validSparkPoolId) const mockDebtToken = Token.createFrom({ chainInfo: ChainInfo.createFrom({ chainId: 1, name: 'Ethereum' }), @@ -95,57 +96,58 @@ describe('Spark Protocol Plugin (Integration)', () => { decimals: 18, }) - const config = pool.debts.get({ token: mockDebtToken }) - expect(config).toBeDefined() - expect(config).toMatchObject({ - token: expect.objectContaining({ - symbol: mockDebtToken.symbol, - address: mockDebtToken.address, - decimals: mockDebtToken.decimals, - name: mockDebtToken.name, - }), - price: expect.anything(), - priceUSD: expect.anything(), - rate: expect.anything(), - totalBorrowed: expect.anything(), - debtCeiling: expect.anything(), - debtAvailable: expect.anything(), - dustLimit: expect.anything(), - originationFee: expect.anything(), - borrowingEnabled: expect.any(Boolean), - }) - - const price = config!.price - expect(price).toBeInstanceOf(Price) - expect(Number(price.value)).toBeGreaterThan(0) - - const priceUSD = config!.priceUSD - expect(priceUSD).toBeInstanceOf(Price) - expect(Number(priceUSD.value)).toBeGreaterThan(0) - - const rate = config!.rate - expect(rate).toBeInstanceOf(Percentage) - expect(rate.value).toBeGreaterThan(0) - expect(rate.value).toBeLessThan(100) - - const totalBorrowed = config!.totalBorrowed - expect(totalBorrowed).toBeInstanceOf(TokenAmount) - expect(Number(totalBorrowed.amount)).toBeGreaterThan(0) - - const debtCeiling = config!.debtCeiling - expect(debtCeiling).toBeInstanceOf(TokenAmount) - expect(Number(debtCeiling.amount)).toBeGreaterThan(0) - - const debtAvailable = config!.debtAvailable - expect(debtAvailable).toBeInstanceOf(TokenAmount) - expect(Number(debtAvailable.amount)).toBeGreaterThan(0) - - const dustLimit = config!.dustLimit - expect(dustLimit).toBeInstanceOf(TokenAmount) - expect(Number(dustLimit.amount)).toBe(0) - - const originationFee = config!.originationFee - expect(originationFee).toBeInstanceOf(Percentage) + // TODO: re-enable when pool info is implemented + // const config = pool.debts.get({ token: mockDebtToken }) + // expect(config).toBeDefined() + // expect(config).toMatchObject({ + // token: expect.objectContaining({ + // symbol: mockDebtToken.symbol, + // address: mockDebtToken.address, + // decimals: mockDebtToken.decimals, + // name: mockDebtToken.name, + // }), + // price: expect.anything(), + // priceUSD: expect.anything(), + // rate: expect.anything(), + // totalBorrowed: expect.anything(), + // debtCeiling: expect.anything(), + // debtAvailable: expect.anything(), + // dustLimit: expect.anything(), + // originationFee: expect.anything(), + // borrowingEnabled: expect.any(Boolean), + // }) + + // const price = config!.price + // expect(price).toBeInstanceOf(Price) + // expect(Number(price.value)).toBeGreaterThan(0) + + // const priceUSD = config!.priceUSD + // expect(priceUSD).toBeInstanceOf(Price) + // expect(Number(priceUSD.value)).toBeGreaterThan(0) + + // const rate = config!.rate + // expect(rate).toBeInstanceOf(Percentage) + // expect(rate.value).toBeGreaterThan(0) + // expect(rate.value).toBeLessThan(100) + + // const totalBorrowed = config!.totalBorrowed + // expect(totalBorrowed).toBeInstanceOf(TokenAmount) + // expect(Number(totalBorrowed.amount)).toBeGreaterThan(0) + + // const debtCeiling = config!.debtCeiling + // expect(debtCeiling).toBeInstanceOf(TokenAmount) + // expect(Number(debtCeiling.amount)).toBeGreaterThan(0) + + // const debtAvailable = config!.debtAvailable + // expect(debtAvailable).toBeInstanceOf(TokenAmount) + // expect(Number(debtAvailable.amount)).toBeGreaterThan(0) + + // const dustLimit = config!.dustLimit + // expect(dustLimit).toBeInstanceOf(TokenAmount) + // expect(Number(dustLimit.amount)).toBe(0) + + // const originationFee = config!.originationFee + // expect(originationFee).toBeInstanceOf(Percentage) }) it('resolves config maps for tokens sent with addresses in alternative formats', async () => { @@ -158,7 +160,8 @@ describe('Spark Protocol Plugin (Integration)', () => { decimals: 18, }) - const config = pool.collaterals.get({ token: testCollateralToken }) - expect(config).toBeDefined() + // TODO re-enable when pool info is implemented + // const config = pool.collaterals.get({ token: testCollateralToken }) + // expect(config).toBeDefined() }) }) diff --git a/sdk/protocol-plugins/tests/mocks/AAVEv3PoolIdMock.ts b/sdk/protocol-plugins/tests/mocks/AAVEv3PoolIdMock.ts index 97e5b383bd..c2469acc19 100644 --- a/sdk/protocol-plugins/tests/mocks/AAVEv3PoolIdMock.ts +++ b/sdk/protocol-plugins/tests/mocks/AAVEv3PoolIdMock.ts @@ -1,11 +1,32 @@ -import { ChainInfo } from '@summerfi/sdk-common/common' +import { AddressType, ChainInfo } from '@summerfi/sdk-common/common' import { ProtocolName } from '@summerfi/sdk-common/protocols' import { EmodeType } from '../../src/plugins/common' +import { IAaveV3LendingPoolIdData } from '../../src' -export const aaveV3PoolIdMock = { +export const aaveV3PoolIdMock: IAaveV3LendingPoolIdData = { protocol: { name: ProtocolName.AAVEv3, - chainInfo: ChainInfo.createFrom({ chainId: 1, name: 'Ethereum' }), + chainInfo: { chainId: 1, name: 'Ethereum' }, + }, + collateralToken: { + address: { + type: AddressType.Ethereum, + value: '0x6b175474e89094c44da98b954eedeac495271d0f', + }, + chainInfo: { chainId: 1, name: 'Ethereum' }, + name: 'USD Coin', + symbol: 'USDC', + decimals: 6, + }, + debtToken: { + address: { + type: AddressType.Ethereum, + value: '0x6b175474e89094c44da98b954eedeac495271d0f', + }, + chainInfo: { chainId: 1, name: 'Ethereum' }, + name: 'USD Coin', + symbol: 'USDC', + decimals: 6, }, emodeType: EmodeType.None, } diff --git a/sdk/protocol-plugins/tests/mocks/MakerPoolIdMock.ts b/sdk/protocol-plugins/tests/mocks/MakerPoolIdMock.ts index f92ee30c65..e279ea5f8c 100644 --- a/sdk/protocol-plugins/tests/mocks/MakerPoolIdMock.ts +++ b/sdk/protocol-plugins/tests/mocks/MakerPoolIdMock.ts @@ -1,12 +1,32 @@ -import { ChainInfo } from '@summerfi/sdk-common/common' +import { AddressType, ChainInfo } from '@summerfi/sdk-common/common' import { ProtocolName } from '@summerfi/sdk-common/protocols' import { ILKType } from '../../src/plugins/maker' +import { IMakerLendingPoolIdData } from '../../src/plugins/maker/interfaces/IMakerLendingPoolId' -export const makerPoolIdMock = { +export const makerPoolIdMock: IMakerLendingPoolIdData = { protocol: { name: ProtocolName.Maker, - chainInfo: ChainInfo.createFrom({ chainId: 1, name: 'Ethereum' }), + chainInfo: { chainId: 1, name: 'Ethereum' }, + }, + collateralToken: { + address: { + type: AddressType.Ethereum, + value: '0x6b175474e89094c44da98b954eedeac495271d0f', + }, + chainInfo: { chainId: 1, name: 'Ethereum' }, + name: 'USD Coin', + symbol: 'USDC', + decimals: 6, + }, + debtToken: { + address: { + type: AddressType.Ethereum, + value: '0x6b175474e89094c44da98b954eedeac495271d0f', + }, + chainInfo: { chainId: 1, name: 'Ethereum' }, + name: 'USD Coin', + symbol: 'USDC', + decimals: 6, }, ilkType: ILKType.ETH_A, - vaultId: '123', } diff --git a/sdk/protocol-plugins/tests/mocks/SparkPoolIdMock.ts b/sdk/protocol-plugins/tests/mocks/SparkPoolIdMock.ts index ea4de09d49..6cf9521393 100644 --- a/sdk/protocol-plugins/tests/mocks/SparkPoolIdMock.ts +++ b/sdk/protocol-plugins/tests/mocks/SparkPoolIdMock.ts @@ -1,11 +1,32 @@ -import { ChainInfo } from '@summerfi/sdk-common/common' +import { AddressType, ChainInfo } from '@summerfi/sdk-common/common' import { ProtocolName } from '@summerfi/sdk-common/protocols' import { EmodeType } from '../../src/plugins/common' +import { ISparkLendingPoolIdData } from '../../src' -export const sparkPoolIdMock = { +export const sparkPoolIdMock: ISparkLendingPoolIdData = { protocol: { name: ProtocolName.Spark, - chainInfo: ChainInfo.createFrom({ chainId: 1, name: 'Ethereum' }), + chainInfo: { chainId: 1, name: 'Ethereum' }, + }, + collateralToken: { + address: { + type: AddressType.Ethereum, + value: '0x6b175474e89094c44da98b954eedeac495271d0f', + }, + chainInfo: { chainId: 1, name: 'Ethereum' }, + name: 'USD Coin', + symbol: 'USDC', + decimals: 6, + }, + debtToken: { + address: { + type: AddressType.Ethereum, + value: '0x6b175474e89094c44da98b954eedeac495271d0f', + }, + chainInfo: { chainId: 1, name: 'Ethereum' }, + name: 'USD Coin', + symbol: 'USDC', + decimals: 6, }, emodeType: EmodeType.None, } diff --git a/sdk/protocol-plugins/tests/unit/AAVEv3ProtocolPlugin.spec.ts b/sdk/protocol-plugins/tests/unit/AAVEv3ProtocolPlugin.spec.ts index 95b8c1be35..2589dfaf02 100644 --- a/sdk/protocol-plugins/tests/unit/AAVEv3ProtocolPlugin.spec.ts +++ b/sdk/protocol-plugins/tests/unit/AAVEv3ProtocolPlugin.spec.ts @@ -2,7 +2,11 @@ import { IProtocolPluginContext } from '@summerfi/protocol-plugins-common' import { ChainInfo, IPositionId } from '@summerfi/sdk-common/common' import { ProtocolName } from '@summerfi/sdk-common/protocols' import assert from 'assert' -import { AaveV3ProtocolPlugin } from '../../src/plugins/aave-v3' +import { + AaveV3ProtocolPlugin, + IAaveV3LendingPoolIdData, + isAaveV3LendingPoolId, +} from '../../src/plugins/aave-v3' import { aaveV3PoolIdMock } from '../mocks/AAVEv3PoolIdMock' import { createProtocolPluginContext } from '../utils/CreateProtocolPluginContext' import { getErrorMessage } from '../utils/ErrorMessage' @@ -18,10 +22,10 @@ describe('AAVEv3 Protocol Plugin', () => { }) it('should verify that a given poolId is recognised as a valid format', () => { - expect(aaveV3ProtocolPlugin.isPoolId(aaveV3PoolIdMock)).toBe(true) + expect(isAaveV3LendingPoolId(aaveV3PoolIdMock)).toBe(true) }) - it('should throw a specific error when provided with a poolId not matching the AAVEv3PoolId format', () => { + it('should throw a specific error when provided with a poolId not matching the AAVEv3PoolId format', async () => { try { const invalidAaveV3PoolIdMock = { ...aaveV3PoolIdMock, @@ -29,8 +33,11 @@ describe('AAVEv3 Protocol Plugin', () => { ...aaveV3PoolIdMock.protocol, name: ProtocolName.Maker, }, - } - aaveV3ProtocolPlugin.validatePoolId(invalidAaveV3PoolIdMock) + } as unknown as IAaveV3LendingPoolIdData + + await expect( + aaveV3ProtocolPlugin.getLendingPool(invalidAaveV3PoolIdMock), + ).resolves.toBeDefined() assert.fail('Should throw error') } catch (error: unknown) { expect(getErrorMessage(error)).toMatch('Invalid AaveV3 pool ID') @@ -39,10 +46,10 @@ describe('AAVEv3 Protocol Plugin', () => { it('should correctly return a AaveV3LendingPool object for a valid AaveV3PoolId', async () => { const aaveV3PoolIdValid = aaveV3PoolIdMock - await expect(aaveV3ProtocolPlugin.getPool(aaveV3PoolIdValid)).resolves.toBeDefined() + await expect(aaveV3ProtocolPlugin.getLendingPool(aaveV3PoolIdValid)).resolves.toBeDefined() }) - it('should throw an error when calling getPool with an unsupported Chain', async () => { + it('should throw an error when calling getLendingPool with an unsupported Chain', async () => { const invalidAaveV3PoolIdUnsupportedChain = { ...aaveV3PoolIdMock, protocol: { @@ -53,47 +60,53 @@ describe('AAVEv3 Protocol Plugin', () => { }), }, } - await expect(aaveV3ProtocolPlugin.getPool(invalidAaveV3PoolIdUnsupportedChain)).rejects.toThrow( - 'Invalid AaveV3 pool ID', - ) + await expect( + aaveV3ProtocolPlugin.getLendingPool(invalidAaveV3PoolIdUnsupportedChain), + ).rejects.toThrow('Chain ID 2 is not supported') }) - it('should throw an error when calling getPool with chain id missing from ctx', async () => { - const aaveV3ProtocolPluginWithWrongContext = new AaveV3ProtocolPlugin({ - context: { - ...ctx, - provider: { - ...ctx.provider, - chain: { - ...ctx.provider.chain!, - id: undefined as unknown as number, + it('should throw an error when calling getLendingPool with chain id missing from ctx', async () => { + try { + new AaveV3ProtocolPlugin({ + context: { + ...ctx, + provider: { + ...ctx.provider, + chain: { + ...ctx.provider.chain!, + id: undefined as unknown as number, + }, }, }, - }, - }) - await expect(aaveV3ProtocolPluginWithWrongContext.getPool(aaveV3PoolIdMock)).rejects.toThrow( - `ctx.provider.chain.id undefined`, - ) + }) + + assert.fail('Should throw error') + } catch (error: unknown) { + expect(getErrorMessage(error)).toMatch('ctx.provider.chain.id undefined') + } }) - it('should throw an error when calling getPool with an unsupported chain ID', async () => { + it('should throw an error when calling getLendingPool with an unsupported chain ID', async () => { const wrongChainId = 2 - const aaveV3ProtocolPluginWithWrongContext = new AaveV3ProtocolPlugin({ - context: { - ...ctx, - provider: { - ...ctx.provider, - chain: { - ...ctx.provider.chain!, - id: wrongChainId, + + try { + new AaveV3ProtocolPlugin({ + context: { + ...ctx, + provider: { + ...ctx.provider, + chain: { + ...ctx.provider.chain!, + id: wrongChainId, + }, }, }, - }, - }) + }) - await expect(aaveV3ProtocolPluginWithWrongContext.getPool(aaveV3PoolIdMock)).rejects.toThrow( - `Chain ID ${wrongChainId} is not supported`, - ) + assert.fail('Should throw error') + } catch (error: unknown) { + expect(getErrorMessage(error)).toMatch(`Chain ID ${wrongChainId} is not supported`) + } }) it('should throw a "Not implemented" error when calling getPosition', async () => { diff --git a/sdk/protocol-plugins/tests/unit/MakerProtocolPlugin.spec.ts b/sdk/protocol-plugins/tests/unit/MakerProtocolPlugin.spec.ts index 0fdde1a676..4cf5fd2220 100644 --- a/sdk/protocol-plugins/tests/unit/MakerProtocolPlugin.spec.ts +++ b/sdk/protocol-plugins/tests/unit/MakerProtocolPlugin.spec.ts @@ -6,6 +6,10 @@ import { MakerProtocolPlugin } from '../../src/plugins/maker' import { makerPoolIdMock } from '../mocks/MakerPoolIdMock' import { createProtocolPluginContext } from '../utils/CreateProtocolPluginContext' import { getErrorMessage } from '../utils/ErrorMessage' +import { + IMakerLendingPoolIdData, + isMakerLendingPoolId, +} from '../../src/plugins/maker/interfaces/IMakerLendingPoolId' describe('Maker Protocol Plugin', () => { let ctx: IProtocolPluginContext @@ -18,10 +22,10 @@ describe('Maker Protocol Plugin', () => { }) it('should verify that a given poolId is recognised as a valid format', () => { - expect(makerProtocolPlugin.isPoolId(makerPoolIdMock)).toBe(true) + expect(isMakerLendingPoolId(makerPoolIdMock)).toBe(true) }) - it('should throw a specific error when provided with a poolId not matching the MakerPoolId format', () => { + it('should throw a specific error when provided with a poolId not matching the MakerPoolId format', async () => { try { const invalidMakerPoolId = { ...makerPoolIdMock, @@ -29,21 +33,18 @@ describe('Maker Protocol Plugin', () => { ...makerPoolIdMock.protocol, name: ProtocolName.AAVEv3, }, - } - makerProtocolPlugin.validatePoolId(invalidMakerPoolId) + } as unknown as IMakerLendingPoolIdData + + await expect(makerProtocolPlugin.getLendingPool(invalidMakerPoolId)).resolves.toBeDefined() assert.fail('Should throw error') } catch (error: unknown) { expect(getErrorMessage(error)).toMatch('Invalid Maker pool ID') } }) - it('should correctly initialize and set the context', () => { - expect(makerProtocolPlugin.ctx).toBe(ctx) - }) - it('should correctly return a MakerLendingPool object for a valid MakerPoolId', async () => { const makerPoolIdValid = makerPoolIdMock - await expect(makerProtocolPlugin.getPool(makerPoolIdValid)).resolves.toBeDefined() + await expect(makerProtocolPlugin.getLendingPool(makerPoolIdValid)).resolves.toBeDefined() }) it('should throw an error when calling getPool with an unsupported ChainInfo', async () => { @@ -57,47 +58,51 @@ describe('Maker Protocol Plugin', () => { }), }, } - await expect(makerProtocolPlugin.getPool(invalidMakerPoolIdUnsupportedChain)).rejects.toThrow( - 'Invalid Maker pool ID', - ) + await expect( + makerProtocolPlugin.getLendingPool(invalidMakerPoolIdUnsupportedChain), + ).rejects.toThrow('Chain ID 2 is not supported') }) it('should throw an error when calling getPool with chain id missing from ctx', async () => { - const makerProtocolPluginWithWrongContext = new MakerProtocolPlugin({ - context: { - ...ctx, - provider: { - ...ctx.provider, - chain: { - ...ctx.provider.chain!, - id: undefined as unknown as number, + try { + new MakerProtocolPlugin({ + context: { + ...ctx, + provider: { + ...ctx.provider, + chain: { + ...ctx.provider.chain!, + id: undefined as unknown as number, + }, }, }, - }, - }) - await expect(makerProtocolPluginWithWrongContext.getPool(makerPoolIdMock)).rejects.toThrow( - `ctx.provider.chain.id undefined`, - ) + }) + assert.fail('Should throw error') + } catch (error: unknown) { + expect(getErrorMessage(error)).toMatch('ctx.provider.chain.id undefined') + } }) it('should throw an error when calling getPool with an unsupported chain ID', async () => { const wrongChainId = 2 - const makerProtocolPluginWithWrongContext = new MakerProtocolPlugin({ - context: { - ...ctx, - provider: { - ...ctx.provider, - chain: { - ...ctx.provider.chain!, - id: wrongChainId, + try { + new MakerProtocolPlugin({ + context: { + ...ctx, + provider: { + ...ctx.provider, + chain: { + ...ctx.provider.chain!, + id: wrongChainId, + }, }, }, - }, - }) + }) - await expect(makerProtocolPluginWithWrongContext.getPool(makerPoolIdMock)).rejects.toThrow( - `Chain ID ${wrongChainId} is not supported`, - ) + assert.fail('Should throw error') + } catch (error: unknown) { + expect(getErrorMessage(error)).toMatch(`Chain ID ${wrongChainId} is not supported`) + } }) it('should throw a "Not implemented" error when calling getPosition', async () => { diff --git a/sdk/protocol-plugins/tests/unit/SparkProtocolPlugin.spec.ts b/sdk/protocol-plugins/tests/unit/SparkProtocolPlugin.spec.ts index e4cda4c671..fde9f09a27 100644 --- a/sdk/protocol-plugins/tests/unit/SparkProtocolPlugin.spec.ts +++ b/sdk/protocol-plugins/tests/unit/SparkProtocolPlugin.spec.ts @@ -2,12 +2,16 @@ import { IProtocolPluginContext } from '@summerfi/protocol-plugins-common' import { ChainInfo, IPositionId } from '@summerfi/sdk-common/common' import { ProtocolName } from '@summerfi/sdk-common/protocols' import assert from 'assert' -import { SparkProtocolPlugin } from '../../src/plugins/spark' +import { + ISparkLendingPoolIdData, + SparkProtocolPlugin, + isSparkLendingPoolId, +} from '../../src/plugins/spark' import { sparkPoolIdMock } from '../mocks/SparkPoolIdMock' import { createProtocolPluginContext } from '../utils/CreateProtocolPluginContext' import { getErrorMessage } from '../utils/ErrorMessage' -describe('Spark Protocol Plugin', () => { +describe.only('Spark Protocol Plugin', () => { let ctx: IProtocolPluginContext let sparkProtocolPlugin: SparkProtocolPlugin beforeAll(async () => { @@ -18,10 +22,10 @@ describe('Spark Protocol Plugin', () => { }) it('should verify that a given poolId is recognised as a valid format', () => { - expect(sparkProtocolPlugin.isPoolId(sparkPoolIdMock)).toBe(true) + expect(isSparkLendingPoolId(sparkPoolIdMock)).toBe(true) }) - it('should throw a specific error when provided with a poolId not matching the SparkPoolId format', () => { + it('should throw a specific error when provided with a poolId not matching the SparkPoolId format', async () => { try { const invalidSparkPoolIdMock = { ...sparkPoolIdMock, @@ -29,21 +33,20 @@ describe('Spark Protocol Plugin', () => { ...sparkPoolIdMock.protocol, name: ProtocolName.Maker, }, - } - sparkProtocolPlugin.validatePoolId(invalidSparkPoolIdMock) + } as unknown as ISparkLendingPoolIdData + + await expect( + sparkProtocolPlugin.getLendingPool(invalidSparkPoolIdMock), + ).resolves.toBeDefined() assert.fail('Should throw error') } catch (error: unknown) { expect(getErrorMessage(error)).toMatch('Invalid Spark pool ID') } }) - it('should correctly initialize and set the context', () => { - expect(sparkProtocolPlugin.ctx).toBe(ctx) - }) - it('should correctly return a SparkLendingPool object for a valid SparkPoolId', async () => { const sparkPoolIdValid = sparkPoolIdMock - await expect(sparkProtocolPlugin.getPool(sparkPoolIdValid)).resolves.toBeDefined() + await expect(sparkProtocolPlugin.getLendingPool(sparkPoolIdValid)).resolves.toBeDefined() }) it('should throw an error when calling getPool with an unsupported ChainInfo', async () => { @@ -57,47 +60,50 @@ describe('Spark Protocol Plugin', () => { }), }, } - await expect(sparkProtocolPlugin.getPool(invalidSparkPoolIdUnsupportedChain)).rejects.toThrow( - 'Invalid Spark pool ID', - ) + await expect( + sparkProtocolPlugin.getLendingPool(invalidSparkPoolIdUnsupportedChain), + ).rejects.toThrow('Chain ID 2 is not supported') }) it('should throw an error when calling getPool with chain id missing from ctx', async () => { - const sparkProtocolPluginWithWrongContext = new SparkProtocolPlugin({ - context: { - ...ctx, - provider: { - ...ctx.provider, - chain: { - ...ctx.provider.chain!, - id: undefined as unknown as number, + try { + new SparkProtocolPlugin({ + context: { + ...ctx, + provider: { + ...ctx.provider, + chain: { + ...ctx.provider.chain!, + id: undefined as unknown as number, + }, }, }, - }, - }) - await expect(sparkProtocolPluginWithWrongContext.getPool(sparkPoolIdMock)).rejects.toThrow( - `ctx.provider.chain.id undefined`, - ) + }) + assert.fail('Should throw error') + } catch (error: unknown) { + expect(getErrorMessage(error)).toMatch('ctx.provider.chain.id undefined') + } }) it('should throw an error when calling getPool with an unsupported chain ID', async () => { const wrongChainId = 2 - const sparkProtocolPluginWithWrongContext = new SparkProtocolPlugin({ - context: { - ...ctx, - provider: { - ...ctx.provider, - chain: { - ...ctx.provider.chain!, - id: wrongChainId, + try { + new SparkProtocolPlugin({ + context: { + ...ctx, + provider: { + ...ctx.provider, + chain: { + ...ctx.provider.chain!, + id: wrongChainId, + }, }, }, - }, - }) - - await expect(sparkProtocolPluginWithWrongContext.getPool(sparkPoolIdMock)).rejects.toThrow( - `Chain ID ${wrongChainId} is not supported`, - ) + }) + assert.fail('Should throw error') + } catch (error: unknown) { + expect(getErrorMessage(error)).toMatch(`Chain ID ${wrongChainId} is not supported`) + } }) it('should throw a "Not implemented" error when calling getPosition', async () => { diff --git a/sdk/protocol-plugins/tests/utils/ProtocolPluginMock.ts b/sdk/protocol-plugins/tests/utils/ProtocolPluginMock.ts index 3463e17be6..0d5269c375 100644 --- a/sdk/protocol-plugins/tests/utils/ProtocolPluginMock.ts +++ b/sdk/protocol-plugins/tests/utils/ProtocolPluginMock.ts @@ -43,11 +43,11 @@ export class ProtocolPluginMock implements IProtocolPlugin { } context = undefined as unknown as IProtocolPluginContext - isPoolId(candidate: unknown): candidate is IPoolId { + isLendingPoolId(candidate: unknown): candidate is IPoolId { return true } - validatePoolId(candidate: unknown): asserts candidate is IPoolId {} + validateLendingPoolId(candidate: unknown): asserts candidate is IPoolId {} async getPool(poolId: IPoolId): Promise { return undefined as unknown as IPool @@ -76,11 +76,11 @@ export class EmptyProtocolPluginMock implements IProtocolPlugin { stepBuilders: Partial = {} context = undefined as unknown as IProtocolPluginContext - isPoolId(candidate: unknown): candidate is IPoolId { + isLendingPoolId(candidate: unknown): candidate is IPoolId { return true } - validatePoolId(candidate: unknown): asserts candidate is IPoolId {} + validateLendingPoolId(candidate: unknown): asserts candidate is IPoolId {} async getPool(poolId: IPoolId): Promise { return undefined as unknown as IPool @@ -112,11 +112,11 @@ export class NoCheckpointProtocolPluginMock implements IProtocolPlugin { } context = undefined as unknown as IProtocolPluginContext - isPoolId(candidate: unknown): candidate is IPoolId { + isLendingPoolId(candidate: unknown): candidate is IPoolId { return true } - validatePoolId(candidate: unknown): asserts candidate is IPoolId {} + validateLendingPoolId(candidate: unknown): asserts candidate is IPoolId {} async getPool(poolId: IPoolId): Promise { return undefined as unknown as IPool diff --git a/sdk/sdk-client/bundle/package.json b/sdk/sdk-client/bundle/package.json index a01a2f88f4..2b89e19a69 100644 --- a/sdk/sdk-client/bundle/package.json +++ b/sdk/sdk-client/bundle/package.json @@ -7,7 +7,6 @@ "scripts": {}, "dependencies": { "@trpc/client": "11.0.0-next-beta.264", - "bignumber.js": "^9.1.2", "superjson": "^1.13.3", "viem": "^2.7.9" } diff --git a/sdk/sdk-client/src/implementation/ChainsManager.ts b/sdk/sdk-client/src/implementation/ChainsManager.ts index f39e53dce8..06fec29384 100644 --- a/sdk/sdk-client/src/implementation/ChainsManager.ts +++ b/sdk/sdk-client/src/implementation/ChainsManager.ts @@ -1,4 +1,4 @@ -import { ChainInfo, Maybe } from '@summerfi/sdk-common/common' +import { ChainInfo, IChainInfoData, Maybe } from '@summerfi/sdk-common/common' import { IChainsManager } from '../interfaces/IChainsManager' import { Chain } from './Chain' import { TokensManager } from './TokensManager' @@ -17,13 +17,15 @@ export class ChainsManager extends IRPCClient implements IChainsManager { } /* eslint-disable-next-line @typescript-eslint/no-unused-vars */ - public async getChain(params: { chainInfo: ChainInfo }): Promise> { + public async getChain(params: { chainInfo: IChainInfoData }): Promise> { + const chainInfo = ChainInfo.createFrom(params.chainInfo) + return new Chain({ - chainInfo: params.chainInfo, - tokensManager: new TokensManager({ rpcClient: this.rpcClient, chainInfo: params.chainInfo }), + chainInfo: chainInfo, + tokensManager: new TokensManager({ rpcClient: this.rpcClient, chainInfo: chainInfo }), protocolsManager: new ProtocolsManager({ rpcClient: this.rpcClient, - chainInfo: params.chainInfo, + chainInfo: chainInfo, }), }) } diff --git a/sdk/sdk-client/src/implementation/Protocol.ts b/sdk/sdk-client/src/implementation/Protocol.ts deleted file mode 100644 index 00d586fad7..0000000000 --- a/sdk/sdk-client/src/implementation/Protocol.ts +++ /dev/null @@ -1,26 +0,0 @@ -import { ChainInfo, Maybe } from '@summerfi/sdk-common/common' -import { IPool, IPoolId, ProtocolName } from '@summerfi/sdk-common/protocols' -import { IProtocolClient } from '../interfaces/IProtocolClient' -import { IRPCClient } from '../interfaces/IRPCClient' -import { RPCClientType } from '../rpc/SDKClient' -import { SerializationService } from '@summerfi/sdk-common/services' - -export class Protocol extends IRPCClient implements IProtocolClient { - public readonly name: ProtocolName - public readonly chainInfo: ChainInfo - - constructor(params: { rpcClient: RPCClientType; name: ProtocolName; chainInfo: ChainInfo }) { - super(params) - - this.name = params.name - this.chainInfo = params.chainInfo - } - - getPool(params: { poolId: IPoolId }): Promise> { - return this.rpcClient.getPool.query({ - poolId: params.poolId, - }) - } -} - -SerializationService.registerClass(Protocol) diff --git a/sdk/sdk-client/src/implementation/ProtocolClient.ts b/sdk/sdk-client/src/implementation/ProtocolClient.ts new file mode 100644 index 0000000000..d3ea0a7eae --- /dev/null +++ b/sdk/sdk-client/src/implementation/ProtocolClient.ts @@ -0,0 +1,46 @@ +import { ChainInfo, Maybe } from '@summerfi/sdk-common/common' +import { ILendingPool, ILendingPoolIdData, ProtocolName } from '@summerfi/sdk-common/protocols' +import { IProtocolClient } from '../interfaces/IProtocolClient' +import { RPCClientType } from '../rpc/SDKClient' +import { SerializationService } from '@summerfi/sdk-common/services' +import { Protocol } from '@summerfi/sdk-common' + +export class ProtocolClient extends Protocol implements IProtocolClient { + public readonly name: ProtocolName + public readonly chainInfo: ChainInfo + private readonly _rpcClient: RPCClientType + + constructor(params: { rpcClient: RPCClientType; name: ProtocolName; chainInfo: ChainInfo }) { + super(params) + + this.name = params.name + this.chainInfo = params.chainInfo + this._rpcClient = params.rpcClient + } + + getLendingPool(params: { poolId: ILendingPoolIdData }): Promise> { + return this._rpcClient.getLendingPool.query({ + poolId: params.poolId, + }) + } + + // TODO: Implement this method + // getPoolExtendedInfo(params: { poolId: IPoolId }): Promise> { + // return this._rpcClient.getPoolExtendedInfo.query({ + // poolId: params.poolId, + // }) + // } + + /** + * Compare if the passed protocol is equal to the current protocol + * @param protocol The protocol to compare + * @returns true if the protocols are equal + * + * Equality is determined by the name and chain information + */ + equals(protocol: ProtocolClient): boolean { + return this.name === protocol.name && this.chainInfo.equals(protocol.chainInfo) + } +} + +SerializationService.registerClass(ProtocolClient) diff --git a/sdk/sdk-client/src/implementation/ProtocolsManager.ts b/sdk/sdk-client/src/implementation/ProtocolsManager.ts index 04062e7e8b..f37b5ad44d 100644 --- a/sdk/sdk-client/src/implementation/ProtocolsManager.ts +++ b/sdk/sdk-client/src/implementation/ProtocolsManager.ts @@ -3,7 +3,7 @@ import { ProtocolName } from '@summerfi/sdk-common/protocols' import { IProtocolsManager } from '../interfaces/IProtocolsManager' import { IRPCClient } from '../interfaces/IRPCClient' import { RPCClientType } from '../rpc/SDKClient' -import { Protocol } from './Protocol' +import { ProtocolClient } from './ProtocolClient' export class ProtocolsManager extends IRPCClient implements IProtocolsManager { private readonly _chainInfo: ChainInfo @@ -14,8 +14,8 @@ export class ProtocolsManager extends IRPCClient implements IProtocolsManager { this._chainInfo = params.chainInfo } - public async getProtocol(params: { name: ProtocolName }): Promise> { - return new Protocol({ + public async getProtocol(params: { name: ProtocolName }): Promise> { + return new ProtocolClient({ rpcClient: this.rpcClient, chainInfo: this._chainInfo, ...params, diff --git a/sdk/sdk-client/src/implementation/simulations/ImportingSimulationManager.ts b/sdk/sdk-client/src/implementation/simulations/ImportingSimulationManager.ts index 276f673b50..811d5ab9a4 100644 --- a/sdk/sdk-client/src/implementation/simulations/ImportingSimulationManager.ts +++ b/sdk/sdk-client/src/implementation/simulations/ImportingSimulationManager.ts @@ -11,26 +11,6 @@ export class ImportingSimulationManager extends IRPCClient { public async simulateImportPosition( params: IImportPositionParameters, ): Promise> { - const importPositionParameters: IImportPositionParameters = { - externalPosition: { - position: { - type: params.externalPosition.position.type, - positionId: params.externalPosition.position.positionId, - debtAmount: params.externalPosition.position.debtAmount, - collateralAmount: params.externalPosition.position.collateralAmount, - pool: { - poolId: params.externalPosition.position.pool.poolId, - protocol: params.externalPosition.position.pool.protocol, - type: params.externalPosition.position.pool.type, - }, - }, - externalId: { - type: params.externalPosition.externalId.type, - address: params.externalPosition.externalId.address, - }, - }, - } - - return this.rpcClient.simulation.import.query(importPositionParameters) + return this.rpcClient.simulation.import.query(params) } } diff --git a/sdk/sdk-client/src/implementation/simulations/RefinanceSimulationManager.ts b/sdk/sdk-client/src/implementation/simulations/RefinanceSimulationManager.ts index 62f5e7eeb4..cdfee96cb0 100644 --- a/sdk/sdk-client/src/implementation/simulations/RefinanceSimulationManager.ts +++ b/sdk/sdk-client/src/implementation/simulations/RefinanceSimulationManager.ts @@ -11,32 +11,6 @@ export class RefinanceSimulationManager extends IRPCClient { public async simulateRefinancePosition( params: IRefinanceParameters, ): Promise> { - const refinanceParameters: IRefinanceParameters = { - sourcePosition: { - type: params.sourcePosition.type, - positionId: params.sourcePosition.positionId, - debtAmount: params.sourcePosition.debtAmount, - collateralAmount: params.sourcePosition.collateralAmount, - pool: { - poolId: params.sourcePosition.pool.poolId, - protocol: params.sourcePosition.pool.protocol, - type: params.sourcePosition.pool.type, - }, - }, - targetPosition: { - type: params.targetPosition.type, - positionId: params.targetPosition.positionId, - debtAmount: params.targetPosition.debtAmount, - collateralAmount: params.targetPosition.collateralAmount, - pool: { - poolId: params.targetPosition.pool.poolId, - protocol: params.targetPosition.pool.protocol, - type: params.targetPosition.pool.type, - }, - }, - slippage: params.slippage, - } - - return this.rpcClient.simulation.refinance.query(refinanceParameters) + return this.rpcClient.simulation.refinance.query(params) } } diff --git a/sdk/sdk-client/src/index.ts b/sdk/sdk-client/src/index.ts index aa365d258e..a5241bd863 100644 --- a/sdk/sdk-client/src/index.ts +++ b/sdk/sdk-client/src/index.ts @@ -7,7 +7,7 @@ export * from './implementation/SDKManager' export * from './implementation/TokensManager' export * from './implementation/User' export * from './implementation/UsersManager' -export * from './implementation/Protocol' +export * from './implementation/ProtocolClient' export * from './interfaces/IChain' export * from './interfaces/IChainsManager' export * from './interfaces/IPortfolioManager' diff --git a/sdk/sdk-client/src/interfaces/IProtocolClient.ts b/sdk/sdk-client/src/interfaces/IProtocolClient.ts index 6d6a944627..6a962c8a49 100644 --- a/sdk/sdk-client/src/interfaces/IProtocolClient.ts +++ b/sdk/sdk-client/src/interfaces/IProtocolClient.ts @@ -1,6 +1,6 @@ import { Maybe } from '@summerfi/sdk-common/common' -import { IPool, IPoolId, IProtocol } from '@summerfi/sdk-common/protocols' +import { ILendingPoolIdData, IPool, IProtocol } from '@summerfi/sdk-common/protocols' export interface IProtocolClient extends IProtocol { - getPool(params: { poolId: IPoolId }): Promise> + getLendingPool(params: { poolId: ILendingPoolIdData }): Promise> } diff --git a/sdk/sdk-client/src/interfaces/IProtocolsManager.ts b/sdk/sdk-client/src/interfaces/IProtocolsManager.ts index ffa03266fc..6fc430c044 100644 --- a/sdk/sdk-client/src/interfaces/IProtocolsManager.ts +++ b/sdk/sdk-client/src/interfaces/IProtocolsManager.ts @@ -1,6 +1,6 @@ import { Maybe } from '@summerfi/sdk-common/common' import { ProtocolName } from '@summerfi/sdk-common/protocols' -import { Protocol } from '../implementation/Protocol' +import { ProtocolClient } from '../implementation/ProtocolClient' /** * @interface IProtocolsManager @@ -15,5 +15,5 @@ export interface IProtocolsManager { * * @returns The protocol with the given name */ - getProtocol(params: { name: ProtocolName }): Promise> + getProtocol(params: { name: ProtocolName }): Promise> } diff --git a/sdk/sdk-client/tests/queries/getPool.subtest.ts b/sdk/sdk-client/tests/queries/getPool.subtest.ts index 319d72dc40..9132cd9c8a 100644 --- a/sdk/sdk-client/tests/queries/getPool.subtest.ts +++ b/sdk/sdk-client/tests/queries/getPool.subtest.ts @@ -1,21 +1,21 @@ import { PoolType, ProtocolName } from '@summerfi/sdk-common/protocols' import { SDKManager } from '../../src/implementation/SDKManager' import { RPCClientType } from '../../src/rpc/SDKClient' +import { ILKType, MakerLendingPool } from '@summerfi/protocol-plugins/plugins/maker' import { - ILKType, - MakerPoolId, - MakerLendingPool, - isMakerPoolId, -} from '@summerfi/protocol-plugins/plugins/maker' + IMakerLendingPoolIdData, + isMakerLendingPoolId, +} from '@summerfi/protocol-plugins/plugins/maker/interfaces/IMakerLendingPoolId' +import { AddressType } from '@summerfi/sdk-common' export default async function getPoolTest() { - type GetPoolType = RPCClientType['getPool']['query'] + type GetPoolType = RPCClientType['getLendingPool']['query'] - const getPoolQuery: GetPoolType = jest.fn(async (params) => { + const getLendingPoolQuery: GetPoolType = jest.fn(async (params) => { expect(params).toBeDefined() expect(params.poolId).toBeDefined() - if (!isMakerPoolId(params.poolId)) { + if (!isMakerLendingPoolId(params.poolId)) { fail('PoolId is not MakerPoolId') } @@ -25,14 +25,13 @@ export default async function getPoolTest() { return { type: PoolType.Lending, - poolId: params.poolId, - protocol: params.poolId.protocol, + id: params.poolId, } as unknown as MakerLendingPool }) const rpcClient = { - getPool: { - query: getPoolQuery, + getLendingPool: { + query: getLendingPoolQuery, }, } as unknown as RPCClientType @@ -54,22 +53,42 @@ export default async function getPoolTest() { fail('Protocol not found') } - const makerPoolId: MakerPoolId = { + const makerPoolId: IMakerLendingPoolIdData = { protocol: { name: ProtocolName.Maker, chainInfo: chain.chainInfo, }, + collateralToken: { + address: { + type: AddressType.Ethereum, + value: '0x6b175474e89094c44da98b954eedeac495271d0f', + }, + chainInfo: { chainId: 1, name: 'Ethereum' }, + name: 'USD Coin', + symbol: 'USDC', + decimals: 6, + }, + debtToken: { + address: { + type: AddressType.Ethereum, + value: '0x6b175474e89094c44da98b954eedeac495271d0f', + }, + chainInfo: { chainId: 1, name: 'Ethereum' }, + name: 'USD Coin', + symbol: 'USDC', + decimals: 6, + }, ilkType: ILKType.ETH_A, } - const pool = await protocol.getPool({ poolId: makerPoolId }) + const pool = await protocol.getLendingPool({ poolId: makerPoolId }) if (!pool) { fail('Pool not found') } expect(pool.type).toBe(PoolType.Lending) - expect(pool.poolId).toBe(makerPoolId) - expect(pool.protocol.name).toBe(protocol.name) - expect(pool.protocol.chainInfo).toBe(protocol.chainInfo) + expect(pool.id).toBe(makerPoolId) + expect(pool.id.protocol.name).toBe(protocol.name) + expect(pool.id.protocol.chainInfo).toBe(protocol.chainInfo) } diff --git a/sdk/sdk-client/tests/queries/newOrder.subtest.ts b/sdk/sdk-client/tests/queries/newOrder.subtest.ts index 92621d8647..131fe306d5 100644 --- a/sdk/sdk-client/tests/queries/newOrder.subtest.ts +++ b/sdk/sdk-client/tests/queries/newOrder.subtest.ts @@ -1,21 +1,34 @@ -import { IProtocol, PoolType, ProtocolName } from '@summerfi/sdk-common/protocols' +import { PoolType, ProtocolName } from '@summerfi/sdk-common/protocols' import { SDKManager } from '../../src/implementation/SDKManager' import { RPCClientType } from '../../src/rpc/SDKClient' -import { MakerLendingPool, MakerPositionId } from '@summerfi/protocol-plugins/plugins/maker' -import { SparkLendingPool, SparkPositionId } from '@summerfi/protocol-plugins/plugins/spark' +import { + ILKType, + IMakerLendingPoolData, + MakerPositionId, +} from '@summerfi/protocol-plugins/plugins/maker' +import { + ISparkLendingPoolData, + ISparkLendingPoolIdData, + SparkPositionId, +} from '@summerfi/protocol-plugins/plugins/spark' import { ISimulation, SimulationType } from '@summerfi/sdk-common/simulation' import { Address, + AddressType, ChainFamilyMap, ChainInfo, Maybe, - Position, PositionType, Token, TokenAmount, } from '@summerfi/sdk-common/common' import { IPositionsManager, Order } from '@summerfi/sdk-common/orders' import { User } from '../../src/implementation/User' +import { IMakerProtocolData } from '@summerfi/protocol-plugins/plugins/maker/interfaces/IMakerProtocol' +import { IMakerLendingPoolIdData } from '@summerfi/protocol-plugins/plugins/maker/interfaces/IMakerLendingPoolId' +import { IPositionData } from '@summerfi/sdk-common' +import { ISparkProtocolData } from '@summerfi/protocol-plugins/plugins/spark/interfaces/ISparkProtocol' +import { EmodeType } from '@summerfi/protocol-plugins/plugins/common' export default async function simulateNewOrder() { const chainInfo: ChainInfo = ChainFamilyMap.Ethereum.Mainnet @@ -37,40 +50,83 @@ export default async function simulateNewOrder() { decimals: 18, }) - const protocol: IProtocol = { + const makerProtocol: IMakerProtocolData = { name: ProtocolName.Maker, chainInfo: chainInfo, } - const pool: MakerLendingPool = { - type: PoolType.Lending, - protocol: protocol, - poolId: { - protocol: protocol, + const makerPoolId: IMakerLendingPoolIdData = { + protocol: makerProtocol, + ilkType: ILKType.ETH_A, + collateralToken: { + address: { + type: AddressType.Ethereum, + value: '0x6b175474e89094c44da98b954eedeac495271d0f', + }, + chainInfo: { chainId: 1, name: 'Ethereum' }, + name: 'USD Coin', + symbol: 'USDC', + decimals: 6, + }, + debtToken: { + address: { + type: AddressType.Ethereum, + value: '0x6b175474e89094c44da98b954eedeac495271d0f', + }, + chainInfo: { chainId: 1, name: 'Ethereum' }, + name: 'USD Coin', + symbol: 'USDC', + decimals: 6, }, - collaterals: {}, - debts: {}, - baseCurrency: DAI, - } as MakerLendingPool + } - const prevPosition: Position = { + const pool: IMakerLendingPoolData = { + type: PoolType.Lending, + id: makerPoolId, + } + + const prevPosition: IPositionData = { type: PositionType.Multiply, + id: MakerPositionId.createFrom({ id: '1234567890', vaultId: '34' }), pool: pool, debtAmount: TokenAmount.createFrom({ token: DAI, amount: '56.78' }), collateralAmount: TokenAmount.createFrom({ token: WETH, amount: '105.98' }), - positionId: MakerPositionId.createFrom({ id: '1234567890', vaultId: '34' }), } - const targetPool: SparkLendingPool = { - type: PoolType.Lending, - protocol: protocol, - poolId: { - protocol: protocol, + const sparkProtocol: ISparkProtocolData = { + name: ProtocolName.Spark, + chainInfo: chainInfo, + } + + const sparkPoolId: ISparkLendingPoolIdData = { + protocol: sparkProtocol, + collateralToken: { + address: { + type: AddressType.Ethereum, + value: '0x6b175474e89094c44da98b954eedeac495271d0f', + }, + chainInfo: { chainId: 1, name: 'Ethereum' }, + name: 'USD Coin', + symbol: 'USDC', + decimals: 6, + }, + debtToken: { + address: { + type: AddressType.Ethereum, + value: '0x6b175474e89094c44da98b954eedeac495271d0f', + }, + chainInfo: { chainId: 1, name: 'Ethereum' }, + name: 'USD Coin', + symbol: 'USDC', + decimals: 6, }, - collaterals: {}, - debts: {}, - baseCurrency: DAI, - } as SparkLendingPool + emodeType: EmodeType.None, + } + + const targetPool: ISparkLendingPoolData = { + type: PoolType.Lending, + id: sparkPoolId, + } const simulation: ISimulation = { simulationType: SimulationType.Refinance, @@ -78,7 +134,7 @@ export default async function simulateNewOrder() { swaps: [], targetPosition: { type: PositionType.Multiply, - positionId: SparkPositionId.createFrom({ id: '1234567890' }), + id: SparkPositionId.createFrom({ id: '1234567890' }), debtAmount: TokenAmount.createFrom({ token: DAI, amount: '56.78' }), collateralAmount: TokenAmount.createFrom({ token: WETH, amount: '105.98' }), pool: targetPool, diff --git a/sdk/sdk-client/tests/queries/simulateRefinance.subtest.ts b/sdk/sdk-client/tests/queries/simulateRefinance.subtest.ts index 970aef6ab7..ef6449a279 100644 --- a/sdk/sdk-client/tests/queries/simulateRefinance.subtest.ts +++ b/sdk/sdk-client/tests/queries/simulateRefinance.subtest.ts @@ -1,16 +1,15 @@ -import { - CollateralConfigMap, - DebtConfigMap, - IProtocol, - PoolType, - ProtocolName, -} from '@summerfi/sdk-common/protocols' +import { PoolType, ProtocolName } from '@summerfi/sdk-common/protocols' import { SDKManager } from '../../src/implementation/SDKManager' import { RPCClientType, SparkPositionId } from '../../src/rpc/SDKClient' -import { MakerLendingPool, MakerPositionId } from '@summerfi/protocol-plugins/plugins/maker' +import { + ILKType, + IMakerLendingPoolData, + MakerPositionId, +} from '@summerfi/protocol-plugins/plugins/maker' import { ISimulation, SimulationType } from '@summerfi/sdk-common/simulation' import { Address, + AddressType, ChainFamilyMap, ChainInfo, Percentage, @@ -20,7 +19,9 @@ import { TokenAmount, } from '@summerfi/sdk-common/common' import { IRefinanceParameters } from '@summerfi/sdk-common/orders' -import { CollateralConfigMock, DebtConfigMock } from '@summerfi/testing-utils' +import { IMakerProtocolData } from '@summerfi/protocol-plugins/plugins/maker/interfaces/IMakerProtocol' +import { IMakerLendingPoolIdData } from '@summerfi/protocol-plugins/plugins/maker/interfaces/IMakerLendingPoolId' +import { IPositionData } from '@summerfi/sdk-common' export default async function simulateRefinanceTest() { type SimulateRefinanceType = RPCClientType['simulation']['refinance']['query'] @@ -30,7 +31,7 @@ export default async function simulateRefinanceTest() { sourcePosition: params.sourcePosition, targetPosition: { type: params.sourcePosition.type, - positionId: SparkPositionId.createFrom({ id: '0987654321' }), + id: SparkPositionId.createFrom({ id: '0987654321' }), debtAmount: params.targetPosition.debtAmount, collateralAmount: params.targetPosition.collateralAmount, pool: params.targetPosition.pool, @@ -71,58 +72,63 @@ export default async function simulateRefinanceTest() { decimals: 18, }) - const protocol: IProtocol = { + const protocol: IMakerProtocolData = { name: ProtocolName.Maker, chainInfo: chainInfo, } - const pool: MakerLendingPool = { - type: PoolType.Lending, + const poolId: IMakerLendingPoolIdData = { protocol: protocol, - poolId: { - protocol: protocol, + ilkType: ILKType.ETH_A, + collateralToken: { + address: { + type: AddressType.Ethereum, + value: '0x6b175474e89094c44da98b954eedeac495271d0f', + }, + chainInfo: { chainId: 1, name: 'Ethereum' }, + name: 'USD Coin', + symbol: 'USDC', + decimals: 6, }, - collaterals: {}, - debts: {}, - baseCurrency: DAI, - } as MakerLendingPool + debtToken: { + address: { + type: AddressType.Ethereum, + value: '0x6b175474e89094c44da98b954eedeac495271d0f', + }, + chainInfo: { chainId: 1, name: 'Ethereum' }, + name: 'USD Coin', + symbol: 'USDC', + decimals: 6, + }, + } - const prevPosition: Position = { + const pool: IMakerLendingPoolData = { + type: PoolType.Lending, + id: poolId, + } + + const prevPosition: IPositionData = { type: PositionType.Multiply, pool: pool, debtAmount: TokenAmount.createFrom({ token: DAI, amount: '56.78' }), collateralAmount: TokenAmount.createFrom({ token: WETH, amount: '105.98' }), - positionId: MakerPositionId.createFrom({ id: '1234567890', vaultId: '34' }), + id: MakerPositionId.createFrom({ id: '1234567890', vaultId: '34' }), } - const targetPool = { + const targetPool: IMakerLendingPoolData = { type: PoolType.Lending as const, - protocol: protocol, - poolId: { - protocol: protocol, - }, - collaterals: CollateralConfigMap.createFrom({ - record: { - [prevPosition.collateralAmount.token.address.value]: new CollateralConfigMock({}), - }, - }), - debts: DebtConfigMap.createFrom({ - record: { - [prevPosition.debtAmount.token.address.value]: new DebtConfigMock({}), - }, - }), - baseCurrency: DAI, + id: poolId, } - const targetPosition = Position.createFrom({ + const targetPosition = { type: PositionType.Multiply, - positionId: { + id: { id: 'newEmptyPositionFromPool', }, debtAmount: prevPosition.debtAmount, collateralAmount: prevPosition.collateralAmount, pool: targetPool, - }) + } as unknown as Position const refinanceParameters: IRefinanceParameters = { sourcePosition: prevPosition, targetPosition: targetPosition, @@ -135,9 +141,9 @@ export default async function simulateRefinanceTest() { expect(simulation).toBeDefined() expect(simulation.simulationType).toBe(SimulationType.Refinance) expect(simulation.sourcePosition).toBeDefined() - expect(simulation.sourcePosition?.positionId).toBe(prevPosition.positionId) + expect(simulation.sourcePosition?.id).toBe(prevPosition.id) expect(simulation.targetPosition).toBeDefined() - expect(simulation.targetPosition.positionId).toBeDefined() - expect(simulation.targetPosition.pool.poolId).toBe(targetPool.poolId) + expect(simulation.targetPosition.id).toBeDefined() + expect(simulation.targetPosition.pool.id).toBe(targetPool.id) expect(simulation.steps).toBeDefined() } diff --git a/sdk/sdk-common/bundle/package.json b/sdk/sdk-common/bundle/package.json index 72e52bfe15..94ac7b48f7 100644 --- a/sdk/sdk-common/bundle/package.json +++ b/sdk/sdk-common/bundle/package.json @@ -6,7 +6,6 @@ "packageManager": "yarn@1.22.21", "scripts": {}, "dependencies": { - "bignumber.js": "9.0.1", "superjson": "^1.13.3", "viem": "^2.2.0" }, diff --git a/sdk/sdk-common/src/common/aliases/ChainId.ts b/sdk/sdk-common/src/common/aliases/ChainId.ts index 333648e2f6..c6f72aed19 100644 --- a/sdk/sdk-common/src/common/aliases/ChainId.ts +++ b/sdk/sdk-common/src/common/aliases/ChainId.ts @@ -1,5 +1,12 @@ +import { z } from 'zod' + /** * @name chainId * @description Represents the chain ID of a blockchain network */ export type ChainId = number + +/** + * @description Zod schema for ChainId + */ +export const ChainIdSchema = z.number() diff --git a/sdk/sdk-common/src/common/implementation/Address.ts b/sdk/sdk-common/src/common/implementation/Address.ts index 1a06d81fd9..116ab4525b 100644 --- a/sdk/sdk-common/src/common/implementation/Address.ts +++ b/sdk/sdk-common/src/common/implementation/Address.ts @@ -1,11 +1,11 @@ -import { IAddress } from '../interfaces/IAddress' +import { IAddress, IAddressData } from '../interfaces/IAddress' import { SerializationService } from '../../services/SerializationService' import { AddressValue } from '../aliases/AddressValue' import { AddressType } from '../enums/AddressType' /** * @class Address - * @description Represents a blockchain address, including its type + * @see IAddressData */ export class Address implements IAddress { public static ZeroAddressEthereum: Address = new Address({ @@ -16,7 +16,7 @@ export class Address implements IAddress { readonly value: AddressValue readonly type: AddressType - private constructor(params: IAddress) { + private constructor(params: IAddressData) { if (Address.isValid(params.value) === false) { throw new Error('Address value is invalid') } @@ -25,7 +25,7 @@ export class Address implements IAddress { this.type = params.type } - static createFrom(params: IAddress): Address { + static createFrom(params: IAddressData): Address { return new Address(params) } @@ -46,7 +46,7 @@ export class Address implements IAddress { } equals(address: Address): boolean { - return this.value.toLowerCase() === address.value.toLowerCase() + return this.value.toLowerCase() === address.value.toLowerCase() && this.type === address.type } toString(): string { diff --git a/sdk/sdk-common/src/common/implementation/ChainFamilies.ts b/sdk/sdk-common/src/common/implementation/ChainFamilies.ts index d629460706..1daa84deb5 100644 --- a/sdk/sdk-common/src/common/implementation/ChainFamilies.ts +++ b/sdk/sdk-common/src/common/implementation/ChainFamilies.ts @@ -12,35 +12,35 @@ import { ChainId } from '../aliases/ChainId' * Chain definition per family */ const EthereumFamily: Record = { - [EthereumChainNames.Mainnet]: { + [EthereumChainNames.Mainnet]: ChainInfo.createFrom({ chainId: 1, name: EthereumChainNames.Mainnet, - }, - [EthereumChainNames.Goerli]: { + }), + [EthereumChainNames.Goerli]: ChainInfo.createFrom({ chainId: 5, name: EthereumChainNames.Goerli, - }, + }), } const ArbitrumFamily: Record = { - [ArbitrumChainNames.ArbitrumOne]: { + [ArbitrumChainNames.ArbitrumOne]: ChainInfo.createFrom({ chainId: 42161, name: ArbitrumChainNames.ArbitrumOne, - }, + }), } const OptimismFamily: Record = { - [OptimismChainNames.Optimism]: { + [OptimismChainNames.Optimism]: ChainInfo.createFrom({ chainId: 10, name: OptimismChainNames.Optimism, - }, + }), } const BaseFamily: Record = { - [BaseChainNames.Mainnet]: { + [BaseChainNames.Mainnet]: ChainInfo.createFrom({ chainId: 8453, name: BaseChainNames.Mainnet, - }, + }), } /** @@ -73,8 +73,7 @@ export const ChainFamilyMap: ChainFamily = { export type ChainFamilyInfo = { familyName: ChainFamilyName - chainId: ChainId - name: string + chainInfo: ChainInfo } export type ChainFamilyInfoById = Record @@ -88,8 +87,7 @@ function createChainIdToChainInfoMap(): ChainFamilyInfoById { Object.entries(family).reduce((acc, [, chainInfo]) => { acc[chainInfo.chainId] = { familyName: familyName as ChainFamilyName, - chainId: chainInfo.chainId, - name: chainInfo.name, + chainInfo: chainInfo, } return acc }, acc) @@ -99,7 +97,7 @@ function createChainIdToChainInfoMap(): ChainFamilyInfoById { const chainIdToChainInfoMap = createChainIdToChainInfoMap() -export function getChainInfoByChainId(chainId: ChainId): ChainInfo | undefined { +export function getChainInfoByChainId(chainId: ChainId): ChainFamilyInfo | undefined { return chainIdToChainInfoMap[chainId] } diff --git a/sdk/sdk-common/src/common/implementation/ChainInfo.ts b/sdk/sdk-common/src/common/implementation/ChainInfo.ts index e4355d91b2..658edcdad5 100644 --- a/sdk/sdk-common/src/common/implementation/ChainInfo.ts +++ b/sdk/sdk-common/src/common/implementation/ChainInfo.ts @@ -1,22 +1,28 @@ -import { IChainInfo } from '../interfaces/IChainInfo' +import { IChainInfo, IChainInfoData } from '../interfaces/IChainInfo' import { SerializationService } from '../../services/SerializationService' import { ChainId } from '../aliases/ChainId' /** * @name ChainInfo - * @description Provides information of a blockchain network + * @see IChainInfoData */ export class ChainInfo implements IChainInfo { readonly chainId: ChainId readonly name: string - private constructor(params: IChainInfo) { + /** Factory method */ + static createFrom(params: IChainInfoData): ChainInfo { + return new ChainInfo(params) + } + + /** Sealed constructor */ + private constructor(params: IChainInfoData) { this.chainId = params.chainId this.name = params.name } - static createFrom(params: IChainInfo): ChainInfo { - return new ChainInfo(params) + equals(chainInfo: ChainInfo): boolean { + return this.chainId === chainInfo.chainId } toString(): string { diff --git a/sdk/sdk-common/src/common/implementation/Percentage.ts b/sdk/sdk-common/src/common/implementation/Percentage.ts index 210f71917e..a38ebbfe70 100644 --- a/sdk/sdk-common/src/common/implementation/Percentage.ts +++ b/sdk/sdk-common/src/common/implementation/Percentage.ts @@ -1,31 +1,29 @@ import { BigNumber } from 'bignumber.js' import { SerializationService } from '../../services/SerializationService' -import { IPercentage } from '../interfaces/IPercentage' +import { IPercentage, IPercentageData } from '../interfaces/IPercentage' /** * @class Percentage - * @description Represents a percentage + * @see IPercentage */ export class Percentage implements IPercentage { readonly value: number - private constructor(params: IPercentage) { - this.value = params.value - } - - static createFrom(params: IPercentage) { + /** Factory method */ + static createFrom(params: IPercentageData) { return new Percentage(params) } - toString(): string { - return `${this.value}` + /** Sealed constructor */ + private constructor(params: IPercentageData) { + this.value = params.value } - add(percentage: IPercentage): Percentage { + add(percentage: Percentage): Percentage { return Percentage.createFrom({ value: this.value + percentage.value }) } - subtract(percentage: IPercentage): Percentage { + subtract(percentage: Percentage): Percentage { return Percentage.createFrom({ value: this.value - percentage.value }) } @@ -37,6 +35,10 @@ export class Percentage implements IPercentage { const factor = new BigNumber(10).pow(params.decimals) return new BigNumber(this.value).multipliedBy(factor).toFixed(0).toString() } + + toString(): string { + return `${this.value}%` + } } SerializationService.registerClass(Percentage) diff --git a/sdk/sdk-common/src/common/implementation/Position.ts b/sdk/sdk-common/src/common/implementation/Position.ts index 4e4aa4432f..f9232b8dd4 100644 --- a/sdk/sdk-common/src/common/implementation/Position.ts +++ b/sdk/sdk-common/src/common/implementation/Position.ts @@ -1,28 +1,26 @@ -import { IPosition } from '../interfaces/IPosition' -import { IPool } from '../../protocols/interfaces/IPool' +import { IPosition, IPositionData } from '../interfaces/IPosition' import { SerializationService } from '../../services/SerializationService' import { PositionId } from './PositionId' import { TokenAmount } from './TokenAmount' import { PositionType } from '../enums/PositionType' +import { Pool } from '../../protocols/implementation/Pool' -// we should add assests prop instead of the amounts -export class Position implements IPosition { +/** + * @name Position + * @see IPosition + */ +export abstract class Position implements IPosition { readonly type: PositionType - readonly positionId: PositionId + readonly id: PositionId readonly debtAmount: TokenAmount readonly collateralAmount: TokenAmount - readonly pool: IPool + abstract readonly pool: Pool - private constructor(params: IPosition) { + protected constructor(params: IPositionData) { this.type = params.type - this.positionId = params.positionId + this.id = params.id this.debtAmount = TokenAmount.createFrom(params.debtAmount) this.collateralAmount = TokenAmount.createFrom(params.collateralAmount) - this.pool = params.pool - } - - static createFrom(params: IPosition): Position { - return new Position(params) } } diff --git a/sdk/sdk-common/src/common/implementation/PositionId.ts b/sdk/sdk-common/src/common/implementation/PositionId.ts index 5cf2a80791..4e4b068a14 100644 --- a/sdk/sdk-common/src/common/implementation/PositionId.ts +++ b/sdk/sdk-common/src/common/implementation/PositionId.ts @@ -1,10 +1,14 @@ import { SerializationService } from '../../services/SerializationService' -import { IPositionId } from '../interfaces/IPositionId' +import { IPositionId, IPositionIdData } from '../interfaces/IPositionId' +/** + * @class PositionId + * @see IPositionIdData + */ export abstract class PositionId implements IPositionId { readonly id: string - protected constructor(params: IPositionId) { + protected constructor(params: IPositionIdData) { this.id = params.id } diff --git a/sdk/sdk-common/src/common/implementation/Price.ts b/sdk/sdk-common/src/common/implementation/Price.ts index 612d90c178..7e133016e0 100644 --- a/sdk/sdk-common/src/common/implementation/Price.ts +++ b/sdk/sdk-common/src/common/implementation/Price.ts @@ -1,4 +1,4 @@ -import { IPrice } from '../interfaces/IPrice' +import { IPrice, IPriceData } from '../interfaces/IPrice' import { isToken } from '../interfaces/IToken' import { BigNumber } from 'bignumber.js' import { SerializationService } from '../../services/SerializationService' @@ -8,17 +8,20 @@ import { isSameTokens } from '../utils/TokenUtils' /** * @class Price - * @description Represents a price of a token (baseToken) in a given currency (quoteToken) - * @description Base / Quote e.q. 2000 ETH / DAI - * @description The financial representation (x ETH/DAI, Base/Quote) might be confusing as mathematically it is (x DAI/ETH, Quote/Base which means x DAI per 1 ETH) - * @description x amount of quoted token for one unit of base token + * @see IPrice */ export class Price implements IPrice { readonly value: string readonly baseToken: Token readonly quoteToken: Token | CurrencySymbol - private constructor(params: IPrice) { + /** Factory method */ + static createFrom(params: IPriceData): Price { + return new Price(params) + } + + /** Sealed constructor */ + private constructor(params: IPriceData) { this.value = params.value this.baseToken = Token.createFrom(params.baseToken) this.quoteToken = isToken(params.quoteToken) @@ -26,10 +29,6 @@ export class Price implements IPrice { : params.quoteToken } - static createFrom(params: IPrice): Price { - return new Price(params) - } - toString(): string { if (isToken(this.quoteToken)) { return `${this.value} ${this.baseToken.symbol}/${this.quoteToken.symbol}` @@ -38,7 +37,7 @@ export class Price implements IPrice { } } - public toBN(): BigNumber { + toBN(): BigNumber { return new BigNumber(this.value) } diff --git a/sdk/sdk-common/src/common/implementation/RiskRatio.ts b/sdk/sdk-common/src/common/implementation/RiskRatio.ts index 20192f9017..7258d6a6e0 100644 --- a/sdk/sdk-common/src/common/implementation/RiskRatio.ts +++ b/sdk/sdk-common/src/common/implementation/RiskRatio.ts @@ -1,64 +1,49 @@ import { SerializationService } from '../../services/SerializationService' import { Percentage } from './Percentage' -import { percentageAsFraction } from '../utils/PercentageUtils' -import { IRiskRatio, RiskRatioType } from '../interfaces/IRiskRatio' +import { IRiskRatio, IRiskRatioData, RiskRatioType } from '../interfaces/IRiskRatio' +import { IPercentage } from '../interfaces/IPercentage' /** * @class RiskRatio - * @description Risk ratio representing the risk of position, + * @see IRiskRatio */ export class RiskRatio implements IRiskRatio { readonly type: RiskRatioType - readonly ratio: Percentage + readonly ratio: IPercentage - private constructor(params: IRiskRatio) { - this.type = params.type - this.ratio = Percentage.createFrom(params.ratio) + /** Factory method */ + static createFrom(params: IRiskRatioData): RiskRatio { + return new RiskRatio(params) } - static type = RiskRatioType + /** Sealed constructor */ + private constructor(params: IRiskRatioData) { + this.type = params.type + + const originalRatio = Percentage.createFrom(params.ratio) - static createFrom(params: IRiskRatio): RiskRatio { switch (params.type) { case RiskRatioType.LTV: - return new RiskRatio(params) - case RiskRatioType.CollateralizationRatio: { - const ratio = Percentage.createFrom({ - value: (1 / percentageAsFraction(params.ratio)) * 100, + this.ratio = originalRatio + break + case RiskRatioType.CollateralizationRatio: + this.ratio = Percentage.createFrom({ + value: 1 / originalRatio.toProportion(), }) - return new RiskRatio({ ...params, ratio }) - } - case RiskRatioType.Multiple: { - const ratio = Percentage.createFrom({ - value: (1 / (1 + 1 / (params.ratio.value - 1))) * 100, + break + case RiskRatioType.Multiple: + this.ratio = Percentage.createFrom({ + value: 1 / (1 + 1 / (originalRatio.value - 1)), }) - return new RiskRatio({ ...params, ratio }) - } + break default: - throw new Error('Invalid RiskRatio type') + throw new Error('RiskRatio type not implemented') } } toString(): string { return `${this.ratio.toString()}` } - - convertTo(type: RiskRatioType): string { - switch (type) { - case RiskRatioType.LTV: - return this.ratio.toString() - case RiskRatioType.CollateralizationRatio: - return Percentage.createFrom({ - value: (1 / percentageAsFraction(this.ratio)) * 100, - }).toString() - case RiskRatioType.Multiple: - return Percentage.createFrom({ - value: 1 / (1 / percentageAsFraction(this.ratio) - 1) + 1, - }).toString() - default: - throw new Error('Invalid RiskRatio type') - } - } } SerializationService.registerClass(RiskRatio) diff --git a/sdk/sdk-common/src/common/implementation/Token.ts b/sdk/sdk-common/src/common/implementation/Token.ts index c882daa314..1a1bb83ae4 100644 --- a/sdk/sdk-common/src/common/implementation/Token.ts +++ b/sdk/sdk-common/src/common/implementation/Token.ts @@ -1,11 +1,11 @@ -import { IToken } from '../interfaces/IToken' +import { IToken, ITokenData } from '../interfaces/IToken' import { SerializationService } from '../../services/SerializationService' import { Address } from './Address' import { ChainInfo } from './ChainInfo' /** * @name Token - * @description Represents a token on a blockchain and provides it's details + * @see ITokenData */ export class Token implements IToken { readonly chainInfo: ChainInfo @@ -14,16 +14,22 @@ export class Token implements IToken { readonly name: string readonly decimals: number - private constructor(params: IToken) { - this.chainInfo = params.chainInfo + /** Factory method */ + static createFrom(params: ITokenData): Token { + return new Token(params) + } + + /** Sealed constructor */ + private constructor(params: ITokenData) { + this.chainInfo = ChainInfo.createFrom(params.chainInfo) this.address = Address.createFromEthereum(params.address) this.symbol = params.symbol this.name = params.name this.decimals = params.decimals } - static createFrom(params: IToken): Token { - return new Token(params) + equals(token: Token): boolean { + return this.chainInfo.equals(token.chainInfo) && this.address.equals(token.address) } toString(): string { diff --git a/sdk/sdk-common/src/common/implementation/TokenAmount.ts b/sdk/sdk-common/src/common/implementation/TokenAmount.ts index be1d5afa74..157217da2f 100644 --- a/sdk/sdk-common/src/common/implementation/TokenAmount.ts +++ b/sdk/sdk-common/src/common/implementation/TokenAmount.ts @@ -2,13 +2,11 @@ import { BigNumber } from 'bignumber.js' import { Percentage } from './Percentage' import { Token } from './Token' import { SerializationService } from '../../services/SerializationService' -import { ITokenAmount } from '../interfaces/ITokenAmount' +import { ITokenAmount, ITokenAmountData } from '../interfaces/ITokenAmount' /** * @class TokenAmount - * @description Represents an amount of a certain token. The amount is represented as a string to avoid - * issues with big number representation. The token gives enough information to parse it into - * a big number. + * @see ITokenAmount */ export class TokenAmount implements ITokenAmount { private readonly _baseUnitFactor: BigNumber @@ -16,7 +14,7 @@ export class TokenAmount implements ITokenAmount { readonly token: Token readonly amount: string - private constructor(params: ITokenAmount) { + private constructor(params: ITokenAmountData) { this.token = Token.createFrom(params.token) this.amount = params.amount this._baseUnitFactor = new BigNumber(10).pow(new BigNumber(params.token.decimals)) @@ -26,18 +24,19 @@ export class TokenAmount implements ITokenAmount { return this.toBN() } - static createFrom(params: ITokenAmount): TokenAmount { + static createFrom(params: ITokenAmountData): TokenAmount { return new TokenAmount(params) } + // amount in base unit (1eth = 1000000000000000000, 1btc = 100000000 etc) - public static createFromBaseUnit(parmas: { token: Token; amount: string }): TokenAmount { + static createFromBaseUnit(parmas: { token: Token; amount: string }): TokenAmount { const amount = new BigNumber(parmas.amount) .div(new BigNumber(10).pow(new BigNumber(parmas.token.decimals))) .toString() return new TokenAmount({ token: parmas.token, amount: amount }) } - public add(tokenToAdd: TokenAmount): TokenAmount { + add(tokenToAdd: TokenAmount): TokenAmount { if (tokenToAdd.token.symbol !== this.token.symbol) { throw new Error( `Token symbols do not match: ${tokenToAdd.token.symbol} !== ${this.token.symbol}`, @@ -50,7 +49,7 @@ export class TokenAmount implements ITokenAmount { }) } - public subtract(tokenToSubstract: TokenAmount): TokenAmount { + subtract(tokenToSubstract: TokenAmount): TokenAmount { if (tokenToSubstract.token.symbol !== this.token.symbol) { throw new Error('Token symbols do not match') } @@ -61,7 +60,7 @@ export class TokenAmount implements ITokenAmount { }) } - public multiply(multiplier: Percentage | string | number): TokenAmount { + multiply(multiplier: Percentage | string | number): TokenAmount { if (multiplier instanceof Percentage) { return new TokenAmount({ token: this.token, @@ -75,7 +74,7 @@ export class TokenAmount implements ITokenAmount { }) } - public divide(divisor: Percentage | string | number): TokenAmount { + divide(divisor: Percentage | string | number): TokenAmount { if (divisor instanceof Percentage) { return new TokenAmount({ token: this.token, @@ -86,15 +85,15 @@ export class TokenAmount implements ITokenAmount { return new TokenAmount({ token: this.token, amount: this.amountBN.div(divisor).toString() }) } - public toString(): string { + toString(): string { return `${this.amount} ${this.token.symbol}` } - public toBaseUnit(): string { + toBaseUnit(): string { return new BigNumber(this.amount).times(this._baseUnitFactor).toFixed(0) } - public toBN(): BigNumber { + toBN(): BigNumber { return new BigNumber(this.amount) } } diff --git a/sdk/sdk-common/src/common/implementation/Wallet.ts b/sdk/sdk-common/src/common/implementation/Wallet.ts index 32753bb8a6..aaf934662e 100644 --- a/sdk/sdk-common/src/common/implementation/Wallet.ts +++ b/sdk/sdk-common/src/common/implementation/Wallet.ts @@ -1,19 +1,16 @@ import { SerializationService } from '../../services/SerializationService' +import { IWallet, IWalletData } from '../interfaces/IWallet' import { Address } from './Address' -interface IWalletSerialized { - address: Address -} - /** * @interface Wallet - * @description Represents a wallet on a blockchain + * @see IWalletData */ -export class Wallet implements IWalletSerialized { +export class Wallet implements IWallet { readonly address: Address - private constructor(params: IWalletSerialized) { - this.address = params.address + private constructor(params: IWalletData) { + this.address = Address.createFrom(params.address) } static createFrom(params: { address: Address }): Wallet { diff --git a/sdk/sdk-common/src/common/interfaces/IAddress.ts b/sdk/sdk-common/src/common/interfaces/IAddress.ts index 4e3e859164..bb646a4183 100644 --- a/sdk/sdk-common/src/common/interfaces/IAddress.ts +++ b/sdk/sdk-common/src/common/interfaces/IAddress.ts @@ -1,7 +1,60 @@ import { AddressValue } from '../aliases/AddressValue' import { AddressType } from '../enums/AddressType' +import { z } from 'zod' -export interface IAddress { - value: AddressValue - type: AddressType +/** + * @name IAddressData + * @description Represents an address with a certain format, specified by the type + * + * Currently only Ethereum type is supported + */ +export interface IAddressData { + /** The address value in the format specified by type */ + readonly value: AddressValue + /** The type of the address */ + readonly type: AddressType } + +/** + * @name IAddress + * @description Interface for the implementors of the address + * + * This interface is used to add all the methods that the interface supports + */ +export interface IAddress extends IAddressData { + readonly value: AddressValue + readonly type: AddressType + + /** + * @name equals + * @description Checks if two addresses are equal + * @param address The address to compare + * @returns true if the addresses are equal + * + * Equality is determined by the address value and type + */ + equals(address: IAddress): boolean +} + +/** + * @description Zod schema for IAddress + */ +export const AddressSchema = z.object({ + value: z.custom(), + type: z.nativeEnum(AddressType), +}) + +/** + * @description Type guard for IAddress + * @param maybeAddress + * @returns true if the object is an IAddress + */ +export function isAddress(maybeAddress: unknown): maybeAddress is IAddressData { + return AddressSchema.safeParse(maybeAddress).success +} + +/** + * Checker to make sure that the schema is aligned with the interface + */ +/* eslint-disable-next-line @typescript-eslint/no-unused-vars */ +const __schemaChecker: IAddressData = {} as z.infer diff --git a/sdk/sdk-common/src/common/interfaces/IChainInfo.ts b/sdk/sdk-common/src/common/interfaces/IChainInfo.ts index a1b8b1806d..0ceccc0cb4 100644 --- a/sdk/sdk-common/src/common/interfaces/IChainInfo.ts +++ b/sdk/sdk-common/src/common/interfaces/IChainInfo.ts @@ -1,8 +1,57 @@ -import { ChainId } from '../aliases/ChainId' +import { ChainId, ChainIdSchema } from '../aliases/ChainId' +import { z } from 'zod' -export type IChainInfo = { +/** + * @name IChainInfoData + * @description Information used to identify a blockchain network + */ +export interface IChainInfoData { /** The chain ID of the network */ chainId: ChainId /** The name of the network */ name: string } + +/** + * @name IChainInfo + * @description Interface for the implementors of the chain info + * + * This interface is used to add all the methods that the interface supports + */ +export interface IChainInfo extends IChainInfoData { + readonly chainId: ChainId + readonly name: string + + /** + * @name equals + * @description Checks if two chain infos are equal + * @param chainInfo The chain info to compare + * @returns true if the chain infos are equal + * + * Equality is determined by the chain ID + */ + equals(chainInfo: IChainInfoData): boolean +} + +/** + * @description Zod schema for IChainInfo + */ +export const ChainInfoSchema = z.object({ + chainId: ChainIdSchema, + name: z.string(), +}) + +/** + * @description Type guard for IChainInfo + * @param maybeChainInfo + * @returns true if the object is an IChainInfo + */ +export function isChainInfo(maybeChainInfo: unknown): maybeChainInfo is IChainInfoData { + return ChainInfoSchema.safeParse(maybeChainInfo).success +} + +/** + * Checker to make sure that the schema is aligned with the interface + */ +/* eslint-disable-next-line @typescript-eslint/no-unused-vars */ +const __schemaChecker: IChainInfoData = {} as z.infer diff --git a/sdk/sdk-common/src/common/interfaces/IPercentage.ts b/sdk/sdk-common/src/common/interfaces/IPercentage.ts index a57934b95c..0b378ed157 100644 --- a/sdk/sdk-common/src/common/interfaces/IPercentage.ts +++ b/sdk/sdk-common/src/common/interfaces/IPercentage.ts @@ -1,3 +1,64 @@ -export interface IPercentage { +import { z } from 'zod' + +/** + * @name IPercentageData + * @description Percentage type that can be used for calculations with other types like TokenAmount or Price + */ +export interface IPercentageData { + /** The percentage in floating point format */ value: number } + +/** + * @name IPercentage + * @description Interface for the implementors of the percentage + * + * This interface is used to add all the methods that the interface supports + */ +export interface IPercentage extends IPercentageData { + readonly value: number + + /** + * @name add + * @param percentage Percentage to add + * @returns the result of the addition + */ + add(percentage: IPercentage): IPercentage + + /** + * @name subtract + * @param percentage Percentage to subtract + * @returns the result of the subtraction + */ + subtract(percentage: IPercentageData): IPercentage + + /** + * @name toProportion + * @returns Returns the equivalent proportion of the percentage + * + * The proportion is the percentage divided by 100, this is, a floating value between 0 and 1 + */ + toProportion(): number +} + +/** + * @description Zod schema for IPercentage + */ +export const PercentageSchema = z.object({ + value: z.number(), +}) + +/** + * @description Type guard for IPercentage + * @param maybePercentage + * @returns true if the object is an IPercentage + */ +export function isPercentage(maybePercentage: unknown): maybePercentage is IPercentageData { + return PercentageSchema.safeParse(maybePercentage).success +} + +/** + * Checker to make sure that the schema is aligned with the interface + */ +/* eslint-disable-next-line @typescript-eslint/no-unused-vars */ +const __schemaChecker: IPercentageData = {} as z.infer diff --git a/sdk/sdk-common/src/common/interfaces/IPosition.ts b/sdk/sdk-common/src/common/interfaces/IPosition.ts index fafaf150fd..6393aa5a84 100644 --- a/sdk/sdk-common/src/common/interfaces/IPosition.ts +++ b/sdk/sdk-common/src/common/interfaces/IPosition.ts @@ -1,24 +1,62 @@ -import { IPool } from '../../protocols/interfaces/IPool' +import { IPool, IPoolData, PoolSchema } from '../../protocols/interfaces/IPool' import { PositionType } from '../enums/PositionType' -import { IPositionId } from './IPositionId' -import { ITokenAmount } from './ITokenAmount' +import { IPositionId, IPositionIdData, PositionIdSchema } from './IPositionId' +import { ITokenAmount, ITokenAmountData, TokenAmountSchema } from './ITokenAmount' +import { z } from 'zod' -export interface IPosition { +/** + * @name IPositionData + * @description Represents a Summer position in a pool/protocol + */ +export interface IPositionData { + /** Type of the position in the Summer.fi system */ readonly type: PositionType - readonly positionId: IPositionId + /** Unique identifier for the position inside the Summer.fi system */ + readonly id: IPositionIdData + /** Amount of debt borrowed from the pool */ + readonly debtAmount: ITokenAmountData + /** Amount of collateral deposited in the pool */ + readonly collateralAmount: ITokenAmountData + /** Pool where the position is */ + readonly pool: IPoolData +} + +/** + * @name IPosition + * @description Interface for the implementors of the position + * + * This interface is used to add all the methods that the interface supports + */ +export interface IPosition extends IPositionData { + readonly type: PositionType + readonly id: IPositionId readonly debtAmount: ITokenAmount readonly collateralAmount: ITokenAmount readonly pool: IPool } -export function isPosition(maybePosition: unknown): maybePosition is IPosition { - return ( - typeof maybePosition === 'object' && - maybePosition !== null && - 'type' in maybePosition && - 'positionId' in maybePosition && - 'debtAmount' in maybePosition && - 'collateralAmount' in maybePosition && - 'pool' in maybePosition - ) +/** + * @description Zod schema for IPosition + */ +export const PositionSchema = z.object({ + type: z.nativeEnum(PositionType), + id: PositionIdSchema, + debtAmount: TokenAmountSchema, + collateralAmount: TokenAmountSchema, + pool: PoolSchema, +}) + +/** + * @description Type guard for IPosition + * @param maybePosition + * @returns true if the object is an IPosition + */ +export function isPosition(maybePosition: unknown): maybePosition is IPositionData { + return PositionSchema.safeParse(maybePosition).success } + +/** + * Checker to make sure that the schema is aligned with the interface + */ +/* eslint-disable-next-line @typescript-eslint/no-unused-vars */ +const __schemaChecker: IPositionData = {} as z.infer diff --git a/sdk/sdk-common/src/common/interfaces/IPositionId.ts b/sdk/sdk-common/src/common/interfaces/IPositionId.ts index 43ba5ac48b..d357470633 100644 --- a/sdk/sdk-common/src/common/interfaces/IPositionId.ts +++ b/sdk/sdk-common/src/common/interfaces/IPositionId.ts @@ -1,11 +1,42 @@ +import { z } from 'zod' + /** - * Generic position ID interface, to be specialized by each protocol + * @name IPositionIdData + * @description Represents a unique identifier for a position in the Summer system */ -export interface IPositionId { +export interface IPositionIdData { /* Unique identifier for the position inside the Summer.fi system */ readonly id: string } -export function isPositionId(maybePositionId: unknown): maybePositionId is IPositionId { - return typeof maybePositionId === 'object' && maybePositionId !== null && 'id' in maybePositionId +/** + * @name IPositionId + * @description Interface for the implementors of the position id + * + * This interface is used to add all the methods that the interface supports + */ +export interface IPositionId extends IPositionIdData { + readonly id: string +} + +/** + * @description Zod schema for IPositionId + */ +export const PositionIdSchema = z.object({ + id: z.string(), +}) + +/** + * @description Type guard for IPositionId + * @param maybePositionId + * @returns true if the object is an IPositionId + */ +export function isPositionId(maybePositionId: unknown): maybePositionId is IPositionIdData { + return PositionIdSchema.safeParse(maybePositionId).success } + +/** + * Checker to make sure that the schema is aligned with the interface + */ +/* eslint-disable-next-line @typescript-eslint/no-unused-vars */ +const __schemaChecker: IPositionIdData = {} as z.infer diff --git a/sdk/sdk-common/src/common/interfaces/IPrice.ts b/sdk/sdk-common/src/common/interfaces/IPrice.ts index 3a8d2dca74..fa7ed41840 100644 --- a/sdk/sdk-common/src/common/interfaces/IPrice.ts +++ b/sdk/sdk-common/src/common/interfaces/IPrice.ts @@ -1,8 +1,69 @@ import { CurrencySymbol } from '../enums/CurrencySymbol' -import { IToken } from './IToken' +import { IToken, ITokenData, TokenSchema } from './IToken' +import { z } from 'zod' -export interface IPrice { - value: string - baseToken: IToken - quoteToken: IToken | CurrencySymbol +/** + * @name IPriceData + * @description Represents a price for a pair of tokens + * + * The price is represented as a string in floating point format without taking into consideration + * the number of decimals of the tokens. This data type can be used for calculations with other types + * like TokenAmount or Percentage + * + * Typically in exchanges the price is represented in the following format: + * + * BASE/QUOTE + * + * Base is the token that is being traded, and quote is the token that is received as part of the trade + * + * In that format the slash in between the base and the quote is not a quotient or fraction, + * and it is just used to separate the two tokens. + * + * The mathematical representation of the price units is instead: + * + * QUOTE/BASE + */ +export interface IPriceData { + /** The price value in floating point format without taking into account decimals */ + readonly value: string + /** The token for the base of the price */ + readonly baseToken: ITokenData + /** The token for the quote of the price */ + readonly quoteToken: ITokenData | CurrencySymbol } + +/** + * @name IPrice + * @description Interface for the implementors of the price + * + * This interface is used to add all the methods that the interface supports + */ +export interface IPrice extends IPriceData { + readonly value: string + readonly baseToken: IToken + readonly quoteToken: IToken | CurrencySymbol +} + +/** + * @description Zod schema for IPrice + */ +export const PriceSchema = z.object({ + value: z.string(), + baseToken: TokenSchema, + quoteToken: TokenSchema, +}) + +/** + * @description Type guard for IPrice + * @param maybePrice + * @returns true if the object is an IPrice + */ +export function isPrice(maybePrice: unknown): maybePrice is IPriceData { + return PriceSchema.safeParse(maybePrice).success +} + +/** + * Checker to make sure that the schema is aligned with the interface + */ +/* eslint-disable-next-line @typescript-eslint/no-unused-vars */ +const __schemaChecker: IPriceData = {} as z.infer diff --git a/sdk/sdk-common/src/common/interfaces/IPrintable.ts b/sdk/sdk-common/src/common/interfaces/IPrintable.ts new file mode 100644 index 0000000000..5685bdffd2 --- /dev/null +++ b/sdk/sdk-common/src/common/interfaces/IPrintable.ts @@ -0,0 +1,16 @@ +/** + * @name IPrintable + * @description Interface for printable objects. + * + * This enables more readable debug objects + */ +export interface IPrintable { + /** + * @name toString + * @description Returns a string representation of the object + * @returns string + * + * The string representation should have enough info to debug the object + */ + toString(): string +} diff --git a/sdk/sdk-common/src/common/interfaces/IRiskRatio.ts b/sdk/sdk-common/src/common/interfaces/IRiskRatio.ts index f0e93d665e..6cb77b48e5 100644 --- a/sdk/sdk-common/src/common/interfaces/IRiskRatio.ts +++ b/sdk/sdk-common/src/common/interfaces/IRiskRatio.ts @@ -1,12 +1,57 @@ -import { IPercentage } from './IPercentage' +import { IPercentage, IPercentageData, PercentageSchema } from './IPercentage' +import { IPrintable } from './IPrintable' +import { z } from 'zod' +/** + * @name RiskRatioType + * @description Enum for the different types of risk ratios supported + */ export enum RiskRatioType { + /** Loan-to-Value ratio */ LTV = 'LTV', + /** TODO */ CollateralizationRatio = 'CollateralizationRatio', + /** TODO */ Multiple = 'Multiple', } -export interface IRiskRatio { - type: RiskRatioType - ratio: IPercentage +/** + * @name IRiskRatioData + * @description Represents a risk ratio with a certain type and percentage value + * + * The type indicates how to interpret the percentage value + */ +export interface IRiskRatioData { + /** The type of the risk ratio */ + readonly type: RiskRatioType + /** The percentage value */ + readonly ratio: IPercentageData } + +export interface IRiskRatio extends IRiskRatioData, IPrintable { + readonly type: RiskRatioType + readonly ratio: IPercentage +} + +/** + * @description Zod schema for IRiskRatioData + */ +export const RiskRatioSchema = z.object({ + type: z.nativeEnum(RiskRatioType), + ratio: PercentageSchema, +}) + +/** + * @description Type guard for IRiskRatioData + * @param maybeRiskRatio + * @returns true if the object is an IRiskRatioData + */ +export function isRiskRatio(maybeRiskRatio: unknown): maybeRiskRatio is IRiskRatioData { + return RiskRatioSchema.safeParse(maybeRiskRatio).success +} + +/** + * Checker to make sure that the schema is aligned with the interface + */ +/* eslint-disable-next-line @typescript-eslint/no-unused-vars */ +const __schemaChecker: IRiskRatioData = {} as z.infer diff --git a/sdk/sdk-common/src/common/interfaces/IToken.ts b/sdk/sdk-common/src/common/interfaces/IToken.ts index 86e06eae1b..043569ad9b 100644 --- a/sdk/sdk-common/src/common/interfaces/IToken.ts +++ b/sdk/sdk-common/src/common/interfaces/IToken.ts @@ -1,22 +1,73 @@ -import { IAddress } from './IAddress' -import { IChainInfo } from './IChainInfo' +import { AddressSchema, IAddress, IAddressData } from './IAddress' +import { ChainInfoSchema, IChainInfo, IChainInfoData } from './IChainInfo' +import { IPrintable } from './IPrintable' +import { z } from 'zod' -export interface IToken { - chainInfo: IChainInfo - address: IAddress - symbol: string - name: string - decimals: number +/** + * @name ITokenData + * @description Represents a blockchain token + * + * Tokens are uniquely identified by their address and chain information + */ +export interface ITokenData { + /** Chain where the token is deployed */ + readonly chainInfo: IChainInfoData + /** Token address */ + readonly address: IAddressData + /** Token symbol, usually a short representation of name and used in tickers */ + readonly symbol: string + /** Full token name */ + readonly name: string + /** Number of decimals for the token */ + readonly decimals: number } -export function isToken(maybeToken: unknown): maybeToken is IToken { - return ( - typeof maybeToken === 'object' && - maybeToken !== null && - 'chainInfo' in maybeToken && - 'address' in maybeToken && - 'symbol' in maybeToken && - 'name' in maybeToken && - 'decimals' in maybeToken - ) +/** + * @name IToken + * @description Interface for the implementors of the token + * + * This interface is used to add all the methods that the interface supports + */ +export interface IToken extends ITokenData, IPrintable { + readonly chainInfo: IChainInfo + readonly address: IAddress + readonly symbol: string + readonly name: string + readonly decimals: number + + /** + * @name equals + * @description Checks if two tokens are equal + * @param token The token to compare + * @returns true if the tokens are equal + * + * Equality is determined by the address and chain information + */ + equals(token: IToken): boolean } + +/** + * @description Zod schema for IToken + */ +export const TokenSchema = z.object({ + chainInfo: ChainInfoSchema, + address: AddressSchema, + symbol: z.string(), + name: z.string(), + decimals: z.number(), +}) + +/** + * @description Type guard for IToken + * @param maybeToken + * @returns true if the object is an IToken + */ +export function isToken(maybeToken: unknown): maybeToken is ITokenData { + return TokenSchema.safeParse(maybeToken).success +} + +/** + * Checker to make sure that the schema is aligned with the interface + */ +/* eslint-disable-next-line @typescript-eslint/no-unused-vars */ +const __schemaChecker: ITokenData = {} as z.infer diff --git a/sdk/sdk-common/src/common/interfaces/ITokenAmount.ts b/sdk/sdk-common/src/common/interfaces/ITokenAmount.ts index ad5d626c01..86422648ed 100644 --- a/sdk/sdk-common/src/common/interfaces/ITokenAmount.ts +++ b/sdk/sdk-common/src/common/interfaces/ITokenAmount.ts @@ -1,6 +1,81 @@ -import { IToken } from './IToken' +import { IPercentageData } from './IPercentage' +import { IPrintable } from './IPrintable' +import { IToken, ITokenData, TokenSchema } from './IToken' +import { z } from 'zod' -export interface ITokenAmount { - token: IToken - amount: string +/** + * @name ITokenAmountData + * @description Represents an amount of a token + * + * The amount is represented as a string in floating point format without taking into consideration + * the number of decimals of the token. This data type can be used for calculations with other types + * like Price or Percentage + */ +export interface ITokenAmountData { + /** Token for the amount */ + readonly token: ITokenData + /** The amount in floating point format without taking into account the token decimals*/ + readonly amount: string } + +/** + * @name ITokenAmount + * @description Interface for the implementors of the token amount + * + * This interface is used to add all the methods that the interface supports + */ +export interface ITokenAmount extends ITokenAmountData, IPrintable { + readonly token: IToken + readonly amount: string + + /** + * @name add + * @param tokenToAdd TokenAmount to add + * @returns The resulting TokenAmount + */ + add(tokenToAdd: ITokenAmount): ITokenAmount + + /** + * @name subtract + * @param tokenToSubstract TokenAmount to subtract + * @returns The resulting TokenAmount + */ + subtract(tokenToSubstract: ITokenAmount): ITokenAmount + + /** + * @name multiply + * @param multiplier A percentage, string amount or number to multiply + * @returns The resulting TokenAmount + */ + multiply(multiplier: IPercentageData | string | number): ITokenAmount + + /** + * @name divide + * @param divisor A percentage, string amount or number to divide + * @returns The resulting TokenAmount + */ + divide(divisor: IPercentageData | string | number): ITokenAmount +} + +/** + * @description Zod schema for ITokenAmount + */ +export const TokenAmountSchema = z.object({ + token: TokenSchema, + amount: z.string(), +}) + +/** + * @description Type guard for ITokenAmount + * @param maybeTokenAmount + * @returns true if the object is an ITokenAmount + */ +export function isTokenAmount(maybeTokenAmount: unknown): maybeTokenAmount is ITokenAmountData { + return TokenAmountSchema.safeParse(maybeTokenAmount).success +} + +/** + * Checker to make sure that the schema is aligned with the interface + */ +/* eslint-disable-next-line @typescript-eslint/no-unused-vars */ +const __schemaChecker: ITokenAmountData = {} as z.infer diff --git a/sdk/sdk-common/src/common/interfaces/IWallet.ts b/sdk/sdk-common/src/common/interfaces/IWallet.ts new file mode 100644 index 0000000000..bbeec4927f --- /dev/null +++ b/sdk/sdk-common/src/common/interfaces/IWallet.ts @@ -0,0 +1,46 @@ +import { AddressSchema, IAddress, IAddressData } from './IAddress' +import { z } from 'zod' + +/** + * @name IWalletData + * @description Represents a wallet address + * + * This is present in the system in case it is needed to add extra information to the + * wallet type + */ +export interface IWalletData { + /** Wallet address */ + readonly address: IAddressData +} + +/** + * @name IWallet + * @description Interface for the implementors of the wallet + * + * This interface is used to add all the methods that the interface supports + */ +export interface IWallet extends IWalletData { + readonly address: IAddress +} + +/** + * @description Zod schema for IWallet + */ +export const WalletSchema = z.object({ + address: AddressSchema, +}) + +/** + * @description Type guard for IWallet + * @param maybeWallet + * @returns true if the object is an IWallet + */ +export function isWallet(maybeWallet: unknown): maybeWallet is IWalletData { + return WalletSchema.safeParse(maybeWallet).success +} + +/** + * Checker to make sure that the schema is aligned with the interface + */ +/* eslint-disable-next-line @typescript-eslint/no-unused-vars */ +const __schemaChecker: IWalletData = {} as z.infer diff --git a/sdk/sdk-common/src/common/interfaces/index.ts b/sdk/sdk-common/src/common/interfaces/index.ts index dd5f3289a8..445c06eece 100644 --- a/sdk/sdk-common/src/common/interfaces/index.ts +++ b/sdk/sdk-common/src/common/interfaces/index.ts @@ -7,3 +7,4 @@ export * from './IPercentage' export * from './IRiskRatio' export * from './IPrice' export * from './IPositionId' +export * from './IPrintable' diff --git a/sdk/sdk-common/src/common/utils/PercentageUtils.ts b/sdk/sdk-common/src/common/utils/PercentageUtils.ts deleted file mode 100644 index 0dbcc2610e..0000000000 --- a/sdk/sdk-common/src/common/utils/PercentageUtils.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { IPercentage } from '../interfaces/IPercentage' - -export function percentageAsFraction(percentage: IPercentage): number { - return percentage.value / 100 -} diff --git a/sdk/sdk-common/src/common/utils/PositionUtils.ts b/sdk/sdk-common/src/common/utils/PositionUtils.ts index 63d4be51d6..771ada02ea 100644 --- a/sdk/sdk-common/src/common/utils/PositionUtils.ts +++ b/sdk/sdk-common/src/common/utils/PositionUtils.ts @@ -1,71 +1,56 @@ -import { LendingPool } from '../../protocols/implementation/LendingPool' import { TokenAmount } from '../implementation/TokenAmount' import { Position } from '../implementation/Position' -import { Token } from '../implementation/Token' import { PositionType } from '../enums/PositionType' +import { ILendingPoolData } from '../../protocols/interfaces/ILendingPool' -export function newEmptyPositionFromPool( - pool: LendingPool, - debt: Token, - collateral: Token, -): Position { - const debtConfig = pool.debts.get({ token: debt }) - const collateralConfig = pool.collaterals.get({ token: collateral }) - - if (!debtConfig) { - throw new Error('Debt token not supported by pool') - } - if (!collateralConfig) { - throw new Error('Collateral token not supported by pool') - } - - return Position.createFrom({ +export function newEmptyPositionFromPool(pool: ILendingPoolData): Position { + return { type: PositionType.Multiply, - positionId: { + id: { id: 'newEmptyPositionFromPool', }, - debtAmount: TokenAmount.createFrom({ token: debtConfig.token, amount: '0' }), - collateralAmount: TokenAmount.createFrom({ token: collateralConfig.token, amount: '0' }), + debtAmount: TokenAmount.createFrom({ token: pool.id.debtToken, amount: '0' }), + collateralAmount: TokenAmount.createFrom({ token: pool.id.collateralToken, amount: '0' }), pool, - }) + } as unknown as Position } export function depositToPosition(position: Position, amount: TokenAmount): Position { - return Position.createFrom({ + return { type: PositionType.Multiply, - positionId: position.positionId, + id: position.id, debtAmount: position.debtAmount, collateralAmount: position.collateralAmount.add(amount), pool: position.pool, - }) + } as unknown as Position } export function withdrawFromPosition(position: Position, amount: TokenAmount): Position { - return Position.createFrom({ + return { type: PositionType.Multiply, - positionId: position.positionId, + id: position.id, debtAmount: position.debtAmount, collateralAmount: position.collateralAmount.subtract(amount), pool: position.pool, - }) + } as unknown as Position } export function borrowFromPosition(position: Position, amount: TokenAmount): Position { - return Position.createFrom({ + return { type: PositionType.Multiply, - positionId: position.positionId, + id: position.id, debtAmount: position.debtAmount.add(amount), collateralAmount: position.collateralAmount, pool: position.pool, - }) + } as unknown as Position } export function repayPositionDebt(position: Position, amount: TokenAmount): Position { - return Position.createFrom({ + return { type: PositionType.Multiply, - positionId: position.positionId, + id: position.id, debtAmount: position.debtAmount.subtract(amount), collateralAmount: position.collateralAmount, pool: position.pool, - }) + } as unknown as Position } diff --git a/sdk/sdk-common/src/common/utils/TokenUtils.ts b/sdk/sdk-common/src/common/utils/TokenUtils.ts index fa1c12c699..18a6bd2346 100644 --- a/sdk/sdk-common/src/common/utils/TokenUtils.ts +++ b/sdk/sdk-common/src/common/utils/TokenUtils.ts @@ -1,6 +1,6 @@ -import { IToken } from '../interfaces/IToken' +import { ITokenData } from '../interfaces/IToken' -export function isSameTokens(a: IToken, b: IToken): boolean { +export function isSameTokens(a: ITokenData, b: ITokenData): boolean { return ( a.address.value.toLowerCase() === b.address.value.toLowerCase() && a.chainInfo.chainId === b.chainInfo.chainId diff --git a/sdk/sdk-common/src/common/utils/index.ts b/sdk/sdk-common/src/common/utils/index.ts index c89f3ce010..b1fcfd7f60 100644 --- a/sdk/sdk-common/src/common/utils/index.ts +++ b/sdk/sdk-common/src/common/utils/index.ts @@ -1,3 +1,2 @@ export * from './PositionUtils' -export * from './PercentageUtils' export * from './TokenUtils' diff --git a/sdk/sdk-common/src/orders/implementation/PositionsManager.ts b/sdk/sdk-common/src/orders/implementation/PositionsManager.ts new file mode 100644 index 0000000000..4065f7c67b --- /dev/null +++ b/sdk/sdk-common/src/orders/implementation/PositionsManager.ts @@ -0,0 +1,25 @@ +import { IPrintable } from '../../common' +import { Address } from '../../common/implementation/Address' +import { IPositionsManager, IPositionsManagerData } from '../interfaces/IPositionsManager' + +/** + * @class PositionsManager + * @see IPositionsManager + */ +export class PositionsManager implements IPositionsManager, IPrintable { + public address: Address + + /** Factory method */ + public static createFrom(params: IPositionsManagerData): PositionsManager { + return new PositionsManager(params) + } + + /** Sealed constructor */ + private constructor(params: IPositionsManagerData) { + this.address = Address.createFromEthereum(params.address) + } + + toString(): string { + return `PositionsManager: ${this.address.toString()})` + } +} diff --git a/sdk/sdk-common/src/orders/implementation/base/TransactionInfoBaseImpl.ts b/sdk/sdk-common/src/orders/implementation/base/TransactionInfoBaseImpl.ts deleted file mode 100644 index cd44f81a6a..0000000000 --- a/sdk/sdk-common/src/orders/implementation/base/TransactionInfoBaseImpl.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Transaction, TransactionInfo } from '../../interfaces/common/TransactionInfo' - -export class TransactionInfoBaseImpl implements TransactionInfo { - public readonly transaction: Transaction - public readonly description: string - - public constructor(params: { transaction: Transaction; description: string }) { - this.transaction = params.transaction - this.description = params.description - } -} diff --git a/sdk/sdk-common/src/orders/implementation/base/index.ts b/sdk/sdk-common/src/orders/implementation/base/index.ts deleted file mode 100644 index fdc0fa1339..0000000000 --- a/sdk/sdk-common/src/orders/implementation/base/index.ts +++ /dev/null @@ -1 +0,0 @@ -export { TransactionInfoBaseImpl } from './TransactionInfoBaseImpl' diff --git a/sdk/sdk-common/src/orders/implementation/client/.gitkeep b/sdk/sdk-common/src/orders/implementation/client/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/sdk/sdk-common/src/orders/implementation/index.ts b/sdk/sdk-common/src/orders/implementation/index.ts new file mode 100644 index 0000000000..ce0b197a98 --- /dev/null +++ b/sdk/sdk-common/src/orders/implementation/index.ts @@ -0,0 +1 @@ +export * from './PositionsManager' diff --git a/sdk/sdk-common/src/orders/implementation/server/.gitkeep b/sdk/sdk-common/src/orders/implementation/server/.gitkeep deleted file mode 100644 index e69de29bb2..0000000000 diff --git a/sdk/sdk-common/src/orders/index.ts b/sdk/sdk-common/src/orders/index.ts index 4aa4b426b9..6d23aa57ac 100644 --- a/sdk/sdk-common/src/orders/index.ts +++ b/sdk/sdk-common/src/orders/index.ts @@ -1,2 +1,2 @@ export * from './interfaces' -export * from './interfaces/IPositionsManager' +export * from './implementation' diff --git a/sdk/sdk-common/src/orders/interfaces/IPositionsManager.ts b/sdk/sdk-common/src/orders/interfaces/IPositionsManager.ts index e63032c00b..2bacfe2bec 100644 --- a/sdk/sdk-common/src/orders/interfaces/IPositionsManager.ts +++ b/sdk/sdk-common/src/orders/interfaces/IPositionsManager.ts @@ -1,5 +1,46 @@ +import { AddressSchema, IAddressData } from '../../common/interfaces/IAddress' import { Address } from '../../common/implementation/Address' +import { z } from 'zod' -export interface IPositionsManager { - address: Address +/** + * @name IPositionsManager + * @description Interface for the positions manager (DPM) + * + * The Positions Manager is the proxy used to interact with the Summer.fi system. It is used as Smart Account for the user. + */ +export interface IPositionsManagerData { + readonly address: IAddressData } + +/** + * @name IPositionsManager + * @description Interface for the positions manager (DPM) + */ +export interface IPositionsManager extends IPositionsManagerData { + /** Address of the Positions Manager */ + readonly address: Address +} + +/** + * @description Zod schema for IPositionsManager + */ +export const PositionsManagerSchema = z.object({ + address: AddressSchema, +}) + +/** + * @description Type guard for IPositionsManager + * @param maybePositionsManager + * @returns true if the object is an IPositionsManager + */ +export function isPositionsManager( + maybePositionsManager: unknown, +): maybePositionsManager is IPositionsManagerData { + return PositionsManagerSchema.safeParse(maybePositionsManager).success +} + +/** + * Checker to make sure that the schema is aligned with the interface + */ +/* eslint-disable-next-line @typescript-eslint/no-unused-vars */ +const __schemaChecker: IPositionsManagerData = {} as z.infer diff --git a/sdk/sdk-common/src/orders/interfaces/importing/IExternalPosition.ts b/sdk/sdk-common/src/orders/interfaces/importing/IExternalPosition.ts index d2f1b23c9e..8938f63342 100644 --- a/sdk/sdk-common/src/orders/interfaces/importing/IExternalPosition.ts +++ b/sdk/sdk-common/src/orders/interfaces/importing/IExternalPosition.ts @@ -1,4 +1,4 @@ -import { IPosition, isPosition } from '../../../common' +import { IPositionData, isPosition } from '../../../common' import { Address } from '../../../common/implementation/Address' export enum ExternalPositionType { @@ -23,7 +23,7 @@ export function isExternalPositionId(maybeId: unknown): maybeId is IExternalPosi * different services. */ export interface IExternalPosition { - position: IPosition + position: IPositionData externalId: IExternalPositionId } diff --git a/sdk/sdk-common/src/orders/interfaces/index.ts b/sdk/sdk-common/src/orders/interfaces/index.ts index ce6589ac96..873460a97e 100644 --- a/sdk/sdk-common/src/orders/interfaces/index.ts +++ b/sdk/sdk-common/src/orders/interfaces/index.ts @@ -3,3 +3,4 @@ export * from './common' export * from './importing' export * from './migration' export * from './refinance' +export * from './IPositionsManager' diff --git a/sdk/sdk-common/src/orders/interfaces/refinance/IRefinanceParameters.ts b/sdk/sdk-common/src/orders/interfaces/refinance/IRefinanceParameters.ts index 74e1e47c41..7590e9444f 100644 --- a/sdk/sdk-common/src/orders/interfaces/refinance/IRefinanceParameters.ts +++ b/sdk/sdk-common/src/orders/interfaces/refinance/IRefinanceParameters.ts @@ -1,10 +1,10 @@ -import { IPercentage } from '../../../common/interfaces/IPercentage' -import { IPosition } from '../../../common/interfaces/IPosition' +import { IPercentageData } from '../../../common/interfaces/IPercentage' +import { IPositionData } from '../../../common/interfaces/IPosition' export interface IRefinanceParameters { - sourcePosition: IPosition - targetPosition: IPosition - slippage: IPercentage + sourcePosition: IPositionData + targetPosition: IPositionData + slippage: IPercentageData } export function isRefinanceParameters(parameters: unknown): parameters is IRefinanceParameters { diff --git a/sdk/sdk-common/src/protocols/enums/ProtocolName.ts b/sdk/sdk-common/src/protocols/enums/ProtocolName.ts index cdf5ec4415..bba903dc48 100644 --- a/sdk/sdk-common/src/protocols/enums/ProtocolName.ts +++ b/sdk/sdk-common/src/protocols/enums/ProtocolName.ts @@ -1,3 +1,5 @@ +import { z } from 'zod' + /** * @name ProtocolName * @description Enumerates the names of the protocols that are supported by the SDK @@ -10,3 +12,17 @@ export enum ProtocolName { Maker = 'Maker', Ajna = 'Ajna', } + +/** + * @description Type guard for ProtocolName + * @param maybeProtocolName Object to be checked + * @returns true if the object is a ProtocolName + */ +export function isProtocolName(maybeProtocolName: unknown): maybeProtocolName is ProtocolName { + return Object.values(ProtocolName).includes(maybeProtocolName as ProtocolName) +} + +/** + * @description Zod schema for ProtocolName + */ +export const ProtocolNameSchema = z.nativeEnum(ProtocolName) diff --git a/sdk/sdk-common/src/protocols/enums/index.ts b/sdk/sdk-common/src/protocols/enums/index.ts index 14c3ce1c09..19a40ce618 100644 --- a/sdk/sdk-common/src/protocols/enums/index.ts +++ b/sdk/sdk-common/src/protocols/enums/index.ts @@ -1 +1 @@ -export { ProtocolName } from './ProtocolName' +export * from './ProtocolName' diff --git a/sdk/sdk-common/src/protocols/implementation/CollateralConfigMap.ts b/sdk/sdk-common/src/protocols/implementation/CollateralConfigMap.ts index b8627a1c1b..3af7b20273 100644 --- a/sdk/sdk-common/src/protocols/implementation/CollateralConfigMap.ts +++ b/sdk/sdk-common/src/protocols/implementation/CollateralConfigMap.ts @@ -1,7 +1,7 @@ import { HexData } from '../../common/aliases/HexData' import { AddressValue } from '../../common/aliases/AddressValue' import { Maybe } from '../../common/aliases/Maybe' -import { IToken } from '../../common/interfaces/IToken' +import { ITokenData } from '../../common/interfaces/IToken' import { SerializationService } from '../../services/SerializationService' import { ICollateralConfig } from '../interfaces/ICollateralConfig' import { ICollateralConfigMap } from '../interfaces/ICollateralConfigMap' @@ -20,12 +20,12 @@ export class CollateralConfigMap implements ICollateralConfigMap { return new CollateralConfigMap(params) } - public add(params: { collateral: IToken; collateralConfig: ICollateralConfig }): void { + public add(params: { collateral: ITokenData; collateralConfig: ICollateralConfig }): void { this.record[this._formatRecordKey(params.collateral.address.value)] = CollateralConfig.createFrom(params.collateralConfig) } - public get(params: { token: IToken }): Maybe { + public get(params: { token: ITokenData }): Maybe { return this.record[this._formatRecordKey(params.token.address.value)] } diff --git a/sdk/sdk-common/src/protocols/implementation/DebtConfigMap.ts b/sdk/sdk-common/src/protocols/implementation/DebtConfigMap.ts index e4f0e59081..f1bc70a3ed 100644 --- a/sdk/sdk-common/src/protocols/implementation/DebtConfigMap.ts +++ b/sdk/sdk-common/src/protocols/implementation/DebtConfigMap.ts @@ -1,7 +1,7 @@ import { HexData } from '../../common/aliases/HexData' import { AddressValue } from '../../common/aliases/AddressValue' import { Maybe } from '../../common/aliases/Maybe' -import { IToken } from '../../common/interfaces/IToken' +import { ITokenData } from '../../common/interfaces/IToken' import { SerializationService } from '../../services/SerializationService' import { IDebtConfig } from '../interfaces/IDebtConfig' @@ -21,13 +21,13 @@ export class DebtConfigMap implements IDebtConfigMap { return new DebtConfigMap(params) } - public add(params: { debt: IToken; debtConfig: IDebtConfig }): void { + public add(params: { debt: ITokenData; debtConfig: IDebtConfig }): void { this.record[this._formatRecordKey(params.debt.address.value)] = DebtConfig.createFrom( params.debtConfig, ) } - public get(params: { token: IToken }): Maybe { + public get(params: { token: ITokenData }): Maybe { return this.record[this._formatRecordKey(params.token.address.value)] } diff --git a/sdk/sdk-common/src/protocols/implementation/LendingPool.ts b/sdk/sdk-common/src/protocols/implementation/LendingPool.ts index 7a1072580d..aa9c7e3c89 100644 --- a/sdk/sdk-common/src/protocols/implementation/LendingPool.ts +++ b/sdk/sdk-common/src/protocols/implementation/LendingPool.ts @@ -1,43 +1,28 @@ -import { CurrencySymbol } from '../../common/enums/CurrencySymbol' -import { Token } from '../../common/implementation/Token' -import { IPool } from '../interfaces/IPool' import { PoolType } from '../types/PoolType' import { Pool } from './Pool' import { SerializationService } from '../../services' -import { ILendingPool } from '../interfaces/ILendingPool' -import { CollateralConfigMap } from './CollateralConfigMap' -import { DebtConfigMap } from './DebtConfigMap' -import { isToken } from '../../common/interfaces/IToken' +import { ILendingPool, ILendingPoolData } from '../interfaces/ILendingPool' +import { LendingPoolId } from './LendingPoolId' +import { IPrintable } from '../../common/interfaces/IPrintable' /** - * @interface LendingPool - * @description Represents a lending pool. Provides information about the collateral - * and debt tokens + * LendingPool + * @see ILendingPoolData + * + * The class is abstract to force each protocol to implement it's own version of the LendingPool by + * customizing the PoolId */ -export abstract class LendingPool extends Pool implements ILendingPool { - public readonly type = PoolType.Lending - // List of collateral configs to be used from the lending pool - public abstract readonly collaterals: CollateralConfigMap - // List of debt configs to be used from the lending pool - public abstract readonly debts: DebtConfigMap - - public readonly baseCurrency: Token | CurrencySymbol - - protected constructor(params: ILendingPool) { - if (params.type !== PoolType.Lending) { - throw new Error('Pool type must be Lending') - } +export abstract class LendingPool extends Pool implements ILendingPool, IPrintable { + readonly type = PoolType.Lending + abstract readonly id: LendingPoolId + protected constructor(params: ILendingPoolData) { super(params) - - this.baseCurrency = isToken(params.baseCurrency) - ? Token.createFrom(params.baseCurrency) - : params.baseCurrency } -} -export function isLendingPool(pool: IPool): pool is LendingPool { - return pool.type === PoolType.Lending + toString(): string { + return `Lending Pool: ${this.id.toString()}` + } } SerializationService.registerClass(LendingPool) diff --git a/sdk/sdk-common/src/protocols/implementation/LendingPoolId.ts b/sdk/sdk-common/src/protocols/implementation/LendingPoolId.ts new file mode 100644 index 0000000000..2dea22bbe1 --- /dev/null +++ b/sdk/sdk-common/src/protocols/implementation/LendingPoolId.ts @@ -0,0 +1,27 @@ +import { Token } from '../../common/implementation/Token' +import { IPrintable } from '../../common/interfaces/IPrintable' +import { SerializationService } from '../../services' +import { ILendingPoolId, ILendingPoolIdData } from '../interfaces/ILendingPoolId' +import { PoolId } from './PoolId' + +/** + * LendingPoolId + * @see ILendingPoolIdData + */ +export abstract class LendingPoolId extends PoolId implements ILendingPoolId, IPrintable { + readonly collateralToken: Token + readonly debtToken: Token + + protected constructor(params: ILendingPoolIdData) { + super(params) + + this.collateralToken = Token.createFrom(params.collateralToken) + this.debtToken = Token.createFrom(params.debtToken) + } + + toString(): string { + return `Lending Pool ID: ${this.collateralToken.symbol}/${this.debtToken.symbol} for ${this.protocol.toString()}` + } +} + +SerializationService.registerClass(LendingPoolId) diff --git a/sdk/sdk-common/src/protocols/implementation/Pool.ts b/sdk/sdk-common/src/protocols/implementation/Pool.ts index b103d15075..8e01184b45 100644 --- a/sdk/sdk-common/src/protocols/implementation/Pool.ts +++ b/sdk/sdk-common/src/protocols/implementation/Pool.ts @@ -1,21 +1,23 @@ +import { IPrintable } from '../../common/interfaces/IPrintable' import { SerializationService } from '../../services/SerializationService' -import { IPool } from '../interfaces/IPool' -import { IPoolId } from '../interfaces/IPoolId' -import { IProtocol } from '../interfaces/IProtocol' +import { IPool, IPoolData } from '../interfaces/IPool' import { PoolType } from '../types/PoolType' +import { PoolId } from './PoolId' /** - * @see IPool + * @class Pool + * @see IPoolData */ -export abstract class Pool implements IPool { - public readonly type: PoolType - public readonly poolId: IPoolId - public readonly protocol: IProtocol +export abstract class Pool implements IPool, IPrintable { + readonly type: PoolType + abstract readonly id: PoolId - constructor(params: IPool) { + protected constructor(params: IPoolData) { this.type = params.type - this.poolId = params.poolId - this.protocol = params.protocol + } + + toString(): string { + return `Pool: ${this.type} (${this.id.toString()})` } } diff --git a/sdk/sdk-common/src/protocols/implementation/PoolBaseImpl.ts b/sdk/sdk-common/src/protocols/implementation/PoolBaseImpl.ts deleted file mode 100644 index 02a686d1ee..0000000000 --- a/sdk/sdk-common/src/protocols/implementation/PoolBaseImpl.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { Address } from '../../common/implementation/Address' -import { SerializationService } from '../../services/SerializationService' -import { IPool } from '../interfaces/IPool' -import { IPoolId } from '../interfaces/IPoolId' -import { IProtocol } from '../interfaces/IProtocol' -import { PoolType } from '../types/PoolType' - -export abstract class PoolBaseImpl implements IPool { - public readonly poolId: IPoolId - public readonly protocol: IProtocol - public readonly type: T - public readonly address?: Address - public readonly TVL?: number - - constructor(params: { - poolId: IPoolId - protocol: IProtocol - type: T - address?: Address - TVL?: number - }) { - this.poolId = params.poolId - this.protocol = params.protocol - this.type = params.type - this.address = params.address - this.TVL = params.TVL - } -} - -SerializationService.registerClass(PoolBaseImpl) diff --git a/sdk/sdk-common/src/protocols/implementation/PoolId.ts b/sdk/sdk-common/src/protocols/implementation/PoolId.ts index 75311d036d..e53ff8e4f1 100644 --- a/sdk/sdk-common/src/protocols/implementation/PoolId.ts +++ b/sdk/sdk-common/src/protocols/implementation/PoolId.ts @@ -1,10 +1,23 @@ -import { IPoolId } from '../interfaces/IPoolId' -import { IProtocol } from '../interfaces/IProtocol' +import { IPrintable } from '../../common/interfaces/IPrintable' +import { SerializationService } from '../../services' +import { IPoolId, IPoolIdData } from '../interfaces/IPoolId' +import { Protocol } from './Protocol' -export abstract class PoolId implements IPoolId { - protocol: IProtocol +/** + * @class PoolId + * @see IPoolIdData + */ +export abstract class PoolId implements IPoolId, IPrintable { + abstract protocol: Protocol - protected constructor(params: IPoolId) { - this.protocol = params.protocol + /* eslint-disable-next-line @typescript-eslint/no-unused-vars */ + protected constructor(params: IPoolIdData) { + // Empty on purpose + } + + toString(): string { + return `Pool ID: ${this.protocol.toString()}` } } + +SerializationService.registerClass(PoolId) diff --git a/sdk/sdk-common/src/protocols/implementation/Protocol.ts b/sdk/sdk-common/src/protocols/implementation/Protocol.ts new file mode 100644 index 0000000000..88d5b55dd9 --- /dev/null +++ b/sdk/sdk-common/src/protocols/implementation/Protocol.ts @@ -0,0 +1,29 @@ +import { ChainInfo } from '../../common/implementation/ChainInfo' +import { IPrintable } from '../../common/interfaces/IPrintable' +import { SerializationService } from '../../services' +import { ProtocolName } from '../enums/ProtocolName' +import { IProtocol, IProtocolData } from '../interfaces/IProtocol' + +/** + * @class Protocol + * @see IProtocolData + */ +export abstract class Protocol implements IProtocol, IPrintable { + readonly name: ProtocolName + readonly chainInfo: ChainInfo + + protected constructor(params: IProtocolData) { + this.name = params.name + this.chainInfo = ChainInfo.createFrom(params.chainInfo) + } + + equals(protocol: Protocol): boolean { + return this.name === protocol.name && this.chainInfo.equals(protocol.chainInfo) + } + + toString(): string { + return `Protocol: ${this.name} on ${this.chainInfo.toString()}` + } +} + +SerializationService.registerClass(Protocol) diff --git a/sdk/sdk-common/src/protocols/implementation/index.ts b/sdk/sdk-common/src/protocols/implementation/index.ts index ccb7fe8273..0d1241230a 100644 --- a/sdk/sdk-common/src/protocols/implementation/index.ts +++ b/sdk/sdk-common/src/protocols/implementation/index.ts @@ -4,5 +4,6 @@ export * from './DebtConfig' export * from './DebtConfigMap' export * from './LendingPool' export * from './Pool' -export * from './PoolBaseImpl' export * from './PoolId' +export * from './LendingPoolId' +export * from './Protocol' diff --git a/sdk/sdk-common/src/protocols/interfaces/ICollateralConfig.ts b/sdk/sdk-common/src/protocols/interfaces/ICollateralConfig.ts index ea7e363d9a..0cfc530850 100644 --- a/sdk/sdk-common/src/protocols/interfaces/ICollateralConfig.ts +++ b/sdk/sdk-common/src/protocols/interfaces/ICollateralConfig.ts @@ -1,15 +1,15 @@ -import { IPercentage } from '../../common/interfaces/IPercentage' -import { IPrice } from '../../common/interfaces/IPrice' -import { IRiskRatio } from '../../common/interfaces/IRiskRatio' -import { IToken } from '../../common/interfaces/IToken' -import { ITokenAmount } from '../../common/interfaces/ITokenAmount' +import { IPercentageData } from '../../common/interfaces/IPercentage' +import { IPriceData } from '../../common/interfaces/IPrice' +import { IRiskRatioData } from '../../common/interfaces/IRiskRatio' +import { ITokenData } from '../../common/interfaces/IToken' +import { ITokenAmountData } from '../../common/interfaces/ITokenAmount' export interface ICollateralConfig { - token: IToken - price: IPrice - priceUSD: IPrice - liquidationThreshold: IRiskRatio - maxSupply: ITokenAmount - tokensLocked: ITokenAmount - liquidationPenalty: IPercentage + token: ITokenData + price: IPriceData + priceUSD: IPriceData + liquidationThreshold: IRiskRatioData + maxSupply: ITokenAmountData + tokensLocked: ITokenAmountData + liquidationPenalty: IPercentageData } diff --git a/sdk/sdk-common/src/protocols/interfaces/IDebtConfig.ts b/sdk/sdk-common/src/protocols/interfaces/IDebtConfig.ts index ce1cf1a9c3..d7dd5ac696 100644 --- a/sdk/sdk-common/src/protocols/interfaces/IDebtConfig.ts +++ b/sdk/sdk-common/src/protocols/interfaces/IDebtConfig.ts @@ -1,16 +1,16 @@ -import { IPercentage } from '../../common/interfaces/IPercentage' -import { IPrice } from '../../common/interfaces/IPrice' -import { IToken } from '../../common/interfaces/IToken' -import { ITokenAmount } from '../../common/interfaces/ITokenAmount' +import { IPercentageData } from '../../common/interfaces/IPercentage' +import { IPriceData } from '../../common/interfaces/IPrice' +import { ITokenData } from '../../common/interfaces/IToken' +import { ITokenAmountData } from '../../common/interfaces/ITokenAmount' export interface IDebtConfig { - token: IToken - price: IPrice - priceUSD: IPrice - rate: IPercentage - totalBorrowed: ITokenAmount - debtCeiling: ITokenAmount - debtAvailable: ITokenAmount - dustLimit: ITokenAmount - originationFee: IPercentage + token: ITokenData + price: IPriceData + priceUSD: IPriceData + rate: IPercentageData + totalBorrowed: ITokenAmountData + debtCeiling: ITokenAmountData + debtAvailable: ITokenAmountData + dustLimit: ITokenAmountData + originationFee: IPercentageData } diff --git a/sdk/sdk-common/src/protocols/interfaces/ILendingPool.ts b/sdk/sdk-common/src/protocols/interfaces/ILendingPool.ts index ce11131432..f15774b939 100644 --- a/sdk/sdk-common/src/protocols/interfaces/ILendingPool.ts +++ b/sdk/sdk-common/src/protocols/interfaces/ILendingPool.ts @@ -1,11 +1,58 @@ -import { CurrencySymbol } from '../../common/enums/CurrencySymbol' -import { IToken } from '../../common/interfaces/IToken' -import { ICollateralConfigMap } from './ICollateralConfigMap' -import { IDebtConfigMap } from './IDebtConfigMap' -import { IPool } from './IPool' - -export interface ILendingPool extends IPool { - collaterals: ICollateralConfigMap - debts: IDebtConfigMap - baseCurrency: IToken | CurrencySymbol +import { PoolType } from '../types' +import { ILendingPoolId, ILendingPoolIdData, LendingPoolIdSchema } from './ILendingPoolId' +import { IPool, IPoolData } from './IPool' +import { z } from 'zod' + +/** + * @interface ILendingPoolData + * @description Represents a lending pool for a single pair collateral/debt + * + * A lending pool is a pool where users can deposit collateral and borrow debt against that collateral. + * Typically the user will pay interest on the debt, and the collateral will be locked until the debt is repaid. + * + * This interface is an abstraction of a lending pool and the specialization for each protocol happens at the IPool + * level through the PoolId + * + */ +export interface ILendingPoolData extends IPoolData { + /** Type of the pool, in this case Lending */ + readonly type: PoolType.Lending + /** Pool ID of the lending pool */ + readonly id: ILendingPoolIdData +} + +/** + * @name ILendingPool + * @description Interface for the implementors of the lending pool + * + * This interface is used to add all the methods that the interface supports + */ +export interface ILendingPool extends IPool, ILendingPoolData { + readonly type: PoolType.Lending + readonly id: ILendingPoolId } + +/** + * @description Zod schema for ILendingPool + */ +export const LendingPoolSchema = z.object({ + type: z.literal(PoolType.Lending), + id: LendingPoolIdSchema, +}) + +/** + * @description Type guard for ILendingPool + * @param maybePool Object to be checked + * @returns true if the object is an ILendingPool + * + * It also asserts the type so that TypeScript knows that the object is an ILendingPool + */ +export function isLendingPool(maybePool: unknown): maybePool is ILendingPoolData { + return LendingPoolSchema.safeParse(maybePool).success +} + +/** + * Checker to make sure that the schema is aligned with the interface + */ +/* eslint-disable-next-line @typescript-eslint/no-unused-vars */ +const __schemaChecker: ILendingPoolData = {} as z.infer diff --git a/sdk/sdk-common/src/protocols/interfaces/ILendingPoolId.ts b/sdk/sdk-common/src/protocols/interfaces/ILendingPoolId.ts new file mode 100644 index 0000000000..ec9e671d84 --- /dev/null +++ b/sdk/sdk-common/src/protocols/interfaces/ILendingPoolId.ts @@ -0,0 +1,56 @@ +import { IToken, ITokenData, TokenSchema } from '../../common/interfaces/IToken' +import { IPoolId, IPoolIdData } from './IPoolId' +import { z } from 'zod' +import { IProtocol, ProtocolSchema } from './IProtocol' + +/** + * @interface ILendingPoolIdData + * @description Identifies a generic lending pool. This will be specialized for each protocol + * + * This is meant to be used for single pair collateral/debt lending pools. For multi-collateral pools, + * a different interface should be used + */ +export interface ILendingPoolIdData extends IPoolIdData { + /** Collateral token used to collateralized the pool */ + collateralToken: ITokenData + /** Debt token, which can be borrowed from the pool */ + debtToken: ITokenData +} + +/** + * @name ILendingPoolId + * @description Interface for the implementors of the lending pool ID + * + * This interface is used to add all the methods that the interface supports + */ +export interface ILendingPoolId extends IPoolId, ILendingPoolIdData { + readonly protocol: IProtocol + readonly collateralToken: IToken + readonly debtToken: IToken +} + +/** + * @description Zod schema for ILendingPoolId + */ +export const LendingPoolIdSchema = z.object({ + protocol: ProtocolSchema, + collateralToken: TokenSchema, + debtToken: TokenSchema, +}) + +/** + * @description Type guard for ILendingPoolId + * @param maybePoolId Object to be checked + * @returns true if the object is an ILendingPoolId + * + * It also asserts the type so that TypeScript knows that the object is an ILendingPoolId + */ +export function isLendingPoolId(maybePoolId: unknown): maybePoolId is ILendingPoolIdData { + return LendingPoolIdSchema.safeParse(maybePoolId).success +} + +/** + * Checker to make sure that the schema is aligned with the interface + */ +/* eslint-disable-next-line @typescript-eslint/no-unused-vars */ +const __schemaChecker: ILendingPoolIdData = {} as z.infer diff --git a/sdk/sdk-common/src/protocols/interfaces/IPool.ts b/sdk/sdk-common/src/protocols/interfaces/IPool.ts index d5be4cb52d..ed00f7ec9f 100644 --- a/sdk/sdk-common/src/protocols/interfaces/IPool.ts +++ b/sdk/sdk-common/src/protocols/interfaces/IPool.ts @@ -1,25 +1,51 @@ -import { IPoolId } from './IPoolId' +import { IPoolId, IPoolIdData, PoolIdSchema } from './IPoolId' import { PoolType } from '../types/PoolType' -import { IProtocol } from './IProtocol' +import { z } from 'zod' /** - * @interface IPool - * @description Represents a protocol pool, including the pool ID and protocol. - * Also contains information about the type of pool (supply or lending) - * and the underlying assets + * @interface IPoolData + * @description Represents a generic protocol pool. Contains information about the pool's ID, + * which is specific to each protocol, and the pool's type + * + * It is meant to be specialized for each type of pool */ -export interface IPool { +export interface IPoolData { + /** Type of the pool */ type: PoolType - poolId: IPoolId - protocol: IProtocol + /** Unique identifier for the pool, to be specialized for each protocol */ + id: IPoolIdData } -export function isPool(maybePool: unknown): maybePool is IPool { - return ( - typeof maybePool === 'object' && - maybePool !== null && - 'type' in maybePool && - 'poolId' in maybePool && - 'protocol' in maybePool - ) +/** + * @name IPool + * @description Interface for the implementors of the pool + * + * This interface is used to add all the methods that the interface supports + */ +export interface IPool extends IPoolData { + type: PoolType + id: IPoolId } + +/** + * @description Zod schema for IPool + */ +export const PoolSchema = z.object({ + type: z.nativeEnum(PoolType), + id: PoolIdSchema, +}) + +/** + * @description Type guard for IPool + * @param maybePool + * @returns true if the object is an IPool + */ +export function isPool(maybePool: unknown): maybePool is IPoolData { + return PoolSchema.safeParse(maybePool).success +} + +/** + * Checker to make sure that the schema is aligned with the interface + */ +/* eslint-disable-next-line @typescript-eslint/no-unused-vars */ +const __schemaChecker: IPoolData = {} as z.infer diff --git a/sdk/sdk-common/src/protocols/interfaces/IPoolId.ts b/sdk/sdk-common/src/protocols/interfaces/IPoolId.ts index 2ca1e1d83f..587b5e7b0d 100644 --- a/sdk/sdk-common/src/protocols/interfaces/IPoolId.ts +++ b/sdk/sdk-common/src/protocols/interfaces/IPoolId.ts @@ -1,13 +1,46 @@ -import { IProtocol } from '../../protocols/interfaces/IProtocol' +import { IProtocol, IProtocolData, ProtocolSchema } from '../../protocols/interfaces/IProtocol' +import { z } from 'zod' /** - * @name IPoolId + * @name IPoolIdData * @description Represents a pool's ID. This will be specialized for each protocol + * + * It is a way to retrieve a pool from the protocol and it should include all the necessary information + * to uniquely identify a pool */ -export interface IPoolId { - protocol: IProtocol +export interface IPoolIdData { + /** Protocol where the pool is */ + protocol: IProtocolData } -export function isPoolId(maybePoolId: unknown): maybePoolId is IPoolId { - return typeof maybePoolId === 'object' && maybePoolId !== null && 'protocol' in maybePoolId +/** + * @name IPoolId + * @description Interface for the implementors of the pool ID + * + * This interface is used to add all the methods that the interface supports + */ +export interface IPoolId extends IPoolIdData { + readonly protocol: IProtocol +} + +/** + * @description Zod schema for IPoolId + */ +export const PoolIdSchema = z.object({ + protocol: ProtocolSchema, +}) + +/** + * @description Type guard for IPoolId + * @param maybePoolId + * @returns true if the object is an IPoolId + */ +export function isPoolId(maybePoolId: unknown): maybePoolId is IPoolIdData { + return PoolIdSchema.safeParse(maybePoolId).success } + +/** + * Checker to make sure that the schema is aligned with the interface + */ +/* eslint-disable-next-line @typescript-eslint/no-unused-vars */ +const __schemaChecker: IPoolIdData = {} as z.infer diff --git a/sdk/sdk-common/src/protocols/interfaces/IProtocol.ts b/sdk/sdk-common/src/protocols/interfaces/IProtocol.ts index 88d4d71252..23914f2750 100644 --- a/sdk/sdk-common/src/protocols/interfaces/IProtocol.ts +++ b/sdk/sdk-common/src/protocols/interfaces/IProtocol.ts @@ -1,11 +1,57 @@ -import { ChainInfo } from '../../common/implementation/ChainInfo' +import { ChainInfoSchema, IChainInfo, IChainInfoData } from '../../common/interfaces/IChainInfo' import { ProtocolName } from '../enums/ProtocolName' +import { z } from 'zod' /** - * @interface IProtocol + * @interface IProtocolData * @description Information relative to a protocol */ -export interface IProtocol { +export interface IProtocolData { + /** The name of the protocol */ name: ProtocolName - chainInfo: ChainInfo + /** The chain information */ + chainInfo: IChainInfoData } + +/** + * @interface IProtocol + * @description Interface for the implementors of the protocol + * + * This interface is used to add all the methods that the interface supports + */ +export interface IProtocol extends IProtocolData { + readonly name: ProtocolName + readonly chainInfo: IChainInfo + + /** + * Compare if the passed protocol is equal to the current protocol + * @param protocol The protocol to compare + * @returns true if the protocols are equal + * + * Equality is determined by the name and chain information + */ + equals(protocol: IProtocol): boolean +} + +/** + * @description Zod schema for IProtocol + */ +export const ProtocolSchema = z.object({ + name: z.nativeEnum(ProtocolName), + chainInfo: ChainInfoSchema, +}) + +/** + * @description Type guard for IProtocol + * @param maybeProtocol + * @returns true if the object is an IProtocol + */ +export function isProtocol(maybeProtocol: unknown): maybeProtocol is IProtocolData { + return ProtocolSchema.safeParse(maybeProtocol).success +} + +/** + * Checker to make sure that the schema is aligned with the interface + */ +/* eslint-disable-next-line @typescript-eslint/no-unused-vars */ +const __schemaChecker: IProtocolData = {} as z.infer diff --git a/sdk/sdk-common/src/protocols/interfaces/IProtocolId.ts b/sdk/sdk-common/src/protocols/interfaces/IProtocolId.ts deleted file mode 100644 index dea371c696..0000000000 --- a/sdk/sdk-common/src/protocols/interfaces/IProtocolId.ts +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @name IProtocolId - * @description Represents a protocol's ID. This will be specialized for each protocol - */ -export type IProtocolId = { - id: string -} diff --git a/sdk/sdk-common/src/protocols/interfaces/index.ts b/sdk/sdk-common/src/protocols/interfaces/index.ts index c63962e30a..d042ec7aca 100644 --- a/sdk/sdk-common/src/protocols/interfaces/index.ts +++ b/sdk/sdk-common/src/protocols/interfaces/index.ts @@ -4,6 +4,6 @@ export * from './IDebtConfig' export * from './IDebtConfigMap' export * from './ILendingPool' export * from './IProtocol' -export * from './IProtocolId' export * from './IPool' export * from './IPoolId' +export * from './ILendingPoolId' diff --git a/sdk/sdk-common/src/protocols/types/PoolType.ts b/sdk/sdk-common/src/protocols/types/PoolType.ts index f22372a7c7..d1524db514 100644 --- a/sdk/sdk-common/src/protocols/types/PoolType.ts +++ b/sdk/sdk-common/src/protocols/types/PoolType.ts @@ -7,3 +7,9 @@ export enum PoolType { Supply = 'Supply', Lending = 'Lending', } + +export function isPoolType(maybePoolType: unknown): maybePoolType is PoolType { + return ( + typeof maybePoolType === 'string' && Object.values(PoolType).includes(maybePoolType as PoolType) + ) +} diff --git a/sdk/sdk-common/src/simulation/Simulation.ts b/sdk/sdk-common/src/simulation/Simulation.ts index b9925ff68f..3a03f89bc8 100644 --- a/sdk/sdk-common/src/simulation/Simulation.ts +++ b/sdk/sdk-common/src/simulation/Simulation.ts @@ -1,4 +1,4 @@ -import { IPosition } from '../common/interfaces/IPosition' +import { IPositionData } from '../common/interfaces/IPosition' import { SimulatedSwapData } from '../swap' import type { SimulationType } from './Enums' import type { Steps } from './Steps' @@ -9,8 +9,8 @@ import type { Steps } from './Steps' */ export interface ISimulation { simulationType: T - sourcePosition?: IPosition // TODO figure what do to when opening position (empty position or optional) - targetPosition: IPosition + sourcePosition?: IPositionData // TODO figure what do to when opening position (empty position or optional) + targetPosition: IPositionData /* The details of any swaps required as part of the simulation */ swaps: SimulatedSwapData[] steps: Steps[] diff --git a/sdk/sdk-common/tests/chainFamilies.spec.ts b/sdk/sdk-common/tests/chainFamilies.spec.ts index b4d780a271..e84e4efc72 100644 --- a/sdk/sdk-common/tests/chainFamilies.spec.ts +++ b/sdk/sdk-common/tests/chainFamilies.spec.ts @@ -6,40 +6,50 @@ describe('Chain Families', () => { expect(ethereumMainnet).toEqual({ familyName: 'Ethereum', - chainId: 1, - name: 'Mainnet', + chainInfo: { + chainId: 1, + name: 'Mainnet', + }, }) const ethereumGoerli = getChainInfoByChainId(5) expect(ethereumGoerli).toEqual({ familyName: 'Ethereum', - chainId: 5, - name: 'Goerli', + chainInfo: { + chainId: 5, + name: 'Goerli', + }, }) const arbitrumOne = getChainInfoByChainId(42161) expect(arbitrumOne).toEqual({ familyName: 'Arbitrum', - chainId: 42161, - name: 'ArbitrumOne', + chainInfo: { + chainId: 42161, + name: 'ArbitrumOne', + }, }) const optimism = getChainInfoByChainId(10) expect(optimism).toEqual({ familyName: 'Optimism', - chainId: 10, - name: 'Optimism', + chainInfo: { + chainId: 10, + name: 'Optimism', + }, }) const baseMainnet = getChainInfoByChainId(8453) expect(baseMainnet).toEqual({ familyName: 'Base', - chainId: 8453, - name: 'Mainnet', + chainInfo: { + chainId: 8453, + name: 'Mainnet', + }, }) }) }) diff --git a/sdk/sdk-common/tests/riskRatio.test.ts b/sdk/sdk-common/tests/riskRatio.test.ts index eec2c78e8f..a2a02039ab 100644 --- a/sdk/sdk-common/tests/riskRatio.test.ts +++ b/sdk/sdk-common/tests/riskRatio.test.ts @@ -1,5 +1,6 @@ import { RiskRatio } from '../src/common/implementation/RiskRatio' import { Percentage } from '../src/common/implementation/Percentage' +import { RiskRatioType } from '../src/common/interfaces/IRiskRatio' describe('RiskRatio', () => { describe('RiskRatio', () => { @@ -7,49 +8,11 @@ describe('RiskRatio', () => { it('should have correct ltv value', () => { const riskRatio = RiskRatio.createFrom({ ratio: Percentage.createFrom({ value: 80 }), - type: RiskRatio.type.LTV, + type: RiskRatioType.LTV, }) - expect(riskRatio.toString()).toEqual('80') + expect(riskRatio.ratio.value).toEqual(80) }) }) - - describe('converts risk ratio to different types', () => { - it('should convert to CollateralizationRatio type correctly', () => { - const riskRatio = RiskRatio.createFrom({ - ratio: Percentage.createFrom({ value: 80 }), - type: RiskRatio.type.LTV, - }) - - expect(riskRatio.convertTo(RiskRatio.type.CollateralizationRatio)).toEqual('125') - }) - - it('should convert to Multiple type correctly', () => { - const riskRatio = RiskRatio.createFrom({ - ratio: Percentage.createFrom({ value: 80 }), - type: RiskRatio.type.LTV, - }) - - expect(riskRatio.convertTo(RiskRatio.type.Multiple)).toEqual('5') - }) - }) - }) - - it('creates risk ratio from collateralization ratio', () => { - const riskRatio = RiskRatio.createFrom({ - ratio: Percentage.createFrom({ value: 130 }), - type: RiskRatio.type.CollateralizationRatio, - }) - - expect(riskRatio.convertTo(RiskRatio.type.LTV)).toEqual('76.92307692307692') - }) - - it('creates risk ratio from multiple', () => { - const riskRatio = RiskRatio.createFrom({ - ratio: Percentage.createFrom({ value: 4.5 }), - type: RiskRatio.type.Multiple, - }) - - expect(riskRatio.convertTo(RiskRatio.type.LTV)).toEqual('77.77777777777779') }) }) diff --git a/sdk/sdk-e2e/tests/importMakerPosition.test.ts b/sdk/sdk-e2e/tests/importMakerPosition.test.ts index 8d71f78a47..388ecc12eb 100644 --- a/sdk/sdk-e2e/tests/importMakerPosition.test.ts +++ b/sdk/sdk-e2e/tests/importMakerPosition.test.ts @@ -1,21 +1,27 @@ import { Token, TokenAmount, - Position, Address, type Maybe, ChainFamilyMap, PositionType, } from '@summerfi/sdk-common/common' -import { ProtocolName, isLendingPool } from '@summerfi/sdk-common/protocols' +import { ProtocolName } from '@summerfi/sdk-common/protocols' import { makeSDK, type Chain, type User } from '@summerfi/sdk-client' import { TokenSymbol } from '@summerfi/sdk-common/common/enums' import { ExternalPositionType, IImportPositionParameters, Order } from '@summerfi/sdk-common/orders' import { ISimulation, SimulationSteps, SimulationType } from '@summerfi/sdk-common/simulation' import assert from 'assert' -import { ILKType, MakerPoolId, MakerPositionId } from '@summerfi/protocol-plugins/plugins/maker' +import { + ILKType, + MakerLendingPoolId, + MakerPosition, + MakerPositionId, + isMakerLendingPool, + isMakerProtocol, +} from '@summerfi/protocol-plugins/plugins/maker' import { Hex } from 'viem' import { TransactionUtils } from './utils/TransactionUtils' @@ -59,27 +65,30 @@ describe.skip('Import Maker Position | SDK', () => { const maker = await chain.protocols.getProtocol({ name: ProtocolName.Maker }) assert(maker, 'Maker protocol not found') - const makerPoolId: MakerPoolId = { - protocol: { - name: ProtocolName.Maker, - chainInfo: chain.chainInfo, - }, - ilkType: ILKType.ETH_C, + if (!isMakerProtocol(maker)) { + assert(false, 'Maker protocol type is not Maker') } - const makerPool = await maker.getPool({ + const makerPoolId = MakerLendingPoolId.createFrom({ + protocol: maker, + debtToken: DAI, + collateralToken: WETH, + ilkType: ILKType.ETH_C, + }) + + const makerPool = await maker.getLendingPool({ poolId: makerPoolId, }) assert(makerPool, 'Maker pool not found') - if (!isLendingPool(makerPool)) { + if (!isMakerLendingPool(makerPool)) { assert(false, 'Maker pool type is not lending') } // Source position - const makerPosition: Position = Position.createFrom({ + const makerPosition = MakerPosition.createFrom({ type: PositionType.Multiply, - positionId: MakerPositionId.createFrom({ id: '31646', vaultId: '31646' }), + id: MakerPositionId.createFrom({ id: '31646', vaultId: '31646' }), debtAmount: TokenAmount.createFromBaseUnit({ token: DAI, amount: '3717915731044925295249', @@ -127,8 +136,8 @@ describe.skip('Import Maker Position | SDK', () => { ) assert(importPositionOrder.simulation.sourcePosition, 'Source position not found') - expect(importPositionOrder.simulation.sourcePosition.positionId).toEqual( - importPositionSimulation.sourcePosition?.positionId, + expect(importPositionOrder.simulation.sourcePosition.id).toEqual( + importPositionSimulation.sourcePosition?.id, ) expect(importPositionOrder.transactions.length).toEqual(1) diff --git a/sdk/sdk-e2e/tests/refinanceMakerSparkAlreadyImported.test.ts b/sdk/sdk-e2e/tests/refinanceMakerSparkAlreadyImported.test.ts index 13a84f6242..e742798c52 100644 --- a/sdk/sdk-e2e/tests/refinanceMakerSparkAlreadyImported.test.ts +++ b/sdk/sdk-e2e/tests/refinanceMakerSparkAlreadyImported.test.ts @@ -11,11 +11,11 @@ import { PositionType, } from '@summerfi/sdk-common/common' -import { ProtocolName, isLendingPool } from '@summerfi/sdk-common/protocols' -import { makeSDK, type Chain, type User, Protocol } from '@summerfi/sdk-client' +import { ProtocolName } from '@summerfi/sdk-common/protocols' +import { makeSDK, type Chain, type User, ProtocolClient } from '@summerfi/sdk-client' import { TokenSymbol } from '@summerfi/sdk-common/common/enums' -import { IPositionsManager, IRefinanceParameters, Order } from '@summerfi/sdk-common/orders' -import { ISimulation } from '@summerfi/sdk-common/simulation' +import { PositionsManager, IRefinanceParameters, Order } from '@summerfi/sdk-common/orders' +import { ISimulation, RefinanceSimulationTypes } from '@summerfi/sdk-common/simulation' import { TransactionUtils } from './utils/TransactionUtils' import { decodeActionCalldata, @@ -37,19 +37,23 @@ import { import { ILKType, MakerPaybackAction, - MakerPoolId, MakerPositionId, MakerWithdrawAction, isMakerPositionId, + isMakerProtocol, + isMakerLendingPool, + MakerPosition, + MakerLendingPoolId, } from '@summerfi/protocol-plugins/plugins/maker' import { SparkBorrowAction, SparkDepositAction, - SparkPoolId, - isSparkPoolId, isSparkPositionId, + isSparkLendingPoolId, + isSparkProtocol, + SparkLendingPoolId, + isSparkLendingPool, } from '@summerfi/protocol-plugins/plugins/spark' -import { RefinanceSimulationTypes } from '@summerfi/sdk-common' jest.setTimeout(300000) @@ -91,11 +95,11 @@ describe.skip('Refinance Maker Spark | SDK', () => { expect(user.chainInfo).toEqual(chain.chainInfo) // Positions Manager - const positionsManager: IPositionsManager = { + const positionsManager = PositionsManager.createFrom({ address: Address.createFromEthereum({ value: '0x551Eb8395093fDE4B9eeF017C93593a3C7a75138', }), - } + }) // Tokens const WETH: Maybe = await chain.tokens.getTokenBySymbol({ symbol: TokenSymbol.WETH }) @@ -107,27 +111,31 @@ describe.skip('Refinance Maker Spark | SDK', () => { const maker = await chain.protocols.getProtocol({ name: ProtocolName.Maker }) assert(maker, 'Maker protocol not found') - const makerPoolId: MakerPoolId = { - protocol: { - name: ProtocolName.Maker, - chainInfo: chain.chainInfo, - }, - ilkType: ILKType.ETH_C, + if (!isMakerProtocol(maker)) { + assert(false, 'Maker protocol type is not Maker') } - const makerPool = await maker.getPool({ + const makerPoolId = MakerLendingPoolId.createFrom({ + protocol: maker, + ilkType: ILKType.ETH_C, + collateralToken: WETH, + debtToken: DAI, + }) + + const makerPool = await maker.getLendingPool({ poolId: makerPoolId, }) + assert(makerPool, 'Maker pool not found') - if (!isLendingPool(makerPool)) { + if (!isMakerLendingPool(makerPool)) { assert(false, 'Maker pool type is not lending') } // Source position - const makerPosition: Position = Position.createFrom({ + const makerPosition = MakerPosition.createFrom({ type: PositionType.Multiply, - positionId: MakerPositionId.createFrom({ id: '31646', vaultId: '31646' }), + id: MakerPositionId.createFrom({ id: '31646', vaultId: '31646' }), debtAmount: TokenAmount.createFromBaseUnit({ token: DAI, amount: '3717915731044925295249', @@ -140,39 +148,37 @@ describe.skip('Refinance Maker Spark | SDK', () => { }) // Target protocol - // TODO: this should have spark protocol type so we don't need to cast, derive it from the protocol name - const spark: Maybe = await chain.protocols.getProtocol({ + const spark: Maybe = await chain.protocols.getProtocol({ name: ProtocolName.Spark, }) assert(spark, 'Spark not found') - const poolId: SparkPoolId = { - protocol: { - name: ProtocolName.Spark, - chainInfo: chain.chainInfo, - }, - emodeType: EmodeType.None, + if (!isSparkProtocol(spark)) { + assert(false, 'Spark protocol type is not Spark') } - const sparkPool = await spark.getPool({ + const poolId = SparkLendingPoolId.createFrom({ + protocol: spark, + collateralToken: WETH, + debtToken: DAI, + emodeType: EmodeType.None, + }) + + const sparkPool = await spark.getLendingPool({ poolId, }) assert(sparkPool, 'Pool not found') - if (!isSparkPoolId(sparkPool.poolId)) { + if (!isSparkLendingPoolId(sparkPool.id)) { assert(false, 'Pool ID is not a Spark one') } - if (!isLendingPool(sparkPool)) { + if (!isSparkLendingPool(sparkPool)) { assert(false, 'Spark pool type is not lending') } - const emptyTargetPosition = newEmptyPositionFromPool( - sparkPool, - makerPosition.debtAmount.token, - makerPosition.collateralAmount.token, - ) + const emptyTargetPosition = newEmptyPositionFromPool(sparkPool) const refinanceSimulation: ISimulation = await sdk.simulator.refinance.simulateRefinancePosition({ sourcePosition: makerPosition, @@ -182,8 +188,8 @@ describe.skip('Refinance Maker Spark | SDK', () => { expect(refinanceSimulation).toBeDefined() - expect(refinanceSimulation.sourcePosition?.positionId).toEqual(makerPosition.positionId) - expect(refinanceSimulation.targetPosition.pool.poolId).toEqual(sparkPool.poolId) + expect(refinanceSimulation.sourcePosition?.id).toEqual(makerPosition.id) + expect(refinanceSimulation.targetPosition.pool.id).toEqual(sparkPool.id) expect(refinanceSimulation.steps.length).toBe(5) const refinanceOrder: Maybe = await user.newOrder({ @@ -200,10 +206,10 @@ describe.skip('Refinance Maker Spark | SDK', () => { expect(refinanceOrder.simulation.simulationType).toEqual(refinanceSimulation.simulationType) assert(refinanceOrder.simulation.sourcePosition, 'Source position not found') - expect(refinanceOrder.simulation.sourcePosition.positionId).toEqual( - refinanceSimulation.sourcePosition?.positionId, + expect(refinanceOrder.simulation.sourcePosition.id).toEqual( + refinanceSimulation.sourcePosition?.id, ) - expect(refinanceOrder.simulation.targetPosition.pool.poolId).toEqual(sparkPool.poolId) + expect(refinanceOrder.simulation.targetPosition.pool.id).toEqual(sparkPool.id) expect(refinanceOrder.simulation.steps.length).toEqual(refinanceSimulation.steps.length) for (let i = 0; i < refinanceOrder.simulation.steps.length; i++) { @@ -225,7 +231,7 @@ describe.skip('Refinance Maker Spark | SDK', () => { // Decode calldata const strategyExecutorParams = decodeStrategyExecutorCalldata(positionsManagerParams.calldata) - const strategyName = `${refinanceOrder.simulation.simulationType}${refinanceOrder.simulation.sourcePosition?.pool.protocol.name}${refinanceOrder.simulation.targetPosition.pool.protocol.name}` + const strategyName = `${refinanceOrder.simulation.simulationType}${refinanceOrder.simulation.sourcePosition?.pool.id.protocol.name}${refinanceOrder.simulation.targetPosition.pool.id.protocol.name}` assert(strategyExecutorParams, 'Cannot decode Strategy Executor calldata') expect(strategyExecutorParams.strategyName).toEqual(strategyName) @@ -237,11 +243,11 @@ describe.skip('Refinance Maker Spark | SDK', () => { calldata: strategyExecutorParams.actionCalls[0].callData, }) - const sourcePosition = Position.createFrom(refinanceOrder.simulation.sourcePosition) - const targetPosition = Position.createFrom(refinanceOrder.simulation.targetPosition) + const sourcePosition = refinanceOrder.simulation.sourcePosition as Position + const targetPosition = refinanceOrder.simulation.targetPosition as Position - assert(isMakerPositionId(sourcePosition.positionId), 'Source position is not a Maker position') - assert(isSparkPositionId(targetPosition.positionId), 'Target position is not a Spark position') + assert(isMakerPositionId(sourcePosition.id), 'Source position is not a Maker position') + assert(isSparkPositionId(targetPosition.id), 'Target position is not a Spark position') assert(flashloanParams, 'Cannot decode Flashloan action calldata') @@ -270,7 +276,7 @@ describe.skip('Refinance Maker Spark | SDK', () => { assert(makerPaybackAction, 'Cannot decode Maker Payback action calldata') assert - expect(makerPaybackAction.args[0].vaultId).toBe(BigInt(sourcePosition.positionId.vaultId)) + expect(makerPaybackAction.args[0].vaultId).toBe(BigInt(sourcePosition.id.vaultId)) expect(makerPaybackAction.args[0].userAddress).toBe(positionsManager.address.value) expect(makerPaybackAction.args[0].amount).toBe(BigInt(paybackAmount)) expect(makerPaybackAction.args[0].paybackAll).toBe(true) @@ -283,7 +289,7 @@ describe.skip('Refinance Maker Spark | SDK', () => { assert(makerWithdrawAction, 'Cannot decode Maker Withdraw action calldata') - expect(makerWithdrawAction.args[0].vaultId).toBe(BigInt(sourcePosition.positionId.vaultId)) + expect(makerWithdrawAction.args[0].vaultId).toBe(BigInt(sourcePosition.id.vaultId)) expect(makerWithdrawAction.args[0].userAddress).toBe(positionsManager.address.value) expect(makerWithdrawAction.args[0].joinAddr).toBe( deployment.dependencies.MCD_JOIN_ETH_C.address, @@ -361,7 +367,7 @@ describe.skip('Refinance Maker Spark | SDK', () => { assert(positionCreatedParams, 'Cannot decode Position Created action calldata') - expect(positionCreatedParams.args[0].protocol).toBe(targetPosition.pool.protocol.name) + expect(positionCreatedParams.args[0].protocol).toBe(targetPosition.pool.id.protocol.name) expect(positionCreatedParams.args[0].positionType).toBe(sourcePosition.type) expect(positionCreatedParams.args[0].collateralToken).toBe( targetPosition.collateralAmount.token.address.value, diff --git a/sdk/sdk-e2e/tests/refinanceMakerSparkAnyPair.test.ts b/sdk/sdk-e2e/tests/refinanceMakerSparkAnyPair.test.ts index c0f9c2f1c2..0f80ad6625 100644 --- a/sdk/sdk-e2e/tests/refinanceMakerSparkAnyPair.test.ts +++ b/sdk/sdk-e2e/tests/refinanceMakerSparkAnyPair.test.ts @@ -1,9 +1,7 @@ import { Percentage, - PositionId, Token, TokenAmount, - Position, Address, type Maybe, ChainFamilyMap, @@ -12,18 +10,29 @@ import { } from '@summerfi/sdk-common/common' import { ProtocolName, isLendingPool } from '@summerfi/sdk-common/protocols' -import { makeSDK, type Chain, type User, Protocol } from '@summerfi/sdk-client' +import { ProtocolClient, makeSDK, type Chain, type User } from '@summerfi/sdk-client' import { TokenSymbol } from '@summerfi/sdk-common/common/enums' -import { IPositionsManager, IRefinanceParameters, Order } from '@summerfi/sdk-common/orders' +import { PositionsManager, IRefinanceParameters, Order } from '@summerfi/sdk-common/orders' import { ISimulation } from '@summerfi/sdk-common/simulation' import { TransactionUtils } from './utils/TransactionUtils' import { Hex } from 'viem' import assert from 'assert' import { EmodeType } from '@summerfi/protocol-plugins/plugins/common' -import { ILKType, MakerPoolId } from '@summerfi/protocol-plugins/plugins/maker' -import { SparkPoolId, isSparkPoolId } from '@summerfi/protocol-plugins/plugins/spark' import { RefinanceSimulationTypes } from '@summerfi/sdk-common' +import { + SparkLendingPoolId, + isSparkLendingPoolId, + isSparkProtocol, +} from '@summerfi/protocol-plugins/plugins/spark' +import { + ILKType, + MakerLendingPoolId, + MakerPosition, + MakerPositionId, + isMakerLendingPool, + isMakerProtocol, +} from '@summerfi/protocol-plugins/plugins/maker' jest.setTimeout(300000) @@ -56,11 +65,11 @@ describe.skip('Refinance Maker Spark | SDK', () => { expect(user.chainInfo).toEqual(chain.chainInfo) // Positions Manager - const positionsManager: IPositionsManager = { + const positionsManager = PositionsManager.createFrom({ address: Address.createFromEthereum({ value: '0x1858b76756d19f8cb7c7756a0f96e0d7673285ed', }), - } + }) // Tokens const WETH: Maybe = await chain.tokens.getTokenBySymbol({ symbol: TokenSymbol.WETH }) @@ -81,28 +90,30 @@ describe.skip('Refinance Maker Spark | SDK', () => { const maker = await chain.protocols.getProtocol({ name: ProtocolName.Maker }) assert(maker, 'Maker protocol not found') - const makerPoolId: MakerPoolId = { - protocol: { - name: ProtocolName.Maker, - chainInfo: chain.chainInfo, - }, - ilkType: ILKType.ETH_C, - vaultId: '31697', + if (!isMakerProtocol(maker)) { + assert(false, 'Maker protocol type is not lending') } - const makerPool = await maker.getPool({ + const makerPoolId = MakerLendingPoolId.createFrom({ + protocol: maker, + debtToken: DAI, + collateralToken: WETH, + ilkType: ILKType.ETH_C, + }) + + const makerPool = await maker.getLendingPool({ poolId: makerPoolId, }) assert(makerPool, 'Maker pool not found') - if (!isLendingPool(makerPool)) { + if (!isMakerLendingPool(makerPool)) { assert(false, 'Maker pool type is not lending') } // Source position - const makerPosition: Position = Position.createFrom({ + const makerPosition: MakerPosition = MakerPosition.createFrom({ type: PositionType.Multiply, - positionId: PositionId.createFrom({ id: '31697' }), + id: MakerPositionId.createFrom({ id: '31697', vaultId: '31697' }), debtAmount: TokenAmount.createFromBaseUnit({ token: DAI, amount: '5000000000000000000000', @@ -115,27 +126,29 @@ describe.skip('Refinance Maker Spark | SDK', () => { }) // Target protocol - // TODO: this should have spark protocol type so we don't need to cast, derive it from the protocol name - const spark: Maybe = await chain.protocols.getProtocol({ + const spark: Maybe = await chain.protocols.getProtocol({ name: ProtocolName.Spark, }) assert(spark, 'Spark not found') - const poolId: SparkPoolId = { - protocol: { - name: ProtocolName.Spark, - chainInfo: chain.chainInfo, - }, - emodeType: EmodeType.None, + if (!isSparkProtocol(spark)) { + assert(false, 'Protocol type is not Spark') } - const sparkPool = await spark.getPool({ + const poolId = SparkLendingPoolId.createFrom({ + protocol: spark, + collateralToken: WETH, + debtToken: DAI, + emodeType: EmodeType.None, + }) + + const sparkPool = await spark.getLendingPool({ poolId, }) assert(sparkPool, 'Pool not found') - if (!isSparkPoolId(sparkPool.poolId)) { + if (!isSparkLendingPoolId(sparkPool.id)) { assert(false, 'Pool ID is not a Spark one') } @@ -143,7 +156,7 @@ describe.skip('Refinance Maker Spark | SDK', () => { assert(false, 'Spark pool type is not lending') } - const emptyTargetPosition = newEmptyPositionFromPool(sparkPool, DAI, WSTETH) + const emptyTargetPosition = newEmptyPositionFromPool(sparkPool) const refinanceSimulation: ISimulation = await sdk.simulator.refinance.simulateRefinancePosition({ sourcePosition: makerPosition, @@ -153,8 +166,8 @@ describe.skip('Refinance Maker Spark | SDK', () => { expect(refinanceSimulation).toBeDefined() - expect(refinanceSimulation.sourcePosition?.positionId).toEqual(makerPosition.positionId) - expect(refinanceSimulation.targetPosition.pool.poolId).toEqual(sparkPool.poolId) + expect(refinanceSimulation.sourcePosition?.id).toEqual(makerPosition.id) + expect(refinanceSimulation.targetPosition.pool.id).toEqual(sparkPool.id) const refinanceOrder: Maybe = await user.newOrder({ positionsManager, diff --git a/sdk/sdk-server/src/SDKAppRouter.ts b/sdk/sdk-server/src/SDKAppRouter.ts index 4312ef2610..7100bee157 100644 --- a/sdk/sdk-server/src/SDKAppRouter.ts +++ b/sdk/sdk-server/src/SDKAppRouter.ts @@ -1,5 +1,5 @@ import { getPosition } from './handlers/getPosition' -import { getPool } from './handlers/getPool' +import { getLendingPool } from './handlers/getPool' import { getRefinanceSimulation } from './handlers/getRefinanceSimulation' import { buildOrder } from './handlers/buildOrder' import { getToken } from './handlers/getToken' @@ -13,7 +13,7 @@ import { getImportSimulation } from './handlers/getImportSimulation' */ export const sdkAppRouter = router({ getPosition: getPosition, - getPool: getPool, + getLendingPool: getLendingPool, getToken: getToken, simulation: { refinance: getRefinanceSimulation, import: getImportSimulation }, orders: { diff --git a/sdk/sdk-server/src/context/Context.ts b/sdk/sdk-server/src/context/Context.ts index 89034c2a3f..ffdbcc7384 100644 --- a/sdk/sdk-server/src/context/Context.ts +++ b/sdk/sdk-server/src/context/Context.ts @@ -32,7 +32,7 @@ export const createSDKContext = (opts: ContextOptions): SDKAppContext => { const protocolsRegistry = createProtocolsPluginsRegistry({ deployments, }) - const protocolManager = new ProtocolManager({ pluginsRegistry: protocolsRegistry }) + const protocolManager = ProtocolManager.createWith({ pluginsRegistry: protocolsRegistry }) return { deployments, diff --git a/sdk/sdk-server/src/handlers/getPool.ts b/sdk/sdk-server/src/handlers/getPool.ts index 5ba261f5a2..1042b108ad 100644 --- a/sdk/sdk-server/src/handlers/getPool.ts +++ b/sdk/sdk-server/src/handlers/getPool.ts @@ -1,7 +1,7 @@ import { z } from 'zod' import { publicProcedure } from '../TRPC' -export const getPool = publicProcedure +export const getLendingPool = publicProcedure .input( z.object({ poolId: z.unknown(), @@ -9,5 +9,5 @@ export const getPool = publicProcedure ) .query(async (opts) => { const poolId = opts.input.poolId - return await opts.ctx.protocolManager.getPool(poolId) + return await opts.ctx.protocolManager.getLendingPool(poolId) }) diff --git a/sdk/simulator-service/src/implementation/simulator-engine/reducer/depositBorrowReducer.ts b/sdk/simulator-service/src/implementation/simulator-engine/reducer/depositBorrowReducer.ts index 6e58f1756f..a4968649e8 100644 --- a/sdk/simulator-service/src/implementation/simulator-engine/reducer/depositBorrowReducer.ts +++ b/sdk/simulator-service/src/implementation/simulator-engine/reducer/depositBorrowReducer.ts @@ -12,11 +12,12 @@ export function depositBorrowReducer( state.balances, ) const afterBorrow = addBalance(getReferencedValue(step.inputs.borrowAmount), afterDeposit) + return { ...state, positions: { ...state.positions, - [step.inputs.position.positionId.id]: borrowFromPosition( + [step.inputs.position.id.id]: borrowFromPosition( depositToPosition(step.inputs.position, getReferencedValue(step.inputs.depositAmount)), getReferencedValue(step.inputs.borrowAmount), ), diff --git a/sdk/simulator-service/src/implementation/simulator-engine/reducer/paybackWithdrawReducer.ts b/sdk/simulator-service/src/implementation/simulator-engine/reducer/paybackWithdrawReducer.ts index f87b139f8b..16605be8f8 100644 --- a/sdk/simulator-service/src/implementation/simulator-engine/reducer/paybackWithdrawReducer.ts +++ b/sdk/simulator-service/src/implementation/simulator-engine/reducer/paybackWithdrawReducer.ts @@ -16,7 +16,7 @@ export function paybackWithdrawReducer( ...state, positions: { ...state.positions, - [step.inputs.position.positionId.id]: depositToPosition( + [step.inputs.position.id.id]: depositToPosition( step.inputs.position, getReferencedValue(step.inputs.withdrawAmount), ), diff --git a/sdk/simulator-service/src/strategies/refinanceAnyPair/RefinanceLendingToLendingAnyPair.ts b/sdk/simulator-service/src/strategies/refinanceAnyPair/RefinanceLendingToLendingAnyPair.ts index e40c959312..78470a63cf 100644 --- a/sdk/simulator-service/src/strategies/refinanceAnyPair/RefinanceLendingToLendingAnyPair.ts +++ b/sdk/simulator-service/src/strategies/refinanceAnyPair/RefinanceLendingToLendingAnyPair.ts @@ -8,7 +8,7 @@ import { getValueFromReference, } from '@summerfi/sdk-common/simulation' import { Simulator } from '../../implementation/simulator-engine' -import { Position, TokenAmount, Percentage, Token } from '@summerfi/sdk-common/common' +import { Position, TokenAmount, Percentage, Token, isSameTokens } from '@summerfi/sdk-common/common' import { newEmptyPositionFromPool } from '@summerfi/sdk-common/common/utils' import { IRefinanceParameters } from '@summerfi/sdk-common/orders' import { isLendingPool } from '@summerfi/sdk-common/protocols' @@ -16,8 +16,7 @@ import { refinanceLendingToLendingAnyPairStrategy } from './Strategy' import { type IRefinanceDependencies } from '../common/Types' import { getSwapStepData } from '../../implementation/utils/GetSwapStepData' import { ISwapManager } from '@summerfi/swap-common/interfaces' -import { isSameTokens } from '@summerfi/sdk-common/common' -import BigNumber from 'bignumber.js' +import { BigNumber } from 'bignumber.js' export async function refinanceLendingToLendingAnyPair( args: IRefinanceParameters, @@ -28,8 +27,13 @@ export async function refinanceLendingToLendingAnyPair( throw new Error('Target pool is not a lending pool') } - const position = Position.createFrom(args.sourcePosition) - const targetPool = await dependencies.protocolManager.getPool(args.targetPosition.pool.poolId) + const position = args.sourcePosition as Position + const sourcePool = await dependencies.protocolManager.getLendingPool(args.sourcePosition.pool.id) + const targetPool = await dependencies.protocolManager.getLendingPool(args.targetPosition.pool.id) + + if (!isLendingPool(sourcePool)) { + throw new Error('Source pool is not a lending pool') + } if (!isLendingPool(targetPool)) { throw new Error('Target pool is not a lending pool') @@ -39,18 +43,10 @@ export async function refinanceLendingToLendingAnyPair( const flashloanAmount = position.debtAmount.multiply(FLASHLOAN_MARGIN) const simulator = Simulator.create(refinanceLendingToLendingAnyPairStrategy) - const targetCollateralConfig = targetPool.collaterals.get({ - token: args.targetPosition.collateralAmount.token, - }) - const targetDebtConfig = targetPool.debts.get({ token: args.targetPosition.debtAmount.token }) - if (!targetCollateralConfig || !targetDebtConfig) { - throw new Error('Target token config not found in pool') - } - - const isCollateralSwapSkipped = targetCollateralConfig.token.address.equals( - position.collateralAmount.token.address, + const isCollateralSwapSkipped = !targetPool.id.collateralToken.equals( + sourcePool.id.collateralToken, ) - const isDebtSwapSkipped = targetDebtConfig.token.address.equals(position.debtAmount.token.address) + const isDebtSwapSkipped = !targetPool.id.debtToken.equals(sourcePool.id.debtToken) const simulation = await simulator .next(async () => ({ @@ -78,9 +74,9 @@ export async function refinanceLendingToLendingAnyPair( name: 'CollateralSwap', type: SimulationSteps.Swap, inputs: await getSwapStepData({ - chainInfo: position.pool.protocol.chainInfo, + chainInfo: position.pool.id.protocol.chainInfo, fromAmount: position.collateralAmount, - toToken: targetCollateralConfig.token, + toToken: targetPool.id.collateralToken, slippage: Percentage.createFrom({ value: args.slippage.value }), swapManager: dependencies.swapManager, }), @@ -96,7 +92,7 @@ export async function refinanceLendingToLendingAnyPair( ? ctx.getReference(['PaybackWithdrawFromSource', 'paybackAmount']) : await estimateSwapFromAmount({ receiveAtLeast: flashloanAmount, - fromToken: targetDebtConfig.token, + fromToken: targetPool.id.debtToken, slippage: Percentage.createFrom(args.slippage), swapManager: dependencies.swapManager, }), @@ -105,11 +101,7 @@ export async function refinanceLendingToLendingAnyPair( ? ['PaybackWithdrawFromSource', 'withdrawAmount'] : ['CollateralSwap', 'receivedAmount'], ), - position: newEmptyPositionFromPool( - targetPool, - targetDebtConfig.token, - targetCollateralConfig.token, - ), + position: newEmptyPositionFromPool(targetPool), borrowTargetType: TokenTransferTargetType.PositionsManager, }, })) @@ -118,7 +110,7 @@ export async function refinanceLendingToLendingAnyPair( name: 'DebtSwap', type: SimulationSteps.Swap, inputs: await getSwapStepData({ - chainInfo: position.pool.protocol.chainInfo, + chainInfo: position.pool.id.protocol.chainInfo, fromAmount: getValueFromReference( ctx.getReference(['DepositBorrowToTarget', 'borrowAmount']), ), @@ -149,8 +141,8 @@ export async function refinanceLendingToLendingAnyPair( })) .next(async (ctx) => { // TODO: we should have a way to get the target position more easily and realiably, - const targetPosition = Object.values(ctx.state.positions).find( - (p) => p.pool.protocol === targetPool.protocol, + const targetPosition = Object.values(ctx.state.positions).find((p) => + p.pool.id.protocol.equals(targetPool.id.protocol), ) if (!targetPosition) { throw new Error('Target position not found') @@ -166,8 +158,8 @@ export async function refinanceLendingToLendingAnyPair( }) .run() - const targetPosition = Object.values(simulation.positions).find( - (p) => p.pool.protocol === targetPool.protocol, + const targetPosition = Object.values(simulation.positions).find((p) => + p.pool.id.protocol.equals(targetPool.id.protocol), ) if (!targetPosition) { diff --git a/sdk/simulator-service/src/strategies/refinanceSamePair/RefinanceLendingToLendingSamePair.ts b/sdk/simulator-service/src/strategies/refinanceSamePair/RefinanceLendingToLendingSamePair.ts index 03ae87d8f5..66fe6fa15a 100644 --- a/sdk/simulator-service/src/strategies/refinanceSamePair/RefinanceLendingToLendingSamePair.ts +++ b/sdk/simulator-service/src/strategies/refinanceSamePair/RefinanceLendingToLendingSamePair.ts @@ -22,8 +22,8 @@ export async function refinanceLendingToLendingSamePair( throw new Error('Target pool is not a lending pool') } - const position = Position.createFrom(args.sourcePosition) - const targetPool = await dependencies.protocolManager.getPool(args.targetPosition.pool.poolId) + const position = args.sourcePosition as Position + const targetPool = await dependencies.protocolManager.getLendingPool(args.targetPosition.pool.id) if (!isLendingPool(targetPool)) { throw new Error('Target pool is not a lending pool') @@ -33,11 +33,6 @@ export async function refinanceLendingToLendingSamePair( const flashloanAmount = position.debtAmount.multiply(FLASHLOAN_MARGIN) const simulator = Simulator.create(refinanceLendingToLendingSamePairStrategy) - const targetTokenConfig = targetPool.collaterals.get({ token: position.collateralAmount.token }) - if (!targetTokenConfig) { - throw new Error('Target token not found in pool') - } - // TODO: read debt amount from chain (special step: ReadDebtAmount) // TODO: the swap quote should also include the summer fee, in this case we need to know when we are taking the fee, // before or after the swap, it influences actual call to oneInch api @@ -68,11 +63,7 @@ export async function refinanceLendingToLendingSamePair( inputs: { depositAmount: ctx.getReference(['PaybackWithdrawFromSource', 'withdrawAmount']), borrowAmount: position.debtAmount, // TODO figure the debt amount - position: newEmptyPositionFromPool( - targetPool, - position.debtAmount.token, - position.collateralAmount.token, - ), + position: newEmptyPositionFromPool(targetPool), borrowTargetType: TokenTransferTargetType.PositionsManager, }, })) @@ -86,7 +77,7 @@ export async function refinanceLendingToLendingSamePair( .next(async (ctx) => { // TODO: we should have a way to get the target position more easily and realiably, const targetPosition = Object.values(ctx.state.positions).find( - (p) => p.pool.protocol === targetPool.protocol, + (p) => p.pool.id.protocol === targetPool.id.protocol, ) if (!targetPosition) { throw new Error('Target position not found') @@ -103,7 +94,7 @@ export async function refinanceLendingToLendingSamePair( .run() const targetPosition = Object.values(simulation.positions).find( - (p) => p.pool.protocol === targetPool.protocol, + (p) => p.pool.id.protocol === targetPool.id.protocol, ) if (!targetPosition) { diff --git a/sdk/simulator-service/tests/mocks/contextMock.ts b/sdk/simulator-service/tests/mocks/contextMock.ts index 3ff683af65..0bc0a0b2e6 100644 --- a/sdk/simulator-service/tests/mocks/contextMock.ts +++ b/sdk/simulator-service/tests/mocks/contextMock.ts @@ -6,10 +6,14 @@ import { TokenAmount, Price, CurrencySymbol, + Maybe, } from '@summerfi/sdk-common/common' -import { IPool } from '@summerfi/sdk-common/protocols' +import { ILendingPool } from '@summerfi/sdk-common/protocols' import { testTargetLendingPool, testTargetLendingPoolRequiredSwaps } from './testSourcePosition' import { SwapProviderType } from '@summerfi/sdk-common/swap' +import { IPosition, IPositionIdData } from '@summerfi/sdk-common' +import { IUser } from '@summerfi/sdk-common/user' +import { IExternalPosition, IPositionsManager, TransactionInfo } from '@summerfi/sdk-common/orders' async function getSwapDataExactInput(params: { chainInfo: ChainInfo @@ -64,19 +68,32 @@ export function mockGetFee() { } /* eslint-disable @typescript-eslint/no-unused-vars */ -async function mockGetPool(poolId: unknown): Promise { - return testTargetLendingPool as IPool +async function mockGetLendingPool(poolId: unknown): Promise { + return testTargetLendingPool as ILendingPool } -async function mockGetPoolRequiresSwaps(poolId: unknown): Promise { - return testTargetLendingPoolRequiredSwaps as IPool +async function mockGetLendingPoolRequiresSwaps(poolId: unknown): Promise { + return testTargetLendingPoolRequiredSwaps as ILendingPool +} + +async function mockGetPosition(params: IPositionIdData): Promise { + return {} as IPosition +} + +async function mockGetImportPositionTransaction(params: { + user: IUser + externalPosition: IExternalPosition + positionsManager: IPositionsManager +}): Promise> { + return {} as Maybe } export const mockRefinanceContext = { getSummerFee: mockGetFee, protocolManager: { - getPool: mockGetPool, - getPosition: () => {}, + getLendingPool: mockGetLendingPool, + getPosition: mockGetPosition, + getImportPositionTransaction: mockGetImportPositionTransaction, }, swapManager: { getSwapDataExactInput, @@ -89,7 +106,8 @@ export const mockRefinanceContext = { export const mockRefinanceContextRequiredSwaps = { ...mockRefinanceContext, protocolManager: { - getPool: mockGetPoolRequiresSwaps, - getPosition: () => {}, + getLendingPool: mockGetLendingPoolRequiresSwaps, + getPosition: mockGetPosition, + getImportPositionTransaction: mockGetImportPositionTransaction, }, } diff --git a/sdk/simulator-service/tests/mocks/testSourcePosition.ts b/sdk/simulator-service/tests/mocks/testSourcePosition.ts index 40632ed3d9..36adf86819 100644 --- a/sdk/simulator-service/tests/mocks/testSourcePosition.ts +++ b/sdk/simulator-service/tests/mocks/testSourcePosition.ts @@ -1,11 +1,6 @@ import { Address, ChainInfo, - CurrencySymbol, - Percentage, - Price, - RiskRatio, - RiskRatioType, Token, TokenAmount, borrowFromPosition, @@ -13,8 +8,11 @@ import { newEmptyPositionFromPool, } from '@summerfi/sdk-common/common' import { PoolType, ProtocolName } from '@summerfi/sdk-common/protocols' -import { MakerLendingPool } from '@summerfi/protocol-plugins/plugins/maker' +import { ILKType, MakerLendingPool } from '@summerfi/protocol-plugins/plugins/maker' import { SparkLendingPool } from '@summerfi/protocol-plugins/plugins/spark' +import { ISparkProtocolData } from 'node_modules/@summerfi/protocol-plugins/src/plugins/spark/interfaces/ISparkProtocol' +import { EmodeType } from '@summerfi/protocol-plugins' +import { IMakerProtocolData } from 'node_modules/@summerfi/protocol-plugins/src/plugins/maker/interfaces/IMakerProtocol' const testChain = ChainInfo.createFrom({ chainId: 1, name: 'test' }) @@ -50,82 +48,29 @@ export const otherTestDebt = Token.createFrom({ symbol: 'DBT2', }) -export const testSourceProtocol = { +export const testSourceProtocol: IMakerProtocolData = { chainInfo: testChain, name: ProtocolName.Maker, } -export const testTargetProtocol = { +export const testTargetProtocol: ISparkProtocolData = { chainInfo: testChain, name: ProtocolName.Spark, } const testSourceLendingPool = MakerLendingPool.createFrom({ type: PoolType.Lending, - collaterals: { - record: { - [testCollateral.address.value]: { - token: testCollateral, - price: Price.createFrom({ - value: '100', - baseToken: testCollateral, - quoteToken: CurrencySymbol.USD, - }), - priceUSD: Price.createFrom({ - value: '100', - baseToken: testCollateral, - quoteToken: CurrencySymbol.USD, - }), - liquidationThreshold: RiskRatio.createFrom({ - ratio: Percentage.createFrom({ value: 80 }), - type: RiskRatio.type.LTV, - }), - maxSupply: TokenAmount.createFrom({ token: testCollateral, amount: '10000000' }), - tokensLocked: TokenAmount.createFrom({ token: testCollateral, amount: '1000000' }), - liquidationPenalty: Percentage.createFrom({ value: 5 }), - nextPrice: Price.createFrom({ - value: '100', - baseToken: testCollateral, - quoteToken: CurrencySymbol.USD, - }), - nextPriceUpdate: new Date(Date.now() + 1000), - lastPriceUpdate: new Date(Date.now() - 1000), - }, - }, - }, - debts: { - record: { - [testDebt.address.value]: { - token: testDebt, - price: Price.createFrom({ - value: '100', - baseToken: testDebt, - quoteToken: CurrencySymbol.USD, - }), - priceUSD: Price.createFrom({ - value: '100', - baseToken: testDebt, - quoteToken: CurrencySymbol.USD, - }), - rate: Percentage.createFrom({ value: 5 }), - totalBorrowed: TokenAmount.createFrom({ token: testDebt, amount: '100000' }), - debtCeiling: TokenAmount.createFrom({ token: testDebt, amount: '1000000' }), - debtAvailable: TokenAmount.createFrom({ token: testDebt, amount: '100000' }), - dustLimit: TokenAmount.createFrom({ token: testDebt, amount: '100' }), - originationFee: Percentage.createFrom({ value: 1 }), - }, - }, - }, - baseCurrency: testCollateral, - poolId: { + id: { protocol: testSourceProtocol, + collateralToken: testCollateral, + debtToken: testDebt, + ilkType: ILKType.ETH_A, }, - protocol: testSourceProtocol, }) export const testSourcePosition = borrowFromPosition( depositToPosition( - newEmptyPositionFromPool(testSourceLendingPool, testDebt, testCollateral), + newEmptyPositionFromPool(testSourceLendingPool), TokenAmount.createFrom({ token: testCollateral, amount: '100' }), ), TokenAmount.createFrom({ token: testDebt, amount: '50' }), @@ -133,126 +78,20 @@ export const testSourcePosition = borrowFromPosition( export const testTargetLendingPool = SparkLendingPool.createFrom({ type: PoolType.Lending, - collaterals: { - record: { - [testCollateral.address.value]: { - token: testCollateral, - price: Price.createFrom({ - value: '100', - baseToken: testCollateral, - quoteToken: CurrencySymbol.USD, - }), - priceUSD: Price.createFrom({ - value: '100', - baseToken: testCollateral, - quoteToken: CurrencySymbol.USD, - }), - liquidationThreshold: RiskRatio.createFrom({ - ratio: Percentage.createFrom({ value: 80 }), - type: RiskRatio.type.LTV, - }), - maxSupply: TokenAmount.createFrom({ token: testCollateral, amount: '10000000' }), - tokensLocked: TokenAmount.createFrom({ token: testCollateral, amount: '1000000' }), - liquidationPenalty: Percentage.createFrom({ value: 5 }), - usageAsCollateralEnabled: true, - apy: Percentage.createFrom({ value: 0.5 }), - maxLtv: RiskRatio.createFrom({ - ratio: Percentage.createFrom({ value: 10 }), - type: RiskRatioType.LTV, - }), - }, - }, - }, - debts: { - record: { - [testDebt.address.value]: { - token: testDebt, - price: Price.createFrom({ - value: '100', - baseToken: testDebt, - quoteToken: CurrencySymbol.USD, - }), - priceUSD: Price.createFrom({ - value: '100', - baseToken: testDebt, - quoteToken: CurrencySymbol.USD, - }), - rate: Percentage.createFrom({ value: 5 }), - totalBorrowed: TokenAmount.createFrom({ token: testDebt, amount: '100000' }), - debtCeiling: TokenAmount.createFrom({ token: testDebt, amount: '1000000' }), - debtAvailable: TokenAmount.createFrom({ token: testDebt, amount: '100000' }), - dustLimit: TokenAmount.createFrom({ token: testDebt, amount: '100' }), - originationFee: Percentage.createFrom({ value: 1 }), - borrowingEnabled: true, - }, - }, - }, - baseCurrency: testCollateral, - poolId: { + id: { protocol: testTargetProtocol, + collateralToken: testCollateral, + debtToken: testDebt, + emodeType: EmodeType.None, }, - protocol: testTargetProtocol, }) export const testTargetLendingPoolRequiredSwaps = SparkLendingPool.createFrom({ type: PoolType.Lending, - collaterals: { - record: { - [otherTestCollateral.address.value]: { - token: otherTestCollateral, - price: Price.createFrom({ - value: '100', - baseToken: otherTestCollateral, - quoteToken: CurrencySymbol.USD, - }), - priceUSD: Price.createFrom({ - value: '100', - baseToken: otherTestCollateral, - quoteToken: CurrencySymbol.USD, - }), - liquidationThreshold: RiskRatio.createFrom({ - ratio: Percentage.createFrom({ value: 80 }), - type: RiskRatio.type.LTV, - }), - maxSupply: TokenAmount.createFrom({ token: otherTestCollateral, amount: '10000000' }), - tokensLocked: TokenAmount.createFrom({ token: otherTestCollateral, amount: '1000000' }), - liquidationPenalty: Percentage.createFrom({ value: 5 }), - usageAsCollateralEnabled: true, - apy: Percentage.createFrom({ value: 0.5 }), - maxLtv: RiskRatio.createFrom({ - ratio: Percentage.createFrom({ value: 10 }), - type: RiskRatioType.LTV, - }), - }, - }, - }, - debts: { - record: { - [otherTestDebt.address.value]: { - token: otherTestDebt, - price: Price.createFrom({ - value: '100', - baseToken: otherTestDebt, - quoteToken: CurrencySymbol.USD, - }), - priceUSD: Price.createFrom({ - value: '100', - baseToken: otherTestDebt, - quoteToken: CurrencySymbol.USD, - }), - rate: Percentage.createFrom({ value: 5 }), - totalBorrowed: TokenAmount.createFrom({ token: otherTestDebt, amount: '100000' }), - debtCeiling: TokenAmount.createFrom({ token: otherTestDebt, amount: '1000000' }), - debtAvailable: TokenAmount.createFrom({ token: otherTestDebt, amount: '100000' }), - dustLimit: TokenAmount.createFrom({ token: otherTestDebt, amount: '100' }), - originationFee: Percentage.createFrom({ value: 1 }), - borrowingEnabled: true, - }, - }, - }, - baseCurrency: CurrencySymbol.USD, - poolId: { + id: { protocol: testTargetProtocol, + collateralToken: otherTestCollateral, + debtToken: otherTestDebt, + emodeType: EmodeType.None, }, - protocol: testTargetProtocol, }) diff --git a/sdk/simulator-service/tests/simulator.test.ts b/sdk/simulator-service/tests/simulator.test.ts index 0628f238f7..571744a814 100644 --- a/sdk/simulator-service/tests/simulator.test.ts +++ b/sdk/simulator-service/tests/simulator.test.ts @@ -22,15 +22,7 @@ describe('Refinance', () => { simulation = await refinanceLendingToLendingSamePair( { sourcePosition: testSourcePosition, - targetPosition: newEmptyPositionFromPool( - testTargetLendingPool, - testTargetLendingPool.debts.get({ - token: testSourcePosition.debtAmount.token, - })!.token, - testTargetLendingPool.collaterals.get({ - token: testSourcePosition.collateralAmount.token, - })!.token, - ), + targetPosition: newEmptyPositionFromPool(testTargetLendingPool), slippage: Percentage.createFrom({ value: 1 }), }, mockRefinanceContext, @@ -59,13 +51,13 @@ describe('Refinance', () => { const targetPosition = simulation.targetPosition expect(targetPosition.pool).toEqual(testTargetLendingPool) - expect(targetPosition.positionId).toBeDefined() + expect(targetPosition.id).toBeDefined() }) it('should open position with id', async () => { const targetPosition = simulation.targetPosition - expect(targetPosition.positionId).toBeDefined() + expect(targetPosition.id).toBeDefined() }) it('should include a new position event step', async () => { @@ -84,11 +76,7 @@ describe('Refinance', () => { simulation = await refinanceLendingToLendingAnyPair( { sourcePosition: testSourcePosition, - targetPosition: newEmptyPositionFromPool( - testTargetLendingPoolRequiredSwaps, - otherTestDebt, - otherTestCollateral, - ), + targetPosition: newEmptyPositionFromPool(testTargetLendingPoolRequiredSwaps), slippage: Percentage.createFrom({ value: 1 }), }, mockRefinanceContextRequiredSwaps, @@ -124,7 +112,7 @@ describe('Refinance', () => { it('should open position with id', async () => { const targetPosition = simulation.targetPosition - expect(targetPosition.positionId).toBeDefined() + expect(targetPosition.id).toBeDefined() }) it('should exchange all collateral from source position ', async () => { diff --git a/sdk/simulator-service/tsconfig.test.json b/sdk/simulator-service/tsconfig.test.json index 1c454ed450..93248db33c 100644 --- a/sdk/simulator-service/tsconfig.test.json +++ b/sdk/simulator-service/tsconfig.test.json @@ -8,6 +8,7 @@ "@summerfi/sdk-common": ["node_modules/@summerfi/sdk-common/src/index.ts"], "@summerfi/swap-common/*": ["node_modules/@summerfi/swap-common/src/*"], "@summerfi/protocol-plugins/*": ["node_modules/@summerfi/protocol-plugins/src/*"], + "@summerfi/protocol-plugins": ["node_modules/@summerfi/protocol-plugins/src/index.ts"], "@summerfi/protocol-plugins-common": [ "node_modules/@summerfi/protocol-plugins-common/src/index.ts" ] diff --git a/sdk/testing-utils/src/mocks/CollateralConfigMock.ts b/sdk/testing-utils/src/mocks/CollateralConfigMock.ts index c701d11c30..d4584dcfff 100644 --- a/sdk/testing-utils/src/mocks/CollateralConfigMock.ts +++ b/sdk/testing-utils/src/mocks/CollateralConfigMock.ts @@ -1,3 +1,4 @@ +import { RiskRatioType } from '@summerfi/sdk-common' import { CurrencySymbol, Token, @@ -53,7 +54,7 @@ export class CollateralConfigMock implements ICollateralConfig { }) const liquidationThreshold = params.liquidationThreshold ?? { - type: RiskRatio.type.LTV, + type: RiskRatioType.LTV, ratio: Percentage.createFrom({ value: 0, }), From 99d38c9e7e0f9183d700215d8f1d832643c2a20c Mon Sep 17 00:00:00 2001 From: Roberto Cano <3525807+robercano@users.noreply.github.com> Date: Thu, 2 May 2024 15:22:25 +0200 Subject: [PATCH 03/45] feat: add getLendingPoolInfo to retrieve extra info (#217) --- pnpm-lock.yaml | 11035 ++++++++++++---- .../scripts/encodeMakerGive.ts | 2 +- sdk/order-planner-service/tsconfig.json | 7 +- sdk/protocol-manager-common/package.json | 3 +- .../src/interfaces/IProtocolManager.ts | 12 +- sdk/protocol-manager-service/package.json | 3 +- .../src/implementation/ProtocolManager.ts | 18 +- .../tests/ProtocolManager.spec.ts | 1 + sdk/protocol-plugins-common/package.json | 3 +- .../src/interfaces/IProtocolPlugin.ts | 9 + sdk/protocol-plugins/bundle/package.json | 3 +- sdk/protocol-plugins/package.json | 3 +- .../src/implementation/BaseProtocolPlugin.ts | 26 +- .../implementation/AAVEv3ProtocolPlugin.ts | 244 +- .../implementation/AaveV3CollateralConfig.ts | 24 - .../AaveV3CollateralConfigMap.ts | 39 - .../implementation/AaveV3DebtConfig.ts | 19 - .../implementation/AaveV3DebtConfigMap.ts | 34 - .../implementation/AaveV3LendingPoolInfo.ts | 29 + .../plugins/aave-v3/implementation/index.ts | 4 - .../interfaces/IAaveV3CollateralConfig.ts | 8 - .../interfaces/IAaveV3CollateralConfigMap.ts | 9 - .../aave-v3/interfaces/IAaveV3DebtConfig.ts | 5 - .../interfaces/IAaveV3DebtConfigMap.ts | 9 - .../interfaces/IAaveV3LendingPoolInfo.ts | 66 + .../src/plugins/aave-v3/interfaces/index.ts | 7 +- .../helpers/aaveV3Like/AAVEv3LikeAbi.ts | 10 + .../AAVEv3LikeBaseProtocolPlugin.ts | 242 + .../AAVEv3LikeBuilderTypes.ts | 0 .../AAVEv3LikeDataFetchers.ts | 0 .../AAVEv3LikeProtocolDataBuilder.ts | 9 + .../src/plugins/common/helpers/index.ts | 6 +- .../src/plugins/maker/enums/ILKType.ts | 26 + .../implementation/MakerCollateralConfig.ts | 24 - .../MakerCollateralConfigMap.ts | 39 - .../maker/implementation/MakerDebtConfig.ts | 15 - .../implementation/MakerDebtConfigMap.ts | 34 - .../implementation/MakerLendingPoolInfo.ts | 26 + .../maker/implementation/MakerPositionId.ts | 4 +- .../implementation/MakerProtocolPlugin.ts | 284 +- .../src/plugins/maker/implementation/index.ts | 5 +- .../interfaces/IMakerCollateralConfig.ts | 8 - .../interfaces/IMakerCollateralConfigMap.ts | 9 - .../maker/interfaces/IMakerDebtConfig.ts | 5 - .../maker/interfaces/IMakerDebtConfigMap.ts | 9 - .../maker/interfaces/IMakerLendingPoolId.ts | 4 +- .../maker/interfaces/IMakerLendingPoolInfo.ts | 64 + .../maker/interfaces/IMakerProtocol.ts | 2 +- .../src/plugins/maker/interfaces/index.ts | 5 +- .../implementation/SparkCollateralConfig.ts | 24 - .../SparkCollateralConfigMap.ts | 39 - .../spark/implementation/SparkDebtConfig.ts | 19 - .../implementation/SparkDebtConfigMap.ts | 34 - .../implementation/SparkLendingPoolId.ts | 2 +- .../implementation/SparkLendingPoolInfo.ts | 27 + .../implementation/SparkProtocolPlugin.ts | 237 +- .../src/plugins/spark/implementation/index.ts | 5 +- .../interfaces/ISparkCollateralConfig.ts | 8 - .../interfaces/ISparkCollateralConfigMap.ts | 9 - .../spark/interfaces/ISparkDebtConfig.ts | 5 - .../spark/interfaces/ISparkDebtConfigMap.ts | 9 - .../spark/interfaces/ISparkLendingPoolId.ts | 8 +- .../spark/interfaces/ISparkLendingPoolInfo.ts | 63 + .../src/plugins/spark/interfaces/index.ts | 5 +- .../integration/AAVEv3ProtocolPlugin.spec.ts | 203 +- .../integration/MakerProtocolPlugin.spec.ts | 170 +- .../integration/SparkProtocolPlugin.spec.ts | 195 +- .../tests/mocks/AAVEv3PoolIdMock.ts | 16 +- .../tests/mocks/MakerPoolIdMock.ts | 16 +- .../tests/mocks/SparkPoolIdMock.ts | 16 +- .../src/implementation/ProtocolClient.ts | 15 +- .../src/interfaces/IProtocolClient.ts | 23 +- ...l.subtest.ts => getLendingPool.subtest.ts} | 12 +- .../queries/getLendingPoolInfo.subtest.ts | 96 + .../tests/queries/queries.entrypoint.spec.ts | 6 +- .../src/common/implementation/TokenAmount.ts | 14 +- .../implementation/CollateralConfigMap.ts | 43 - ...{CollateralConfig.ts => CollateralInfo.ts} | 16 +- .../protocols/implementation/DebtConfigMap.ts | 45 - .../{DebtConfig.ts => DebtInfo.ts} | 22 +- .../protocols/implementation/LendingPool.ts | 2 +- .../protocols/implementation/LendingPoolId.ts | 2 +- .../implementation/LendingPoolInfo.ts | 35 + .../src/protocols/implementation/Pool.ts | 2 +- .../src/protocols/implementation/PoolInfo.ts | 24 + .../src/protocols/implementation/index.ts | 8 +- .../protocols/interfaces/ICollateralConfig.ts | 15 - .../interfaces/ICollateralConfigMap.ts | 8 - .../protocols/interfaces/ICollateralInfo.ts | 75 + .../src/protocols/interfaces/IDebtConfig.ts | 16 - .../protocols/interfaces/IDebtConfigMap.ts | 8 - .../src/protocols/interfaces/IDebtInfo.ts | 83 + .../protocols/interfaces/ILendingPoolId.ts | 6 +- .../protocols/interfaces/ILendingPoolInfo.ts | 70 + .../src/protocols/interfaces/IPoolId.ts | 2 +- .../src/protocols/interfaces/IPoolInfo.ts | 50 + .../src/protocols/interfaces/IProtocol.ts | 4 +- .../src/protocols/interfaces/index.ts | 8 +- .../protocols/types/LendingPoolParameters.ts | 31 - .../src/protocols/types/PoolParameters.ts | 7 - .../src/protocols/types/PoolType.ts | 25 +- .../src/protocols/types/ProtocolParameters.ts | 7 - sdk/sdk-common/src/protocols/types/index.ts | 3 - sdk/sdk-server/package.json | 3 +- sdk/sdk-server/src/SDKAppRouter.ts | 15 +- sdk/sdk-server/src/handlers/getLendingPool.ts | 9 + .../src/handlers/getLendingPoolInfo.ts | 9 + sdk/sdk-server/src/handlers/getPool.ts | 13 - .../tests/mocks/contextMock.ts | 15 +- .../tests/mocks/testSourcePosition.ts | 56 +- .../src/mocks/CollateralConfigMock.ts | 81 - sdk/testing-utils/src/mocks/DebtConfigMock.ts | 83 - sdk/testing-utils/src/mocks/index.ts | 2 - summerfi-api/sdk-router-function/package.json | 3 +- turbo.json | 10 +- 115 files changed, 9964 insertions(+), 4680 deletions(-) delete mode 100644 sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3CollateralConfig.ts delete mode 100644 sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3CollateralConfigMap.ts delete mode 100644 sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3DebtConfig.ts delete mode 100644 sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3DebtConfigMap.ts create mode 100644 sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3LendingPoolInfo.ts delete mode 100644 sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3CollateralConfig.ts delete mode 100644 sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3CollateralConfigMap.ts delete mode 100644 sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3DebtConfig.ts delete mode 100644 sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3DebtConfigMap.ts create mode 100644 sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3LendingPoolInfo.ts create mode 100644 sdk/protocol-plugins/src/plugins/common/helpers/aaveV3Like/AAVEv3LikeAbi.ts create mode 100644 sdk/protocol-plugins/src/plugins/common/helpers/aaveV3Like/AAVEv3LikeBaseProtocolPlugin.ts rename sdk/protocol-plugins/src/plugins/common/helpers/{ => aaveV3Like}/AAVEv3LikeBuilderTypes.ts (100%) rename sdk/protocol-plugins/src/plugins/common/helpers/{ => aaveV3Like}/AAVEv3LikeDataFetchers.ts (100%) rename sdk/protocol-plugins/src/plugins/common/helpers/{ => aaveV3Like}/AAVEv3LikeProtocolDataBuilder.ts (98%) delete mode 100644 sdk/protocol-plugins/src/plugins/maker/implementation/MakerCollateralConfig.ts delete mode 100644 sdk/protocol-plugins/src/plugins/maker/implementation/MakerCollateralConfigMap.ts delete mode 100644 sdk/protocol-plugins/src/plugins/maker/implementation/MakerDebtConfig.ts delete mode 100644 sdk/protocol-plugins/src/plugins/maker/implementation/MakerDebtConfigMap.ts create mode 100644 sdk/protocol-plugins/src/plugins/maker/implementation/MakerLendingPoolInfo.ts delete mode 100644 sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerCollateralConfig.ts delete mode 100644 sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerCollateralConfigMap.ts delete mode 100644 sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerDebtConfig.ts delete mode 100644 sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerDebtConfigMap.ts create mode 100644 sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerLendingPoolInfo.ts delete mode 100644 sdk/protocol-plugins/src/plugins/spark/implementation/SparkCollateralConfig.ts delete mode 100644 sdk/protocol-plugins/src/plugins/spark/implementation/SparkCollateralConfigMap.ts delete mode 100644 sdk/protocol-plugins/src/plugins/spark/implementation/SparkDebtConfig.ts delete mode 100644 sdk/protocol-plugins/src/plugins/spark/implementation/SparkDebtConfigMap.ts create mode 100644 sdk/protocol-plugins/src/plugins/spark/implementation/SparkLendingPoolInfo.ts delete mode 100644 sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkCollateralConfig.ts delete mode 100644 sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkCollateralConfigMap.ts delete mode 100644 sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkDebtConfig.ts delete mode 100644 sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkDebtConfigMap.ts create mode 100644 sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkLendingPoolInfo.ts rename sdk/sdk-client/tests/queries/{getPool.subtest.ts => getLendingPool.subtest.ts} (88%) create mode 100644 sdk/sdk-client/tests/queries/getLendingPoolInfo.subtest.ts delete mode 100644 sdk/sdk-common/src/protocols/implementation/CollateralConfigMap.ts rename sdk/sdk-common/src/protocols/implementation/{CollateralConfig.ts => CollateralInfo.ts} (72%) delete mode 100644 sdk/sdk-common/src/protocols/implementation/DebtConfigMap.ts rename sdk/sdk-common/src/protocols/implementation/{DebtConfig.ts => DebtInfo.ts} (66%) create mode 100644 sdk/sdk-common/src/protocols/implementation/LendingPoolInfo.ts create mode 100644 sdk/sdk-common/src/protocols/implementation/PoolInfo.ts delete mode 100644 sdk/sdk-common/src/protocols/interfaces/ICollateralConfig.ts delete mode 100644 sdk/sdk-common/src/protocols/interfaces/ICollateralConfigMap.ts create mode 100644 sdk/sdk-common/src/protocols/interfaces/ICollateralInfo.ts delete mode 100644 sdk/sdk-common/src/protocols/interfaces/IDebtConfig.ts delete mode 100644 sdk/sdk-common/src/protocols/interfaces/IDebtConfigMap.ts create mode 100644 sdk/sdk-common/src/protocols/interfaces/IDebtInfo.ts create mode 100644 sdk/sdk-common/src/protocols/interfaces/ILendingPoolInfo.ts create mode 100644 sdk/sdk-common/src/protocols/interfaces/IPoolInfo.ts delete mode 100644 sdk/sdk-common/src/protocols/types/LendingPoolParameters.ts delete mode 100644 sdk/sdk-common/src/protocols/types/PoolParameters.ts delete mode 100644 sdk/sdk-common/src/protocols/types/ProtocolParameters.ts create mode 100644 sdk/sdk-server/src/handlers/getLendingPool.ts create mode 100644 sdk/sdk-server/src/handlers/getLendingPoolInfo.ts delete mode 100644 sdk/sdk-server/src/handlers/getPool.ts delete mode 100644 sdk/testing-utils/src/mocks/CollateralConfigMock.ts delete mode 100644 sdk/testing-utils/src/mocks/DebtConfigMock.ts diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 779a2a59df..5e6b1f9718 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,7 +5,6 @@ settings: excludeLinksFromLockfile: false importers: - .: dependencies: bignumber.js: @@ -797,9 +796,6 @@ importers: '@types/node-fetch': specifier: ^2.6.11 version: 2.6.11 - zod: - specifier: ^3.22.4 - version: 3.22.4 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -834,9 +830,6 @@ importers: '@types/node-fetch': specifier: ^2.6.11 version: 2.6.11 - zod: - specifier: ^3.22.4 - version: 3.22.4 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -871,9 +864,6 @@ importers: '@summerfi/testing-utils': specifier: workspace:* version: link:../testing-utils - zod: - specifier: ^3.22.4 - version: 3.22.4 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -899,9 +889,6 @@ importers: '@summerfi/swap-common': specifier: workspace:* version: link:../swap-common - zod: - specifier: ^3.22.4 - version: 3.22.4 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -933,9 +920,6 @@ importers: '@summerfi/testing-utils': specifier: workspace:* version: link:../../testing-utils - zod: - specifier: ^3.22.4 - version: 3.22.4 sdk/sdk-client: dependencies: @@ -1109,9 +1093,6 @@ importers: superjson: specifier: ^1.13.3 version: 1.13.3 - zod: - specifier: ^3.22.4 - version: 3.22.4 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -1556,9 +1537,6 @@ importers: superjson: specifier: ^1.13.3 version: 1.13.3 - zod: - specifier: ^3.22.4 - version: 3.22.4 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -1644,37 +1622,54 @@ importers: version: 1.1.3 packages: - /@aashutoshrathi/word-wrap@1.2.6: - resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==, + } + engines: { node: '>=0.10.0' } dev: true /@adraffy/ens-normalize@1.10.0: - resolution: {integrity: sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q==} + resolution: + { + integrity: sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q==, + } /@adraffy/ens-normalize@1.10.1: - resolution: {integrity: sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==} + resolution: + { + integrity: sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==, + } dev: true /@alcalzone/ansi-tokenize@0.1.3: - resolution: {integrity: sha512-3yWxPTq3UQ/FY9p1ErPxIyfT64elWaMvM9lIHnaqpyft63tkxodF5aUElYHrdisWve5cETkh1+KBw1yJuW0aRw==} - engines: {node: '>=14.13.1'} + resolution: + { + integrity: sha512-3yWxPTq3UQ/FY9p1ErPxIyfT64elWaMvM9lIHnaqpyft63tkxodF5aUElYHrdisWve5cETkh1+KBw1yJuW0aRw==, + } + engines: { node: '>=14.13.1' } dependencies: ansi-styles: 6.2.1 is-fullwidth-code-point: 4.0.0 dev: true /@ampproject/remapping@2.3.0: - resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} - engines: {node: '>=6.0.0'} + resolution: + { + integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==, + } + engines: { node: '>=6.0.0' } dependencies: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 dev: true /@ardatan/relay-compiler@12.0.0(graphql@16.8.1): - resolution: {integrity: sha512-9anThAaj1dQr6IGmzBMcfzOQKTa5artjuPmw8NYK/fiGEMjADbSguBY2FMDykt+QhilR3wc9VA/3yVju7JHg7Q==} + resolution: + { + integrity: sha512-9anThAaj1dQr6IGmzBMcfzOQKTa5artjuPmw8NYK/fiGEMjADbSguBY2FMDykt+QhilR3wc9VA/3yVju7JHg7Q==, + } hasBin: true peerDependencies: graphql: '*' @@ -1703,8 +1698,11 @@ packages: dev: true /@ardatan/sync-fetch@0.0.1: - resolution: {integrity: sha512-xhlTqH0m31mnsG0tIP4ETgfSB6gXDaYYsUWTrlUV93fFQPI9dd8hE0Ot6MHLCtqgB32hwJAC3YZMWlXZw7AleA==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-xhlTqH0m31mnsG0tIP4ETgfSB6gXDaYYsUWTrlUV93fFQPI9dd8hE0Ot6MHLCtqgB32hwJAC3YZMWlXZw7AleA==, + } + engines: { node: '>=14' } dependencies: node-fetch: 2.7.0 transitivePeerDependencies: @@ -1712,20 +1710,32 @@ packages: dev: true /@aws-cdk/asset-awscli-v1@2.2.202: - resolution: {integrity: sha512-JqlF0D4+EVugnG5dAsNZMqhu3HW7ehOXm5SDMxMbXNDMdsF0pxtQKNHRl52z1U9igsHmaFpUgSGjbhAJ+0JONg==} + resolution: + { + integrity: sha512-JqlF0D4+EVugnG5dAsNZMqhu3HW7ehOXm5SDMxMbXNDMdsF0pxtQKNHRl52z1U9igsHmaFpUgSGjbhAJ+0JONg==, + } dev: true /@aws-cdk/asset-kubectl-v20@2.1.2: - resolution: {integrity: sha512-3M2tELJOxQv0apCIiuKQ4pAbncz9GuLwnKFqxifWfe77wuMxyTRPmxssYHs42ePqzap1LT6GDcPygGs+hHstLg==} + resolution: + { + integrity: sha512-3M2tELJOxQv0apCIiuKQ4pAbncz9GuLwnKFqxifWfe77wuMxyTRPmxssYHs42ePqzap1LT6GDcPygGs+hHstLg==, + } dev: true /@aws-cdk/asset-node-proxy-agent-v6@2.0.3: - resolution: {integrity: sha512-twhuEG+JPOYCYPx/xy5uH2+VUsIEhPTzDY0F1KuB+ocjWWB/KEDiOVL19nHvbPCB6fhWnkykXEMJ4HHcKvjtvg==} + resolution: + { + integrity: sha512-twhuEG+JPOYCYPx/xy5uH2+VUsIEhPTzDY0F1KuB+ocjWWB/KEDiOVL19nHvbPCB6fhWnkykXEMJ4HHcKvjtvg==, + } dev: true /@aws-cdk/aws-lambda-python-alpha@2.132.1-alpha.0(aws-cdk-lib@2.132.1)(constructs@10.3.0): - resolution: {integrity: sha512-YZNLRw4Yhxt615RfC2kzuvp6/7HdU6RQZHlz3+Cb1VGMcFFdKJhKB/TrMx7xNq2NMwp9CDgasLkdxYuF8Nmd4A==} - engines: {node: '>= 14.15.0'} + resolution: + { + integrity: sha512-YZNLRw4Yhxt615RfC2kzuvp6/7HdU6RQZHlz3+Cb1VGMcFFdKJhKB/TrMx7xNq2NMwp9CDgasLkdxYuF8Nmd4A==, + } + engines: { node: '>= 14.15.0' } peerDependencies: aws-cdk-lib: ^2.132.1 constructs: ^10.0.0 @@ -1735,23 +1745,32 @@ packages: dev: true /@aws-cdk/aws-service-spec@0.0.52: - resolution: {integrity: sha512-SJA4xtG2y5NpTmtKtFNbrYh6BaFgKEcr7ye8N+S4H3KByXIa0NLOh5bPTVBjvyXiRPDJ9q39Xu433vxC3BsDhg==} + resolution: + { + integrity: sha512-SJA4xtG2y5NpTmtKtFNbrYh6BaFgKEcr7ye8N+S4H3KByXIa0NLOh5bPTVBjvyXiRPDJ9q39Xu433vxC3BsDhg==, + } dependencies: '@aws-cdk/service-spec-types': 0.0.52 '@cdklabs/tskb': 0.0.3 dev: true /@aws-cdk/cloud-assembly-schema@2.132.1: - resolution: {integrity: sha512-PAusB9kKT9CELzbj8x5G3BpFl6Wjwk5ULn+8/uP21MIygWmAcktzOD2CVzkxMvljT7qU4KN1GEDCZXVqLzzomg==} - engines: {node: '>= 14.15.0'} + resolution: + { + integrity: sha512-PAusB9kKT9CELzbj8x5G3BpFl6Wjwk5ULn+8/uP21MIygWmAcktzOD2CVzkxMvljT7qU4KN1GEDCZXVqLzzomg==, + } + engines: { node: '>= 14.15.0' } dev: true bundledDependencies: - jsonschema - semver /@aws-cdk/cloudformation-diff@2.132.1: - resolution: {integrity: sha512-h93B/VC4lujT9gjeSgUCg3XaypDyydvggbpJ0jCbl2kagDK90SHInZm5yscPNof+FpT8Igvn+5yEUOLVnfFYYg==} - engines: {node: '>= 14.15.0'} + resolution: + { + integrity: sha512-h93B/VC4lujT9gjeSgUCg3XaypDyydvggbpJ0jCbl2kagDK90SHInZm5yscPNof+FpT8Igvn+5yEUOLVnfFYYg==, + } + engines: { node: '>= 14.15.0' } dependencies: '@aws-cdk/aws-service-spec': 0.0.52 '@aws-cdk/service-spec-types': 0.0.52 @@ -1763,8 +1782,11 @@ packages: dev: true /@aws-cdk/cx-api@2.132.1(@aws-cdk/cloud-assembly-schema@2.132.1): - resolution: {integrity: sha512-JWf9Xou9vtO7wMyDKvcbigjGLY6kPS31cYc+e+dJSMsCxWEbvpEdndAJOU7y9Y8/99SnvihYxEbgbpWGwcK/Xg==} - engines: {node: '>= 14.15.0'} + resolution: + { + integrity: sha512-JWf9Xou9vtO7wMyDKvcbigjGLY6kPS31cYc+e+dJSMsCxWEbvpEdndAJOU7y9Y8/99SnvihYxEbgbpWGwcK/Xg==, + } + engines: { node: '>= 14.15.0' } peerDependencies: '@aws-cdk/cloud-assembly-schema': 2.132.1 dependencies: @@ -1774,13 +1796,19 @@ packages: - semver /@aws-cdk/service-spec-types@0.0.52: - resolution: {integrity: sha512-vVoZPgEmkUPeTVJSQ9iyXTiwnb6GiBbntJdnsWTr6I9ao66TuU9HijEcAQHxkC7CxTkian+3KSX/NTl01Klm0A==} + resolution: + { + integrity: sha512-vVoZPgEmkUPeTVJSQ9iyXTiwnb6GiBbntJdnsWTr6I9ao66TuU9HijEcAQHxkC7CxTkian+3KSX/NTl01Klm0A==, + } dependencies: '@cdklabs/tskb': 0.0.3 dev: true /@aws-crypto/crc32@3.0.0: - resolution: {integrity: sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==} + resolution: + { + integrity: sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==, + } dependencies: '@aws-crypto/util': 3.0.0 '@aws-sdk/types': 3.535.0 @@ -1788,7 +1816,10 @@ packages: dev: true /@aws-crypto/crc32c@3.0.0: - resolution: {integrity: sha512-ENNPPManmnVJ4BTXlOjAgD7URidbAznURqD0KvfREyc4o20DPYdEldU1f5cQ7Jbj0CJJSPaMIk/9ZshdB3210w==} + resolution: + { + integrity: sha512-ENNPPManmnVJ4BTXlOjAgD7URidbAznURqD0KvfREyc4o20DPYdEldU1f5cQ7Jbj0CJJSPaMIk/9ZshdB3210w==, + } dependencies: '@aws-crypto/util': 3.0.0 '@aws-sdk/types': 3.535.0 @@ -1796,13 +1827,19 @@ packages: dev: true /@aws-crypto/ie11-detection@3.0.0: - resolution: {integrity: sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==} + resolution: + { + integrity: sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==, + } dependencies: tslib: 1.14.1 dev: true /@aws-crypto/sha1-browser@3.0.0: - resolution: {integrity: sha512-NJth5c997GLHs6nOYTzFKTbYdMNA6/1XlKVgnZoaZcQ7z7UJlOgj2JdbHE8tiYLS3fzXNCguct77SPGat2raSw==} + resolution: + { + integrity: sha512-NJth5c997GLHs6nOYTzFKTbYdMNA6/1XlKVgnZoaZcQ7z7UJlOgj2JdbHE8tiYLS3fzXNCguct77SPGat2raSw==, + } dependencies: '@aws-crypto/ie11-detection': 3.0.0 '@aws-crypto/supports-web-crypto': 3.0.0 @@ -1814,7 +1851,10 @@ packages: dev: true /@aws-crypto/sha256-browser@3.0.0: - resolution: {integrity: sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==} + resolution: + { + integrity: sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==, + } dependencies: '@aws-crypto/ie11-detection': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -1827,7 +1867,10 @@ packages: dev: true /@aws-crypto/sha256-js@3.0.0: - resolution: {integrity: sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==} + resolution: + { + integrity: sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==, + } dependencies: '@aws-crypto/util': 3.0.0 '@aws-sdk/types': 3.535.0 @@ -1835,8 +1878,11 @@ packages: dev: true /@aws-crypto/sha256-js@5.2.0: - resolution: {integrity: sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==} - engines: {node: '>=16.0.0'} + resolution: + { + integrity: sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==, + } + engines: { node: '>=16.0.0' } dependencies: '@aws-crypto/util': 5.2.0 '@aws-sdk/types': 3.535.0 @@ -1844,13 +1890,19 @@ packages: dev: true /@aws-crypto/supports-web-crypto@3.0.0: - resolution: {integrity: sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==} + resolution: + { + integrity: sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==, + } dependencies: tslib: 1.14.1 dev: true /@aws-crypto/util@3.0.0: - resolution: {integrity: sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==} + resolution: + { + integrity: sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==, + } dependencies: '@aws-sdk/types': 3.535.0 '@aws-sdk/util-utf8-browser': 3.259.0 @@ -1858,7 +1910,10 @@ packages: dev: true /@aws-crypto/util@5.2.0: - resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==} + resolution: + { + integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==, + } dependencies: '@aws-sdk/types': 3.535.0 '@smithy/util-utf8': 2.3.0 @@ -1866,15 +1921,24 @@ packages: dev: true /@aws-lambda-powertools/commons@1.18.1: - resolution: {integrity: sha512-gFRgQ2GJDghKvf+fXvT0kQVftgOT05W+hCa7RkfZj6HSjVAO+9DZZeJL3JK1HcsLAjWRj7W9ra0/MqB3Abf+PQ==} + resolution: + { + integrity: sha512-gFRgQ2GJDghKvf+fXvT0kQVftgOT05W+hCa7RkfZj6HSjVAO+9DZZeJL3JK1HcsLAjWRj7W9ra0/MqB3Abf+PQ==, + } dev: false /@aws-lambda-powertools/commons@2.0.4: - resolution: {integrity: sha512-6tH27airGDbK+hNltrb33qdsbbrql34KcSBLmKnZYGZam7nWc5giTEtDh1Zyw2N3bQ0BnZ6SahgO9eY46WaiRA==} + resolution: + { + integrity: sha512-6tH27airGDbK+hNltrb33qdsbbrql34KcSBLmKnZYGZam7nWc5giTEtDh1Zyw2N3bQ0BnZ6SahgO9eY46WaiRA==, + } dev: false /@aws-lambda-powertools/logger@1.18.1: - resolution: {integrity: sha512-GsSMqaFXCSz+llSOn2CVNMoN+j/jNsS6JP2Opy9myU0tvg7PeuU3+rN24vKyibUwpxM466IzWFBSJkYdm0bqVw==} + resolution: + { + integrity: sha512-GsSMqaFXCSz+llSOn2CVNMoN+j/jNsS6JP2Opy9myU0tvg7PeuU3+rN24vKyibUwpxM466IzWFBSJkYdm0bqVw==, + } peerDependencies: '@middy/core': '>=3.x' peerDependenciesMeta: @@ -1886,7 +1950,10 @@ packages: dev: false /@aws-lambda-powertools/logger@2.0.4: - resolution: {integrity: sha512-KzBw7oUtSTKxY5Ulck4ZKelr4jX3erhlcuscvihZvu4OJv5TdZ1GrIT+wkySaLp8nKidOHjhTJAlNXCFjNiINQ==} + resolution: + { + integrity: sha512-KzBw7oUtSTKxY5Ulck4ZKelr4jX3erhlcuscvihZvu4OJv5TdZ1GrIT+wkySaLp8nKidOHjhTJAlNXCFjNiINQ==, + } peerDependencies: '@middy/core': '>=3.x' peerDependenciesMeta: @@ -1898,7 +1965,10 @@ packages: dev: false /@aws-lambda-powertools/metrics@1.18.1: - resolution: {integrity: sha512-ebojjuoOlm0bOtZ6H5fyTnC5B0owVX1nNqDUPEQSejkeiiBW0m6DVzy6hFWuKmGtBtm2WNnWwTE//WtF+CD6Ug==} + resolution: + { + integrity: sha512-ebojjuoOlm0bOtZ6H5fyTnC5B0owVX1nNqDUPEQSejkeiiBW0m6DVzy6hFWuKmGtBtm2WNnWwTE//WtF+CD6Ug==, + } peerDependencies: '@middy/core': '>=3.x' peerDependenciesMeta: @@ -1909,7 +1979,10 @@ packages: dev: false /@aws-lambda-powertools/metrics@2.0.4: - resolution: {integrity: sha512-w9kaRtqH1xPe2SLny5hF1z2c2rQDlgYtbVGm0YtQ48nIxHMNh+yV8dLd4o7fdjl2p6yuhXlHCiD+HoMi5aOPCg==} + resolution: + { + integrity: sha512-w9kaRtqH1xPe2SLny5hF1z2c2rQDlgYtbVGm0YtQ48nIxHMNh+yV8dLd4o7fdjl2p6yuhXlHCiD+HoMi5aOPCg==, + } peerDependencies: '@middy/core': '>=3.x' peerDependenciesMeta: @@ -1920,7 +1993,10 @@ packages: dev: false /@aws-lambda-powertools/tracer@1.18.1: - resolution: {integrity: sha512-bMLBtdEFNmLUR9RJvBULR6XJD0XopUhhS1mlpeQlm2BCPIN3gLbqAlJK8dMXyAw8GCpLpHaziCo2+7a/AIh7lA==} + resolution: + { + integrity: sha512-bMLBtdEFNmLUR9RJvBULR6XJD0XopUhhS1mlpeQlm2BCPIN3gLbqAlJK8dMXyAw8GCpLpHaziCo2+7a/AIh7lA==, + } peerDependencies: '@middy/core': '>=3.x' peerDependenciesMeta: @@ -1932,7 +2008,10 @@ packages: dev: false /@aws-lambda-powertools/tracer@2.0.4: - resolution: {integrity: sha512-Alc/oy8JnEMlM33zYVuiutyYjxen10AaOdKBuwyxwzCJPpkwO5ks+6RxLBTHjFVrvCt7CwPd9G1lDvruDvcxKQ==} + resolution: + { + integrity: sha512-Alc/oy8JnEMlM33zYVuiutyYjxen10AaOdKBuwyxwzCJPpkwO5ks+6RxLBTHjFVrvCt7CwPd9G1lDvruDvcxKQ==, + } peerDependencies: '@middy/core': '>=3.x' peerDependenciesMeta: @@ -1944,8 +2023,11 @@ packages: dev: false /@aws-sdk/client-cloudformation@3.555.0: - resolution: {integrity: sha512-gm+qteiSwG/Y25lrIdjiP/GQkYSCdxhTAcHHUGmC85pDTLRsZbTXUm79rhvT3SfoLX3/Hh4JHoVSiFL+wxKeww==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-gm+qteiSwG/Y25lrIdjiP/GQkYSCdxhTAcHHUGmC85pDTLRsZbTXUm79rhvT3SfoLX3/Hh4JHoVSiFL+wxKeww==, + } + engines: { node: '>=14.0.0' } dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -1994,8 +2076,11 @@ packages: dev: true /@aws-sdk/client-cognito-identity@3.554.0: - resolution: {integrity: sha512-/rFufn75nrCj5gTpTLIlDxjGoPeAj+gC3JLVqS2Tlpqx3YhqHiz+jYaHYJbkvrcLMEdDFqaoO3DI7y/GcD59Mg==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-/rFufn75nrCj5gTpTLIlDxjGoPeAj+gC3JLVqS2Tlpqx3YhqHiz+jYaHYJbkvrcLMEdDFqaoO3DI7y/GcD59Mg==, + } + engines: { node: '>=14.0.0' } dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -2042,8 +2127,11 @@ packages: dev: true /@aws-sdk/client-ecs@3.554.0: - resolution: {integrity: sha512-JyGbk0ulTtz8rjvVCWKqf+1Lobk6TDB+bPpfhMa3Z+ACyNsS+qU3W+XcDUXkgn+VGFd+nMfFoJOotSsT03ilFw==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-JyGbk0ulTtz8rjvVCWKqf+1Lobk6TDB+bPpfhMa3Z+ACyNsS+qU3W+XcDUXkgn+VGFd+nMfFoJOotSsT03ilFw==, + } + engines: { node: '>=14.0.0' } dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -2092,8 +2180,11 @@ packages: dev: true /@aws-sdk/client-eventbridge@3.554.0: - resolution: {integrity: sha512-rO5jYUaYsHFmjfXkgtCN1Tb3O9Or0ro61f6vzZB/+XLZvgTSP8OLJcH+1BHMj26L2ntuTkZ4zPikO+2Bg4urDg==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-rO5jYUaYsHFmjfXkgtCN1Tb3O9Or0ro61f6vzZB/+XLZvgTSP8OLJcH+1BHMj26L2ntuTkZ4zPikO+2Bg4urDg==, + } + engines: { node: '>=14.0.0' } dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -2140,8 +2231,11 @@ packages: dev: true /@aws-sdk/client-iam@3.554.0: - resolution: {integrity: sha512-Q+8PTBdZ1e3hzWRZGnIE5P+7jbxQx9Gas3ayOfzdHx538apqk4z8+Q4PoymECttPSPwv1KoYphFZvRyH7lrDKA==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-Q+8PTBdZ1e3hzWRZGnIE5P+7jbxQx9Gas3ayOfzdHx538apqk4z8+Q4PoymECttPSPwv1KoYphFZvRyH7lrDKA==, + } + engines: { node: '>=14.0.0' } dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -2189,8 +2283,11 @@ packages: dev: true /@aws-sdk/client-iot-data-plane@3.554.0: - resolution: {integrity: sha512-2xtMWKlJ1wOq+8mQe1XddfqOkskfIV/AgkGTueZUqO7FvVxHtWOlXpafN7naRZUBtzzu9/oeK8gfvYhpW+kqGw==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-2xtMWKlJ1wOq+8mQe1XddfqOkskfIV/AgkGTueZUqO7FvVxHtWOlXpafN7naRZUBtzzu9/oeK8gfvYhpW+kqGw==, + } + engines: { node: '>=14.0.0' } dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -2238,8 +2335,11 @@ packages: dev: true /@aws-sdk/client-iot@3.554.0: - resolution: {integrity: sha512-3mr5Ik3hVa3WS0F2N88sSKAwOVdRtoRN8xY1bqpT+I/tjAgt+07uItHrkJErEh4Xq3EnhJfKiPR/KbcRK2oQuQ==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-3mr5Ik3hVa3WS0F2N88sSKAwOVdRtoRN8xY1bqpT+I/tjAgt+07uItHrkJErEh4Xq3EnhJfKiPR/KbcRK2oQuQ==, + } + engines: { node: '>=14.0.0' } dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -2287,8 +2387,11 @@ packages: dev: true /@aws-sdk/client-lambda@3.554.0: - resolution: {integrity: sha512-KNUAAZKcsCdUOB2/rbWpc96jsSM/ahw3hK5/Ru4RTLfNP27GitxqF0v+mzrVk9lTuj2ChJ3JDV+UfdGsqvZgpw==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-KNUAAZKcsCdUOB2/rbWpc96jsSM/ahw3hK5/Ru4RTLfNP27GitxqF0v+mzrVk9lTuj2ChJ3JDV+UfdGsqvZgpw==, + } + engines: { node: '>=14.0.0' } dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -2340,8 +2443,11 @@ packages: dev: true /@aws-sdk/client-rds-data@3.554.0: - resolution: {integrity: sha512-pJq/RhBuSngWik5y7M385hm0qLidgPBWNff4+h3UGPDvFUvHTvSCMrPbU5lhMTcrVw+aralLSi3DwCqsUjHKBA==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-pJq/RhBuSngWik5y7M385hm0qLidgPBWNff4+h3UGPDvFUvHTvSCMrPbU5lhMTcrVw+aralLSi3DwCqsUjHKBA==, + } + engines: { node: '>=14.0.0' } dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -2388,8 +2494,11 @@ packages: dev: true /@aws-sdk/client-s3@3.554.0: - resolution: {integrity: sha512-d5TKKtGWhN0vl9QovUFrf3UsM7jgFQkowDPx1O+E/yeQUj1FBDOoRfDCcQOKW/9ghloI6k7f0bBpNxdd+x0oKA==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-d5TKKtGWhN0vl9QovUFrf3UsM7jgFQkowDPx1O+E/yeQUj1FBDOoRfDCcQOKW/9ghloI6k7f0bBpNxdd+x0oKA==, + } + engines: { node: '>=14.0.0' } dependencies: '@aws-crypto/sha1-browser': 3.0.0 '@aws-crypto/sha256-browser': 3.0.0 @@ -2453,8 +2562,11 @@ packages: dev: true /@aws-sdk/client-ssm@3.554.0: - resolution: {integrity: sha512-zqc5Pyb0agJ3erp1x2ILoll7mG6atQTD2AFWA5UBFhNa7R0+w+TLvSNnX813X4bv4OySqBYYEtAokoTvV66UZw==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-zqc5Pyb0agJ3erp1x2ILoll7mG6atQTD2AFWA5UBFhNa7R0+w+TLvSNnX813X4bv4OySqBYYEtAokoTvV66UZw==, + } + engines: { node: '>=14.0.0' } dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -2503,8 +2615,11 @@ packages: dev: true /@aws-sdk/client-sso-oidc@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: {integrity: sha512-M86rkiRqbZBF5VyfTQ/vttry9VSoQkZ1oCqYF+SAGlXmD0Of8587yRSj2M4rYe0Uj7nRQIfSnhDYp1UzsZeRfQ==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-M86rkiRqbZBF5VyfTQ/vttry9VSoQkZ1oCqYF+SAGlXmD0Of8587yRSj2M4rYe0Uj7nRQIfSnhDYp1UzsZeRfQ==, + } + engines: { node: '>=14.0.0' } peerDependencies: '@aws-sdk/credential-provider-node': ^3.554.0 dependencies: @@ -2553,8 +2668,11 @@ packages: dev: true /@aws-sdk/client-sso@3.554.0: - resolution: {integrity: sha512-yj6CgIxCT3UwMumEO481KH4QvwArkAPzD7Xvwe1QKgJATc9bKNEo/FxV8LfnWIJ7nOtMDxbNxYLMXH/Fs1qGaQ==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-yj6CgIxCT3UwMumEO481KH4QvwArkAPzD7Xvwe1QKgJATc9bKNEo/FxV8LfnWIJ7nOtMDxbNxYLMXH/Fs1qGaQ==, + } + engines: { node: '>=14.0.0' } dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -2599,8 +2717,11 @@ packages: dev: true /@aws-sdk/client-sts@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: {integrity: sha512-EhaA6T0M0DNg5M8TCF1a7XJI5D/ZxAF3dgVIchyF98iNzjYgl/7U8K6hJay2A11aFvVu70g46xYMpz3Meky4wQ==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-EhaA6T0M0DNg5M8TCF1a7XJI5D/ZxAF3dgVIchyF98iNzjYgl/7U8K6hJay2A11aFvVu70g46xYMpz3Meky4wQ==, + } + engines: { node: '>=14.0.0' } peerDependencies: '@aws-sdk/credential-provider-node': ^3.554.0 dependencies: @@ -2648,8 +2769,11 @@ packages: dev: true /@aws-sdk/config-resolver@3.374.0: - resolution: {integrity: sha512-eTSbmpcgZ97o7PuFls8pH1344OS03nfqq1NO9HxxvoYoZ6DFfUO7kqKeNUhP9LxOF7slyHXajDT7eoPclGnTuw==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-eTSbmpcgZ97o7PuFls8pH1344OS03nfqq1NO9HxxvoYoZ6DFfUO7kqKeNUhP9LxOF7slyHXajDT7eoPclGnTuw==, + } + engines: { node: '>=14.0.0' } deprecated: This package has moved to @smithy/config-resolver dependencies: '@smithy/config-resolver': 1.1.0 @@ -2657,8 +2781,11 @@ packages: dev: true /@aws-sdk/core@3.554.0: - resolution: {integrity: sha512-JrG7ToTLeNf+/S3IiCUPVw9jEDB0DXl5ho8n/HwOa946mv+QyCepCuV2U/8f/1KAX0mD8Ufm/E4/cbCbFHgbSg==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-JrG7ToTLeNf+/S3IiCUPVw9jEDB0DXl5ho8n/HwOa946mv+QyCepCuV2U/8f/1KAX0mD8Ufm/E4/cbCbFHgbSg==, + } + engines: { node: '>=14.0.0' } dependencies: '@smithy/core': 1.4.2 '@smithy/protocol-http': 3.3.0 @@ -2670,8 +2797,11 @@ packages: dev: true /@aws-sdk/credential-provider-cognito-identity@3.554.0: - resolution: {integrity: sha512-soF84soy9rTAfzsH1ODP0AnJt5JlsJI8k1aWtC08/Al0CZjLkxDRHzaB1wxubFyT2Ql6bpxbDfU6KDFXsQIpdA==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-soF84soy9rTAfzsH1ODP0AnJt5JlsJI8k1aWtC08/Al0CZjLkxDRHzaB1wxubFyT2Ql6bpxbDfU6KDFXsQIpdA==, + } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/client-cognito-identity': 3.554.0 '@aws-sdk/types': 3.535.0 @@ -2683,8 +2813,11 @@ packages: dev: true /@aws-sdk/credential-provider-env@3.535.0: - resolution: {integrity: sha512-XppwO8c0GCGSAvdzyJOhbtktSEaShg14VJKg8mpMa1XcgqzmcqqHQjtDWbx5rZheY1VdpXZhpEzJkB6LpQejpA==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-XppwO8c0GCGSAvdzyJOhbtktSEaShg14VJKg8mpMa1XcgqzmcqqHQjtDWbx5rZheY1VdpXZhpEzJkB6LpQejpA==, + } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/types': 3.535.0 '@smithy/property-provider': 2.2.0 @@ -2693,8 +2826,11 @@ packages: dev: true /@aws-sdk/credential-provider-http@3.552.0: - resolution: {integrity: sha512-vsmu7Cz1i45pFEqzVb4JcFmAmVnWFNLsGheZc8SCptlqCO5voETrZZILHYIl4cjKkSDk3pblBOf0PhyjqWW6WQ==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-vsmu7Cz1i45pFEqzVb4JcFmAmVnWFNLsGheZc8SCptlqCO5voETrZZILHYIl4cjKkSDk3pblBOf0PhyjqWW6WQ==, + } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/types': 3.535.0 '@smithy/fetch-http-handler': 2.5.0 @@ -2708,8 +2844,11 @@ packages: dev: true /@aws-sdk/credential-provider-ini@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: {integrity: sha512-BQenhg43S6TMJHxrdjDVdVF+HH5tA1op9ZYLyJrvV5nn7CCO4kyAkkOuSAv1NkL+RZsIkW0/vHTXwQOQw3cUsg==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-BQenhg43S6TMJHxrdjDVdVF+HH5tA1op9ZYLyJrvV5nn7CCO4kyAkkOuSAv1NkL+RZsIkW0/vHTXwQOQw3cUsg==, + } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) '@aws-sdk/credential-provider-env': 3.535.0 @@ -2728,8 +2867,11 @@ packages: dev: true /@aws-sdk/credential-provider-node@3.554.0: - resolution: {integrity: sha512-poX/+2OE3oxqp4f5MiaJh251p8l+bzcFwgcDBwz0e2rcpvMSYl9jw4AvGnCiG2bmf9yhNJdftBiS1A+KjxV0qA==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-poX/+2OE3oxqp4f5MiaJh251p8l+bzcFwgcDBwz0e2rcpvMSYl9jw4AvGnCiG2bmf9yhNJdftBiS1A+KjxV0qA==, + } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/credential-provider-env': 3.535.0 '@aws-sdk/credential-provider-http': 3.552.0 @@ -2748,8 +2890,11 @@ packages: dev: true /@aws-sdk/credential-provider-process@3.535.0: - resolution: {integrity: sha512-9O1OaprGCnlb/kYl8RwmH7Mlg8JREZctB8r9sa1KhSsWFq/SWO0AuJTyowxD7zL5PkeS4eTvzFFHWCa3OO5epA==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-9O1OaprGCnlb/kYl8RwmH7Mlg8JREZctB8r9sa1KhSsWFq/SWO0AuJTyowxD7zL5PkeS4eTvzFFHWCa3OO5epA==, + } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/types': 3.535.0 '@smithy/property-provider': 2.2.0 @@ -2759,8 +2904,11 @@ packages: dev: true /@aws-sdk/credential-provider-sso@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: {integrity: sha512-8QPpwBA31i/fZ7lDZJC4FA9EdxLg5SJ8sPB2qLSjp5UTGTYL2HRl0Eznkb7DXyp/wImsR/HFR1NxuFCCVotLCg==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-8QPpwBA31i/fZ7lDZJC4FA9EdxLg5SJ8sPB2qLSjp5UTGTYL2HRl0Eznkb7DXyp/wImsR/HFR1NxuFCCVotLCg==, + } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/client-sso': 3.554.0 '@aws-sdk/token-providers': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) @@ -2775,8 +2923,11 @@ packages: dev: true /@aws-sdk/credential-provider-web-identity@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: {integrity: sha512-HN54DzLjepw5ZWSF9ycGevhFTyg6pjLuLKy5Y8t/f1jFDComzYdGEDe0cdV9YO653W3+PQwZZGz09YVygGYBLg==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-HN54DzLjepw5ZWSF9ycGevhFTyg6pjLuLKy5Y8t/f1jFDComzYdGEDe0cdV9YO653W3+PQwZZGz09YVygGYBLg==, + } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) '@aws-sdk/types': 3.535.0 @@ -2789,8 +2940,11 @@ packages: dev: true /@aws-sdk/credential-providers@3.554.0: - resolution: {integrity: sha512-UMmJ4M7RknSz1p0981t57QUw6DibPEo/GG8+env6Q8dHrEc3pnRL206f1zxLcqzT5RI50XstH/bDtnyC7uRYiw==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-UMmJ4M7RknSz1p0981t57QUw6DibPEo/GG8+env6Q8dHrEc3pnRL206f1zxLcqzT5RI50XstH/bDtnyC7uRYiw==, + } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/client-cognito-identity': 3.554.0 '@aws-sdk/client-sso': 3.554.0 @@ -2813,8 +2967,11 @@ packages: dev: true /@aws-sdk/middleware-bucket-endpoint@3.535.0: - resolution: {integrity: sha512-7sijlfQsc4UO9Fsl11mU26Y5f9E7g6UoNg/iJUBpC5pgvvmdBRO5UEhbB/gnqvOEPsBXyhmfzbstebq23Qdz7A==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-7sijlfQsc4UO9Fsl11mU26Y5f9E7g6UoNg/iJUBpC5pgvvmdBRO5UEhbB/gnqvOEPsBXyhmfzbstebq23Qdz7A==, + } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/types': 3.535.0 '@aws-sdk/util-arn-parser': 3.535.0 @@ -2826,8 +2983,11 @@ packages: dev: true /@aws-sdk/middleware-expect-continue@3.535.0: - resolution: {integrity: sha512-hFKyqUBky0NWCVku8iZ9+PACehx0p6vuMw5YnZf8FVgHP0fode0b/NwQY6UY7oor/GftvRsAlRUAWGNFEGUpwA==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-hFKyqUBky0NWCVku8iZ9+PACehx0p6vuMw5YnZf8FVgHP0fode0b/NwQY6UY7oor/GftvRsAlRUAWGNFEGUpwA==, + } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/types': 3.535.0 '@smithy/protocol-http': 3.3.0 @@ -2836,8 +2996,11 @@ packages: dev: true /@aws-sdk/middleware-flexible-checksums@3.535.0: - resolution: {integrity: sha512-rBIzldY9jjRATxICDX7t77aW6ctqmVDgnuAOgbVT5xgHftt4o7PGWKoMvl/45hYqoQgxVFnCBof9bxkqSBebVA==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-rBIzldY9jjRATxICDX7t77aW6ctqmVDgnuAOgbVT5xgHftt4o7PGWKoMvl/45hYqoQgxVFnCBof9bxkqSBebVA==, + } + engines: { node: '>=14.0.0' } dependencies: '@aws-crypto/crc32': 3.0.0 '@aws-crypto/crc32c': 3.0.0 @@ -2850,8 +3013,11 @@ packages: dev: true /@aws-sdk/middleware-host-header@3.535.0: - resolution: {integrity: sha512-0h6TWjBWtDaYwHMQJI9ulafeS4lLaw1vIxRjbpH0svFRt6Eve+Sy8NlVhECfTU2hNz/fLubvrUxsXoThaLBIew==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-0h6TWjBWtDaYwHMQJI9ulafeS4lLaw1vIxRjbpH0svFRt6Eve+Sy8NlVhECfTU2hNz/fLubvrUxsXoThaLBIew==, + } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/types': 3.535.0 '@smithy/protocol-http': 3.3.0 @@ -2860,8 +3026,11 @@ packages: dev: true /@aws-sdk/middleware-location-constraint@3.535.0: - resolution: {integrity: sha512-SxfS9wfidUZZ+WnlKRTCRn3h+XTsymXRXPJj8VV6hNRNeOwzNweoG3YhQbTowuuNfXf89m9v6meYkBBtkdacKw==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-SxfS9wfidUZZ+WnlKRTCRn3h+XTsymXRXPJj8VV6hNRNeOwzNweoG3YhQbTowuuNfXf89m9v6meYkBBtkdacKw==, + } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -2869,8 +3038,11 @@ packages: dev: true /@aws-sdk/middleware-logger@3.535.0: - resolution: {integrity: sha512-huNHpONOrEDrdRTvSQr1cJiRMNf0S52NDXtaPzdxiubTkP+vni2MohmZANMOai/qT0olmEVX01LhZ0ZAOgmg6A==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-huNHpONOrEDrdRTvSQr1cJiRMNf0S52NDXtaPzdxiubTkP+vni2MohmZANMOai/qT0olmEVX01LhZ0ZAOgmg6A==, + } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -2878,8 +3050,11 @@ packages: dev: true /@aws-sdk/middleware-recursion-detection@3.535.0: - resolution: {integrity: sha512-am2qgGs+gwqmR4wHLWpzlZ8PWhm4ktj5bYSgDrsOfjhdBlWNxvPoID9/pDAz5RWL48+oH7I6SQzMqxXsFDikrw==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-am2qgGs+gwqmR4wHLWpzlZ8PWhm4ktj5bYSgDrsOfjhdBlWNxvPoID9/pDAz5RWL48+oH7I6SQzMqxXsFDikrw==, + } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/types': 3.535.0 '@smithy/protocol-http': 3.3.0 @@ -2888,8 +3063,11 @@ packages: dev: true /@aws-sdk/middleware-retry@3.374.0: - resolution: {integrity: sha512-ZnT84qnT+Zmelv7y6hAqgAEaZgpGlrvf/+rchNWT0oG4duxI5bLWcRi9U88Jz7G8JgNQcGKJqPfC6oogCd7p8w==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-ZnT84qnT+Zmelv7y6hAqgAEaZgpGlrvf/+rchNWT0oG4duxI5bLWcRi9U88Jz7G8JgNQcGKJqPfC6oogCd7p8w==, + } + engines: { node: '>=14.0.0' } deprecated: This package has moved to @smithy/middleware-retry dependencies: '@smithy/middleware-retry': 1.1.0 @@ -2898,8 +3076,11 @@ packages: dev: true /@aws-sdk/middleware-sdk-s3@3.552.0: - resolution: {integrity: sha512-9KzOqsbwJJuQcpmrpkkIftjPahB1bsrcWalYzcVqKCgHCylhkSHW2tX+uGHRnvAl9iobQD5D7LUrS+cv0NeQ/Q==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-9KzOqsbwJJuQcpmrpkkIftjPahB1bsrcWalYzcVqKCgHCylhkSHW2tX+uGHRnvAl9iobQD5D7LUrS+cv0NeQ/Q==, + } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/types': 3.535.0 '@aws-sdk/util-arn-parser': 3.535.0 @@ -2913,8 +3094,11 @@ packages: dev: true /@aws-sdk/middleware-signing@3.552.0: - resolution: {integrity: sha512-ZjOrlEmwjhbmkINa4Zx9LJh+xb/kgEiUrcfud2kq/r8ath1Nv1/4zalI9jHnou1J+R+yS+FQlXLXHSZ7vqyFbA==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-ZjOrlEmwjhbmkINa4Zx9LJh+xb/kgEiUrcfud2kq/r8ath1Nv1/4zalI9jHnou1J+R+yS+FQlXLXHSZ7vqyFbA==, + } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/types': 3.535.0 '@smithy/property-provider': 2.2.0 @@ -2926,8 +3110,11 @@ packages: dev: true /@aws-sdk/middleware-ssec@3.537.0: - resolution: {integrity: sha512-2QWMrbwd5eBy5KCYn9a15JEWBgrK2qFEKQN2lqb/6z0bhtevIOxIRfC99tzvRuPt6nixFQ+ynKuBjcfT4ZFrdQ==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-2QWMrbwd5eBy5KCYn9a15JEWBgrK2qFEKQN2lqb/6z0bhtevIOxIRfC99tzvRuPt6nixFQ+ynKuBjcfT4ZFrdQ==, + } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -2935,8 +3122,11 @@ packages: dev: true /@aws-sdk/middleware-user-agent@3.540.0: - resolution: {integrity: sha512-8Rd6wPeXDnOYzWj1XCmOKcx/Q87L0K1/EHqOBocGjLVbN3gmRxBvpmR1pRTjf7IsWfnnzN5btqtcAkfDPYQUMQ==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-8Rd6wPeXDnOYzWj1XCmOKcx/Q87L0K1/EHqOBocGjLVbN3gmRxBvpmR1pRTjf7IsWfnnzN5btqtcAkfDPYQUMQ==, + } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/types': 3.535.0 '@aws-sdk/util-endpoints': 3.540.0 @@ -2946,8 +3136,11 @@ packages: dev: true /@aws-sdk/region-config-resolver@3.535.0: - resolution: {integrity: sha512-IXOznDiaItBjsQy4Fil0kzX/J3HxIOknEphqHbOfUf+LpA5ugcsxuQQONrbEQusCBnfJyymrldBvBhFmtlU9Wg==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-IXOznDiaItBjsQy4Fil0kzX/J3HxIOknEphqHbOfUf+LpA5ugcsxuQQONrbEQusCBnfJyymrldBvBhFmtlU9Wg==, + } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/types': 3.535.0 '@smithy/node-config-provider': 2.3.0 @@ -2958,8 +3151,11 @@ packages: dev: true /@aws-sdk/signature-v4-crt@3.552.0: - resolution: {integrity: sha512-5Dy4E2RtHw3hFCx5L+OsRN2n1OW3yoX06xDPqJ5xe38Pd9H8ZPYxiCEOdyw/TIJUwRjDMgsa2uPKyM/Nwr9cMg==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-5Dy4E2RtHw3hFCx5L+OsRN2n1OW3yoX06xDPqJ5xe38Pd9H8ZPYxiCEOdyw/TIJUwRjDMgsa2uPKyM/Nwr9cMg==, + } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/signature-v4-multi-region': 3.552.0 '@aws-sdk/types': 3.535.0 @@ -2978,8 +3174,11 @@ packages: dev: true /@aws-sdk/signature-v4-multi-region@3.552.0: - resolution: {integrity: sha512-cC11/5ahp+LaBCq7cR+51AM2ftf6m9diRd2oWkbEpjSiEKQzZRAltUPZAJM6NXGypmDODQDJphLGt45tvS+8kg==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-cC11/5ahp+LaBCq7cR+51AM2ftf6m9diRd2oWkbEpjSiEKQzZRAltUPZAJM6NXGypmDODQDJphLGt45tvS+8kg==, + } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/middleware-sdk-s3': 3.552.0 '@aws-sdk/types': 3.535.0 @@ -2990,8 +3189,11 @@ packages: dev: true /@aws-sdk/smithy-client@3.374.0: - resolution: {integrity: sha512-YQBdO/Nv5EXBg/qfMF4GgYYLNN3Y/06MyuVBYILC1TKAnMoLy2FV0VOYyediagepAcWPdJqyUq4MCNNBy0CPRg==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-YQBdO/Nv5EXBg/qfMF4GgYYLNN3Y/06MyuVBYILC1TKAnMoLy2FV0VOYyediagepAcWPdJqyUq4MCNNBy0CPRg==, + } + engines: { node: '>=14.0.0' } deprecated: This package has moved to @smithy/smithy-client dependencies: '@smithy/smithy-client': 1.1.0 @@ -2999,8 +3201,11 @@ packages: dev: true /@aws-sdk/token-providers@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: {integrity: sha512-KMMQ5Cw0FUPL9H8g69Lp08xtzRo7r/MK+lBV6LznWBbCP/NwtZ8awVHaPy2P31z00cWtu9MYkUTviWPqJTaBvg==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-KMMQ5Cw0FUPL9H8g69Lp08xtzRo7r/MK+lBV6LznWBbCP/NwtZ8awVHaPy2P31z00cWtu9MYkUTviWPqJTaBvg==, + } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/client-sso-oidc': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) '@aws-sdk/types': 3.535.0 @@ -3014,22 +3219,31 @@ packages: dev: true /@aws-sdk/types@3.535.0: - resolution: {integrity: sha512-aY4MYfduNj+sRR37U7XxYR8wemfbKP6lx00ze2M2uubn7mZotuVrWYAafbMSXrdEMSToE5JDhr28vArSOoLcSg==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-aY4MYfduNj+sRR37U7XxYR8wemfbKP6lx00ze2M2uubn7mZotuVrWYAafbMSXrdEMSToE5JDhr28vArSOoLcSg==, + } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 /@aws-sdk/util-arn-parser@3.535.0: - resolution: {integrity: sha512-smVo29nUPAOprp8Z5Y3GHuhiOtw6c8/EtLCm5AVMtRsTPw4V414ZXL2H66tzmb5kEeSzQlbfBSBEdIFZoxO9kg==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-smVo29nUPAOprp8Z5Y3GHuhiOtw6c8/EtLCm5AVMtRsTPw4V414ZXL2H66tzmb5kEeSzQlbfBSBEdIFZoxO9kg==, + } + engines: { node: '>=14.0.0' } dependencies: tslib: 2.6.2 dev: true /@aws-sdk/util-endpoints@3.540.0: - resolution: {integrity: sha512-1kMyQFAWx6f8alaI6UT65/5YW/7pDWAKAdNwL6vuJLea03KrZRX3PMoONOSJpAS5m3Ot7HlWZvf3wZDNTLELZw==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-1kMyQFAWx6f8alaI6UT65/5YW/7pDWAKAdNwL6vuJLea03KrZRX3PMoONOSJpAS5m3Ot7HlWZvf3wZDNTLELZw==, + } + engines: { node: '>=14.0.0' } dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -3038,14 +3252,20 @@ packages: dev: true /@aws-sdk/util-locate-window@3.535.0: - resolution: {integrity: sha512-PHJ3SL6d2jpcgbqdgiPxkXpu7Drc2PYViwxSIqvvMKhDwzSB1W3mMvtpzwKM4IE7zLFodZo0GKjJ9AsoXndXhA==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-PHJ3SL6d2jpcgbqdgiPxkXpu7Drc2PYViwxSIqvvMKhDwzSB1W3mMvtpzwKM4IE7zLFodZo0GKjJ9AsoXndXhA==, + } + engines: { node: '>=14.0.0' } dependencies: tslib: 2.6.2 dev: true /@aws-sdk/util-user-agent-browser@3.535.0: - resolution: {integrity: sha512-RWMcF/xV5n+nhaA/Ff5P3yNP3Kur/I+VNZngog4TEs92oB/nwOdAg/2JL8bVAhUbMrjTjpwm7PItziYFQoqyig==} + resolution: + { + integrity: sha512-RWMcF/xV5n+nhaA/Ff5P3yNP3Kur/I+VNZngog4TEs92oB/nwOdAg/2JL8bVAhUbMrjTjpwm7PItziYFQoqyig==, + } dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -3054,8 +3274,11 @@ packages: dev: true /@aws-sdk/util-user-agent-node@3.535.0(aws-crt@1.21.2): - resolution: {integrity: sha512-dRek0zUuIT25wOWJlsRm97nTkUlh1NDcLsQZIN2Y8KxhwoXXWtJs5vaDPT+qAg+OpcNj80i1zLR/CirqlFg/TQ==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-dRek0zUuIT25wOWJlsRm97nTkUlh1NDcLsQZIN2Y8KxhwoXXWtJs5vaDPT+qAg+OpcNj80i1zLR/CirqlFg/TQ==, + } + engines: { node: '>=14.0.0' } peerDependencies: aws-crt: '>=1.0.0' peerDependenciesMeta: @@ -3070,35 +3293,50 @@ packages: dev: true /@aws-sdk/util-utf8-browser@3.259.0: - resolution: {integrity: sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==} + resolution: + { + integrity: sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==, + } dependencies: tslib: 2.6.2 dev: true /@aws-sdk/xml-builder@3.535.0: - resolution: {integrity: sha512-VXAq/Jz8KIrU84+HqsOJhIKZqG0PNTdi6n6PFQ4xJf44ZQHD/5C7ouH4qCFX5XgZXcgbRIcMVVYGC6Jye0dRng==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-VXAq/Jz8KIrU84+HqsOJhIKZqG0PNTdi6n6PFQ4xJf44ZQHD/5C7ouH4qCFX5XgZXcgbRIcMVVYGC6Jye0dRng==, + } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@babel/code-frame@7.24.2: - resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==, + } + engines: { node: '>=6.9.0' } dependencies: '@babel/highlight': 7.24.2 picocolors: 1.0.0 dev: true /@babel/compat-data@7.24.4: - resolution: {integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==, + } + engines: { node: '>=6.9.0' } dev: true /@babel/core@7.24.4: - resolution: {integrity: sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==, + } + engines: { node: '>=6.9.0' } dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.24.2 @@ -3120,8 +3358,11 @@ packages: dev: true /@babel/eslint-parser@7.24.1(@babel/core@7.24.4)(eslint@8.57.0): - resolution: {integrity: sha512-d5guuzMlPeDfZIbpQ8+g1NaCNuAGBBGNECh0HVqz1sjOeVLh2CEaifuOysCH18URW6R7pqXINvf5PaR/dC6jLQ==} - engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} + resolution: + { + integrity: sha512-d5guuzMlPeDfZIbpQ8+g1NaCNuAGBBGNECh0HVqz1sjOeVLh2CEaifuOysCH18URW6R7pqXINvf5PaR/dC6jLQ==, + } + engines: { node: ^10.13.0 || ^12.13.0 || >=14.0.0 } peerDependencies: '@babel/core': ^7.11.0 eslint: ^7.5.0 || ^8.0.0 @@ -3134,8 +3375,11 @@ packages: dev: true /@babel/generator@7.24.4: - resolution: {integrity: sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==, + } + engines: { node: '>=6.9.0' } dependencies: '@babel/types': 7.24.0 '@jridgewell/gen-mapping': 0.3.5 @@ -3144,15 +3388,21 @@ packages: dev: true /@babel/helper-annotate-as-pure@7.22.5: - resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==, + } + engines: { node: '>=6.9.0' } dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-compilation-targets@7.23.6: - resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==, + } + engines: { node: '>=6.9.0' } dependencies: '@babel/compat-data': 7.24.4 '@babel/helper-validator-option': 7.23.5 @@ -3162,8 +3412,11 @@ packages: dev: true /@babel/helper-create-class-features-plugin@7.24.4(@babel/core@7.24.4): - resolution: {integrity: sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==, + } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -3180,42 +3433,60 @@ packages: dev: true /@babel/helper-environment-visitor@7.22.20: - resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==, + } + engines: { node: '>=6.9.0' } dev: true /@babel/helper-function-name@7.23.0: - resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==, + } + engines: { node: '>=6.9.0' } dependencies: '@babel/template': 7.24.0 '@babel/types': 7.24.0 dev: true /@babel/helper-hoist-variables@7.22.5: - resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==, + } + engines: { node: '>=6.9.0' } dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-member-expression-to-functions@7.23.0: - resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==, + } + engines: { node: '>=6.9.0' } dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-module-imports@7.24.3: - resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==, + } + engines: { node: '>=6.9.0' } dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.4): - resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==, + } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -3228,20 +3499,29 @@ packages: dev: true /@babel/helper-optimise-call-expression@7.22.5: - resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==, + } + engines: { node: '>=6.9.0' } dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-plugin-utils@7.24.0: - resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==, + } + engines: { node: '>=6.9.0' } dev: true /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==, + } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -3252,44 +3532,65 @@ packages: dev: true /@babel/helper-simple-access@7.22.5: - resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==, + } + engines: { node: '>=6.9.0' } dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-skip-transparent-expression-wrappers@7.22.5: - resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==, + } + engines: { node: '>=6.9.0' } dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-split-export-declaration@7.22.6: - resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==, + } + engines: { node: '>=6.9.0' } dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-string-parser@7.24.1: - resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==, + } + engines: { node: '>=6.9.0' } dev: true /@babel/helper-validator-identifier@7.22.20: - resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==, + } + engines: { node: '>=6.9.0' } dev: true /@babel/helper-validator-option@7.23.5: - resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==, + } + engines: { node: '>=6.9.0' } dev: true /@babel/helpers@7.24.4: - resolution: {integrity: sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==, + } + engines: { node: '>=6.9.0' } dependencies: '@babel/template': 7.24.0 '@babel/traverse': 7.24.1 @@ -3299,8 +3600,11 @@ packages: dev: true /@babel/highlight@7.24.2: - resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==, + } + engines: { node: '>=6.9.0' } dependencies: '@babel/helper-validator-identifier': 7.22.20 chalk: 2.4.2 @@ -3309,17 +3613,25 @@ packages: dev: true /@babel/parser@7.24.4: - resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==} - engines: {node: '>=6.0.0'} + resolution: + { + integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==, + } + engines: { node: '>=6.0.0' } hasBin: true dependencies: '@babel/types': 7.24.0 dev: true /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.24.4): - resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} - engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead. + resolution: + { + integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==, + } + engines: { node: '>=6.9.0' } + deprecated: + This proposal has been merged to the ECMAScript standard and thus this plugin is no longer + maintained. Please use @babel/plugin-transform-class-properties instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3329,9 +3641,14 @@ packages: dev: true /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.24.4): - resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} - engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead. + resolution: + { + integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==, + } + engines: { node: '>=6.9.0' } + deprecated: + This proposal has been merged to the ECMAScript standard and thus this plugin is no longer + maintained. Please use @babel/plugin-transform-object-rest-spread instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3344,7 +3661,10 @@ packages: dev: true /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.4): - resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + resolution: + { + integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==, + } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3353,7 +3673,10 @@ packages: dev: true /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.4): - resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} + resolution: + { + integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==, + } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3362,7 +3685,10 @@ packages: dev: true /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.4): - resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + resolution: + { + integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==, + } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3371,8 +3697,11 @@ packages: dev: true /@babel/plugin-syntax-flow@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-sxi2kLTI5DeW5vDtMUsk4mTPwvlUDbjOnoWayhynCwrw4QXRld4QEYwqzY8JmQXaJUtgUuCIurtSRH5sn4c7mA==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-sxi2kLTI5DeW5vDtMUsk4mTPwvlUDbjOnoWayhynCwrw4QXRld4QEYwqzY8JmQXaJUtgUuCIurtSRH5sn4c7mA==, + } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3381,8 +3710,11 @@ packages: dev: true /@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==, + } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3391,7 +3723,10 @@ packages: dev: true /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.4): - resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + resolution: + { + integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==, + } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3400,7 +3735,10 @@ packages: dev: true /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.4): - resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + resolution: + { + integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==, + } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3409,8 +3747,11 @@ packages: dev: true /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==, + } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3419,7 +3760,10 @@ packages: dev: true /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.4): - resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + resolution: + { + integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==, + } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3428,7 +3772,10 @@ packages: dev: true /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.4): - resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + resolution: + { + integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==, + } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3437,7 +3784,10 @@ packages: dev: true /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.4): - resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + resolution: + { + integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==, + } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3446,7 +3796,10 @@ packages: dev: true /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.4): - resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + resolution: + { + integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==, + } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3455,7 +3808,10 @@ packages: dev: true /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.4): - resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + resolution: + { + integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==, + } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3464,7 +3820,10 @@ packages: dev: true /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.4): - resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + resolution: + { + integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==, + } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3473,8 +3832,11 @@ packages: dev: true /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.4): - resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==, + } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3483,8 +3845,11 @@ packages: dev: true /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==, + } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3493,8 +3858,11 @@ packages: dev: true /@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==, + } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3503,8 +3871,11 @@ packages: dev: true /@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==, + } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3513,8 +3884,11 @@ packages: dev: true /@babel/plugin-transform-block-scoping@7.24.4(@babel/core@7.24.4): - resolution: {integrity: sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g==, + } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3523,8 +3897,11 @@ packages: dev: true /@babel/plugin-transform-classes@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==, + } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3540,8 +3917,11 @@ packages: dev: true /@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==, + } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3551,8 +3931,11 @@ packages: dev: true /@babel/plugin-transform-destructuring@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==, + } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3561,8 +3944,11 @@ packages: dev: true /@babel/plugin-transform-flow-strip-types@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-iIYPIWt3dUmUKKE10s3W+jsQ3icFkw0JyRVyY1B7G4yK/nngAOHLVx8xlhA6b/Jzl/Y0nis8gjqhqKtRDQqHWQ==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-iIYPIWt3dUmUKKE10s3W+jsQ3icFkw0JyRVyY1B7G4yK/nngAOHLVx8xlhA6b/Jzl/Y0nis8gjqhqKtRDQqHWQ==, + } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3572,8 +3958,11 @@ packages: dev: true /@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==, + } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3583,8 +3972,11 @@ packages: dev: true /@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==, + } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3595,8 +3987,11 @@ packages: dev: true /@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==, + } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3605,8 +4000,11 @@ packages: dev: true /@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==, + } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3615,8 +4013,11 @@ packages: dev: true /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==, + } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3627,8 +4028,11 @@ packages: dev: true /@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==, + } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3638,8 +4042,11 @@ packages: dev: true /@babel/plugin-transform-parameters@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==, + } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3648,8 +4055,11 @@ packages: dev: true /@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==, + } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3658,8 +4068,11 @@ packages: dev: true /@babel/plugin-transform-react-display-name@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-mvoQg2f9p2qlpDQRBC7M3c3XTr0k7cp/0+kFKKO/7Gtu0LSw16eKB+Fabe2bDT/UpsyasTBBkAnbdsLrkD5XMw==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-mvoQg2f9p2qlpDQRBC7M3c3XTr0k7cp/0+kFKKO/7Gtu0LSw16eKB+Fabe2bDT/UpsyasTBBkAnbdsLrkD5XMw==, + } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3668,8 +4081,11 @@ packages: dev: true /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.4): - resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==, + } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3682,8 +4098,11 @@ packages: dev: true /@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==, + } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3692,8 +4111,11 @@ packages: dev: true /@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==, + } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3703,8 +4125,11 @@ packages: dev: true /@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==, + } + engines: { node: '>=6.9.0' } peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3713,15 +4138,21 @@ packages: dev: true /@babel/runtime@7.24.4: - resolution: {integrity: sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==, + } + engines: { node: '>=6.9.0' } dependencies: regenerator-runtime: 0.14.1 dev: true /@babel/template@7.24.0: - resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==, + } + engines: { node: '>=6.9.0' } dependencies: '@babel/code-frame': 7.24.2 '@babel/parser': 7.24.4 @@ -3729,8 +4160,11 @@ packages: dev: true /@babel/traverse@7.24.1: - resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==, + } + engines: { node: '>=6.9.0' } dependencies: '@babel/code-frame': 7.24.2 '@babel/generator': 7.24.4 @@ -3747,8 +4181,11 @@ packages: dev: true /@babel/types@7.24.0: - resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==, + } + engines: { node: '>=6.9.0' } dependencies: '@babel/helper-string-parser': 7.24.1 '@babel/helper-validator-identifier': 7.22.20 @@ -3756,43 +4193,64 @@ packages: dev: true /@bcoe/v8-coverage@0.2.3: - resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + resolution: + { + integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==, + } dev: true /@cdklabs/tskb@0.0.3: - resolution: {integrity: sha512-JR+MuD4awAXvutu7HArephXfZm09GPTaSAQUqNcJB5+ZENRm4kV+L6vJL6Tn1xHjCcHksO+HAqj3gYtm5K94vA==} + resolution: + { + integrity: sha512-JR+MuD4awAXvutu7HArephXfZm09GPTaSAQUqNcJB5+ZENRm4kV+L6vJL6Tn1xHjCcHksO+HAqj3gYtm5K94vA==, + } dev: true /@cspotcode/source-map-support@0.8.1: - resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==, + } + engines: { node: '>=12' } dependencies: '@jridgewell/trace-mapping': 0.3.9 dev: true /@dependents/detective-less@4.1.0: - resolution: {integrity: sha512-KrkT6qO5NxqNfy68sBl6CTSoJ4SNDIS5iQArkibhlbGU4LaDukZ3q2HIkh8aUKDio6o4itU4xDR7t82Y2eP1Bg==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-KrkT6qO5NxqNfy68sBl6CTSoJ4SNDIS5iQArkibhlbGU4LaDukZ3q2HIkh8aUKDio6o4itU4xDR7t82Y2eP1Bg==, + } + engines: { node: '>=14' } dependencies: gonzales-pe: 4.3.0 node-source-walk: 6.0.2 dev: true /@envelop/core@3.0.6: - resolution: {integrity: sha512-06t1xCPXq6QFN7W1JUEf68aCwYN0OUDNAIoJe7bAqhaoa2vn7NCcuX1VHkJ/OWpmElUgCsRO6RiBbIru1in0Ig==} + resolution: + { + integrity: sha512-06t1xCPXq6QFN7W1JUEf68aCwYN0OUDNAIoJe7bAqhaoa2vn7NCcuX1VHkJ/OWpmElUgCsRO6RiBbIru1in0Ig==, + } dependencies: '@envelop/types': 3.0.2 tslib: 2.6.2 dev: true /@envelop/types@3.0.2: - resolution: {integrity: sha512-pOFea9ha0EkURWxJ/35axoH9fDGP5S2cUu/5Mmo9pb8zUf+TaEot8vB670XXihFEn/92759BMjLJNWBKmNhyng==} + resolution: + { + integrity: sha512-pOFea9ha0EkURWxJ/35axoH9fDGP5S2cUu/5Mmo9pb8zUf+TaEot8vB670XXihFEn/92759BMjLJNWBKmNhyng==, + } dependencies: tslib: 2.6.2 dev: true /@envelop/validation-cache@5.1.3(@envelop/core@3.0.6)(graphql@16.8.1): - resolution: {integrity: sha512-MkzcScQHJJQ/9YCAPdWShEi3xZv4F4neTs+NszzSrZOdlU8z/THuRt7gZ0sO0y2be+sx+SKjHQP8Gq3VXXcTTg==} + resolution: + { + integrity: sha512-MkzcScQHJJQ/9YCAPdWShEi3xZv4F4neTs+NszzSrZOdlU8z/THuRt7gZ0sO0y2be+sx+SKjHQP8Gq3VXXcTTg==, + } peerDependencies: '@envelop/core': ^3.0.6 graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 @@ -3805,8 +4263,11 @@ packages: dev: true /@esbuild/aix-ppc64@0.19.12: - resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==, + } + engines: { node: '>=12' } cpu: [ppc64] os: [aix] requiresBuild: true @@ -3814,8 +4275,11 @@ packages: optional: true /@esbuild/aix-ppc64@0.20.2: - resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==, + } + engines: { node: '>=12' } cpu: [ppc64] os: [aix] requiresBuild: true @@ -3823,8 +4287,11 @@ packages: optional: true /@esbuild/android-arm64@0.18.13: - resolution: {integrity: sha512-j7NhycJUoUAG5kAzGf4fPWfd17N6SM3o1X6MlXVqfHvs2buFraCJzos9vbeWjLxOyBKHyPOnuCuipbhvbYtTAg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-j7NhycJUoUAG5kAzGf4fPWfd17N6SM3o1X6MlXVqfHvs2buFraCJzos9vbeWjLxOyBKHyPOnuCuipbhvbYtTAg==, + } + engines: { node: '>=12' } cpu: [arm64] os: [android] requiresBuild: true @@ -3832,8 +4299,11 @@ packages: optional: true /@esbuild/android-arm64@0.19.12: - resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==, + } + engines: { node: '>=12' } cpu: [arm64] os: [android] requiresBuild: true @@ -3841,8 +4311,11 @@ packages: optional: true /@esbuild/android-arm64@0.20.2: - resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==, + } + engines: { node: '>=12' } cpu: [arm64] os: [android] requiresBuild: true @@ -3850,8 +4323,11 @@ packages: optional: true /@esbuild/android-arm@0.18.13: - resolution: {integrity: sha512-KwqFhxRFMKZINHzCqf8eKxE0XqWlAVPRxwy6rc7CbVFxzUWB2sA/s3hbMZeemPdhN3fKBkqOaFhTbS8xJXYIWQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-KwqFhxRFMKZINHzCqf8eKxE0XqWlAVPRxwy6rc7CbVFxzUWB2sA/s3hbMZeemPdhN3fKBkqOaFhTbS8xJXYIWQ==, + } + engines: { node: '>=12' } cpu: [arm] os: [android] requiresBuild: true @@ -3859,8 +4335,11 @@ packages: optional: true /@esbuild/android-arm@0.19.12: - resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==, + } + engines: { node: '>=12' } cpu: [arm] os: [android] requiresBuild: true @@ -3868,8 +4347,11 @@ packages: optional: true /@esbuild/android-arm@0.20.2: - resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==, + } + engines: { node: '>=12' } cpu: [arm] os: [android] requiresBuild: true @@ -3877,8 +4359,11 @@ packages: optional: true /@esbuild/android-x64@0.18.13: - resolution: {integrity: sha512-M2eZkRxR6WnWfVELHmv6MUoHbOqnzoTVSIxgtsyhm/NsgmL+uTmag/VVzdXvmahak1I6sOb1K/2movco5ikDJg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-M2eZkRxR6WnWfVELHmv6MUoHbOqnzoTVSIxgtsyhm/NsgmL+uTmag/VVzdXvmahak1I6sOb1K/2movco5ikDJg==, + } + engines: { node: '>=12' } cpu: [x64] os: [android] requiresBuild: true @@ -3886,8 +4371,11 @@ packages: optional: true /@esbuild/android-x64@0.19.12: - resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==, + } + engines: { node: '>=12' } cpu: [x64] os: [android] requiresBuild: true @@ -3895,8 +4383,11 @@ packages: optional: true /@esbuild/android-x64@0.20.2: - resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==, + } + engines: { node: '>=12' } cpu: [x64] os: [android] requiresBuild: true @@ -3904,8 +4395,11 @@ packages: optional: true /@esbuild/darwin-arm64@0.18.13: - resolution: {integrity: sha512-f5goG30YgR1GU+fxtaBRdSW3SBG9pZW834Mmhxa6terzcboz7P2R0k4lDxlkP7NYRIIdBbWp+VgwQbmMH4yV7w==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-f5goG30YgR1GU+fxtaBRdSW3SBG9pZW834Mmhxa6terzcboz7P2R0k4lDxlkP7NYRIIdBbWp+VgwQbmMH4yV7w==, + } + engines: { node: '>=12' } cpu: [arm64] os: [darwin] requiresBuild: true @@ -3913,8 +4407,11 @@ packages: optional: true /@esbuild/darwin-arm64@0.19.12: - resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==, + } + engines: { node: '>=12' } cpu: [arm64] os: [darwin] requiresBuild: true @@ -3922,8 +4419,11 @@ packages: optional: true /@esbuild/darwin-arm64@0.20.2: - resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==, + } + engines: { node: '>=12' } cpu: [arm64] os: [darwin] requiresBuild: true @@ -3931,8 +4431,11 @@ packages: optional: true /@esbuild/darwin-x64@0.18.13: - resolution: {integrity: sha512-RIrxoKH5Eo+yE5BtaAIMZaiKutPhZjw+j0OCh8WdvKEKJQteacq0myZvBDLU+hOzQOZWJeDnuQ2xgSScKf1Ovw==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-RIrxoKH5Eo+yE5BtaAIMZaiKutPhZjw+j0OCh8WdvKEKJQteacq0myZvBDLU+hOzQOZWJeDnuQ2xgSScKf1Ovw==, + } + engines: { node: '>=12' } cpu: [x64] os: [darwin] requiresBuild: true @@ -3940,8 +4443,11 @@ packages: optional: true /@esbuild/darwin-x64@0.19.12: - resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==, + } + engines: { node: '>=12' } cpu: [x64] os: [darwin] requiresBuild: true @@ -3949,8 +4455,11 @@ packages: optional: true /@esbuild/darwin-x64@0.20.2: - resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==, + } + engines: { node: '>=12' } cpu: [x64] os: [darwin] requiresBuild: true @@ -3958,8 +4467,11 @@ packages: optional: true /@esbuild/freebsd-arm64@0.18.13: - resolution: {integrity: sha512-AfRPhHWmj9jGyLgW/2FkYERKmYR+IjYxf2rtSLmhOrPGFh0KCETFzSjx/JX/HJnvIqHt/DRQD/KAaVsUKoI3Xg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-AfRPhHWmj9jGyLgW/2FkYERKmYR+IjYxf2rtSLmhOrPGFh0KCETFzSjx/JX/HJnvIqHt/DRQD/KAaVsUKoI3Xg==, + } + engines: { node: '>=12' } cpu: [arm64] os: [freebsd] requiresBuild: true @@ -3967,8 +4479,11 @@ packages: optional: true /@esbuild/freebsd-arm64@0.19.12: - resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==, + } + engines: { node: '>=12' } cpu: [arm64] os: [freebsd] requiresBuild: true @@ -3976,8 +4491,11 @@ packages: optional: true /@esbuild/freebsd-arm64@0.20.2: - resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==, + } + engines: { node: '>=12' } cpu: [arm64] os: [freebsd] requiresBuild: true @@ -3985,8 +4503,11 @@ packages: optional: true /@esbuild/freebsd-x64@0.18.13: - resolution: {integrity: sha512-pGzWWZJBInhIgdEwzn8VHUBang8UvFKsvjDkeJ2oyY5gZtAM6BaxK0QLCuZY+qoj/nx/lIaItH425rm/hloETA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-pGzWWZJBInhIgdEwzn8VHUBang8UvFKsvjDkeJ2oyY5gZtAM6BaxK0QLCuZY+qoj/nx/lIaItH425rm/hloETA==, + } + engines: { node: '>=12' } cpu: [x64] os: [freebsd] requiresBuild: true @@ -3994,8 +4515,11 @@ packages: optional: true /@esbuild/freebsd-x64@0.19.12: - resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==, + } + engines: { node: '>=12' } cpu: [x64] os: [freebsd] requiresBuild: true @@ -4003,8 +4527,11 @@ packages: optional: true /@esbuild/freebsd-x64@0.20.2: - resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==, + } + engines: { node: '>=12' } cpu: [x64] os: [freebsd] requiresBuild: true @@ -4012,8 +4539,11 @@ packages: optional: true /@esbuild/linux-arm64@0.18.13: - resolution: {integrity: sha512-hCzZbVJEHV7QM77fHPv2qgBcWxgglGFGCxk6KfQx6PsVIdi1u09X7IvgE9QKqm38OpkzaAkPnnPqwRsltvLkIQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-hCzZbVJEHV7QM77fHPv2qgBcWxgglGFGCxk6KfQx6PsVIdi1u09X7IvgE9QKqm38OpkzaAkPnnPqwRsltvLkIQ==, + } + engines: { node: '>=12' } cpu: [arm64] os: [linux] requiresBuild: true @@ -4021,8 +4551,11 @@ packages: optional: true /@esbuild/linux-arm64@0.19.12: - resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==, + } + engines: { node: '>=12' } cpu: [arm64] os: [linux] requiresBuild: true @@ -4030,8 +4563,11 @@ packages: optional: true /@esbuild/linux-arm64@0.20.2: - resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==, + } + engines: { node: '>=12' } cpu: [arm64] os: [linux] requiresBuild: true @@ -4039,8 +4575,11 @@ packages: optional: true /@esbuild/linux-arm@0.18.13: - resolution: {integrity: sha512-4iMxLRMCxGyk7lEvkkvrxw4aJeC93YIIrfbBlUJ062kilUUnAiMb81eEkVvCVoh3ON283ans7+OQkuy1uHW+Hw==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-4iMxLRMCxGyk7lEvkkvrxw4aJeC93YIIrfbBlUJ062kilUUnAiMb81eEkVvCVoh3ON283ans7+OQkuy1uHW+Hw==, + } + engines: { node: '>=12' } cpu: [arm] os: [linux] requiresBuild: true @@ -4048,8 +4587,11 @@ packages: optional: true /@esbuild/linux-arm@0.19.12: - resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==, + } + engines: { node: '>=12' } cpu: [arm] os: [linux] requiresBuild: true @@ -4057,8 +4599,11 @@ packages: optional: true /@esbuild/linux-arm@0.20.2: - resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==, + } + engines: { node: '>=12' } cpu: [arm] os: [linux] requiresBuild: true @@ -4066,8 +4611,11 @@ packages: optional: true /@esbuild/linux-ia32@0.18.13: - resolution: {integrity: sha512-I3OKGbynl3AAIO6onXNrup/ttToE6Rv2XYfFgLK/wnr2J+1g+7k4asLrE+n7VMhaqX+BUnyWkCu27rl+62Adug==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-I3OKGbynl3AAIO6onXNrup/ttToE6Rv2XYfFgLK/wnr2J+1g+7k4asLrE+n7VMhaqX+BUnyWkCu27rl+62Adug==, + } + engines: { node: '>=12' } cpu: [ia32] os: [linux] requiresBuild: true @@ -4075,8 +4623,11 @@ packages: optional: true /@esbuild/linux-ia32@0.19.12: - resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==, + } + engines: { node: '>=12' } cpu: [ia32] os: [linux] requiresBuild: true @@ -4084,8 +4635,11 @@ packages: optional: true /@esbuild/linux-ia32@0.20.2: - resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==, + } + engines: { node: '>=12' } cpu: [ia32] os: [linux] requiresBuild: true @@ -4093,8 +4647,11 @@ packages: optional: true /@esbuild/linux-loong64@0.18.13: - resolution: {integrity: sha512-8pcKDApAsKc6WW51ZEVidSGwGbebYw2qKnO1VyD8xd6JN0RN6EUXfhXmDk9Vc4/U3Y4AoFTexQewQDJGsBXBpg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-8pcKDApAsKc6WW51ZEVidSGwGbebYw2qKnO1VyD8xd6JN0RN6EUXfhXmDk9Vc4/U3Y4AoFTexQewQDJGsBXBpg==, + } + engines: { node: '>=12' } cpu: [loong64] os: [linux] requiresBuild: true @@ -4102,8 +4659,11 @@ packages: optional: true /@esbuild/linux-loong64@0.19.12: - resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==, + } + engines: { node: '>=12' } cpu: [loong64] os: [linux] requiresBuild: true @@ -4111,8 +4671,11 @@ packages: optional: true /@esbuild/linux-loong64@0.20.2: - resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==, + } + engines: { node: '>=12' } cpu: [loong64] os: [linux] requiresBuild: true @@ -4120,8 +4683,11 @@ packages: optional: true /@esbuild/linux-mips64el@0.18.13: - resolution: {integrity: sha512-6GU+J1PLiVqWx8yoCK4Z0GnfKyCGIH5L2KQipxOtbNPBs+qNDcMJr9euxnyJ6FkRPyMwaSkjejzPSISD9hb+gg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-6GU+J1PLiVqWx8yoCK4Z0GnfKyCGIH5L2KQipxOtbNPBs+qNDcMJr9euxnyJ6FkRPyMwaSkjejzPSISD9hb+gg==, + } + engines: { node: '>=12' } cpu: [mips64el] os: [linux] requiresBuild: true @@ -4129,8 +4695,11 @@ packages: optional: true /@esbuild/linux-mips64el@0.19.12: - resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==, + } + engines: { node: '>=12' } cpu: [mips64el] os: [linux] requiresBuild: true @@ -4138,8 +4707,11 @@ packages: optional: true /@esbuild/linux-mips64el@0.20.2: - resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==, + } + engines: { node: '>=12' } cpu: [mips64el] os: [linux] requiresBuild: true @@ -4147,8 +4719,11 @@ packages: optional: true /@esbuild/linux-ppc64@0.18.13: - resolution: {integrity: sha512-pfn/OGZ8tyR8YCV7MlLl5hAit2cmS+j/ZZg9DdH0uxdCoJpV7+5DbuXrR+es4ayRVKIcfS9TTMCs60vqQDmh+w==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-pfn/OGZ8tyR8YCV7MlLl5hAit2cmS+j/ZZg9DdH0uxdCoJpV7+5DbuXrR+es4ayRVKIcfS9TTMCs60vqQDmh+w==, + } + engines: { node: '>=12' } cpu: [ppc64] os: [linux] requiresBuild: true @@ -4156,8 +4731,11 @@ packages: optional: true /@esbuild/linux-ppc64@0.19.12: - resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==, + } + engines: { node: '>=12' } cpu: [ppc64] os: [linux] requiresBuild: true @@ -4165,8 +4743,11 @@ packages: optional: true /@esbuild/linux-ppc64@0.20.2: - resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==, + } + engines: { node: '>=12' } cpu: [ppc64] os: [linux] requiresBuild: true @@ -4174,8 +4755,11 @@ packages: optional: true /@esbuild/linux-riscv64@0.18.13: - resolution: {integrity: sha512-aIbhU3LPg0lOSCfVeGHbmGYIqOtW6+yzO+Nfv57YblEK01oj0mFMtvDJlOaeAZ6z0FZ9D13oahi5aIl9JFphGg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-aIbhU3LPg0lOSCfVeGHbmGYIqOtW6+yzO+Nfv57YblEK01oj0mFMtvDJlOaeAZ6z0FZ9D13oahi5aIl9JFphGg==, + } + engines: { node: '>=12' } cpu: [riscv64] os: [linux] requiresBuild: true @@ -4183,8 +4767,11 @@ packages: optional: true /@esbuild/linux-riscv64@0.19.12: - resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==, + } + engines: { node: '>=12' } cpu: [riscv64] os: [linux] requiresBuild: true @@ -4192,8 +4779,11 @@ packages: optional: true /@esbuild/linux-riscv64@0.20.2: - resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==, + } + engines: { node: '>=12' } cpu: [riscv64] os: [linux] requiresBuild: true @@ -4201,8 +4791,11 @@ packages: optional: true /@esbuild/linux-s390x@0.18.13: - resolution: {integrity: sha512-Pct1QwF2sp+5LVi4Iu5Y+6JsGaV2Z2vm4O9Dd7XZ5tKYxEHjFtb140fiMcl5HM1iuv6xXO8O1Vrb1iJxHlv8UA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-Pct1QwF2sp+5LVi4Iu5Y+6JsGaV2Z2vm4O9Dd7XZ5tKYxEHjFtb140fiMcl5HM1iuv6xXO8O1Vrb1iJxHlv8UA==, + } + engines: { node: '>=12' } cpu: [s390x] os: [linux] requiresBuild: true @@ -4210,8 +4803,11 @@ packages: optional: true /@esbuild/linux-s390x@0.19.12: - resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==, + } + engines: { node: '>=12' } cpu: [s390x] os: [linux] requiresBuild: true @@ -4219,8 +4815,11 @@ packages: optional: true /@esbuild/linux-s390x@0.20.2: - resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==, + } + engines: { node: '>=12' } cpu: [s390x] os: [linux] requiresBuild: true @@ -4228,8 +4827,11 @@ packages: optional: true /@esbuild/linux-x64@0.18.13: - resolution: {integrity: sha512-zTrIP0KzYP7O0+3ZnmzvUKgGtUvf4+piY8PIO3V8/GfmVd3ZyHJGz7Ht0np3P1wz+I8qJ4rjwJKqqEAbIEPngA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-zTrIP0KzYP7O0+3ZnmzvUKgGtUvf4+piY8PIO3V8/GfmVd3ZyHJGz7Ht0np3P1wz+I8qJ4rjwJKqqEAbIEPngA==, + } + engines: { node: '>=12' } cpu: [x64] os: [linux] requiresBuild: true @@ -4237,8 +4839,11 @@ packages: optional: true /@esbuild/linux-x64@0.19.12: - resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==, + } + engines: { node: '>=12' } cpu: [x64] os: [linux] requiresBuild: true @@ -4246,8 +4851,11 @@ packages: optional: true /@esbuild/linux-x64@0.20.2: - resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==, + } + engines: { node: '>=12' } cpu: [x64] os: [linux] requiresBuild: true @@ -4255,8 +4863,11 @@ packages: optional: true /@esbuild/netbsd-x64@0.18.13: - resolution: {integrity: sha512-I6zs10TZeaHDYoGxENuksxE1sxqZpCp+agYeW039yqFwh3MgVvdmXL5NMveImOC6AtpLvE4xG5ujVic4NWFIDQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-I6zs10TZeaHDYoGxENuksxE1sxqZpCp+agYeW039yqFwh3MgVvdmXL5NMveImOC6AtpLvE4xG5ujVic4NWFIDQ==, + } + engines: { node: '>=12' } cpu: [x64] os: [netbsd] requiresBuild: true @@ -4264,8 +4875,11 @@ packages: optional: true /@esbuild/netbsd-x64@0.19.12: - resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==, + } + engines: { node: '>=12' } cpu: [x64] os: [netbsd] requiresBuild: true @@ -4273,8 +4887,11 @@ packages: optional: true /@esbuild/netbsd-x64@0.20.2: - resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==, + } + engines: { node: '>=12' } cpu: [x64] os: [netbsd] requiresBuild: true @@ -4282,8 +4899,11 @@ packages: optional: true /@esbuild/openbsd-x64@0.18.13: - resolution: {integrity: sha512-W5C5nczhrt1y1xPG5bV+0M12p2vetOGlvs43LH8SopQ3z2AseIROu09VgRqydx5qFN7y9qCbpgHLx0kb0TcW7g==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-W5C5nczhrt1y1xPG5bV+0M12p2vetOGlvs43LH8SopQ3z2AseIROu09VgRqydx5qFN7y9qCbpgHLx0kb0TcW7g==, + } + engines: { node: '>=12' } cpu: [x64] os: [openbsd] requiresBuild: true @@ -4291,8 +4911,11 @@ packages: optional: true /@esbuild/openbsd-x64@0.19.12: - resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==, + } + engines: { node: '>=12' } cpu: [x64] os: [openbsd] requiresBuild: true @@ -4300,8 +4923,11 @@ packages: optional: true /@esbuild/openbsd-x64@0.20.2: - resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==, + } + engines: { node: '>=12' } cpu: [x64] os: [openbsd] requiresBuild: true @@ -4309,8 +4935,11 @@ packages: optional: true /@esbuild/sunos-x64@0.18.13: - resolution: {integrity: sha512-X/xzuw4Hzpo/yq3YsfBbIsipNgmsm8mE/QeWbdGdTTeZ77fjxI2K0KP3AlhZ6gU3zKTw1bKoZTuKLnqcJ537qw==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-X/xzuw4Hzpo/yq3YsfBbIsipNgmsm8mE/QeWbdGdTTeZ77fjxI2K0KP3AlhZ6gU3zKTw1bKoZTuKLnqcJ537qw==, + } + engines: { node: '>=12' } cpu: [x64] os: [sunos] requiresBuild: true @@ -4318,8 +4947,11 @@ packages: optional: true /@esbuild/sunos-x64@0.19.12: - resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==, + } + engines: { node: '>=12' } cpu: [x64] os: [sunos] requiresBuild: true @@ -4327,8 +4959,11 @@ packages: optional: true /@esbuild/sunos-x64@0.20.2: - resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==, + } + engines: { node: '>=12' } cpu: [x64] os: [sunos] requiresBuild: true @@ -4336,8 +4971,11 @@ packages: optional: true /@esbuild/win32-arm64@0.18.13: - resolution: {integrity: sha512-4CGYdRQT/ILd+yLLE5i4VApMPfGE0RPc/wFQhlluDQCK09+b4JDbxzzjpgQqTPrdnP7r5KUtGVGZYclYiPuHrw==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-4CGYdRQT/ILd+yLLE5i4VApMPfGE0RPc/wFQhlluDQCK09+b4JDbxzzjpgQqTPrdnP7r5KUtGVGZYclYiPuHrw==, + } + engines: { node: '>=12' } cpu: [arm64] os: [win32] requiresBuild: true @@ -4345,8 +4983,11 @@ packages: optional: true /@esbuild/win32-arm64@0.19.12: - resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==, + } + engines: { node: '>=12' } cpu: [arm64] os: [win32] requiresBuild: true @@ -4354,8 +4995,11 @@ packages: optional: true /@esbuild/win32-arm64@0.20.2: - resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==, + } + engines: { node: '>=12' } cpu: [arm64] os: [win32] requiresBuild: true @@ -4363,8 +5007,11 @@ packages: optional: true /@esbuild/win32-ia32@0.18.13: - resolution: {integrity: sha512-D+wKZaRhQI+MUGMH+DbEr4owC2D7XnF+uyGiZk38QbgzLcofFqIOwFs7ELmIeU45CQgfHNy9Q+LKW3cE8g37Kg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-D+wKZaRhQI+MUGMH+DbEr4owC2D7XnF+uyGiZk38QbgzLcofFqIOwFs7ELmIeU45CQgfHNy9Q+LKW3cE8g37Kg==, + } + engines: { node: '>=12' } cpu: [ia32] os: [win32] requiresBuild: true @@ -4372,8 +5019,11 @@ packages: optional: true /@esbuild/win32-ia32@0.19.12: - resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==, + } + engines: { node: '>=12' } cpu: [ia32] os: [win32] requiresBuild: true @@ -4381,8 +5031,11 @@ packages: optional: true /@esbuild/win32-ia32@0.20.2: - resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==, + } + engines: { node: '>=12' } cpu: [ia32] os: [win32] requiresBuild: true @@ -4390,8 +5043,11 @@ packages: optional: true /@esbuild/win32-x64@0.18.13: - resolution: {integrity: sha512-iVl6lehAfJS+VmpF3exKpNQ8b0eucf5VWfzR8S7xFve64NBNz2jPUgx1X93/kfnkfgP737O+i1k54SVQS7uVZA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-iVl6lehAfJS+VmpF3exKpNQ8b0eucf5VWfzR8S7xFve64NBNz2jPUgx1X93/kfnkfgP737O+i1k54SVQS7uVZA==, + } + engines: { node: '>=12' } cpu: [x64] os: [win32] requiresBuild: true @@ -4399,8 +5055,11 @@ packages: optional: true /@esbuild/win32-x64@0.19.12: - resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==, + } + engines: { node: '>=12' } cpu: [x64] os: [win32] requiresBuild: true @@ -4408,8 +5067,11 @@ packages: optional: true /@esbuild/win32-x64@0.20.2: - resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==, + } + engines: { node: '>=12' } cpu: [x64] os: [win32] requiresBuild: true @@ -4417,8 +5079,11 @@ packages: optional: true /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): - resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { + integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: @@ -4427,13 +5092,19 @@ packages: dev: true /@eslint-community/regexpp@4.10.0: - resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + resolution: + { + integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==, + } + engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } dev: true /@eslint/eslintrc@2.1.4: - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { + integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dependencies: ajv: 6.12.6 debug: 4.3.4(supports-color@8.1.1) @@ -4449,19 +5120,28 @@ packages: dev: true /@eslint/js@8.57.0: - resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { + integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dev: true /@ethereumjs/rlp@4.0.1: - resolution: {integrity: sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==, + } + engines: { node: '>=14' } hasBin: true dev: true /@ethereumjs/util@8.1.0: - resolution: {integrity: sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==, + } + engines: { node: '>=14' } dependencies: '@ethereumjs/rlp': 4.0.1 ethereum-cryptography: 2.1.3 @@ -4469,7 +5149,10 @@ packages: dev: true /@ethersproject/abi@5.6.0: - resolution: {integrity: sha512-AhVByTwdXCc2YQ20v300w6KVHle9g2OFc28ZAFCPnJyEpkv1xKXjZcSTgWOlv1i+0dqlgF8RCF2Rn2KC1t+1Vg==} + resolution: + { + integrity: sha512-AhVByTwdXCc2YQ20v300w6KVHle9g2OFc28ZAFCPnJyEpkv1xKXjZcSTgWOlv1i+0dqlgF8RCF2Rn2KC1t+1Vg==, + } dependencies: '@ethersproject/address': 5.6.0 '@ethersproject/bignumber': 5.6.0 @@ -4483,7 +5166,10 @@ packages: dev: false /@ethersproject/abi@5.7.0: - resolution: {integrity: sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==} + resolution: + { + integrity: sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==, + } dependencies: '@ethersproject/address': 5.7.0 '@ethersproject/bignumber': 5.7.0 @@ -4496,7 +5182,10 @@ packages: '@ethersproject/strings': 5.7.0 /@ethersproject/abstract-provider@5.6.0: - resolution: {integrity: sha512-oPMFlKLN+g+y7a79cLK3WiLcjWFnZQtXWgnLAbHZcN3s7L4v90UHpTOrLk+m3yr0gt+/h9STTM6zrr7PM8uoRw==} + resolution: + { + integrity: sha512-oPMFlKLN+g+y7a79cLK3WiLcjWFnZQtXWgnLAbHZcN3s7L4v90UHpTOrLk+m3yr0gt+/h9STTM6zrr7PM8uoRw==, + } dependencies: '@ethersproject/bignumber': 5.6.0 '@ethersproject/bytes': 5.6.1 @@ -4508,7 +5197,10 @@ packages: dev: false /@ethersproject/abstract-provider@5.7.0: - resolution: {integrity: sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==} + resolution: + { + integrity: sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==, + } dependencies: '@ethersproject/bignumber': 5.7.0 '@ethersproject/bytes': 5.7.0 @@ -4519,7 +5211,10 @@ packages: '@ethersproject/web': 5.7.1 /@ethersproject/abstract-signer@5.6.0: - resolution: {integrity: sha512-WOqnG0NJKtI8n0wWZPReHtaLkDByPL67tn4nBaDAhmVq8sjHTPbCdz4DRhVu/cfTOvfy9w3iq5QZ7BX7zw56BQ==} + resolution: + { + integrity: sha512-WOqnG0NJKtI8n0wWZPReHtaLkDByPL67tn4nBaDAhmVq8sjHTPbCdz4DRhVu/cfTOvfy9w3iq5QZ7BX7zw56BQ==, + } dependencies: '@ethersproject/abstract-provider': 5.6.0 '@ethersproject/bignumber': 5.6.0 @@ -4529,7 +5224,10 @@ packages: dev: false /@ethersproject/abstract-signer@5.7.0: - resolution: {integrity: sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==} + resolution: + { + integrity: sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==, + } dependencies: '@ethersproject/abstract-provider': 5.7.0 '@ethersproject/bignumber': 5.7.0 @@ -4538,7 +5236,10 @@ packages: '@ethersproject/properties': 5.7.0 /@ethersproject/address@5.6.0: - resolution: {integrity: sha512-6nvhYXjbXsHPS+30sHZ+U4VMagFC/9zAk6Gd/h3S21YW4+yfb0WfRtaAIZ4kfM4rrVwqiy284LP0GtL5HXGLxQ==} + resolution: + { + integrity: sha512-6nvhYXjbXsHPS+30sHZ+U4VMagFC/9zAk6Gd/h3S21YW4+yfb0WfRtaAIZ4kfM4rrVwqiy284LP0GtL5HXGLxQ==, + } dependencies: '@ethersproject/bignumber': 5.6.0 '@ethersproject/bytes': 5.6.1 @@ -4548,7 +5249,10 @@ packages: dev: false /@ethersproject/address@5.7.0: - resolution: {integrity: sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==} + resolution: + { + integrity: sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==, + } dependencies: '@ethersproject/bignumber': 5.7.0 '@ethersproject/bytes': 5.7.0 @@ -4557,31 +5261,46 @@ packages: '@ethersproject/rlp': 5.7.0 /@ethersproject/base64@5.6.0: - resolution: {integrity: sha512-2Neq8wxJ9xHxCF9TUgmKeSh9BXJ6OAxWfeGWvbauPh8FuHEjamgHilllx8KkSd5ErxyHIX7Xv3Fkcud2kY9ezw==} + resolution: + { + integrity: sha512-2Neq8wxJ9xHxCF9TUgmKeSh9BXJ6OAxWfeGWvbauPh8FuHEjamgHilllx8KkSd5ErxyHIX7Xv3Fkcud2kY9ezw==, + } dependencies: '@ethersproject/bytes': 5.6.1 dev: false /@ethersproject/base64@5.7.0: - resolution: {integrity: sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==} + resolution: + { + integrity: sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==, + } dependencies: '@ethersproject/bytes': 5.7.0 /@ethersproject/basex@5.6.0: - resolution: {integrity: sha512-qN4T+hQd/Md32MoJpc69rOwLYRUXwjTlhHDIeUkUmiN/JyWkkLLMoG0TqvSQKNqZOMgN5stbUYN6ILC+eD7MEQ==} + resolution: + { + integrity: sha512-qN4T+hQd/Md32MoJpc69rOwLYRUXwjTlhHDIeUkUmiN/JyWkkLLMoG0TqvSQKNqZOMgN5stbUYN6ILC+eD7MEQ==, + } dependencies: '@ethersproject/bytes': 5.6.1 '@ethersproject/properties': 5.6.0 dev: false /@ethersproject/basex@5.7.0: - resolution: {integrity: sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==} + resolution: + { + integrity: sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==, + } dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/properties': 5.7.0 /@ethersproject/bignumber@5.6.0: - resolution: {integrity: sha512-VziMaXIUHQlHJmkv1dlcd6GY2PmT0khtAqaMctCIDogxkrarMzA9L94KN1NeXqqOfFD6r0sJT3vCTOFSmZ07DA==} + resolution: + { + integrity: sha512-VziMaXIUHQlHJmkv1dlcd6GY2PmT0khtAqaMctCIDogxkrarMzA9L94KN1NeXqqOfFD6r0sJT3vCTOFSmZ07DA==, + } dependencies: '@ethersproject/bytes': 5.6.1 '@ethersproject/logger': 5.6.0 @@ -4589,36 +5308,54 @@ packages: dev: false /@ethersproject/bignumber@5.7.0: - resolution: {integrity: sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==} + resolution: + { + integrity: sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==, + } dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/logger': 5.7.0 bn.js: 5.2.1 /@ethersproject/bytes@5.6.1: - resolution: {integrity: sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g==} + resolution: + { + integrity: sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g==, + } dependencies: '@ethersproject/logger': 5.6.0 dev: false /@ethersproject/bytes@5.7.0: - resolution: {integrity: sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==} + resolution: + { + integrity: sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==, + } dependencies: '@ethersproject/logger': 5.7.0 /@ethersproject/constants@5.6.0: - resolution: {integrity: sha512-SrdaJx2bK0WQl23nSpV/b1aq293Lh0sUaZT/yYKPDKn4tlAbkH96SPJwIhwSwTsoQQZxuh1jnqsKwyymoiBdWA==} + resolution: + { + integrity: sha512-SrdaJx2bK0WQl23nSpV/b1aq293Lh0sUaZT/yYKPDKn4tlAbkH96SPJwIhwSwTsoQQZxuh1jnqsKwyymoiBdWA==, + } dependencies: '@ethersproject/bignumber': 5.6.0 dev: false /@ethersproject/constants@5.7.0: - resolution: {integrity: sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==} + resolution: + { + integrity: sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==, + } dependencies: '@ethersproject/bignumber': 5.7.0 /@ethersproject/contracts@5.6.0: - resolution: {integrity: sha512-74Ge7iqTDom0NX+mux8KbRUeJgu1eHZ3iv6utv++sLJG80FVuU9HnHeKVPfjd9s3woFhaFoQGf3B3iH/FrQmgw==} + resolution: + { + integrity: sha512-74Ge7iqTDom0NX+mux8KbRUeJgu1eHZ3iv6utv++sLJG80FVuU9HnHeKVPfjd9s3woFhaFoQGf3B3iH/FrQmgw==, + } dependencies: '@ethersproject/abi': 5.6.0 '@ethersproject/abstract-provider': 5.6.0 @@ -4633,7 +5370,10 @@ packages: dev: false /@ethersproject/contracts@5.7.0: - resolution: {integrity: sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==} + resolution: + { + integrity: sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==, + } dependencies: '@ethersproject/abi': 5.7.0 '@ethersproject/abstract-provider': 5.7.0 @@ -4647,7 +5387,10 @@ packages: '@ethersproject/transactions': 5.7.0 /@ethersproject/hash@5.6.0: - resolution: {integrity: sha512-fFd+k9gtczqlr0/BruWLAu7UAOas1uRRJvOR84uDf4lNZ+bTkGl366qvniUZHKtlqxBRU65MkOobkmvmpHU+jA==} + resolution: + { + integrity: sha512-fFd+k9gtczqlr0/BruWLAu7UAOas1uRRJvOR84uDf4lNZ+bTkGl366qvniUZHKtlqxBRU65MkOobkmvmpHU+jA==, + } dependencies: '@ethersproject/abstract-signer': 5.6.0 '@ethersproject/address': 5.6.0 @@ -4660,7 +5403,10 @@ packages: dev: false /@ethersproject/hash@5.7.0: - resolution: {integrity: sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==} + resolution: + { + integrity: sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==, + } dependencies: '@ethersproject/abstract-signer': 5.7.0 '@ethersproject/address': 5.7.0 @@ -4673,7 +5419,10 @@ packages: '@ethersproject/strings': 5.7.0 /@ethersproject/hdnode@5.6.0: - resolution: {integrity: sha512-61g3Jp3nwDqJcL/p4nugSyLrpl/+ChXIOtCEM8UDmWeB3JCAt5FoLdOMXQc3WWkc0oM2C0aAn6GFqqMcS/mHTw==} + resolution: + { + integrity: sha512-61g3Jp3nwDqJcL/p4nugSyLrpl/+ChXIOtCEM8UDmWeB3JCAt5FoLdOMXQc3WWkc0oM2C0aAn6GFqqMcS/mHTw==, + } dependencies: '@ethersproject/abstract-signer': 5.6.0 '@ethersproject/basex': 5.6.0 @@ -4690,7 +5439,10 @@ packages: dev: false /@ethersproject/hdnode@5.7.0: - resolution: {integrity: sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==} + resolution: + { + integrity: sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==, + } dependencies: '@ethersproject/abstract-signer': 5.7.0 '@ethersproject/basex': 5.7.0 @@ -4706,7 +5458,10 @@ packages: '@ethersproject/wordlists': 5.7.0 /@ethersproject/json-wallets@5.6.0: - resolution: {integrity: sha512-fmh86jViB9r0ibWXTQipxpAGMiuxoqUf78oqJDlCAJXgnJF024hOOX7qVgqsjtbeoxmcLwpPsXNU0WEe/16qPQ==} + resolution: + { + integrity: sha512-fmh86jViB9r0ibWXTQipxpAGMiuxoqUf78oqJDlCAJXgnJF024hOOX7qVgqsjtbeoxmcLwpPsXNU0WEe/16qPQ==, + } dependencies: '@ethersproject/abstract-signer': 5.6.0 '@ethersproject/address': 5.6.0 @@ -4724,7 +5479,10 @@ packages: dev: false /@ethersproject/json-wallets@5.7.0: - resolution: {integrity: sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==} + resolution: + { + integrity: sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==, + } dependencies: '@ethersproject/abstract-signer': 5.7.0 '@ethersproject/address': 5.7.0 @@ -4741,62 +5499,95 @@ packages: scrypt-js: 3.0.1 /@ethersproject/keccak256@5.6.0: - resolution: {integrity: sha512-tk56BJ96mdj/ksi7HWZVWGjCq0WVl/QvfhFQNeL8fxhBlGoP+L80uDCiQcpJPd+2XxkivS3lwRm3E0CXTfol0w==} + resolution: + { + integrity: sha512-tk56BJ96mdj/ksi7HWZVWGjCq0WVl/QvfhFQNeL8fxhBlGoP+L80uDCiQcpJPd+2XxkivS3lwRm3E0CXTfol0w==, + } dependencies: '@ethersproject/bytes': 5.6.1 js-sha3: 0.8.0 dev: false /@ethersproject/keccak256@5.7.0: - resolution: {integrity: sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==} + resolution: + { + integrity: sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==, + } dependencies: '@ethersproject/bytes': 5.7.0 js-sha3: 0.8.0 /@ethersproject/logger@5.6.0: - resolution: {integrity: sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg==} + resolution: + { + integrity: sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg==, + } dev: false /@ethersproject/logger@5.7.0: - resolution: {integrity: sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==} + resolution: + { + integrity: sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==, + } /@ethersproject/networks@5.6.1: - resolution: {integrity: sha512-b2rrupf3kCTcc3jr9xOWBuHylSFtbpJf79Ga7QR98ienU2UqGimPGEsYMgbI29KHJfA5Us89XwGVmxrlxmSrMg==} + resolution: + { + integrity: sha512-b2rrupf3kCTcc3jr9xOWBuHylSFtbpJf79Ga7QR98ienU2UqGimPGEsYMgbI29KHJfA5Us89XwGVmxrlxmSrMg==, + } dependencies: '@ethersproject/logger': 5.6.0 dev: false /@ethersproject/networks@5.7.1: - resolution: {integrity: sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==} + resolution: + { + integrity: sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==, + } dependencies: '@ethersproject/logger': 5.7.0 /@ethersproject/pbkdf2@5.6.0: - resolution: {integrity: sha512-Wu1AxTgJo3T3H6MIu/eejLFok9TYoSdgwRr5oGY1LTLfmGesDoSx05pemsbrPT2gG4cQME+baTSCp5sEo2erZQ==} + resolution: + { + integrity: sha512-Wu1AxTgJo3T3H6MIu/eejLFok9TYoSdgwRr5oGY1LTLfmGesDoSx05pemsbrPT2gG4cQME+baTSCp5sEo2erZQ==, + } dependencies: '@ethersproject/bytes': 5.6.1 '@ethersproject/sha2': 5.6.0 dev: false /@ethersproject/pbkdf2@5.7.0: - resolution: {integrity: sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==} + resolution: + { + integrity: sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==, + } dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/sha2': 5.7.0 /@ethersproject/properties@5.6.0: - resolution: {integrity: sha512-szoOkHskajKePTJSZ46uHUWWkbv7TzP2ypdEK6jGMqJaEt2sb0jCgfBo0gH0m2HBpRixMuJ6TBRaQCF7a9DoCg==} + resolution: + { + integrity: sha512-szoOkHskajKePTJSZ46uHUWWkbv7TzP2ypdEK6jGMqJaEt2sb0jCgfBo0gH0m2HBpRixMuJ6TBRaQCF7a9DoCg==, + } dependencies: '@ethersproject/logger': 5.6.0 dev: false /@ethersproject/properties@5.7.0: - resolution: {integrity: sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==} + resolution: + { + integrity: sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==, + } dependencies: '@ethersproject/logger': 5.7.0 /@ethersproject/providers@5.6.2: - resolution: {integrity: sha512-6/EaFW/hNWz+224FXwl8+HdMRzVHt8DpPmu5MZaIQqx/K/ELnC9eY236SMV7mleCM3NnEArFwcAAxH5kUUgaRg==} + resolution: + { + integrity: sha512-6/EaFW/hNWz+224FXwl8+HdMRzVHt8DpPmu5MZaIQqx/K/ELnC9eY236SMV7mleCM3NnEArFwcAAxH5kUUgaRg==, + } dependencies: '@ethersproject/abstract-provider': 5.6.0 '@ethersproject/abstract-signer': 5.6.0 @@ -4823,7 +5614,10 @@ packages: dev: false /@ethersproject/providers@5.7.2: - resolution: {integrity: sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==} + resolution: + { + integrity: sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==, + } dependencies: '@ethersproject/abstract-provider': 5.7.0 '@ethersproject/abstract-signer': 5.7.0 @@ -4850,33 +5644,48 @@ packages: - utf-8-validate /@ethersproject/random@5.6.0: - resolution: {integrity: sha512-si0PLcLjq+NG/XHSZz90asNf+YfKEqJGVdxoEkSukzbnBgC8rydbgbUgBbBGLeHN4kAJwUFEKsu3sCXT93YMsw==} + resolution: + { + integrity: sha512-si0PLcLjq+NG/XHSZz90asNf+YfKEqJGVdxoEkSukzbnBgC8rydbgbUgBbBGLeHN4kAJwUFEKsu3sCXT93YMsw==, + } dependencies: '@ethersproject/bytes': 5.6.1 '@ethersproject/logger': 5.6.0 dev: false /@ethersproject/random@5.7.0: - resolution: {integrity: sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==} + resolution: + { + integrity: sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==, + } dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/logger': 5.7.0 /@ethersproject/rlp@5.6.0: - resolution: {integrity: sha512-dz9WR1xpcTL+9DtOT/aDO+YyxSSdO8YIS0jyZwHHSlAmnxA6cKU3TrTd4Xc/bHayctxTgGLYNuVVoiXE4tTq1g==} + resolution: + { + integrity: sha512-dz9WR1xpcTL+9DtOT/aDO+YyxSSdO8YIS0jyZwHHSlAmnxA6cKU3TrTd4Xc/bHayctxTgGLYNuVVoiXE4tTq1g==, + } dependencies: '@ethersproject/bytes': 5.6.1 '@ethersproject/logger': 5.6.0 dev: false /@ethersproject/rlp@5.7.0: - resolution: {integrity: sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==} + resolution: + { + integrity: sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==, + } dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/logger': 5.7.0 /@ethersproject/sha2@5.6.0: - resolution: {integrity: sha512-1tNWCPFLu1n3JM9t4/kytz35DkuF9MxqkGGEHNauEbaARdm2fafnOyw1s0tIQDPKF/7bkP1u3dbrmjpn5CelyA==} + resolution: + { + integrity: sha512-1tNWCPFLu1n3JM9t4/kytz35DkuF9MxqkGGEHNauEbaARdm2fafnOyw1s0tIQDPKF/7bkP1u3dbrmjpn5CelyA==, + } dependencies: '@ethersproject/bytes': 5.6.1 '@ethersproject/logger': 5.6.0 @@ -4884,14 +5693,20 @@ packages: dev: false /@ethersproject/sha2@5.7.0: - resolution: {integrity: sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==} + resolution: + { + integrity: sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==, + } dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/logger': 5.7.0 hash.js: 1.1.7 /@ethersproject/signing-key@5.6.0: - resolution: {integrity: sha512-S+njkhowmLeUu/r7ir8n78OUKx63kBdMCPssePS89So1TH4hZqnWFsThEd/GiXYp9qMxVrydf7KdM9MTGPFukA==} + resolution: + { + integrity: sha512-S+njkhowmLeUu/r7ir8n78OUKx63kBdMCPssePS89So1TH4hZqnWFsThEd/GiXYp9qMxVrydf7KdM9MTGPFukA==, + } dependencies: '@ethersproject/bytes': 5.6.1 '@ethersproject/logger': 5.6.0 @@ -4902,7 +5717,10 @@ packages: dev: false /@ethersproject/signing-key@5.7.0: - resolution: {integrity: sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==} + resolution: + { + integrity: sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==, + } dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/logger': 5.7.0 @@ -4912,7 +5730,10 @@ packages: hash.js: 1.1.7 /@ethersproject/solidity@5.6.0: - resolution: {integrity: sha512-YwF52vTNd50kjDzqKaoNNbC/r9kMDPq3YzDWmsjFTRBcIF1y4JCQJ8gB30wsTfHbaxgxelI5BfxQSxD/PbJOww==} + resolution: + { + integrity: sha512-YwF52vTNd50kjDzqKaoNNbC/r9kMDPq3YzDWmsjFTRBcIF1y4JCQJ8gB30wsTfHbaxgxelI5BfxQSxD/PbJOww==, + } dependencies: '@ethersproject/bignumber': 5.6.0 '@ethersproject/bytes': 5.6.1 @@ -4923,7 +5744,10 @@ packages: dev: false /@ethersproject/solidity@5.7.0: - resolution: {integrity: sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==} + resolution: + { + integrity: sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==, + } dependencies: '@ethersproject/bignumber': 5.7.0 '@ethersproject/bytes': 5.7.0 @@ -4933,7 +5757,10 @@ packages: '@ethersproject/strings': 5.7.0 /@ethersproject/strings@5.6.0: - resolution: {integrity: sha512-uv10vTtLTZqrJuqBZR862ZQjTIa724wGPWQqZrofaPI/kUsf53TBG0I0D+hQ1qyNtllbNzaW+PDPHHUI6/65Mg==} + resolution: + { + integrity: sha512-uv10vTtLTZqrJuqBZR862ZQjTIa724wGPWQqZrofaPI/kUsf53TBG0I0D+hQ1qyNtllbNzaW+PDPHHUI6/65Mg==, + } dependencies: '@ethersproject/bytes': 5.6.1 '@ethersproject/constants': 5.6.0 @@ -4941,14 +5768,20 @@ packages: dev: false /@ethersproject/strings@5.7.0: - resolution: {integrity: sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==} + resolution: + { + integrity: sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==, + } dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/constants': 5.7.0 '@ethersproject/logger': 5.7.0 /@ethersproject/transactions@5.6.0: - resolution: {integrity: sha512-4HX+VOhNjXHZyGzER6E/LVI2i6lf9ejYeWD6l4g50AdmimyuStKc39kvKf1bXWQMg7QNVh+uC7dYwtaZ02IXeg==} + resolution: + { + integrity: sha512-4HX+VOhNjXHZyGzER6E/LVI2i6lf9ejYeWD6l4g50AdmimyuStKc39kvKf1bXWQMg7QNVh+uC7dYwtaZ02IXeg==, + } dependencies: '@ethersproject/address': 5.6.0 '@ethersproject/bignumber': 5.6.0 @@ -4962,7 +5795,10 @@ packages: dev: false /@ethersproject/transactions@5.7.0: - resolution: {integrity: sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==} + resolution: + { + integrity: sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==, + } dependencies: '@ethersproject/address': 5.7.0 '@ethersproject/bignumber': 5.7.0 @@ -4975,7 +5811,10 @@ packages: '@ethersproject/signing-key': 5.7.0 /@ethersproject/units@5.6.0: - resolution: {integrity: sha512-tig9x0Qmh8qbo1w8/6tmtyrm/QQRviBh389EQ+d8fP4wDsBrJBf08oZfoiz1/uenKK9M78yAP4PoR7SsVoTjsw==} + resolution: + { + integrity: sha512-tig9x0Qmh8qbo1w8/6tmtyrm/QQRviBh389EQ+d8fP4wDsBrJBf08oZfoiz1/uenKK9M78yAP4PoR7SsVoTjsw==, + } dependencies: '@ethersproject/bignumber': 5.6.0 '@ethersproject/constants': 5.6.0 @@ -4983,14 +5822,20 @@ packages: dev: false /@ethersproject/units@5.7.0: - resolution: {integrity: sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==} + resolution: + { + integrity: sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==, + } dependencies: '@ethersproject/bignumber': 5.7.0 '@ethersproject/constants': 5.7.0 '@ethersproject/logger': 5.7.0 /@ethersproject/wallet@5.6.0: - resolution: {integrity: sha512-qMlSdOSTyp0MBeE+r7SUhr1jjDlC1zAXB8VD84hCnpijPQiSNbxr6GdiLXxpUs8UKzkDiNYYC5DRI3MZr+n+tg==} + resolution: + { + integrity: sha512-qMlSdOSTyp0MBeE+r7SUhr1jjDlC1zAXB8VD84hCnpijPQiSNbxr6GdiLXxpUs8UKzkDiNYYC5DRI3MZr+n+tg==, + } dependencies: '@ethersproject/abstract-provider': 5.6.0 '@ethersproject/abstract-signer': 5.6.0 @@ -5010,7 +5855,10 @@ packages: dev: false /@ethersproject/wallet@5.7.0: - resolution: {integrity: sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==} + resolution: + { + integrity: sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==, + } dependencies: '@ethersproject/abstract-provider': 5.7.0 '@ethersproject/abstract-signer': 5.7.0 @@ -5029,7 +5877,10 @@ packages: '@ethersproject/wordlists': 5.7.0 /@ethersproject/web@5.6.0: - resolution: {integrity: sha512-G/XHj0hV1FxI2teHRfCGvfBUHFmU+YOSbCxlAMqJklxSa7QMiHFQfAxvwY2PFqgvdkxEKwRNr/eCjfAPEm2Ctg==} + resolution: + { + integrity: sha512-G/XHj0hV1FxI2teHRfCGvfBUHFmU+YOSbCxlAMqJklxSa7QMiHFQfAxvwY2PFqgvdkxEKwRNr/eCjfAPEm2Ctg==, + } dependencies: '@ethersproject/base64': 5.6.0 '@ethersproject/bytes': 5.6.1 @@ -5039,7 +5890,10 @@ packages: dev: false /@ethersproject/web@5.7.1: - resolution: {integrity: sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==} + resolution: + { + integrity: sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==, + } dependencies: '@ethersproject/base64': 5.7.0 '@ethersproject/bytes': 5.7.0 @@ -5048,7 +5902,10 @@ packages: '@ethersproject/strings': 5.7.0 /@ethersproject/wordlists@5.6.0: - resolution: {integrity: sha512-q0bxNBfIX3fUuAo9OmjlEYxP40IB8ABgb7HjEZCL5IKubzV3j30CWi2rqQbjTS2HfoyQbfINoKcTVWP4ejwR7Q==} + resolution: + { + integrity: sha512-q0bxNBfIX3fUuAo9OmjlEYxP40IB8ABgb7HjEZCL5IKubzV3j30CWi2rqQbjTS2HfoyQbfINoKcTVWP4ejwR7Q==, + } dependencies: '@ethersproject/bytes': 5.6.1 '@ethersproject/hash': 5.6.0 @@ -5058,7 +5915,10 @@ packages: dev: false /@ethersproject/wordlists@5.7.0: - resolution: {integrity: sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==} + resolution: + { + integrity: sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==, + } dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/hash': 5.7.0 @@ -5067,14 +5927,22 @@ packages: '@ethersproject/strings': 5.7.0 /@fastify/busboy@2.1.1: - resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==, + } + engines: { node: '>=14' } dev: true /@graphql-codegen/add@5.0.2(graphql@16.8.1): - resolution: {integrity: sha512-ouBkSvMFUhda5VoKumo/ZvsZM9P5ZTyDsI8LW18VxSNWOjrTeLXBWHG8Gfaai0HwhflPtCYVABbriEcOmrRShQ==} + resolution: + { + integrity: sha512-ouBkSvMFUhda5VoKumo/ZvsZM9P5ZTyDsI8LW18VxSNWOjrTeLXBWHG8Gfaai0HwhflPtCYVABbriEcOmrRShQ==, + } peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + graphql: + ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || + ^16.0.0 dependencies: '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) graphql: 16.8.1 @@ -5082,11 +5950,16 @@ packages: dev: true /@graphql-codegen/cli@5.0.2(@types/node@20.12.7)(graphql@16.8.1)(typescript@5.4.5): - resolution: {integrity: sha512-MBIaFqDiLKuO4ojN6xxG9/xL9wmfD3ZjZ7RsPjwQnSHBCUXnEkdKvX+JVpx87Pq29Ycn8wTJUguXnTZ7Di0Mlw==} + resolution: + { + integrity: sha512-MBIaFqDiLKuO4ojN6xxG9/xL9wmfD3ZjZ7RsPjwQnSHBCUXnEkdKvX+JVpx87Pq29Ycn8wTJUguXnTZ7Di0Mlw==, + } hasBin: true peerDependencies: '@parcel/watcher': ^2.1.0 - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + graphql: + ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || + ^16.0.0 peerDependenciesMeta: '@parcel/watcher': optional: true @@ -5139,9 +6012,14 @@ packages: dev: true /@graphql-codegen/client-preset@4.2.5(graphql@16.8.1): - resolution: {integrity: sha512-hAdB6HN8EDmkoBtr0bPUN/7NH6svzqbcTDMWBCRXPESXkl7y80po+IXrXUjsSrvhKG8xkNXgJNz/2mjwHzywcA==} + resolution: + { + integrity: sha512-hAdB6HN8EDmkoBtr0bPUN/7NH6svzqbcTDMWBCRXPESXkl7y80po+IXrXUjsSrvhKG8xkNXgJNz/2mjwHzywcA==, + } peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + graphql: + ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || + ^16.0.0 dependencies: '@babel/helper-plugin-utils': 7.24.0 '@babel/template': 7.24.0 @@ -5163,9 +6041,14 @@ packages: dev: true /@graphql-codegen/core@4.0.2(graphql@16.8.1): - resolution: {integrity: sha512-IZbpkhwVqgizcjNiaVzNAzm/xbWT6YnGgeOLwVjm4KbJn3V2jchVtuzHH09G5/WkkLSk2wgbXNdwjM41JxO6Eg==} + resolution: + { + integrity: sha512-IZbpkhwVqgizcjNiaVzNAzm/xbWT6YnGgeOLwVjm4KbJn3V2jchVtuzHH09G5/WkkLSk2wgbXNdwjM41JxO6Eg==, + } peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + graphql: + ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || + ^16.0.0 dependencies: '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) '@graphql-tools/schema': 10.0.3(graphql@16.8.1) @@ -5175,9 +6058,14 @@ packages: dev: true /@graphql-codegen/gql-tag-operations@4.0.6(graphql@16.8.1): - resolution: {integrity: sha512-y6iXEDpDNjwNxJw3WZqX1/Znj0QHW7+y8O+t2V8qvbTT+3kb2lr9ntc8By7vCr6ctw9tXI4XKaJgpTstJDOwFA==} + resolution: + { + integrity: sha512-y6iXEDpDNjwNxJw3WZqX1/Znj0QHW7+y8O+t2V8qvbTT+3kb2lr9ntc8By7vCr6ctw9tXI4XKaJgpTstJDOwFA==, + } peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + graphql: + ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || + ^16.0.0 dependencies: '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) '@graphql-codegen/visitor-plugin-common': 5.1.0(graphql@16.8.1) @@ -5191,9 +6079,14 @@ packages: dev: true /@graphql-codegen/plugin-helpers@5.0.3(graphql@16.8.1): - resolution: {integrity: sha512-yZ1rpULIWKBZqCDlvGIJRSyj1B2utkEdGmXZTBT/GVayP4hyRYlkd36AJV/LfEsVD8dnsKL5rLz2VTYmRNlJ5Q==} + resolution: + { + integrity: sha512-yZ1rpULIWKBZqCDlvGIJRSyj1B2utkEdGmXZTBT/GVayP4hyRYlkd36AJV/LfEsVD8dnsKL5rLz2VTYmRNlJ5Q==, + } peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + graphql: + ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || + ^16.0.0 dependencies: '@graphql-tools/utils': 10.1.3(graphql@16.8.1) change-case-all: 1.0.15 @@ -5205,9 +6098,14 @@ packages: dev: true /@graphql-codegen/schema-ast@4.0.2(graphql@16.8.1): - resolution: {integrity: sha512-5mVAOQQK3Oz7EtMl/l3vOQdc2aYClUzVDHHkMvZlunc+KlGgl81j8TLa+X7ANIllqU4fUEsQU3lJmk4hXP6K7Q==} + resolution: + { + integrity: sha512-5mVAOQQK3Oz7EtMl/l3vOQdc2aYClUzVDHHkMvZlunc+KlGgl81j8TLa+X7ANIllqU4fUEsQU3lJmk4hXP6K7Q==, + } peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + graphql: + ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || + ^16.0.0 dependencies: '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) '@graphql-tools/utils': 10.1.3(graphql@16.8.1) @@ -5216,9 +6114,14 @@ packages: dev: true /@graphql-codegen/typed-document-node@5.0.6(graphql@16.8.1): - resolution: {integrity: sha512-US0J95hOE2/W/h42w4oiY+DFKG7IetEN1mQMgXXeat1w6FAR5PlIz4JrRrEkiVfVetZ1g7K78SOwBD8/IJnDiA==} + resolution: + { + integrity: sha512-US0J95hOE2/W/h42w4oiY+DFKG7IetEN1mQMgXXeat1w6FAR5PlIz4JrRrEkiVfVetZ1g7K78SOwBD8/IJnDiA==, + } peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + graphql: + ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || + ^16.0.0 dependencies: '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) '@graphql-codegen/visitor-plugin-common': 5.1.0(graphql@16.8.1) @@ -5232,9 +6135,14 @@ packages: dev: true /@graphql-codegen/typescript-operations@4.2.0(graphql@16.8.1): - resolution: {integrity: sha512-lmuwYb03XC7LNRS8oo9M4/vlOrq/wOKmTLBHlltK2YJ1BO/4K/Q9Jdv/jDmJpNydHVR1fmeF4wAfsIp1f9JibA==} + resolution: + { + integrity: sha512-lmuwYb03XC7LNRS8oo9M4/vlOrq/wOKmTLBHlltK2YJ1BO/4K/Q9Jdv/jDmJpNydHVR1fmeF4wAfsIp1f9JibA==, + } peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + graphql: + ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || + ^16.0.0 dependencies: '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) '@graphql-codegen/typescript': 4.0.6(graphql@16.8.1) @@ -5248,7 +6156,10 @@ packages: dev: true /@graphql-codegen/typescript@4.0.6(graphql@16.8.1): - resolution: {integrity: sha512-IBG4N+Blv7KAL27bseruIoLTjORFCT3r+QYyMC3g11uY3/9TPpaUyjSdF70yBe5GIQ6dAgDU+ENUC1v7EPi0rw==} + resolution: + { + integrity: sha512-IBG4N+Blv7KAL27bseruIoLTjORFCT3r+QYyMC3g11uY3/9TPpaUyjSdF70yBe5GIQ6dAgDU+ENUC1v7EPi0rw==, + } peerDependencies: graphql: ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: @@ -5264,9 +6175,14 @@ packages: dev: true /@graphql-codegen/visitor-plugin-common@5.1.0(graphql@16.8.1): - resolution: {integrity: sha512-eamQxtA9bjJqI2lU5eYoA1GbdMIRT2X8m8vhWYsVQVWD3qM7sx/IqJU0kx0J3Vd4/CSd36BzL6RKwksibytDIg==} + resolution: + { + integrity: sha512-eamQxtA9bjJqI2lU5eYoA1GbdMIRT2X8m8vhWYsVQVWD3qM7sx/IqJU0kx0J3Vd4/CSd36BzL6RKwksibytDIg==, + } peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + graphql: + ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || + ^16.0.0 dependencies: '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) '@graphql-tools/optimize': 2.0.0(graphql@16.8.1) @@ -5285,8 +6201,11 @@ packages: dev: true /@graphql-tools/apollo-engine-loader@8.0.1(graphql@16.8.1): - resolution: {integrity: sha512-NaPeVjtrfbPXcl+MLQCJLWtqe2/E4bbAqcauEOQ+3sizw1Fc2CNmhHRF8a6W4D0ekvTRRXAMptXYgA2uConbrA==} - engines: {node: '>=16.0.0'} + resolution: + { + integrity: sha512-NaPeVjtrfbPXcl+MLQCJLWtqe2/E4bbAqcauEOQ+3sizw1Fc2CNmhHRF8a6W4D0ekvTRRXAMptXYgA2uConbrA==, + } + engines: { node: '>=16.0.0' } peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -5300,8 +6219,11 @@ packages: dev: true /@graphql-tools/batch-execute@9.0.4(graphql@16.8.1): - resolution: {integrity: sha512-kkebDLXgDrep5Y0gK1RN3DMUlLqNhg60OAz0lTCqrYeja6DshxLtLkj+zV4mVbBA4mQOEoBmw6g1LZs3dA84/w==} - engines: {node: '>=16.0.0'} + resolution: + { + integrity: sha512-kkebDLXgDrep5Y0gK1RN3DMUlLqNhg60OAz0lTCqrYeja6DshxLtLkj+zV4mVbBA4mQOEoBmw6g1LZs3dA84/w==, + } + engines: { node: '>=16.0.0' } peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -5313,8 +6235,11 @@ packages: dev: true /@graphql-tools/code-file-loader@8.1.1(graphql@16.8.1): - resolution: {integrity: sha512-q4KN25EPSUztc8rA8YUU3ufh721Yk12xXDbtUA+YstczWS7a1RJlghYMFEfR1HsHSYbF7cUqkbnTKSGM3o52bQ==} - engines: {node: '>=16.0.0'} + resolution: + { + integrity: sha512-q4KN25EPSUztc8rA8YUU3ufh721Yk12xXDbtUA+YstczWS7a1RJlghYMFEfR1HsHSYbF7cUqkbnTKSGM3o52bQ==, + } + engines: { node: '>=16.0.0' } peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -5329,8 +6254,11 @@ packages: dev: true /@graphql-tools/delegate@10.0.4(graphql@16.8.1): - resolution: {integrity: sha512-WswZRbQZMh/ebhc8zSomK9DIh6Pd5KbuiMsyiKkKz37TWTrlCOe+4C/fyrBFez30ksq6oFyCeSKMwfrCbeGo0Q==} - engines: {node: '>=16.0.0'} + resolution: + { + integrity: sha512-WswZRbQZMh/ebhc8zSomK9DIh6Pd5KbuiMsyiKkKz37TWTrlCOe+4C/fyrBFez30ksq6oFyCeSKMwfrCbeGo0Q==, + } + engines: { node: '>=16.0.0' } peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -5344,8 +6272,11 @@ packages: dev: true /@graphql-tools/documents@1.0.0(graphql@16.8.1): - resolution: {integrity: sha512-rHGjX1vg/nZ2DKqRGfDPNC55CWZBMldEVcH+91BThRa6JeT80NqXknffLLEZLRUxyikCfkwMsk6xR3UNMqG0Rg==} - engines: {node: '>=16.0.0'} + resolution: + { + integrity: sha512-rHGjX1vg/nZ2DKqRGfDPNC55CWZBMldEVcH+91BThRa6JeT80NqXknffLLEZLRUxyikCfkwMsk6xR3UNMqG0Rg==, + } + engines: { node: '>=16.0.0' } peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -5355,8 +6286,11 @@ packages: dev: true /@graphql-tools/executor-graphql-ws@1.1.2(graphql@16.8.1): - resolution: {integrity: sha512-+9ZK0rychTH1LUv4iZqJ4ESbmULJMTsv3XlFooPUngpxZkk00q6LqHKJRrsLErmQrVaC7cwQCaRBJa0teK17Lg==} - engines: {node: '>=16.0.0'} + resolution: + { + integrity: sha512-+9ZK0rychTH1LUv4iZqJ4ESbmULJMTsv3XlFooPUngpxZkk00q6LqHKJRrsLErmQrVaC7cwQCaRBJa0teK17Lg==, + } + engines: { node: '>=16.0.0' } peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -5373,8 +6307,11 @@ packages: dev: true /@graphql-tools/executor-http@1.0.9(@types/node@20.12.7)(graphql@16.8.1): - resolution: {integrity: sha512-+NXaZd2MWbbrWHqU4EhXcrDbogeiCDmEbrAN+rMn4Nu2okDjn2MTFDbTIab87oEubQCH4Te1wDkWPKrzXup7+Q==} - engines: {node: '>=16.0.0'} + resolution: + { + integrity: sha512-+NXaZd2MWbbrWHqU4EhXcrDbogeiCDmEbrAN+rMn4Nu2okDjn2MTFDbTIab87oEubQCH4Te1wDkWPKrzXup7+Q==, + } + engines: { node: '>=16.0.0' } peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -5391,8 +6328,11 @@ packages: dev: true /@graphql-tools/executor-legacy-ws@1.0.6(graphql@16.8.1): - resolution: {integrity: sha512-lDSxz9VyyquOrvSuCCnld3256Hmd+QI2lkmkEv7d4mdzkxkK4ddAWW1geQiWrQvWmdsmcnGGlZ7gDGbhEExwqg==} - engines: {node: '>=16.0.0'} + resolution: + { + integrity: sha512-lDSxz9VyyquOrvSuCCnld3256Hmd+QI2lkmkEv7d4mdzkxkK4ddAWW1geQiWrQvWmdsmcnGGlZ7gDGbhEExwqg==, + } + engines: { node: '>=16.0.0' } peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -5408,7 +6348,10 @@ packages: dev: true /@graphql-tools/executor@0.0.18(graphql@16.8.1): - resolution: {integrity: sha512-xZC0C+/npXoSHBB5bsJdwxDLgtl1Gu4fL9J2TPQmXoZC3L2N506KJoppf9LgWdHU/xK04luJrhP6WjhfkIN0pQ==} + resolution: + { + integrity: sha512-xZC0C+/npXoSHBB5bsJdwxDLgtl1Gu4fL9J2TPQmXoZC3L2N506KJoppf9LgWdHU/xK04luJrhP6WjhfkIN0pQ==, + } peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -5421,8 +6364,11 @@ packages: dev: true /@graphql-tools/executor@1.2.6(graphql@16.8.1): - resolution: {integrity: sha512-+1kjfqzM5T2R+dCw7F4vdJ3CqG+fY/LYJyhNiWEFtq0ToLwYzR/KKyD8YuzTirEjSxWTVlcBh7endkx5n5F6ew==} - engines: {node: '>=16.0.0'} + resolution: + { + integrity: sha512-+1kjfqzM5T2R+dCw7F4vdJ3CqG+fY/LYJyhNiWEFtq0ToLwYzR/KKyD8YuzTirEjSxWTVlcBh7endkx5n5F6ew==, + } + engines: { node: '>=16.0.0' } peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -5435,8 +6381,11 @@ packages: dev: true /@graphql-tools/git-loader@8.0.5(graphql@16.8.1): - resolution: {integrity: sha512-P97/1mhruDiA6D5WUmx3n/aeGPLWj2+4dpzDOxFGGU+z9NcI/JdygMkeFpGZNHeJfw+kHfxgPcMPnxHcyhAoVA==} - engines: {node: '>=16.0.0'} + resolution: + { + integrity: sha512-P97/1mhruDiA6D5WUmx3n/aeGPLWj2+4dpzDOxFGGU+z9NcI/JdygMkeFpGZNHeJfw+kHfxgPcMPnxHcyhAoVA==, + } + engines: { node: '>=16.0.0' } peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -5452,8 +6401,11 @@ packages: dev: true /@graphql-tools/github-loader@8.0.1(@types/node@20.12.7)(graphql@16.8.1): - resolution: {integrity: sha512-W4dFLQJ5GtKGltvh/u1apWRFKBQOsDzFxO9cJkOYZj1VzHCpRF43uLST4VbCfWve+AwBqOuKr7YgkHoxpRMkcg==} - engines: {node: '>=16.0.0'} + resolution: + { + integrity: sha512-W4dFLQJ5GtKGltvh/u1apWRFKBQOsDzFxO9cJkOYZj1VzHCpRF43uLST4VbCfWve+AwBqOuKr7YgkHoxpRMkcg==, + } + engines: { node: '>=16.0.0' } peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -5472,8 +6424,11 @@ packages: dev: true /@graphql-tools/graphql-file-loader@8.0.1(graphql@16.8.1): - resolution: {integrity: sha512-7gswMqWBabTSmqbaNyWSmRRpStWlcCkBc73E6NZNlh4YNuiyKOwbvSkOUYFOqFMfEL+cFsXgAvr87Vz4XrYSbA==} - engines: {node: '>=16.0.0'} + resolution: + { + integrity: sha512-7gswMqWBabTSmqbaNyWSmRRpStWlcCkBc73E6NZNlh4YNuiyKOwbvSkOUYFOqFMfEL+cFsXgAvr87Vz4XrYSbA==, + } + engines: { node: '>=16.0.0' } peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -5486,8 +6441,11 @@ packages: dev: true /@graphql-tools/graphql-tag-pluck@8.3.0(graphql@16.8.1): - resolution: {integrity: sha512-gNqukC+s7iHC7vQZmx1SEJQmLnOguBq+aqE2zV2+o1hxkExvKqyFli1SY/9gmukFIKpKutCIj+8yLOM+jARutw==} - engines: {node: '>=16.0.0'} + resolution: + { + integrity: sha512-gNqukC+s7iHC7vQZmx1SEJQmLnOguBq+aqE2zV2+o1hxkExvKqyFli1SY/9gmukFIKpKutCIj+8yLOM+jARutw==, + } + engines: { node: '>=16.0.0' } peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -5504,8 +6462,11 @@ packages: dev: true /@graphql-tools/import@7.0.1(graphql@16.8.1): - resolution: {integrity: sha512-935uAjAS8UAeXThqHfYVr4HEAp6nHJ2sximZKO1RzUTq5WoALMAhhGARl0+ecm6X+cqNUwIChJbjtaa6P/ML0w==} - engines: {node: '>=16.0.0'} + resolution: + { + integrity: sha512-935uAjAS8UAeXThqHfYVr4HEAp6nHJ2sximZKO1RzUTq5WoALMAhhGARl0+ecm6X+cqNUwIChJbjtaa6P/ML0w==, + } + engines: { node: '>=16.0.0' } peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -5516,8 +6477,11 @@ packages: dev: true /@graphql-tools/json-file-loader@8.0.1(graphql@16.8.1): - resolution: {integrity: sha512-lAy2VqxDAHjVyqeJonCP6TUemrpYdDuKt25a10X6zY2Yn3iFYGnuIDQ64cv3ytyGY6KPyPB+Kp+ZfOkNDG3FQA==} - engines: {node: '>=16.0.0'} + resolution: + { + integrity: sha512-lAy2VqxDAHjVyqeJonCP6TUemrpYdDuKt25a10X6zY2Yn3iFYGnuIDQ64cv3ytyGY6KPyPB+Kp+ZfOkNDG3FQA==, + } + engines: { node: '>=16.0.0' } peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -5529,8 +6493,11 @@ packages: dev: true /@graphql-tools/load@8.0.2(graphql@16.8.1): - resolution: {integrity: sha512-S+E/cmyVmJ3CuCNfDuNF2EyovTwdWfQScXv/2gmvJOti2rGD8jTt9GYVzXaxhblLivQR9sBUCNZu/w7j7aXUCA==} - engines: {node: '>=16.0.0'} + resolution: + { + integrity: sha512-S+E/cmyVmJ3CuCNfDuNF2EyovTwdWfQScXv/2gmvJOti2rGD8jTt9GYVzXaxhblLivQR9sBUCNZu/w7j7aXUCA==, + } + engines: { node: '>=16.0.0' } peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -5542,7 +6509,10 @@ packages: dev: true /@graphql-tools/merge@8.4.2(graphql@16.8.1): - resolution: {integrity: sha512-XbrHAaj8yDuINph+sAfuq3QCZ/tKblrTLOpirK0+CAgNlZUCHs0Fa+xtMUURgwCVThLle1AF7svJCxFizygLsw==} + resolution: + { + integrity: sha512-XbrHAaj8yDuINph+sAfuq3QCZ/tKblrTLOpirK0+CAgNlZUCHs0Fa+xtMUURgwCVThLle1AF7svJCxFizygLsw==, + } peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -5552,8 +6522,11 @@ packages: dev: true /@graphql-tools/merge@9.0.3(graphql@16.8.1): - resolution: {integrity: sha512-FeKv9lKLMwqDu0pQjPpF59GY3HReUkWXKsMIuMuJQOKh9BETu7zPEFUELvcw8w+lwZkl4ileJsHXC9+AnsT2Lw==} - engines: {node: '>=16.0.0'} + resolution: + { + integrity: sha512-FeKv9lKLMwqDu0pQjPpF59GY3HReUkWXKsMIuMuJQOKh9BETu7zPEFUELvcw8w+lwZkl4ileJsHXC9+AnsT2Lw==, + } + engines: { node: '>=16.0.0' } peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -5563,8 +6536,11 @@ packages: dev: true /@graphql-tools/optimize@2.0.0(graphql@16.8.1): - resolution: {integrity: sha512-nhdT+CRGDZ+bk68ic+Jw1OZ99YCDIKYA5AlVAnBHJvMawSx9YQqQAIj4refNc1/LRieGiuWvhbG3jvPVYho0Dg==} - engines: {node: '>=16.0.0'} + resolution: + { + integrity: sha512-nhdT+CRGDZ+bk68ic+Jw1OZ99YCDIKYA5AlVAnBHJvMawSx9YQqQAIj4refNc1/LRieGiuWvhbG3jvPVYho0Dg==, + } + engines: { node: '>=16.0.0' } peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -5573,8 +6549,11 @@ packages: dev: true /@graphql-tools/prisma-loader@8.0.3(@types/node@20.12.7)(graphql@16.8.1): - resolution: {integrity: sha512-oZhxnMr3Jw2WAW1h9FIhF27xWzIB7bXWM8olz4W12oII4NiZl7VRkFw9IT50zME2Bqi9LGh9pkmMWkjvbOpl+Q==} - engines: {node: '>=16.0.0'} + resolution: + { + integrity: sha512-oZhxnMr3Jw2WAW1h9FIhF27xWzIB7bXWM8olz4W12oII4NiZl7VRkFw9IT50zME2Bqi9LGh9pkmMWkjvbOpl+Q==, + } + engines: { node: '>=16.0.0' } peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -5606,8 +6585,11 @@ packages: dev: true /@graphql-tools/relay-operation-optimizer@7.0.1(graphql@16.8.1): - resolution: {integrity: sha512-y0ZrQ/iyqWZlsS/xrJfSir3TbVYJTYmMOu4TaSz6F4FRDTQ3ie43BlKkhf04rC28pnUOS4BO9pDcAo1D30l5+A==} - engines: {node: '>=16.0.0'} + resolution: + { + integrity: sha512-y0ZrQ/iyqWZlsS/xrJfSir3TbVYJTYmMOu4TaSz6F4FRDTQ3ie43BlKkhf04rC28pnUOS4BO9pDcAo1D30l5+A==, + } + engines: { node: '>=16.0.0' } peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -5621,8 +6603,11 @@ packages: dev: true /@graphql-tools/schema@10.0.3(graphql@16.8.1): - resolution: {integrity: sha512-p28Oh9EcOna6i0yLaCFOnkcBDQECVf3SCexT6ktb86QNj9idnkhI+tCxnwZDh58Qvjd2nURdkbevvoZkvxzCog==} - engines: {node: '>=16.0.0'} + resolution: + { + integrity: sha512-p28Oh9EcOna6i0yLaCFOnkcBDQECVf3SCexT6ktb86QNj9idnkhI+tCxnwZDh58Qvjd2nURdkbevvoZkvxzCog==, + } + engines: { node: '>=16.0.0' } peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -5634,7 +6619,10 @@ packages: dev: true /@graphql-tools/schema@9.0.19(graphql@16.8.1): - resolution: {integrity: sha512-oBRPoNBtCkk0zbUsyP4GaIzCt8C0aCI4ycIRUL67KK5pOHljKLBBtGT+Jr6hkzA74C8Gco8bpZPe7aWFjiaK2w==} + resolution: + { + integrity: sha512-oBRPoNBtCkk0zbUsyP4GaIzCt8C0aCI4ycIRUL67KK5pOHljKLBBtGT+Jr6hkzA74C8Gco8bpZPe7aWFjiaK2w==, + } peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -5646,8 +6634,11 @@ packages: dev: true /@graphql-tools/url-loader@8.0.2(@types/node@20.12.7)(graphql@16.8.1): - resolution: {integrity: sha512-1dKp2K8UuFn7DFo1qX5c1cyazQv2h2ICwA9esHblEqCYrgf69Nk8N7SODmsfWg94OEaI74IqMoM12t7eIGwFzQ==} - engines: {node: '>=16.0.0'} + resolution: + { + integrity: sha512-1dKp2K8UuFn7DFo1qX5c1cyazQv2h2ICwA9esHblEqCYrgf69Nk8N7SODmsfWg94OEaI74IqMoM12t7eIGwFzQ==, + } + engines: { node: '>=16.0.0' } peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -5673,8 +6664,11 @@ packages: dev: true /@graphql-tools/utils@10.1.3(graphql@16.8.1): - resolution: {integrity: sha512-loco2ctrrMQzdpSHbcOo6+Ecp21BV67cQ2pNGhuVKAexruu01RdLn3LgtK47B9BpLz3cUD6U0u1R0rur7xMOOg==} - engines: {node: '>=16.0.0'} + resolution: + { + integrity: sha512-loco2ctrrMQzdpSHbcOo6+Ecp21BV67cQ2pNGhuVKAexruu01RdLn3LgtK47B9BpLz3cUD6U0u1R0rur7xMOOg==, + } + engines: { node: '>=16.0.0' } peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -5686,7 +6680,10 @@ packages: dev: true /@graphql-tools/utils@9.2.1(graphql@16.8.1): - resolution: {integrity: sha512-WUw506Ql6xzmOORlriNrD6Ugx+HjVgYxt9KCXD9mHAak+eaXSwuGGPyE60hy9xaDEoXKBsG7SkG69ybitaVl6A==} + resolution: + { + integrity: sha512-WUw506Ql6xzmOORlriNrD6Ugx+HjVgYxt9KCXD9mHAak+eaXSwuGGPyE60hy9xaDEoXKBsG7SkG69ybitaVl6A==, + } peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -5696,8 +6693,11 @@ packages: dev: true /@graphql-tools/wrap@10.0.5(graphql@16.8.1): - resolution: {integrity: sha512-Cbr5aYjr3HkwdPvetZp1cpDWTGdD1Owgsb3z/ClzhmrboiK86EnQDxDvOJiQkDCPWE9lNBwj8Y4HfxroY0D9DQ==} - engines: {node: '>=16.0.0'} + resolution: + { + integrity: sha512-Cbr5aYjr3HkwdPvetZp1cpDWTGdD1Owgsb3z/ClzhmrboiK86EnQDxDvOJiQkDCPWE9lNBwj8Y4HfxroY0D9DQ==, + } + engines: { node: '>=16.0.0' } peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -5710,20 +6710,31 @@ packages: dev: true /@graphql-typed-document-node/core@3.2.0(graphql@16.8.1): - resolution: {integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==} + resolution: + { + integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==, + } peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + graphql: + ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || + ^16.0.0 || ^17.0.0 dependencies: graphql: 16.8.1 /@graphql-yoga/logger@0.0.1: - resolution: {integrity: sha512-6npFz7eZz33mXgSm1waBLMjUNG0D5hTc/p5Hcs1mojkT3KsLpCOFokzTEKboNsBhKevYcaVa/xeA7WBj4UYMLg==} + resolution: + { + integrity: sha512-6npFz7eZz33mXgSm1waBLMjUNG0D5hTc/p5Hcs1mojkT3KsLpCOFokzTEKboNsBhKevYcaVa/xeA7WBj4UYMLg==, + } dependencies: tslib: 2.6.2 dev: true /@graphql-yoga/subscription@3.1.0: - resolution: {integrity: sha512-Vc9lh8KzIHyS3n4jBlCbz7zCjcbtQnOBpsymcRvHhFr2cuH+knmRn0EmzimMQ58jQ8kxoRXXC3KJS3RIxSdPIg==} + resolution: + { + integrity: sha512-Vc9lh8KzIHyS3n4jBlCbz7zCjcbtQnOBpsymcRvHhFr2cuH+knmRn0EmzimMQ58jQ8kxoRXXC3KJS3RIxSdPIg==, + } dependencies: '@graphql-yoga/typed-event-target': 1.0.0 '@repeaterjs/repeater': 3.0.5 @@ -5732,14 +6743,20 @@ packages: dev: true /@graphql-yoga/typed-event-target@1.0.0: - resolution: {integrity: sha512-Mqni6AEvl3VbpMtKw+TIjc9qS9a8hKhiAjFtqX488yq5oJtj9TkNlFTIacAVS3vnPiswNsmDiQqvwUOcJgi1DA==} + resolution: + { + integrity: sha512-Mqni6AEvl3VbpMtKw+TIjc9qS9a8hKhiAjFtqX488yq5oJtj9TkNlFTIacAVS3vnPiswNsmDiQqvwUOcJgi1DA==, + } dependencies: '@repeaterjs/repeater': 3.0.5 tslib: 2.6.2 dev: true /@httptoolkit/websocket-stream@6.0.1: - resolution: {integrity: sha512-A0NOZI+Glp3Xgcz6Na7i7o09+/+xm2m0UCU8gdtM2nIv6/cjLmhMZMqehSpTlgbx9omtLmV8LVqOskPEyWnmZQ==} + resolution: + { + integrity: sha512-A0NOZI+Glp3Xgcz6Na7i7o09+/+xm2m0UCU8gdtM2nIv6/cjLmhMZMqehSpTlgbx9omtLmV8LVqOskPEyWnmZQ==, + } dependencies: '@types/ws': 8.5.10 duplexify: 3.7.1 @@ -5755,8 +6772,11 @@ packages: dev: true /@humanwhocodes/config-array@0.11.14: - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} - engines: {node: '>=10.10.0'} + resolution: + { + integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==, + } + engines: { node: '>=10.10.0' } dependencies: '@humanwhocodes/object-schema': 2.0.3 debug: 4.3.4(supports-color@8.1.1) @@ -5766,17 +6786,26 @@ packages: dev: true /@humanwhocodes/module-importer@1.0.1: - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} + resolution: + { + integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==, + } + engines: { node: '>=12.22' } dev: true /@humanwhocodes/object-schema@2.0.3: - resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + resolution: + { + integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==, + } dev: true /@inquirer/checkbox@2.3.0: - resolution: {integrity: sha512-QE8k4cC00gQQghyRGz9DJ59hOqZ4YpCpr6p8o9H3H+WIxjEEi/3BsYSGWkYGel4v2VKLjph4ork9HGPoNcURKg==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-QE8k4cC00gQQghyRGz9DJ59hOqZ4YpCpr6p8o9H3H+WIxjEEi/3BsYSGWkYGel4v2VKLjph4ork9HGPoNcURKg==, + } + engines: { node: '>=18' } dependencies: '@inquirer/core': 8.0.0 '@inquirer/figures': 1.0.0 @@ -5786,16 +6815,22 @@ packages: dev: false /@inquirer/confirm@3.1.4: - resolution: {integrity: sha512-2z2RC0JyQCmggQfRxFnQitGp8YZgdM/AqcOuLaUtL0dZHFByk5jgtzxECX4z5MsH8aq2WzdLPI2AHmHOkh8eRA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-2z2RC0JyQCmggQfRxFnQitGp8YZgdM/AqcOuLaUtL0dZHFByk5jgtzxECX4z5MsH8aq2WzdLPI2AHmHOkh8eRA==, + } + engines: { node: '>=18' } dependencies: '@inquirer/core': 8.0.0 '@inquirer/type': 1.3.0 dev: false /@inquirer/core@7.1.3: - resolution: {integrity: sha512-MbHUe32W0DRtuw3Hlt+vLWy3c0Vw7wVHSJyYZ16IGVXyxs31BTyo2MOFKzNnzBBAWhsqn+iHO1r84FXIzs39HQ==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-MbHUe32W0DRtuw3Hlt+vLWy3c0Vw7wVHSJyYZ16IGVXyxs31BTyo2MOFKzNnzBBAWhsqn+iHO1r84FXIzs39HQ==, + } + engines: { node: '>=18' } dependencies: '@inquirer/figures': 1.0.0 '@inquirer/type': 1.3.0 @@ -5813,8 +6848,11 @@ packages: dev: false /@inquirer/core@8.0.0: - resolution: {integrity: sha512-RAszmjXj+grbT9yQ9B+me40LskytwBYPhyl6yHI8h+J5BmL0gNI3pdvBBFD6S9LV0lzhzfCRMBMH5UvuUPYzZQ==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-RAszmjXj+grbT9yQ9B+me40LskytwBYPhyl6yHI8h+J5BmL0gNI3pdvBBFD6S9LV0lzhzfCRMBMH5UvuUPYzZQ==, + } + engines: { node: '>=18' } dependencies: '@inquirer/figures': 1.0.0 '@inquirer/type': 1.3.0 @@ -5832,8 +6870,11 @@ packages: dev: false /@inquirer/editor@2.1.4: - resolution: {integrity: sha512-bZ/YDEWNzQaKPhwyspy77Hntk9UjqXmQPMc3I3Cqn1pPBlPzliylgJDhgErxyIMFMtd92FpbDoOk5WWlaVpBMQ==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-bZ/YDEWNzQaKPhwyspy77Hntk9UjqXmQPMc3I3Cqn1pPBlPzliylgJDhgErxyIMFMtd92FpbDoOk5WWlaVpBMQ==, + } + engines: { node: '>=18' } dependencies: '@inquirer/core': 8.0.0 '@inquirer/type': 1.3.0 @@ -5841,8 +6882,11 @@ packages: dev: false /@inquirer/expand@2.1.4: - resolution: {integrity: sha512-dQeTV54ffbkR6epoue2NlbX8R62gS3M8e3OpXlzl3KxueSSQwlO5o3pAASzBnYje1rkTJ3lhX7fhS8Np0HDofA==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-dQeTV54ffbkR6epoue2NlbX8R62gS3M8e3OpXlzl3KxueSSQwlO5o3pAASzBnYje1rkTJ3lhX7fhS8Np0HDofA==, + } + engines: { node: '>=18' } dependencies: '@inquirer/core': 8.0.0 '@inquirer/type': 1.3.0 @@ -5850,21 +6894,30 @@ packages: dev: false /@inquirer/figures@1.0.0: - resolution: {integrity: sha512-3fw+7+77/duTnMJTeSS44wneszghI4tkr0m0xdIJabbYRe36ElzmsqyboMZ1nFRon6sT+ckVvYDVjwapKv+2sw==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-3fw+7+77/duTnMJTeSS44wneszghI4tkr0m0xdIJabbYRe36ElzmsqyboMZ1nFRon6sT+ckVvYDVjwapKv+2sw==, + } + engines: { node: '>=18' } dev: false /@inquirer/input@2.1.4: - resolution: {integrity: sha512-FnskIUMM0ogcYu9zHIuIx8McSnXC69CMm5qzBSo27joFATe/dbK2SXrq9/i/y2dCGFfETSaiYI6q5Rp7jhDbWg==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-FnskIUMM0ogcYu9zHIuIx8McSnXC69CMm5qzBSo27joFATe/dbK2SXrq9/i/y2dCGFfETSaiYI6q5Rp7jhDbWg==, + } + engines: { node: '>=18' } dependencies: '@inquirer/core': 8.0.0 '@inquirer/type': 1.3.0 dev: false /@inquirer/password@2.1.4: - resolution: {integrity: sha512-FK14dvubrLZi4B/OCelmtZngLIKe4AX3Iqwwp48YW1ciEDamoxirMrwV9WzhWnfannPfZFnPLZuqIoqhF9sglg==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-FK14dvubrLZi4B/OCelmtZngLIKe4AX3Iqwwp48YW1ciEDamoxirMrwV9WzhWnfannPfZFnPLZuqIoqhF9sglg==, + } + engines: { node: '>=18' } dependencies: '@inquirer/core': 8.0.0 '@inquirer/type': 1.3.0 @@ -5872,8 +6925,11 @@ packages: dev: false /@inquirer/prompts@4.3.3: - resolution: {integrity: sha512-QLn4tTeLKH3Foqlof0+dY0kLoCGQvvR4MDkHAooPI0rLGPOjUwoiVeEalcMtJTGulqJ76it2UW4++j88WO6KLQ==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-QLn4tTeLKH3Foqlof0+dY0kLoCGQvvR4MDkHAooPI0rLGPOjUwoiVeEalcMtJTGulqJ76it2UW4++j88WO6KLQ==, + } + engines: { node: '>=18' } dependencies: '@inquirer/checkbox': 2.3.0 '@inquirer/confirm': 3.1.4 @@ -5887,8 +6943,11 @@ packages: dev: false /@inquirer/rawlist@2.1.4: - resolution: {integrity: sha512-XtG9e/OYzGedsKsXfUw4tf26aNBN7o2gcYjYdYi7FuE4cOAg1fcFoIn2h0qRMr/+xLsJf4F+Hh+sRnC6yk3yxg==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-XtG9e/OYzGedsKsXfUw4tf26aNBN7o2gcYjYdYi7FuE4cOAg1fcFoIn2h0qRMr/+xLsJf4F+Hh+sRnC6yk3yxg==, + } + engines: { node: '>=18' } dependencies: '@inquirer/core': 8.0.0 '@inquirer/type': 1.3.0 @@ -5896,8 +6955,11 @@ packages: dev: false /@inquirer/select@2.3.0: - resolution: {integrity: sha512-FHZkDUIfGfENxzH/M4tskSWUgRnszKUXb/qlrqbvjwUeFFFSOaWztMkAg4sLwnw2nbT+bdi+WlBn98C/j0NOlQ==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-FHZkDUIfGfENxzH/M4tskSWUgRnszKUXb/qlrqbvjwUeFFFSOaWztMkAg4sLwnw2nbT+bdi+WlBn98C/j0NOlQ==, + } + engines: { node: '>=18' } dependencies: '@inquirer/core': 8.0.0 '@inquirer/figures': 1.0.0 @@ -5907,13 +6969,19 @@ packages: dev: false /@inquirer/type@1.3.0: - resolution: {integrity: sha512-RW4Zf6RCTnInRaOZuRHTqAUl+v6VJuQGglir7nW2BkT3OXOphMhkIFhvFRjorBx2l0VwtC/M4No8vYR65TdN9Q==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-RW4Zf6RCTnInRaOZuRHTqAUl+v6VJuQGglir7nW2BkT3OXOphMhkIFhvFRjorBx2l0VwtC/M4No8vYR65TdN9Q==, + } + engines: { node: '>=18' } dev: false /@isaacs/cliui@8.0.2: - resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==, + } + engines: { node: '>=12' } dependencies: string-width: 5.1.2 string-width-cjs: /string-width@4.2.3 @@ -5924,8 +6992,11 @@ packages: dev: true /@istanbuljs/load-nyc-config@1.1.0: - resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==, + } + engines: { node: '>=8' } dependencies: camelcase: 5.3.1 find-up: 4.1.0 @@ -5935,13 +7006,19 @@ packages: dev: true /@istanbuljs/schema@0.1.3: - resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==, + } + engines: { node: '>=8' } dev: true /@jest/console@29.7.0: - resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: '@jest/types': 29.6.3 '@types/node': 20.12.7 @@ -5952,8 +7029,11 @@ packages: dev: true /@jest/core@29.7.0: - resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: @@ -5995,8 +7075,11 @@ packages: dev: true /@jest/environment@29.7.0: - resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 @@ -6005,15 +7088,21 @@ packages: dev: true /@jest/expect-utils@29.7.0: - resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: jest-get-type: 29.6.3 dev: true /@jest/expect@29.7.0: - resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: expect: 29.7.0 jest-snapshot: 29.7.0 @@ -6022,8 +7111,11 @@ packages: dev: true /@jest/fake-timers@29.7.0: - resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 @@ -6034,8 +7126,11 @@ packages: dev: true /@jest/globals@29.7.0: - resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: '@jest/environment': 29.7.0 '@jest/expect': 29.7.0 @@ -6046,8 +7141,11 @@ packages: dev: true /@jest/reporters@29.7.0: - resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: @@ -6083,15 +7181,21 @@ packages: dev: true /@jest/schemas@29.6.3: - resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: '@sinclair/typebox': 0.27.8 dev: true /@jest/source-map@29.6.3: - resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: '@jridgewell/trace-mapping': 0.3.25 callsites: 3.1.0 @@ -6099,8 +7203,11 @@ packages: dev: true /@jest/test-result@29.7.0: - resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: '@jest/console': 29.7.0 '@jest/types': 29.6.3 @@ -6109,8 +7216,11 @@ packages: dev: true /@jest/test-sequencer@29.7.0: - resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: '@jest/test-result': 29.7.0 graceful-fs: 4.2.11 @@ -6119,8 +7229,11 @@ packages: dev: true /@jest/transform@29.7.0: - resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: '@babel/core': 7.24.4 '@jest/types': 29.6.3 @@ -6142,8 +7255,11 @@ packages: dev: true /@jest/types@29.6.3: - resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 @@ -6154,8 +7270,11 @@ packages: dev: true /@jridgewell/gen-mapping@0.3.5: - resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} - engines: {node: '>=6.0.0'} + resolution: + { + integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==, + } + engines: { node: '>=6.0.0' } dependencies: '@jridgewell/set-array': 1.2.1 '@jridgewell/sourcemap-codec': 1.4.15 @@ -6163,45 +7282,69 @@ packages: dev: true /@jridgewell/resolve-uri@3.1.2: - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} - engines: {node: '>=6.0.0'} + resolution: + { + integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==, + } + engines: { node: '>=6.0.0' } dev: true /@jridgewell/set-array@1.2.1: - resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} - engines: {node: '>=6.0.0'} + resolution: + { + integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==, + } + engines: { node: '>=6.0.0' } dev: true /@jridgewell/sourcemap-codec@1.4.15: - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + resolution: + { + integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==, + } dev: true /@jridgewell/trace-mapping@0.3.25: - resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + resolution: + { + integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==, + } dependencies: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 dev: true /@jridgewell/trace-mapping@0.3.9: - resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + resolution: + { + integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==, + } dependencies: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 dev: true /@kamilkisiela/fast-url-parser@1.1.4: - resolution: {integrity: sha512-gbkePEBupNydxCelHCESvFSFM8XPh1Zs/OAVRW/rKpEqPAl5PbOM90Si8mv9bvnR53uPD2s/FiRxdvSejpRJew==} + resolution: + { + integrity: sha512-gbkePEBupNydxCelHCESvFSFM8XPh1Zs/OAVRW/rKpEqPAl5PbOM90Si8mv9bvnR53uPD2s/FiRxdvSejpRJew==, + } dev: true /@lukeed/ms@2.0.2: - resolution: {integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==, + } + engines: { node: '>=8' } dev: true /@metamask/eth-sig-util@4.0.1: - resolution: {integrity: sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ==} - engines: {node: '>=12.0.0'} + resolution: + { + integrity: sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ==, + } + engines: { node: '>=12.0.0' } dependencies: ethereumjs-abi: 0.6.8 ethereumjs-util: 6.2.1 @@ -6211,7 +7354,10 @@ packages: dev: true /@microsoft/tsdoc-config@0.16.2: - resolution: {integrity: sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==} + resolution: + { + integrity: sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==, + } dependencies: '@microsoft/tsdoc': 0.14.2 ajv: 6.12.6 @@ -6220,71 +7366,110 @@ packages: dev: true /@microsoft/tsdoc@0.14.2: - resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==} + resolution: + { + integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==, + } dev: true /@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1: - resolution: {integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==} + resolution: + { + integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==, + } dependencies: eslint-scope: 5.1.1 dev: true /@noble/curves@1.2.0: - resolution: {integrity: sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==} + resolution: + { + integrity: sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==, + } dependencies: '@noble/hashes': 1.3.2 /@noble/curves@1.3.0: - resolution: {integrity: sha512-t01iSXPuN+Eqzb4eBX0S5oubSqXbK/xXa1Ne18Hj8f9pStxztHCE2gfboSp/dZRLSqfuLpRK2nDXDK+W9puocA==} + resolution: + { + integrity: sha512-t01iSXPuN+Eqzb4eBX0S5oubSqXbK/xXa1Ne18Hj8f9pStxztHCE2gfboSp/dZRLSqfuLpRK2nDXDK+W9puocA==, + } dependencies: '@noble/hashes': 1.3.3 dev: true /@noble/hashes@1.2.0: - resolution: {integrity: sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==} + resolution: + { + integrity: sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==, + } dev: true /@noble/hashes@1.3.2: - resolution: {integrity: sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==} - engines: {node: '>= 16'} + resolution: + { + integrity: sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==, + } + engines: { node: '>= 16' } /@noble/hashes@1.3.3: - resolution: {integrity: sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==} - engines: {node: '>= 16'} + resolution: + { + integrity: sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==, + } + engines: { node: '>= 16' } /@noble/hashes@1.4.0: - resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} - engines: {node: '>= 16'} + resolution: + { + integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==, + } + engines: { node: '>= 16' } dev: true /@noble/secp256k1@1.7.1: - resolution: {integrity: sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==} + resolution: + { + integrity: sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==, + } dev: true /@nodelib/fs.scandir@2.1.5: - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==, + } + engines: { node: '>= 8' } dependencies: '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 dev: true /@nodelib/fs.stat@2.0.5: - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==, + } + engines: { node: '>= 8' } dev: true /@nodelib/fs.walk@1.2.8: - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==, + } + engines: { node: '>= 8' } dependencies: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 dev: true /@nomicfoundation/edr-darwin-arm64@0.3.5: - resolution: {integrity: sha512-gIXUIiPMUy6roLHpNlxf15DumU7/YhffUf7XIB+WUjMecaySfTGyZsTGnCMJZqrDyiYqWPyPKwCV/2u/jqFAUg==} - engines: {node: '>= 18'} + resolution: + { + integrity: sha512-gIXUIiPMUy6roLHpNlxf15DumU7/YhffUf7XIB+WUjMecaySfTGyZsTGnCMJZqrDyiYqWPyPKwCV/2u/jqFAUg==, + } + engines: { node: '>= 18' } cpu: [arm64] os: [darwin] requiresBuild: true @@ -6292,8 +7477,11 @@ packages: optional: true /@nomicfoundation/edr-darwin-x64@0.3.5: - resolution: {integrity: sha512-0MrpOCXUK8gmplpYZ2Cy0holHEylvWoNeecFcrP2WJ5DLQzrB23U5JU2MvUzOJ7aL76Za1VXNBWi/UeTWdHM+w==} - engines: {node: '>= 18'} + resolution: + { + integrity: sha512-0MrpOCXUK8gmplpYZ2Cy0holHEylvWoNeecFcrP2WJ5DLQzrB23U5JU2MvUzOJ7aL76Za1VXNBWi/UeTWdHM+w==, + } + engines: { node: '>= 18' } cpu: [x64] os: [darwin] requiresBuild: true @@ -6301,8 +7489,11 @@ packages: optional: true /@nomicfoundation/edr-linux-arm64-gnu@0.3.5: - resolution: {integrity: sha512-aw9f7AZMiY1dZFNePJGKho2k+nEgFgzUAyyukiKfSqUIMXoFXMf1U3Ujv848czrSq9c5XGcdDa2xnEf3daU3xg==} - engines: {node: '>= 18'} + resolution: + { + integrity: sha512-aw9f7AZMiY1dZFNePJGKho2k+nEgFgzUAyyukiKfSqUIMXoFXMf1U3Ujv848czrSq9c5XGcdDa2xnEf3daU3xg==, + } + engines: { node: '>= 18' } cpu: [arm64] os: [linux] requiresBuild: true @@ -6310,8 +7501,11 @@ packages: optional: true /@nomicfoundation/edr-linux-arm64-musl@0.3.5: - resolution: {integrity: sha512-cVFRQjyABBlsbDj+XTczYBfrCHprZ6YNzN8gGGSqAh+UGIJkAIRomK6ar27GyJLNx3HkgbuDoi/9kA0zOo/95w==} - engines: {node: '>= 18'} + resolution: + { + integrity: sha512-cVFRQjyABBlsbDj+XTczYBfrCHprZ6YNzN8gGGSqAh+UGIJkAIRomK6ar27GyJLNx3HkgbuDoi/9kA0zOo/95w==, + } + engines: { node: '>= 18' } cpu: [arm64] os: [linux] requiresBuild: true @@ -6319,8 +7513,11 @@ packages: optional: true /@nomicfoundation/edr-linux-x64-gnu@0.3.5: - resolution: {integrity: sha512-CjOg85DfR1Vt0fQWn5U0qi26DATK9tVzo3YOZEyI0JBsnqvk43fUTPv3uUAWBrPIRg5O5kOc9xG13hSpCBBxBg==} - engines: {node: '>= 18'} + resolution: + { + integrity: sha512-CjOg85DfR1Vt0fQWn5U0qi26DATK9tVzo3YOZEyI0JBsnqvk43fUTPv3uUAWBrPIRg5O5kOc9xG13hSpCBBxBg==, + } + engines: { node: '>= 18' } cpu: [x64] os: [linux] requiresBuild: true @@ -6328,8 +7525,11 @@ packages: optional: true /@nomicfoundation/edr-linux-x64-musl@0.3.5: - resolution: {integrity: sha512-hvX8bBGpBydAVevzK8jsu2FlqVZK1RrCyTX6wGHnltgMuBaoGLHYtNHiFpteOaJw2byYMiORc2bvj+98LhJ0Ew==} - engines: {node: '>= 18'} + resolution: + { + integrity: sha512-hvX8bBGpBydAVevzK8jsu2FlqVZK1RrCyTX6wGHnltgMuBaoGLHYtNHiFpteOaJw2byYMiORc2bvj+98LhJ0Ew==, + } + engines: { node: '>= 18' } cpu: [x64] os: [linux] requiresBuild: true @@ -6337,8 +7537,11 @@ packages: optional: true /@nomicfoundation/edr-win32-x64-msvc@0.3.5: - resolution: {integrity: sha512-IJXjW13DY5UPsx/eG5DGfXtJ7Ydwrvw/BTZ2Y93lRLHzszVpSmeVmlxjZP5IW2afTSgMLaAAsqNw4NhppRGN8A==} - engines: {node: '>= 18'} + resolution: + { + integrity: sha512-IJXjW13DY5UPsx/eG5DGfXtJ7Ydwrvw/BTZ2Y93lRLHzszVpSmeVmlxjZP5IW2afTSgMLaAAsqNw4NhppRGN8A==, + } + engines: { node: '>= 18' } cpu: [x64] os: [win32] requiresBuild: true @@ -6346,8 +7549,11 @@ packages: optional: true /@nomicfoundation/edr@0.3.5: - resolution: {integrity: sha512-dPSM9DuI1sr71gqWUMgLo8MjHQWO4+WNDm3iWaT6P4vUFJReZX5qwA5X+3UwIPBry8GvNY084u7yWUvB3/8rqA==} - engines: {node: '>= 18'} + resolution: + { + integrity: sha512-dPSM9DuI1sr71gqWUMgLo8MjHQWO4+WNDm3iWaT6P4vUFJReZX5qwA5X+3UwIPBry8GvNY084u7yWUvB3/8rqA==, + } + engines: { node: '>= 18' } optionalDependencies: '@nomicfoundation/edr-darwin-arm64': 0.3.5 '@nomicfoundation/edr-darwin-x64': 0.3.5 @@ -6359,7 +7565,10 @@ packages: dev: true /@nomicfoundation/ethereumjs-common@4.0.4: - resolution: {integrity: sha512-9Rgb658lcWsjiicr5GzNCjI1llow/7r0k50dLL95OJ+6iZJcVbi15r3Y0xh2cIO+zgX0WIHcbzIu6FeQf9KPrg==} + resolution: + { + integrity: sha512-9Rgb658lcWsjiicr5GzNCjI1llow/7r0k50dLL95OJ+6iZJcVbi15r3Y0xh2cIO+zgX0WIHcbzIu6FeQf9KPrg==, + } dependencies: '@nomicfoundation/ethereumjs-util': 9.0.4 transitivePeerDependencies: @@ -6367,14 +7576,20 @@ packages: dev: true /@nomicfoundation/ethereumjs-rlp@5.0.4: - resolution: {integrity: sha512-8H1S3s8F6QueOc/X92SdrA4RDenpiAEqMg5vJH99kcQaCy/a3Q6fgseo75mgWlbanGJXSlAPtnCeG9jvfTYXlw==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-8H1S3s8F6QueOc/X92SdrA4RDenpiAEqMg5vJH99kcQaCy/a3Q6fgseo75mgWlbanGJXSlAPtnCeG9jvfTYXlw==, + } + engines: { node: '>=18' } hasBin: true dev: true /@nomicfoundation/ethereumjs-tx@5.0.4: - resolution: {integrity: sha512-Xjv8wAKJGMrP1f0n2PeyfFCCojHd7iS3s/Ab7qzF1S64kxZ8Z22LCMynArYsVqiFx6rzYy548HNVEyI+AYN/kw==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-Xjv8wAKJGMrP1f0n2PeyfFCCojHd7iS3s/Ab7qzF1S64kxZ8Z22LCMynArYsVqiFx6rzYy548HNVEyI+AYN/kw==, + } + engines: { node: '>=18' } peerDependencies: c-kzg: ^2.1.2 peerDependenciesMeta: @@ -6388,8 +7603,11 @@ packages: dev: true /@nomicfoundation/ethereumjs-util@9.0.4: - resolution: {integrity: sha512-sLOzjnSrlx9Bb9EFNtHzK/FJFsfg2re6bsGqinFinH1gCqVfz9YYlXiMWwDM4C/L4ywuHFCYwfKTVr/QHQcU0Q==} - engines: {node: '>=18'} + resolution: + { + integrity: sha512-sLOzjnSrlx9Bb9EFNtHzK/FJFsfg2re6bsGqinFinH1gCqVfz9YYlXiMWwDM4C/L4ywuHFCYwfKTVr/QHQcU0Q==, + } + engines: { node: '>=18' } peerDependencies: c-kzg: ^2.1.2 peerDependenciesMeta: @@ -6401,7 +7619,10 @@ packages: dev: true /@nomicfoundation/hardhat-network-helpers@1.0.10(hardhat@2.22.2): - resolution: {integrity: sha512-R35/BMBlx7tWN5V6d/8/19QCwEmIdbnA4ZrsuXgvs8i2qFx5i7h6mH5pBS4Pwi4WigLH+upl6faYusrNPuzMrQ==} + resolution: + { + integrity: sha512-R35/BMBlx7tWN5V6d/8/19QCwEmIdbnA4ZrsuXgvs8i2qFx5i7h6mH5pBS4Pwi4WigLH+upl6faYusrNPuzMrQ==, + } peerDependencies: hardhat: ^2.9.5 dependencies: @@ -6410,7 +7631,10 @@ packages: dev: true /@nomicfoundation/hardhat-toolbox-viem@2.0.0(@nomicfoundation/hardhat-network-helpers@1.0.10)(@nomicfoundation/hardhat-verify@2.0.5)(@nomicfoundation/hardhat-viem@1.0.4)(@types/chai-as-promised@7.1.8)(@types/chai@4.3.14)(@types/mocha@10.0.6)(@types/node@20.12.7)(chai@4.4.1)(hardhat-gas-reporter@1.0.10)(hardhat@2.22.2)(solidity-coverage@0.8.12)(ts-node@10.9.2)(typescript@5.0.4)(viem@1.21.4): - resolution: {integrity: sha512-1bxTaC+PcbdctwgP/AvmKJGQTeLoT2kJtAfaDvt5PbL3esZ1EO+pfoBkpliP3DJSNESLSqAjVN1yIFxoLJmiBg==} + resolution: + { + integrity: sha512-1bxTaC+PcbdctwgP/AvmKJGQTeLoT2kJtAfaDvt5PbL3esZ1EO+pfoBkpliP3DJSNESLSqAjVN1yIFxoLJmiBg==, + } peerDependencies: '@nomicfoundation/hardhat-network-helpers': ^1.0.0 '@nomicfoundation/hardhat-verify': ^2.0.0 @@ -6445,7 +7669,10 @@ packages: dev: true /@nomicfoundation/hardhat-verify@2.0.5(hardhat@2.22.2): - resolution: {integrity: sha512-Tg4zu8RkWpyADSFIgF4FlJIUEI4VkxcvELsmbJn2OokbvH2SnUrqKmw0BBfDrtvP0hhmx8wsnrRKP5DV/oTyTA==} + resolution: + { + integrity: sha512-Tg4zu8RkWpyADSFIgF4FlJIUEI4VkxcvELsmbJn2OokbvH2SnUrqKmw0BBfDrtvP0hhmx8wsnrRKP5DV/oTyTA==, + } peerDependencies: hardhat: ^2.0.4 dependencies: @@ -6464,7 +7691,10 @@ packages: dev: true /@nomicfoundation/hardhat-viem@1.0.4(hardhat@2.22.2)(typescript@5.0.4)(viem@1.21.4)(zod@3.22.4): - resolution: {integrity: sha512-6coot+y0y6d75DG33zAdgXlktNp1MRy2B3vDjqlRBaubqlocYak+BSyryiv76F9JuLLgNSxkxTIZCd24h9gKcQ==} + resolution: + { + integrity: sha512-6coot+y0y6d75DG33zAdgXlktNp1MRy2B3vDjqlRBaubqlocYak+BSyryiv76F9JuLLgNSxkxTIZCd24h9gKcQ==, + } peerDependencies: hardhat: ^2.17.0 typescript: ~5.0.0 @@ -6480,8 +7710,11 @@ packages: dev: true /@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.1: - resolution: {integrity: sha512-KcTodaQw8ivDZyF+D76FokN/HdpgGpfjc/gFCImdLUyqB6eSWVaZPazMbeAjmfhx3R0zm/NYVzxwAokFKgrc0w==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-KcTodaQw8ivDZyF+D76FokN/HdpgGpfjc/gFCImdLUyqB6eSWVaZPazMbeAjmfhx3R0zm/NYVzxwAokFKgrc0w==, + } + engines: { node: '>= 10' } cpu: [arm64] os: [darwin] requiresBuild: true @@ -6489,8 +7722,11 @@ packages: optional: true /@nomicfoundation/solidity-analyzer-darwin-x64@0.1.1: - resolution: {integrity: sha512-XhQG4BaJE6cIbjAVtzGOGbK3sn1BO9W29uhk9J8y8fZF1DYz0Doj8QDMfpMu+A6TjPDs61lbsmeYodIDnfveSA==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-XhQG4BaJE6cIbjAVtzGOGbK3sn1BO9W29uhk9J8y8fZF1DYz0Doj8QDMfpMu+A6TjPDs61lbsmeYodIDnfveSA==, + } + engines: { node: '>= 10' } cpu: [x64] os: [darwin] requiresBuild: true @@ -6498,8 +7734,11 @@ packages: optional: true /@nomicfoundation/solidity-analyzer-freebsd-x64@0.1.1: - resolution: {integrity: sha512-GHF1VKRdHW3G8CndkwdaeLkVBi5A9u2jwtlS7SLhBc8b5U/GcoL39Q+1CSO3hYqePNP+eV5YI7Zgm0ea6kMHoA==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-GHF1VKRdHW3G8CndkwdaeLkVBi5A9u2jwtlS7SLhBc8b5U/GcoL39Q+1CSO3hYqePNP+eV5YI7Zgm0ea6kMHoA==, + } + engines: { node: '>= 10' } cpu: [x64] os: [freebsd] requiresBuild: true @@ -6507,8 +7746,11 @@ packages: optional: true /@nomicfoundation/solidity-analyzer-linux-arm64-gnu@0.1.1: - resolution: {integrity: sha512-g4Cv2fO37ZsUENQ2vwPnZc2zRenHyAxHcyBjKcjaSmmkKrFr64yvzeNO8S3GBFCo90rfochLs99wFVGT/0owpg==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-g4Cv2fO37ZsUENQ2vwPnZc2zRenHyAxHcyBjKcjaSmmkKrFr64yvzeNO8S3GBFCo90rfochLs99wFVGT/0owpg==, + } + engines: { node: '>= 10' } cpu: [arm64] os: [linux] requiresBuild: true @@ -6516,8 +7758,11 @@ packages: optional: true /@nomicfoundation/solidity-analyzer-linux-arm64-musl@0.1.1: - resolution: {integrity: sha512-WJ3CE5Oek25OGE3WwzK7oaopY8xMw9Lhb0mlYuJl/maZVo+WtP36XoQTb7bW/i8aAdHW5Z+BqrHMux23pvxG3w==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-WJ3CE5Oek25OGE3WwzK7oaopY8xMw9Lhb0mlYuJl/maZVo+WtP36XoQTb7bW/i8aAdHW5Z+BqrHMux23pvxG3w==, + } + engines: { node: '>= 10' } cpu: [arm64] os: [linux] requiresBuild: true @@ -6525,8 +7770,11 @@ packages: optional: true /@nomicfoundation/solidity-analyzer-linux-x64-gnu@0.1.1: - resolution: {integrity: sha512-5WN7leSr5fkUBBjE4f3wKENUy9HQStu7HmWqbtknfXkkil+eNWiBV275IOlpXku7v3uLsXTOKpnnGHJYI2qsdA==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-5WN7leSr5fkUBBjE4f3wKENUy9HQStu7HmWqbtknfXkkil+eNWiBV275IOlpXku7v3uLsXTOKpnnGHJYI2qsdA==, + } + engines: { node: '>= 10' } cpu: [x64] os: [linux] requiresBuild: true @@ -6534,8 +7782,11 @@ packages: optional: true /@nomicfoundation/solidity-analyzer-linux-x64-musl@0.1.1: - resolution: {integrity: sha512-KdYMkJOq0SYPQMmErv/63CwGwMm5XHenEna9X9aB8mQmhDBrYrlAOSsIPgFCUSL0hjxE3xHP65/EPXR/InD2+w==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-KdYMkJOq0SYPQMmErv/63CwGwMm5XHenEna9X9aB8mQmhDBrYrlAOSsIPgFCUSL0hjxE3xHP65/EPXR/InD2+w==, + } + engines: { node: '>= 10' } cpu: [x64] os: [linux] requiresBuild: true @@ -6543,8 +7794,11 @@ packages: optional: true /@nomicfoundation/solidity-analyzer-win32-arm64-msvc@0.1.1: - resolution: {integrity: sha512-VFZASBfl4qiBYwW5xeY20exWhmv6ww9sWu/krWSesv3q5hA0o1JuzmPHR4LPN6SUZj5vcqci0O6JOL8BPw+APg==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-VFZASBfl4qiBYwW5xeY20exWhmv6ww9sWu/krWSesv3q5hA0o1JuzmPHR4LPN6SUZj5vcqci0O6JOL8BPw+APg==, + } + engines: { node: '>= 10' } cpu: [arm64] os: [win32] requiresBuild: true @@ -6552,8 +7806,11 @@ packages: optional: true /@nomicfoundation/solidity-analyzer-win32-ia32-msvc@0.1.1: - resolution: {integrity: sha512-JnFkYuyCSA70j6Si6cS1A9Gh1aHTEb8kOTBApp/c7NRTFGNMH8eaInKlyuuiIbvYFhlXW4LicqyYuWNNq9hkpQ==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-JnFkYuyCSA70j6Si6cS1A9Gh1aHTEb8kOTBApp/c7NRTFGNMH8eaInKlyuuiIbvYFhlXW4LicqyYuWNNq9hkpQ==, + } + engines: { node: '>= 10' } cpu: [ia32] os: [win32] requiresBuild: true @@ -6561,8 +7818,11 @@ packages: optional: true /@nomicfoundation/solidity-analyzer-win32-x64-msvc@0.1.1: - resolution: {integrity: sha512-HrVJr6+WjIXGnw3Q9u6KQcbZCtk0caVWhCdFADySvRyUxJ8PnzlaP+MhwNE8oyT8OZ6ejHBRrrgjSqDCFXGirw==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-HrVJr6+WjIXGnw3Q9u6KQcbZCtk0caVWhCdFADySvRyUxJ8PnzlaP+MhwNE8oyT8OZ6ejHBRrrgjSqDCFXGirw==, + } + engines: { node: '>= 10' } cpu: [x64] os: [win32] requiresBuild: true @@ -6570,8 +7830,11 @@ packages: optional: true /@nomicfoundation/solidity-analyzer@0.1.1: - resolution: {integrity: sha512-1LMtXj1puAxyFusBgUIy5pZk3073cNXYnXUpuNKFghHbIit/xZgbk0AokpUADbNm3gyD6bFWl3LRFh3dhVdREg==} - engines: {node: '>= 12'} + resolution: + { + integrity: sha512-1LMtXj1puAxyFusBgUIy5pZk3073cNXYnXUpuNKFghHbIit/xZgbk0AokpUADbNm3gyD6bFWl3LRFh3dhVdREg==, + } + engines: { node: '>= 12' } optionalDependencies: '@nomicfoundation/solidity-analyzer-darwin-arm64': 0.1.1 '@nomicfoundation/solidity-analyzer-darwin-x64': 0.1.1 @@ -6586,15 +7849,24 @@ packages: dev: true /@oasisdex/addresses@0.1.16-dma-v2-workers.11: - resolution: {integrity: sha512-eeILfQbJAKX+v0ArlWKEpF7MWMpcyl4U7v2Xu1pDEeZhOkZZbS1XyT9Vhvdyy95x04npGa8Dn1zAZSap0NYtkQ==} + resolution: + { + integrity: sha512-eeILfQbJAKX+v0ArlWKEpF7MWMpcyl4U7v2Xu1pDEeZhOkZZbS1XyT9Vhvdyy95x04npGa8Dn1zAZSap0NYtkQ==, + } dev: false /@oasisdex/addresses@0.1.60: - resolution: {integrity: sha512-UAmNodCG3ld4LK5w7sgtoA0ml4lMFfSE7Zp1vswW7/3823IZFmvEO6wy0Pd/vPnJjjKDYaLJdhsRRYGYHwYGSg==} + resolution: + { + integrity: sha512-UAmNodCG3ld4LK5w7sgtoA0ml4lMFfSE7Zp1vswW7/3823IZFmvEO6wy0Pd/vPnJjjKDYaLJdhsRRYGYHwYGSg==, + } dev: false /@oasisdex/automation@1.6.4-alpha.1: - resolution: {integrity: sha512-ecjaiNRXYf18LInzFHZmdC4X/b/D90Cig3H1KlfXai7yZGRlFx8vQozENbF67wofbrxxWSIyCWd0Zo4jm+i4FQ==} + resolution: + { + integrity: sha512-ecjaiNRXYf18LInzFHZmdC4X/b/D90Cig3H1KlfXai7yZGRlFx8vQozENbF67wofbrxxWSIyCWd0Zo4jm+i4FQ==, + } dependencies: ethers: 5.7.2 transitivePeerDependencies: @@ -6603,7 +7875,10 @@ packages: dev: false /@oasisdex/dma-library@0.5.21-dma-v2-workers.32-auto-withdraw-to-ltv: - resolution: {integrity: sha512-QzYuyAKadytHt78whVNMkQJXINf8Z7SVezLGRCfLdEDIqXARYyr9/UTJjuNaVyilU8bX4EdtvGsUryZob0JqRA==} + resolution: + { + integrity: sha512-QzYuyAKadytHt78whVNMkQJXINf8Z7SVezLGRCfLdEDIqXARYyr9/UTJjuNaVyilU8bX4EdtvGsUryZob0JqRA==, + } dependencies: bignumber.js: 9.0.1 ethers: 5.6.2 @@ -6613,11 +7888,17 @@ packages: dev: false /@openzeppelin/contracts@4.9.3: - resolution: {integrity: sha512-He3LieZ1pP2TNt5JbkPA4PNT9WC3gOTOlDcFGJW4Le4QKqwmiNJCRt44APfxMxvq7OugU/cqYuPcSBzOw38DAg==} + resolution: + { + integrity: sha512-He3LieZ1pP2TNt5JbkPA4PNT9WC3gOTOlDcFGJW4Le4QKqwmiNJCRt44APfxMxvq7OugU/cqYuPcSBzOw38DAg==, + } dev: true /@peculiar/asn1-schema@2.3.8: - resolution: {integrity: sha512-ULB1XqHKx1WBU/tTFIA+uARuRoBVZ4pNdOA878RDrRbBfBGcSzi5HBkdScC6ZbHn8z7L8gmKCgPC1LHRrP46tA==} + resolution: + { + integrity: sha512-ULB1XqHKx1WBU/tTFIA+uARuRoBVZ4pNdOA878RDrRbBfBGcSzi5HBkdScC6ZbHn8z7L8gmKCgPC1LHRrP46tA==, + } dependencies: asn1js: 3.0.5 pvtsutils: 1.3.5 @@ -6625,15 +7906,21 @@ packages: dev: true /@peculiar/json-schema@1.1.12: - resolution: {integrity: sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==} - engines: {node: '>=8.0.0'} + resolution: + { + integrity: sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==, + } + engines: { node: '>=8.0.0' } dependencies: tslib: 2.6.2 dev: true /@peculiar/webcrypto@1.4.6: - resolution: {integrity: sha512-YBcMfqNSwn3SujUJvAaySy5tlYbYm6tVt9SKoXu8BaTdKGROiJDgPR3TXpZdAKUfklzm3lRapJEAltiMQtBgZg==} - engines: {node: '>=10.12.0'} + resolution: + { + integrity: sha512-YBcMfqNSwn3SujUJvAaySy5tlYbYm6tVt9SKoXu8BaTdKGROiJDgPR3TXpZdAKUfklzm3lRapJEAltiMQtBgZg==, + } + engines: { node: '>=10.12.0' } dependencies: '@peculiar/asn1-schema': 2.3.8 '@peculiar/json-schema': 1.1.12 @@ -6643,19 +7930,28 @@ packages: dev: true /@pkgjs/parseargs@0.11.0: - resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==, + } + engines: { node: '>=14' } requiresBuild: true dev: true optional: true /@pkgr/core@0.1.1: - resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} - engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + resolution: + { + integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==, + } + engines: { node: ^12.20.0 || ^14.18.0 || >=16.0.0 } dev: true /@prb/math@2.5.0(@ethersproject/bignumber@5.7.0)(evm-bn@1.1.2)(mathjs@10.6.4): - resolution: {integrity: sha512-iSNQd4L3HaYuAIhJliLVa7WGsyjFiQHGpomrFgdj7FhYGHT6Yo8bBwbmwAPF1bHD3LN8gdg+ssKrRUPNaNPEVw==} + resolution: + { + integrity: sha512-iSNQd4L3HaYuAIhJliLVa7WGsyjFiQHGpomrFgdj7FhYGHT6Yo8bBwbmwAPF1bHD3LN8gdg+ssKrRUPNaNPEVw==, + } peerDependencies: '@ethersproject/bignumber': 5.x evm-bn: 1.x @@ -6668,7 +7964,10 @@ packages: dev: true /@redis/bloom@1.2.0(@redis/client@1.5.14): - resolution: {integrity: sha512-HG2DFjYKbpNmVXsa0keLHp/3leGJz1mjh09f2RLGGLQZzSHpkmZWuwJbAvo3QcRY8p80m5+ZdXZdYOSBLlp7Cg==} + resolution: + { + integrity: sha512-HG2DFjYKbpNmVXsa0keLHp/3leGJz1mjh09f2RLGGLQZzSHpkmZWuwJbAvo3QcRY8p80m5+ZdXZdYOSBLlp7Cg==, + } peerDependencies: '@redis/client': ^1.0.0 dependencies: @@ -6676,8 +7975,11 @@ packages: dev: false /@redis/client@1.5.14: - resolution: {integrity: sha512-YGn0GqsRBFUQxklhY7v562VMOP0DcmlrHHs3IV1mFE3cbxe31IITUkqhBcIhVSI/2JqtWAJXg5mjV4aU+zD0HA==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-YGn0GqsRBFUQxklhY7v562VMOP0DcmlrHHs3IV1mFE3cbxe31IITUkqhBcIhVSI/2JqtWAJXg5mjV4aU+zD0HA==, + } + engines: { node: '>=14' } dependencies: cluster-key-slot: 1.1.2 generic-pool: 3.9.0 @@ -6685,7 +7987,10 @@ packages: dev: false /@redis/graph@1.1.1(@redis/client@1.5.14): - resolution: {integrity: sha512-FEMTcTHZozZciLRl6GiiIB4zGm5z5F3F6a6FZCyrfxdKOhFlGkiAqlexWMBzCi4DcRoyiOsuLfW+cjlGWyExOw==} + resolution: + { + integrity: sha512-FEMTcTHZozZciLRl6GiiIB4zGm5z5F3F6a6FZCyrfxdKOhFlGkiAqlexWMBzCi4DcRoyiOsuLfW+cjlGWyExOw==, + } peerDependencies: '@redis/client': ^1.0.0 dependencies: @@ -6693,7 +7998,10 @@ packages: dev: false /@redis/json@1.0.6(@redis/client@1.5.14): - resolution: {integrity: sha512-rcZO3bfQbm2zPRpqo82XbW8zg4G/w4W3tI7X8Mqleq9goQjAGLL7q/1n1ZX4dXEAmORVZ4s1+uKLaUOg7LrUhw==} + resolution: + { + integrity: sha512-rcZO3bfQbm2zPRpqo82XbW8zg4G/w4W3tI7X8Mqleq9goQjAGLL7q/1n1ZX4dXEAmORVZ4s1+uKLaUOg7LrUhw==, + } peerDependencies: '@redis/client': ^1.0.0 dependencies: @@ -6701,7 +8009,10 @@ packages: dev: false /@redis/search@1.1.6(@redis/client@1.5.14): - resolution: {integrity: sha512-mZXCxbTYKBQ3M2lZnEddwEAks0Kc7nauire8q20oA0oA/LoA+E/b5Y5KZn232ztPb1FkIGqo12vh3Lf+Vw5iTw==} + resolution: + { + integrity: sha512-mZXCxbTYKBQ3M2lZnEddwEAks0Kc7nauire8q20oA0oA/LoA+E/b5Y5KZn232ztPb1FkIGqo12vh3Lf+Vw5iTw==, + } peerDependencies: '@redis/client': ^1.0.0 dependencies: @@ -6709,7 +8020,10 @@ packages: dev: false /@redis/time-series@1.0.5(@redis/client@1.5.14): - resolution: {integrity: sha512-IFjIgTusQym2B5IZJG3XKr5llka7ey84fw/NOYqESP5WUfQs9zz1ww/9+qoz4ka/S6KcGBodzlCeZ5UImKbscg==} + resolution: + { + integrity: sha512-IFjIgTusQym2B5IZJG3XKr5llka7ey84fw/NOYqESP5WUfQs9zz1ww/9+qoz4ka/S6KcGBodzlCeZ5UImKbscg==, + } peerDependencies: '@redis/client': ^1.0.0 dependencies: @@ -6717,22 +8031,37 @@ packages: dev: false /@repeaterjs/repeater@3.0.4: - resolution: {integrity: sha512-AW8PKd6iX3vAZ0vA43nOUOnbq/X5ihgU+mSXXqunMkeQADGiqw/PY0JNeYtD5sr0PAy51YPgAPbDoeapv9r8WA==} + resolution: + { + integrity: sha512-AW8PKd6iX3vAZ0vA43nOUOnbq/X5ihgU+mSXXqunMkeQADGiqw/PY0JNeYtD5sr0PAy51YPgAPbDoeapv9r8WA==, + } dev: true /@repeaterjs/repeater@3.0.5: - resolution: {integrity: sha512-l3YHBLAol6d/IKnB9LhpD0cEZWAoe3eFKUyTYWmFmCO2Q/WOckxLQAUyMZWwZV2M/m3+4vgRoaolFqaII82/TA==} + resolution: + { + integrity: sha512-l3YHBLAol6d/IKnB9LhpD0cEZWAoe3eFKUyTYWmFmCO2Q/WOckxLQAUyMZWwZV2M/m3+4vgRoaolFqaII82/TA==, + } dev: true /@rushstack/eslint-patch@1.10.2: - resolution: {integrity: sha512-hw437iINopmQuxWPSUEvqE56NCPsiU8N4AYtfHmJFckclktzK9YQJieD3XkDCDH4OjL+C7zgPUh73R/nrcHrqw==} + resolution: + { + integrity: sha512-hw437iINopmQuxWPSUEvqE56NCPsiU8N4AYtfHmJFckclktzK9YQJieD3XkDCDH4OjL+C7zgPUh73R/nrcHrqw==, + } dev: true /@scure/base@1.1.6: - resolution: {integrity: sha512-ok9AWwhcgYuGG3Zfhyqg+zwl+Wn5uE+dwC0NV/2qQkx4dABbb/bx96vWu8NSj+BNjjSjno+JRYRjle1jV08k3g==} + resolution: + { + integrity: sha512-ok9AWwhcgYuGG3Zfhyqg+zwl+Wn5uE+dwC0NV/2qQkx4dABbb/bx96vWu8NSj+BNjjSjno+JRYRjle1jV08k3g==, + } /@scure/bip32@1.1.5: - resolution: {integrity: sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==} + resolution: + { + integrity: sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==, + } dependencies: '@noble/hashes': 1.2.0 '@noble/secp256k1': 1.7.1 @@ -6740,14 +8069,20 @@ packages: dev: true /@scure/bip32@1.3.2: - resolution: {integrity: sha512-N1ZhksgwD3OBlwTv3R6KFEcPojl/W4ElJOeCZdi+vuI5QmTFwLq3OFf2zd2ROpKvxFdgZ6hUpb0dx9bVNEwYCA==} + resolution: + { + integrity: sha512-N1ZhksgwD3OBlwTv3R6KFEcPojl/W4ElJOeCZdi+vuI5QmTFwLq3OFf2zd2ROpKvxFdgZ6hUpb0dx9bVNEwYCA==, + } dependencies: '@noble/curves': 1.2.0 '@noble/hashes': 1.3.3 '@scure/base': 1.1.6 /@scure/bip32@1.3.3: - resolution: {integrity: sha512-LJaN3HwRbfQK0X1xFSi0Q9amqOgzQnnDngIt+ZlsBC3Bm7/nE7K0kwshZHyaru79yIVRv/e1mQAjZyuZG6jOFQ==} + resolution: + { + integrity: sha512-LJaN3HwRbfQK0X1xFSi0Q9amqOgzQnnDngIt+ZlsBC3Bm7/nE7K0kwshZHyaru79yIVRv/e1mQAjZyuZG6jOFQ==, + } dependencies: '@noble/curves': 1.3.0 '@noble/hashes': 1.3.3 @@ -6755,28 +8090,40 @@ packages: dev: true /@scure/bip39@1.1.1: - resolution: {integrity: sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg==} + resolution: + { + integrity: sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg==, + } dependencies: '@noble/hashes': 1.2.0 '@scure/base': 1.1.6 dev: true /@scure/bip39@1.2.1: - resolution: {integrity: sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==} + resolution: + { + integrity: sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==, + } dependencies: '@noble/hashes': 1.3.3 '@scure/base': 1.1.6 /@scure/bip39@1.2.2: - resolution: {integrity: sha512-HYf9TUXG80beW+hGAt3TRM8wU6pQoYur9iNypTROm42dorCGmLnFe3eWjz3gOq6G62H2WRh0FCzAR1PI+29zIA==} + resolution: + { + integrity: sha512-HYf9TUXG80beW+hGAt3TRM8wU6pQoYur9iNypTROm42dorCGmLnFe3eWjz3gOq6G62H2WRh0FCzAR1PI+29zIA==, + } dependencies: '@noble/hashes': 1.3.3 '@scure/base': 1.1.6 dev: true /@sentry/core@5.30.0: - resolution: {integrity: sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==, + } + engines: { node: '>=6' } dependencies: '@sentry/hub': 5.30.0 '@sentry/minimal': 5.30.0 @@ -6786,8 +8133,11 @@ packages: dev: true /@sentry/hub@5.30.0: - resolution: {integrity: sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==, + } + engines: { node: '>=6' } dependencies: '@sentry/types': 5.30.0 '@sentry/utils': 5.30.0 @@ -6795,8 +8145,11 @@ packages: dev: true /@sentry/minimal@5.30.0: - resolution: {integrity: sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==, + } + engines: { node: '>=6' } dependencies: '@sentry/hub': 5.30.0 '@sentry/types': 5.30.0 @@ -6804,8 +8157,11 @@ packages: dev: true /@sentry/node@5.30.0: - resolution: {integrity: sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==, + } + engines: { node: '>=6' } dependencies: '@sentry/core': 5.30.0 '@sentry/hub': 5.30.0 @@ -6821,8 +8177,11 @@ packages: dev: true /@sentry/tracing@5.30.0: - resolution: {integrity: sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==, + } + engines: { node: '>=6' } dependencies: '@sentry/hub': 5.30.0 '@sentry/minimal': 5.30.0 @@ -6832,66 +8191,96 @@ packages: dev: true /@sentry/types@5.30.0: - resolution: {integrity: sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==, + } + engines: { node: '>=6' } dev: true /@sentry/utils@5.30.0: - resolution: {integrity: sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==, + } + engines: { node: '>=6' } dependencies: '@sentry/types': 5.30.0 tslib: 1.14.1 dev: true /@sinclair/typebox@0.27.8: - resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + resolution: + { + integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==, + } dev: true /@sinonjs/commons@3.0.1: - resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} + resolution: + { + integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==, + } dependencies: type-detect: 4.0.8 dev: true /@sinonjs/fake-timers@10.3.0: - resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} + resolution: + { + integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==, + } dependencies: '@sinonjs/commons': 3.0.1 dev: true /@smithy/abort-controller@1.1.0: - resolution: {integrity: sha512-5imgGUlZL4dW4YWdMYAKLmal9ny/tlenM81QZY7xYyb76z9Z/QOg7oM5Ak9HQl8QfFTlGVWwcMXl+54jroRgEQ==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-5imgGUlZL4dW4YWdMYAKLmal9ny/tlenM81QZY7xYyb76z9Z/QOg7oM5Ak9HQl8QfFTlGVWwcMXl+54jroRgEQ==, + } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 1.2.0 tslib: 2.6.2 dev: true /@smithy/abort-controller@2.2.0: - resolution: {integrity: sha512-wRlta7GuLWpTqtFfGo+nZyOO1vEvewdNR1R4rTxpC8XU6vG/NDyrFBhwLZsqg1NUoR1noVaXJPC/7ZK47QCySw==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-wRlta7GuLWpTqtFfGo+nZyOO1vEvewdNR1R4rTxpC8XU6vG/NDyrFBhwLZsqg1NUoR1noVaXJPC/7ZK47QCySw==, + } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/chunked-blob-reader-native@2.2.0: - resolution: {integrity: sha512-VNB5+1oCgX3Fzs072yuRsUoC2N4Zg/LJ11DTxX3+Qu+Paa6AmbIF0E9sc2wthz9Psrk/zcOlTCyuposlIhPjZQ==} + resolution: + { + integrity: sha512-VNB5+1oCgX3Fzs072yuRsUoC2N4Zg/LJ11DTxX3+Qu+Paa6AmbIF0E9sc2wthz9Psrk/zcOlTCyuposlIhPjZQ==, + } dependencies: '@smithy/util-base64': 2.3.0 tslib: 2.6.2 dev: true /@smithy/chunked-blob-reader@2.2.0: - resolution: {integrity: sha512-3GJNvRwXBGdkDZZOGiziVYzDpn4j6zfyULHMDKAGIUo72yHALpE9CbhfQp/XcLNVoc1byfMpn6uW5H2BqPjgaQ==} + resolution: + { + integrity: sha512-3GJNvRwXBGdkDZZOGiziVYzDpn4j6zfyULHMDKAGIUo72yHALpE9CbhfQp/XcLNVoc1byfMpn6uW5H2BqPjgaQ==, + } dependencies: tslib: 2.6.2 dev: true /@smithy/config-resolver@1.1.0: - resolution: {integrity: sha512-7WD9eZHp46BxAjNGHJLmxhhyeiNWkBdVStd7SUJPUZqQGeIO/REtIrcIfKUfdiHTQ9jyu2SYoqvzqqaFc6987w==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-7WD9eZHp46BxAjNGHJLmxhhyeiNWkBdVStd7SUJPUZqQGeIO/REtIrcIfKUfdiHTQ9jyu2SYoqvzqqaFc6987w==, + } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 1.2.0 '@smithy/util-config-provider': 1.1.0 @@ -6900,8 +8289,11 @@ packages: dev: true /@smithy/config-resolver@2.2.0: - resolution: {integrity: sha512-fsiMgd8toyUba6n1WRmr+qACzXltpdDkPTAaDqc8QqPBUzO+/JKwL6bUBseHVi8tu9l+3JOK+tSf7cay+4B3LA==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-fsiMgd8toyUba6n1WRmr+qACzXltpdDkPTAaDqc8QqPBUzO+/JKwL6bUBseHVi8tu9l+3JOK+tSf7cay+4B3LA==, + } + engines: { node: '>=14.0.0' } dependencies: '@smithy/node-config-provider': 2.3.0 '@smithy/types': 2.12.0 @@ -6911,8 +8303,11 @@ packages: dev: true /@smithy/core@1.4.2: - resolution: {integrity: sha512-2fek3I0KZHWJlRLvRTqxTEri+qV0GRHrJIoLFuBMZB4EMg4WgeBGfF0X6abnrNYpq55KJ6R4D6x4f0vLnhzinA==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-2fek3I0KZHWJlRLvRTqxTEri+qV0GRHrJIoLFuBMZB4EMg4WgeBGfF0X6abnrNYpq55KJ6R4D6x4f0vLnhzinA==, + } + engines: { node: '>=14.0.0' } dependencies: '@smithy/middleware-endpoint': 2.5.1 '@smithy/middleware-retry': 2.3.1 @@ -6925,8 +8320,11 @@ packages: dev: true /@smithy/credential-provider-imds@2.3.0: - resolution: {integrity: sha512-BWB9mIukO1wjEOo1Ojgl6LrG4avcaC7T/ZP6ptmAaW4xluhSIPZhY+/PI5YKzlk+jsm+4sQZB45Bt1OfMeQa3w==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-BWB9mIukO1wjEOo1Ojgl6LrG4avcaC7T/ZP6ptmAaW4xluhSIPZhY+/PI5YKzlk+jsm+4sQZB45Bt1OfMeQa3w==, + } + engines: { node: '>=14.0.0' } dependencies: '@smithy/node-config-provider': 2.3.0 '@smithy/property-provider': 2.2.0 @@ -6936,7 +8334,10 @@ packages: dev: true /@smithy/eventstream-codec@2.2.0: - resolution: {integrity: sha512-8janZoJw85nJmQZc4L8TuePp2pk1nxLgkxIR0TUjKJ5Dkj5oelB9WtiSSGXCQvNsJl0VSTvK/2ueMXxvpa9GVw==} + resolution: + { + integrity: sha512-8janZoJw85nJmQZc4L8TuePp2pk1nxLgkxIR0TUjKJ5Dkj5oelB9WtiSSGXCQvNsJl0VSTvK/2ueMXxvpa9GVw==, + } dependencies: '@aws-crypto/crc32': 3.0.0 '@smithy/types': 2.12.0 @@ -6945,8 +8346,11 @@ packages: dev: true /@smithy/eventstream-serde-browser@2.2.0: - resolution: {integrity: sha512-UaPf8jKbcP71BGiO0CdeLmlg+RhWnlN8ipsMSdwvqBFigl5nil3rHOI/5GE3tfiuX8LvY5Z9N0meuU7Rab7jWw==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-UaPf8jKbcP71BGiO0CdeLmlg+RhWnlN8ipsMSdwvqBFigl5nil3rHOI/5GE3tfiuX8LvY5Z9N0meuU7Rab7jWw==, + } + engines: { node: '>=14.0.0' } dependencies: '@smithy/eventstream-serde-universal': 2.2.0 '@smithy/types': 2.12.0 @@ -6954,16 +8358,22 @@ packages: dev: true /@smithy/eventstream-serde-config-resolver@2.2.0: - resolution: {integrity: sha512-RHhbTw/JW3+r8QQH7PrganjNCiuiEZmpi6fYUAetFfPLfZ6EkiA08uN3EFfcyKubXQxOwTeJRZSQmDDCdUshaA==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-RHhbTw/JW3+r8QQH7PrganjNCiuiEZmpi6fYUAetFfPLfZ6EkiA08uN3EFfcyKubXQxOwTeJRZSQmDDCdUshaA==, + } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/eventstream-serde-node@2.2.0: - resolution: {integrity: sha512-zpQMtJVqCUMn+pCSFcl9K/RPNtQE0NuMh8sKpCdEHafhwRsjP50Oq/4kMmvxSRy6d8Jslqd8BLvDngrUtmN9iA==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-zpQMtJVqCUMn+pCSFcl9K/RPNtQE0NuMh8sKpCdEHafhwRsjP50Oq/4kMmvxSRy6d8Jslqd8BLvDngrUtmN9iA==, + } + engines: { node: '>=14.0.0' } dependencies: '@smithy/eventstream-serde-universal': 2.2.0 '@smithy/types': 2.12.0 @@ -6971,8 +8381,11 @@ packages: dev: true /@smithy/eventstream-serde-universal@2.2.0: - resolution: {integrity: sha512-pvoe/vvJY0mOpuF84BEtyZoYfbehiFj8KKWk1ds2AT0mTLYFVs+7sBJZmioOFdBXKd48lfrx1vumdPdmGlCLxA==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-pvoe/vvJY0mOpuF84BEtyZoYfbehiFj8KKWk1ds2AT0mTLYFVs+7sBJZmioOFdBXKd48lfrx1vumdPdmGlCLxA==, + } + engines: { node: '>=14.0.0' } dependencies: '@smithy/eventstream-codec': 2.2.0 '@smithy/types': 2.12.0 @@ -6980,7 +8393,10 @@ packages: dev: true /@smithy/fetch-http-handler@1.1.0: - resolution: {integrity: sha512-N22C9R44u5WGlcY+Wuv8EXmCAq62wWwriRAuoczMEwAIjPbvHSthyPSLqI4S7kAST1j6niWg8kwpeJ3ReAv3xg==} + resolution: + { + integrity: sha512-N22C9R44u5WGlcY+Wuv8EXmCAq62wWwriRAuoczMEwAIjPbvHSthyPSLqI4S7kAST1j6niWg8kwpeJ3ReAv3xg==, + } dependencies: '@smithy/protocol-http': 1.2.0 '@smithy/querystring-builder': 1.1.0 @@ -6990,7 +8406,10 @@ packages: dev: true /@smithy/fetch-http-handler@2.5.0: - resolution: {integrity: sha512-BOWEBeppWhLn/no/JxUL/ghTfANTjT7kg3Ww2rPqTUY9R4yHPXxJ9JhMe3Z03LN3aPwiwlpDIUcVw1xDyHqEhw==} + resolution: + { + integrity: sha512-BOWEBeppWhLn/no/JxUL/ghTfANTjT7kg3Ww2rPqTUY9R4yHPXxJ9JhMe3Z03LN3aPwiwlpDIUcVw1xDyHqEhw==, + } dependencies: '@smithy/protocol-http': 3.3.0 '@smithy/querystring-builder': 2.2.0 @@ -7000,7 +8419,10 @@ packages: dev: true /@smithy/hash-blob-browser@2.2.0: - resolution: {integrity: sha512-SGPoVH8mdXBqrkVCJ1Hd1X7vh1zDXojNN1yZyZTZsCno99hVue9+IYzWDjq/EQDDXxmITB0gBmuyPh8oAZSTcg==} + resolution: + { + integrity: sha512-SGPoVH8mdXBqrkVCJ1Hd1X7vh1zDXojNN1yZyZTZsCno99hVue9+IYzWDjq/EQDDXxmITB0gBmuyPh8oAZSTcg==, + } dependencies: '@smithy/chunked-blob-reader': 2.2.0 '@smithy/chunked-blob-reader-native': 2.2.0 @@ -7009,8 +8431,11 @@ packages: dev: true /@smithy/hash-node@2.2.0: - resolution: {integrity: sha512-zLWaC/5aWpMrHKpoDF6nqpNtBhlAYKF/7+9yMN7GpdR8CzohnWfGtMznPybnwSS8saaXBMxIGwJqR4HmRp6b3g==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-zLWaC/5aWpMrHKpoDF6nqpNtBhlAYKF/7+9yMN7GpdR8CzohnWfGtMznPybnwSS8saaXBMxIGwJqR4HmRp6b3g==, + } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 2.12.0 '@smithy/util-buffer-from': 2.2.0 @@ -7019,8 +8444,11 @@ packages: dev: true /@smithy/hash-stream-node@2.2.0: - resolution: {integrity: sha512-aT+HCATOSRMGpPI7bi7NSsTNVZE/La9IaxLXWoVAYMxHT5hGO3ZOGEMZQg8A6nNL+pdFGtZQtND1eoY084HgHQ==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-aT+HCATOSRMGpPI7bi7NSsTNVZE/La9IaxLXWoVAYMxHT5hGO3ZOGEMZQg8A6nNL+pdFGtZQtND1eoY084HgHQ==, + } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 2.12.0 '@smithy/util-utf8': 2.3.0 @@ -7028,28 +8456,40 @@ packages: dev: true /@smithy/invalid-dependency@2.2.0: - resolution: {integrity: sha512-nEDASdbKFKPXN2O6lOlTgrEEOO9NHIeO+HVvZnkqc8h5U9g3BIhWsvzFo+UcUbliMHvKNPD/zVxDrkP1Sbgp8Q==} + resolution: + { + integrity: sha512-nEDASdbKFKPXN2O6lOlTgrEEOO9NHIeO+HVvZnkqc8h5U9g3BIhWsvzFo+UcUbliMHvKNPD/zVxDrkP1Sbgp8Q==, + } dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/is-array-buffer@1.1.0: - resolution: {integrity: sha512-twpQ/n+3OWZJ7Z+xu43MJErmhB/WO/mMTnqR6PwWQShvSJ/emx5d1N59LQZk6ZpTAeuRWrc+eHhkzTp9NFjNRQ==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-twpQ/n+3OWZJ7Z+xu43MJErmhB/WO/mMTnqR6PwWQShvSJ/emx5d1N59LQZk6ZpTAeuRWrc+eHhkzTp9NFjNRQ==, + } + engines: { node: '>=14.0.0' } dependencies: tslib: 2.6.2 dev: true /@smithy/is-array-buffer@2.2.0: - resolution: {integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==, + } + engines: { node: '>=14.0.0' } dependencies: tslib: 2.6.2 dev: true /@smithy/md5-js@2.2.0: - resolution: {integrity: sha512-M26XTtt9IIusVMOWEAhIvFIr9jYj4ISPPGJROqw6vXngO3IYJCnVVSMFn4Tx1rUTG5BiKJNg9u2nxmBiZC5IlQ==} + resolution: + { + integrity: sha512-M26XTtt9IIusVMOWEAhIvFIr9jYj4ISPPGJROqw6vXngO3IYJCnVVSMFn4Tx1rUTG5BiKJNg9u2nxmBiZC5IlQ==, + } dependencies: '@smithy/types': 2.12.0 '@smithy/util-utf8': 2.3.0 @@ -7057,8 +8497,11 @@ packages: dev: true /@smithy/middleware-content-length@2.2.0: - resolution: {integrity: sha512-5bl2LG1Ah/7E5cMSC+q+h3IpVHMeOkG0yLRyQT1p2aMJkSrZG7RlXHPuAgb7EyaFeidKEnnd/fNaLLaKlHGzDQ==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-5bl2LG1Ah/7E5cMSC+q+h3IpVHMeOkG0yLRyQT1p2aMJkSrZG7RlXHPuAgb7EyaFeidKEnnd/fNaLLaKlHGzDQ==, + } + engines: { node: '>=14.0.0' } dependencies: '@smithy/protocol-http': 3.3.0 '@smithy/types': 2.12.0 @@ -7066,8 +8509,11 @@ packages: dev: true /@smithy/middleware-endpoint@2.5.1: - resolution: {integrity: sha512-1/8kFp6Fl4OsSIVTWHnNjLnTL8IqpIb/D3sTSczrKFnrE9VMNWxnrRKNvpUHOJ6zpGD5f62TPm7+17ilTJpiCQ==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-1/8kFp6Fl4OsSIVTWHnNjLnTL8IqpIb/D3sTSczrKFnrE9VMNWxnrRKNvpUHOJ6zpGD5f62TPm7+17ilTJpiCQ==, + } + engines: { node: '>=14.0.0' } dependencies: '@smithy/middleware-serde': 2.3.0 '@smithy/node-config-provider': 2.3.0 @@ -7079,8 +8525,11 @@ packages: dev: true /@smithy/middleware-retry@1.1.0: - resolution: {integrity: sha512-lINKYxIvT+W20YFOtHBKeGm7npuJg0/YCoShttU7fVpsmU+a2rdb9zrJn1MHqWfUL6DhTAWGa0tH2O7l4XrDcw==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-lINKYxIvT+W20YFOtHBKeGm7npuJg0/YCoShttU7fVpsmU+a2rdb9zrJn1MHqWfUL6DhTAWGa0tH2O7l4XrDcw==, + } + engines: { node: '>=14.0.0' } dependencies: '@smithy/protocol-http': 1.2.0 '@smithy/service-error-classification': 1.1.0 @@ -7092,8 +8541,11 @@ packages: dev: true /@smithy/middleware-retry@2.3.1: - resolution: {integrity: sha512-P2bGufFpFdYcWvqpyqqmalRtwFUNUA8vHjJR5iGqbfR6mp65qKOLcUd6lTr4S9Gn/enynSrSf3p3FVgVAf6bXA==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-P2bGufFpFdYcWvqpyqqmalRtwFUNUA8vHjJR5iGqbfR6mp65qKOLcUd6lTr4S9Gn/enynSrSf3p3FVgVAf6bXA==, + } + engines: { node: '>=14.0.0' } dependencies: '@smithy/node-config-provider': 2.3.0 '@smithy/protocol-http': 3.3.0 @@ -7107,31 +8559,43 @@ packages: dev: true /@smithy/middleware-serde@2.3.0: - resolution: {integrity: sha512-sIADe7ojwqTyvEQBe1nc/GXB9wdHhi9UwyX0lTyttmUWDJLP655ZYE1WngnNyXREme8I27KCaUhyhZWRXL0q7Q==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-sIADe7ojwqTyvEQBe1nc/GXB9wdHhi9UwyX0lTyttmUWDJLP655ZYE1WngnNyXREme8I27KCaUhyhZWRXL0q7Q==, + } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/middleware-stack@1.1.0: - resolution: {integrity: sha512-XynYiIvXNea2BbLcppvpNK0zu8o2woJqgnmxqYTn4FWagH/Hr2QIk8LOsUz7BIJ4tooFhmx8urHKCdlPbbPDCA==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-XynYiIvXNea2BbLcppvpNK0zu8o2woJqgnmxqYTn4FWagH/Hr2QIk8LOsUz7BIJ4tooFhmx8urHKCdlPbbPDCA==, + } + engines: { node: '>=14.0.0' } dependencies: tslib: 2.6.2 dev: true /@smithy/middleware-stack@2.2.0: - resolution: {integrity: sha512-Qntc3jrtwwrsAC+X8wms8zhrTr0sFXnyEGhZd9sLtsJ/6gGQKFzNB+wWbOcpJd7BR8ThNCoKt76BuQahfMvpeA==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-Qntc3jrtwwrsAC+X8wms8zhrTr0sFXnyEGhZd9sLtsJ/6gGQKFzNB+wWbOcpJd7BR8ThNCoKt76BuQahfMvpeA==, + } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/node-config-provider@2.3.0: - resolution: {integrity: sha512-0elK5/03a1JPWMDPaS726Iw6LpQg80gFut1tNpPfxFuChEEklo2yL823V94SpTZTxmKlXFtFgsP55uh3dErnIg==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-0elK5/03a1JPWMDPaS726Iw6LpQg80gFut1tNpPfxFuChEEklo2yL823V94SpTZTxmKlXFtFgsP55uh3dErnIg==, + } + engines: { node: '>=14.0.0' } dependencies: '@smithy/property-provider': 2.2.0 '@smithy/shared-ini-file-loader': 2.4.0 @@ -7140,8 +8604,11 @@ packages: dev: true /@smithy/node-http-handler@1.1.0: - resolution: {integrity: sha512-d3kRriEgaIiGXLziAM8bjnaLn1fthCJeTLZIwEIpzQqe6yPX0a+yQoLCTyjb2fvdLwkMoG4p7THIIB5cj5lkbg==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-d3kRriEgaIiGXLziAM8bjnaLn1fthCJeTLZIwEIpzQqe6yPX0a+yQoLCTyjb2fvdLwkMoG4p7THIIB5cj5lkbg==, + } + engines: { node: '>=14.0.0' } dependencies: '@smithy/abort-controller': 1.1.0 '@smithy/protocol-http': 1.2.0 @@ -7151,8 +8618,11 @@ packages: dev: true /@smithy/node-http-handler@2.5.0: - resolution: {integrity: sha512-mVGyPBzkkGQsPoxQUbxlEfRjrj6FPyA3u3u2VXGr9hT8wilsoQdZdvKpMBFMB8Crfhv5dNkKHIW0Yyuc7eABqA==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-mVGyPBzkkGQsPoxQUbxlEfRjrj6FPyA3u3u2VXGr9hT8wilsoQdZdvKpMBFMB8Crfhv5dNkKHIW0Yyuc7eABqA==, + } + engines: { node: '>=14.0.0' } dependencies: '@smithy/abort-controller': 2.2.0 '@smithy/protocol-http': 3.3.0 @@ -7162,32 +8632,44 @@ packages: dev: true /@smithy/property-provider@2.2.0: - resolution: {integrity: sha512-+xiil2lFhtTRzXkx8F053AV46QnIw6e7MV8od5Mi68E1ICOjCeCHw2XfLnDEUHnT9WGUIkwcqavXjfwuJbGlpg==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-+xiil2lFhtTRzXkx8F053AV46QnIw6e7MV8od5Mi68E1ICOjCeCHw2XfLnDEUHnT9WGUIkwcqavXjfwuJbGlpg==, + } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/protocol-http@1.2.0: - resolution: {integrity: sha512-GfGfruksi3nXdFok5RhgtOnWe5f6BndzYfmEXISD+5gAGdayFGpjWu5pIqIweTudMtse20bGbc+7MFZXT1Tb8Q==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-GfGfruksi3nXdFok5RhgtOnWe5f6BndzYfmEXISD+5gAGdayFGpjWu5pIqIweTudMtse20bGbc+7MFZXT1Tb8Q==, + } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 1.2.0 tslib: 2.6.2 dev: true /@smithy/protocol-http@3.3.0: - resolution: {integrity: sha512-Xy5XK1AFWW2nlY/biWZXu6/krgbaf2dg0q492D8M5qthsnU2H+UgFeZLbM76FnH7s6RO/xhQRkj+T6KBO3JzgQ==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-Xy5XK1AFWW2nlY/biWZXu6/krgbaf2dg0q492D8M5qthsnU2H+UgFeZLbM76FnH7s6RO/xhQRkj+T6KBO3JzgQ==, + } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/querystring-builder@1.1.0: - resolution: {integrity: sha512-gDEi4LxIGLbdfjrjiY45QNbuDmpkwh9DX4xzrR2AzjjXpxwGyfSpbJaYhXARw9p17VH0h9UewnNQXNwaQyYMDA==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-gDEi4LxIGLbdfjrjiY45QNbuDmpkwh9DX4xzrR2AzjjXpxwGyfSpbJaYhXARw9p17VH0h9UewnNQXNwaQyYMDA==, + } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 1.2.0 '@smithy/util-uri-escape': 1.1.0 @@ -7195,8 +8677,11 @@ packages: dev: true /@smithy/querystring-builder@2.2.0: - resolution: {integrity: sha512-L1kSeviUWL+emq3CUVSgdogoM/D9QMFaqxL/dd0X7PCNWmPXqt+ExtrBjqT0V7HLN03Vs9SuiLrG3zy3JGnE5A==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-L1kSeviUWL+emq3CUVSgdogoM/D9QMFaqxL/dd0X7PCNWmPXqt+ExtrBjqT0V7HLN03Vs9SuiLrG3zy3JGnE5A==, + } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 2.12.0 '@smithy/util-uri-escape': 2.2.0 @@ -7204,35 +8689,50 @@ packages: dev: true /@smithy/querystring-parser@2.2.0: - resolution: {integrity: sha512-BvHCDrKfbG5Yhbpj4vsbuPV2GgcpHiAkLeIlcA1LtfpMz3jrqizP1+OguSNSj1MwBHEiN+jwNisXLGdajGDQJA==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-BvHCDrKfbG5Yhbpj4vsbuPV2GgcpHiAkLeIlcA1LtfpMz3jrqizP1+OguSNSj1MwBHEiN+jwNisXLGdajGDQJA==, + } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/service-error-classification@1.1.0: - resolution: {integrity: sha512-OCTEeJ1igatd5kFrS2VDlYbainNNpf7Lj1siFOxnRWqYOP9oNvC5HOJBd3t+Z8MbrmehBtuDJ2QqeBsfeiNkww==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-OCTEeJ1igatd5kFrS2VDlYbainNNpf7Lj1siFOxnRWqYOP9oNvC5HOJBd3t+Z8MbrmehBtuDJ2QqeBsfeiNkww==, + } + engines: { node: '>=14.0.0' } dev: true /@smithy/service-error-classification@2.1.5: - resolution: {integrity: sha512-uBDTIBBEdAQryvHdc5W8sS5YX7RQzF683XrHePVdFmAgKiMofU15FLSM0/HU03hKTnazdNRFa0YHS7+ArwoUSQ==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-uBDTIBBEdAQryvHdc5W8sS5YX7RQzF683XrHePVdFmAgKiMofU15FLSM0/HU03hKTnazdNRFa0YHS7+ArwoUSQ==, + } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 2.12.0 /@smithy/shared-ini-file-loader@2.4.0: - resolution: {integrity: sha512-WyujUJL8e1B6Z4PBfAqC/aGY1+C7T0w20Gih3yrvJSk97gpiVfB+y7c46T4Nunk+ZngLq0rOIdeVeIklk0R3OA==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-WyujUJL8e1B6Z4PBfAqC/aGY1+C7T0w20Gih3yrvJSk97gpiVfB+y7c46T4Nunk+ZngLq0rOIdeVeIklk0R3OA==, + } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/signature-v4@2.3.0: - resolution: {integrity: sha512-ui/NlpILU+6HAQBfJX8BBsDXuKSNrjTSuOYArRblcrErwKFutjrCNb/OExfVRyj9+26F9J+ZmfWT+fKWuDrH3Q==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-ui/NlpILU+6HAQBfJX8BBsDXuKSNrjTSuOYArRblcrErwKFutjrCNb/OExfVRyj9+26F9J+ZmfWT+fKWuDrH3Q==, + } + engines: { node: '>=14.0.0' } dependencies: '@smithy/is-array-buffer': 2.2.0 '@smithy/types': 2.12.0 @@ -7244,8 +8744,11 @@ packages: dev: true /@smithy/smithy-client@1.1.0: - resolution: {integrity: sha512-j32SGgVhv2G9nBTmel9u3OXux8KG20ssxuFakJrEeDug3kqbl1qrGzVLCe+Eib402UDtA0Sp1a4NZ2SEXDBxag==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-j32SGgVhv2G9nBTmel9u3OXux8KG20ssxuFakJrEeDug3kqbl1qrGzVLCe+Eib402UDtA0Sp1a4NZ2SEXDBxag==, + } + engines: { node: '>=14.0.0' } dependencies: '@smithy/middleware-stack': 1.1.0 '@smithy/types': 1.2.0 @@ -7254,8 +8757,11 @@ packages: dev: true /@smithy/smithy-client@2.5.1: - resolution: {integrity: sha512-jrbSQrYCho0yDaaf92qWgd+7nAeap5LtHTI51KXqmpIFCceKU3K9+vIVTUH72bOJngBMqa4kyu1VJhRcSrk/CQ==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-jrbSQrYCho0yDaaf92qWgd+7nAeap5LtHTI51KXqmpIFCceKU3K9+vIVTUH72bOJngBMqa4kyu1VJhRcSrk/CQ==, + } + engines: { node: '>=14.0.0' } dependencies: '@smithy/middleware-endpoint': 2.5.1 '@smithy/middleware-stack': 2.2.0 @@ -7266,20 +8772,29 @@ packages: dev: true /@smithy/types@1.2.0: - resolution: {integrity: sha512-z1r00TvBqF3dh4aHhya7nz1HhvCg4TRmw51fjMrh5do3h+ngSstt/yKlNbHeb9QxJmFbmN8KEVSWgb1bRvfEoA==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-z1r00TvBqF3dh4aHhya7nz1HhvCg4TRmw51fjMrh5do3h+ngSstt/yKlNbHeb9QxJmFbmN8KEVSWgb1bRvfEoA==, + } + engines: { node: '>=14.0.0' } dependencies: tslib: 2.6.2 dev: true /@smithy/types@2.12.0: - resolution: {integrity: sha512-QwYgloJ0sVNBeBuBs65cIkTbfzV/Q6ZNPCJ99EICFEdJYG50nGIY/uYXp+TbsdJReIuPr0a0kXmCvren3MbRRw==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-QwYgloJ0sVNBeBuBs65cIkTbfzV/Q6ZNPCJ99EICFEdJYG50nGIY/uYXp+TbsdJReIuPr0a0kXmCvren3MbRRw==, + } + engines: { node: '>=14.0.0' } dependencies: tslib: 2.6.2 /@smithy/url-parser@2.2.0: - resolution: {integrity: sha512-hoA4zm61q1mNTpksiSWp2nEl1dt3j726HdRhiNgVJQMj7mLp7dprtF57mOB6JvEk/x9d2bsuL5hlqZbBuHQylQ==} + resolution: + { + integrity: sha512-hoA4zm61q1mNTpksiSWp2nEl1dt3j726HdRhiNgVJQMj7mLp7dprtF57mOB6JvEk/x9d2bsuL5hlqZbBuHQylQ==, + } dependencies: '@smithy/querystring-parser': 2.2.0 '@smithy/types': 2.12.0 @@ -7287,16 +8802,22 @@ packages: dev: true /@smithy/util-base64@1.1.0: - resolution: {integrity: sha512-FpYmDmVbOXAxqvoVCwqehUN0zXS+lN8V7VS9O7I8MKeVHdSTsZzlwiMEvGoyTNOXWn8luF4CTDYgNHnZViR30g==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-FpYmDmVbOXAxqvoVCwqehUN0zXS+lN8V7VS9O7I8MKeVHdSTsZzlwiMEvGoyTNOXWn8luF4CTDYgNHnZViR30g==, + } + engines: { node: '>=14.0.0' } dependencies: '@smithy/util-buffer-from': 1.1.0 tslib: 2.6.2 dev: true /@smithy/util-base64@2.3.0: - resolution: {integrity: sha512-s3+eVwNeJuXUwuMbusncZNViuhv2LjVJ1nMwTqSA0XAC7gjKhqqxRdJPhR8+YrkoZ9IiIbFk/yK6ACe/xlF+hw==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-s3+eVwNeJuXUwuMbusncZNViuhv2LjVJ1nMwTqSA0XAC7gjKhqqxRdJPhR8+YrkoZ9IiIbFk/yK6ACe/xlF+hw==, + } + engines: { node: '>=14.0.0' } dependencies: '@smithy/util-buffer-from': 2.2.0 '@smithy/util-utf8': 2.3.0 @@ -7304,51 +8825,72 @@ packages: dev: true /@smithy/util-body-length-browser@2.2.0: - resolution: {integrity: sha512-dtpw9uQP7W+n3vOtx0CfBD5EWd7EPdIdsQnWTDoFf77e3VUf05uA7R7TGipIo8e4WL2kuPdnsr3hMQn9ziYj5w==} + resolution: + { + integrity: sha512-dtpw9uQP7W+n3vOtx0CfBD5EWd7EPdIdsQnWTDoFf77e3VUf05uA7R7TGipIo8e4WL2kuPdnsr3hMQn9ziYj5w==, + } dependencies: tslib: 2.6.2 dev: true /@smithy/util-body-length-node@2.3.0: - resolution: {integrity: sha512-ITWT1Wqjubf2CJthb0BuT9+bpzBfXeMokH/AAa5EJQgbv9aPMVfnM76iFIZVFf50hYXGbtiV71BHAthNWd6+dw==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-ITWT1Wqjubf2CJthb0BuT9+bpzBfXeMokH/AAa5EJQgbv9aPMVfnM76iFIZVFf50hYXGbtiV71BHAthNWd6+dw==, + } + engines: { node: '>=14.0.0' } dependencies: tslib: 2.6.2 dev: true /@smithy/util-buffer-from@1.1.0: - resolution: {integrity: sha512-9m6NXE0ww+ra5HKHCHig20T+FAwxBAm7DIdwc/767uGWbRcY720ybgPacQNB96JMOI7xVr/CDa3oMzKmW4a+kw==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-9m6NXE0ww+ra5HKHCHig20T+FAwxBAm7DIdwc/767uGWbRcY720ybgPacQNB96JMOI7xVr/CDa3oMzKmW4a+kw==, + } + engines: { node: '>=14.0.0' } dependencies: '@smithy/is-array-buffer': 1.1.0 tslib: 2.6.2 dev: true /@smithy/util-buffer-from@2.2.0: - resolution: {integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==, + } + engines: { node: '>=14.0.0' } dependencies: '@smithy/is-array-buffer': 2.2.0 tslib: 2.6.2 dev: true /@smithy/util-config-provider@1.1.0: - resolution: {integrity: sha512-rQ47YpNmF6Is4I9GiE3T3+0xQ+r7RKRKbmHYyGSbyep/0cSf9kteKcI0ssJTvveJ1K4QvwrxXj1tEFp/G2UqxQ==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-rQ47YpNmF6Is4I9GiE3T3+0xQ+r7RKRKbmHYyGSbyep/0cSf9kteKcI0ssJTvveJ1K4QvwrxXj1tEFp/G2UqxQ==, + } + engines: { node: '>=14.0.0' } dependencies: tslib: 2.6.2 dev: true /@smithy/util-config-provider@2.3.0: - resolution: {integrity: sha512-HZkzrRcuFN1k70RLqlNK4FnPXKOpkik1+4JaBoHNJn+RnJGYqaa3c5/+XtLOXhlKzlRgNvyaLieHTW2VwGN0VQ==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-HZkzrRcuFN1k70RLqlNK4FnPXKOpkik1+4JaBoHNJn+RnJGYqaa3c5/+XtLOXhlKzlRgNvyaLieHTW2VwGN0VQ==, + } + engines: { node: '>=14.0.0' } dependencies: tslib: 2.6.2 dev: true /@smithy/util-defaults-mode-browser@2.2.1: - resolution: {integrity: sha512-RtKW+8j8skk17SYowucwRUjeh4mCtnm5odCL0Lm2NtHQBsYKrNW0od9Rhopu9wF1gHMfHeWF7i90NwBz/U22Kw==} - engines: {node: '>= 10.0.0'} + resolution: + { + integrity: sha512-RtKW+8j8skk17SYowucwRUjeh4mCtnm5odCL0Lm2NtHQBsYKrNW0od9Rhopu9wF1gHMfHeWF7i90NwBz/U22Kw==, + } + engines: { node: '>= 10.0.0' } dependencies: '@smithy/property-provider': 2.2.0 '@smithy/smithy-client': 2.5.1 @@ -7358,8 +8900,11 @@ packages: dev: true /@smithy/util-defaults-mode-node@2.3.1: - resolution: {integrity: sha512-vkMXHQ0BcLFysBMWgSBLSk3+leMpFSyyFj8zQtv5ZyUBx8/owVh1/pPEkzmW/DR/Gy/5c8vjLDD9gZjXNKbrpA==} - engines: {node: '>= 10.0.0'} + resolution: + { + integrity: sha512-vkMXHQ0BcLFysBMWgSBLSk3+leMpFSyyFj8zQtv5ZyUBx8/owVh1/pPEkzmW/DR/Gy/5c8vjLDD9gZjXNKbrpA==, + } + engines: { node: '>= 10.0.0' } dependencies: '@smithy/config-resolver': 2.2.0 '@smithy/credential-provider-imds': 2.3.0 @@ -7371,8 +8916,11 @@ packages: dev: true /@smithy/util-endpoints@1.2.0: - resolution: {integrity: sha512-BuDHv8zRjsE5zXd3PxFXFknzBG3owCpjq8G3FcsXW3CykYXuEqM3nTSsmLzw5q+T12ZYuDlVUZKBdpNbhVtlrQ==} - engines: {node: '>= 14.0.0'} + resolution: + { + integrity: sha512-BuDHv8zRjsE5zXd3PxFXFknzBG3owCpjq8G3FcsXW3CykYXuEqM3nTSsmLzw5q+T12ZYuDlVUZKBdpNbhVtlrQ==, + } + engines: { node: '>= 14.0.0' } dependencies: '@smithy/node-config-provider': 2.3.0 '@smithy/types': 2.12.0 @@ -7380,45 +8928,63 @@ packages: dev: true /@smithy/util-hex-encoding@1.1.0: - resolution: {integrity: sha512-7UtIE9eH0u41zpB60Jzr0oNCQ3hMJUabMcKRUVjmyHTXiWDE4vjSqN6qlih7rCNeKGbioS7f/y2Jgym4QZcKFg==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-7UtIE9eH0u41zpB60Jzr0oNCQ3hMJUabMcKRUVjmyHTXiWDE4vjSqN6qlih7rCNeKGbioS7f/y2Jgym4QZcKFg==, + } + engines: { node: '>=14.0.0' } dependencies: tslib: 2.6.2 dev: true /@smithy/util-hex-encoding@2.2.0: - resolution: {integrity: sha512-7iKXR+/4TpLK194pVjKiasIyqMtTYJsgKgM242Y9uzt5dhHnUDvMNb+3xIhRJ9QhvqGii/5cRUt4fJn3dtXNHQ==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-7iKXR+/4TpLK194pVjKiasIyqMtTYJsgKgM242Y9uzt5dhHnUDvMNb+3xIhRJ9QhvqGii/5cRUt4fJn3dtXNHQ==, + } + engines: { node: '>=14.0.0' } dependencies: tslib: 2.6.2 dev: true /@smithy/util-middleware@1.1.0: - resolution: {integrity: sha512-6hhckcBqVgjWAqLy2vqlPZ3rfxLDhFWEmM7oLh2POGvsi7j0tHkbN7w4DFhuBExVJAbJ/qqxqZdRY6Fu7/OezQ==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-6hhckcBqVgjWAqLy2vqlPZ3rfxLDhFWEmM7oLh2POGvsi7j0tHkbN7w4DFhuBExVJAbJ/qqxqZdRY6Fu7/OezQ==, + } + engines: { node: '>=14.0.0' } dependencies: tslib: 2.6.2 dev: true /@smithy/util-middleware@2.2.0: - resolution: {integrity: sha512-L1qpleXf9QD6LwLCJ5jddGkgWyuSvWBkJwWAZ6kFkdifdso+sk3L3O1HdmPvCdnCK3IS4qWyPxev01QMnfHSBw==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-L1qpleXf9QD6LwLCJ5jddGkgWyuSvWBkJwWAZ6kFkdifdso+sk3L3O1HdmPvCdnCK3IS4qWyPxev01QMnfHSBw==, + } + engines: { node: '>=14.0.0' } dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/util-retry@1.1.0: - resolution: {integrity: sha512-ygQW5HBqYXpR3ua09UciS0sL7UGJzGiktrKkOuEJwARoUuzz40yaEGU6xd9Gs7KBmAaFC8gMfnghHtwZ2nyBCQ==} - engines: {node: '>= 14.0.0'} + resolution: + { + integrity: sha512-ygQW5HBqYXpR3ua09UciS0sL7UGJzGiktrKkOuEJwARoUuzz40yaEGU6xd9Gs7KBmAaFC8gMfnghHtwZ2nyBCQ==, + } + engines: { node: '>= 14.0.0' } dependencies: '@smithy/service-error-classification': 1.1.0 tslib: 2.6.2 dev: true /@smithy/util-retry@2.2.0: - resolution: {integrity: sha512-q9+pAFPTfftHXRytmZ7GzLFFrEGavqapFc06XxzZFcSIGERXMerXxCitjOG1prVDR9QdjqotF40SWvbqcCpf8g==} - engines: {node: '>= 14.0.0'} + resolution: + { + integrity: sha512-q9+pAFPTfftHXRytmZ7GzLFFrEGavqapFc06XxzZFcSIGERXMerXxCitjOG1prVDR9QdjqotF40SWvbqcCpf8g==, + } + engines: { node: '>= 14.0.0' } dependencies: '@smithy/service-error-classification': 2.1.5 '@smithy/types': 2.12.0 @@ -7426,8 +8992,11 @@ packages: dev: true /@smithy/util-stream@1.1.0: - resolution: {integrity: sha512-w3lsdGsntaLQIrwDWJkIFKrFscgZXwU/oxsse09aSTNv5TckPhDeYea3LhsDrU5MGAG3vprhVZAKr33S45coVA==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-w3lsdGsntaLQIrwDWJkIFKrFscgZXwU/oxsse09aSTNv5TckPhDeYea3LhsDrU5MGAG3vprhVZAKr33S45coVA==, + } + engines: { node: '>=14.0.0' } dependencies: '@smithy/fetch-http-handler': 1.1.0 '@smithy/node-http-handler': 1.1.0 @@ -7440,8 +9009,11 @@ packages: dev: true /@smithy/util-stream@2.2.0: - resolution: {integrity: sha512-17faEXbYWIRst1aU9SvPZyMdWmqIrduZjVOqCPMIsWFNxs5yQQgFrJL6b2SdiCzyW9mJoDjFtgi53xx7EH+BXA==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-17faEXbYWIRst1aU9SvPZyMdWmqIrduZjVOqCPMIsWFNxs5yQQgFrJL6b2SdiCzyW9mJoDjFtgi53xx7EH+BXA==, + } + engines: { node: '>=14.0.0' } dependencies: '@smithy/fetch-http-handler': 2.5.0 '@smithy/node-http-handler': 2.5.0 @@ -7454,38 +9026,53 @@ packages: dev: true /@smithy/util-uri-escape@1.1.0: - resolution: {integrity: sha512-/jL/V1xdVRt5XppwiaEU8Etp5WHZj609n0xMTuehmCqdoOFbId1M+aEeDWZsQ+8JbEB/BJ6ynY2SlYmOaKtt8w==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-/jL/V1xdVRt5XppwiaEU8Etp5WHZj609n0xMTuehmCqdoOFbId1M+aEeDWZsQ+8JbEB/BJ6ynY2SlYmOaKtt8w==, + } + engines: { node: '>=14.0.0' } dependencies: tslib: 2.6.2 dev: true /@smithy/util-uri-escape@2.2.0: - resolution: {integrity: sha512-jtmJMyt1xMD/d8OtbVJ2gFZOSKc+ueYJZPW20ULW1GOp/q/YIM0wNh+u8ZFao9UaIGz4WoPW8hC64qlWLIfoDA==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-jtmJMyt1xMD/d8OtbVJ2gFZOSKc+ueYJZPW20ULW1GOp/q/YIM0wNh+u8ZFao9UaIGz4WoPW8hC64qlWLIfoDA==, + } + engines: { node: '>=14.0.0' } dependencies: tslib: 2.6.2 dev: true /@smithy/util-utf8@1.1.0: - resolution: {integrity: sha512-p/MYV+JmqmPyjdgyN2UxAeYDj9cBqCjp0C/NsTWnnjoZUVqoeZ6IrW915L9CAKWVECgv9lVQGc4u/yz26/bI1A==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-p/MYV+JmqmPyjdgyN2UxAeYDj9cBqCjp0C/NsTWnnjoZUVqoeZ6IrW915L9CAKWVECgv9lVQGc4u/yz26/bI1A==, + } + engines: { node: '>=14.0.0' } dependencies: '@smithy/util-buffer-from': 1.1.0 tslib: 2.6.2 dev: true /@smithy/util-utf8@2.3.0: - resolution: {integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==, + } + engines: { node: '>=14.0.0' } dependencies: '@smithy/util-buffer-from': 2.2.0 tslib: 2.6.2 dev: true /@smithy/util-waiter@2.2.0: - resolution: {integrity: sha512-IHk53BVw6MPMi2Gsn+hCng8rFA3ZmR3Rk7GllxDUW9qFJl/hiSvskn7XldkECapQVkIg/1dHpMAxI9xSTaLLSA==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-IHk53BVw6MPMi2Gsn+hCng8rFA3ZmR3Rk7GllxDUW9qFJl/hiSvskn7XldkECapQVkIg/1dHpMAxI9xSTaLLSA==, + } + engines: { node: '>=14.0.0' } dependencies: '@smithy/abort-controller': 2.2.0 '@smithy/types': 2.12.0 @@ -7493,57 +9080,93 @@ packages: dev: true /@solidity-parser/parser@0.14.5: - resolution: {integrity: sha512-6dKnHZn7fg/iQATVEzqyUOyEidbn05q7YA2mQ9hC0MMXhhV3/JrsxmFSYZAcr7j1yUP700LLhTruvJ3MiQmjJg==} + resolution: + { + integrity: sha512-6dKnHZn7fg/iQATVEzqyUOyEidbn05q7YA2mQ9hC0MMXhhV3/JrsxmFSYZAcr7j1yUP700LLhTruvJ3MiQmjJg==, + } dependencies: antlr4ts: 0.5.0-alpha.4 dev: true /@solidity-parser/parser@0.18.0: - resolution: {integrity: sha512-yfORGUIPgLck41qyN7nbwJRAx17/jAIXCTanHOJZhB6PJ1iAk/84b/xlsVKFSyNyLXIj0dhppoE0+CRws7wlzA==} + resolution: + { + integrity: sha512-yfORGUIPgLck41qyN7nbwJRAx17/jAIXCTanHOJZhB6PJ1iAk/84b/xlsVKFSyNyLXIj0dhppoE0+CRws7wlzA==, + } dev: true /@trpc/client@11.0.0-next-beta.264(@trpc/server@11.0.0-next-beta.264): - resolution: {integrity: sha512-He/kE++/rDq/yZr7xCkQmOC+1S3auulLVjBuo6LvuYuFQL+Slf2ObRftbNVWa92GVd/llxV+eNlbzR9mTVPCPg==} + resolution: + { + integrity: sha512-He/kE++/rDq/yZr7xCkQmOC+1S3auulLVjBuo6LvuYuFQL+Slf2ObRftbNVWa92GVd/llxV+eNlbzR9mTVPCPg==, + } peerDependencies: '@trpc/server': 11.0.0-next-beta.264+f5f08f35d dependencies: '@trpc/server': 11.0.0-next-beta.264 /@trpc/server@11.0.0-next-beta.264: - resolution: {integrity: sha512-h6RJX+C+VgFQusxGVtw3n1PZPLt27ZG70U8cPR5pwmsnE2E3vREijOgEo5MRKoiUhVrjbw8e6gnGVeKzl7uZXg==} + resolution: + { + integrity: sha512-h6RJX+C+VgFQusxGVtw3n1PZPLt27ZG70U8cPR5pwmsnE2E3vREijOgEo5MRKoiUhVrjbw8e6gnGVeKzl7uZXg==, + } /@trpc/server@9.16.0: - resolution: {integrity: sha512-IENsJs41ZR4oeFUJhsNNTSgEOtuRN0m9u7ec4u3eG/qOc7bIoo1nDoYtx4bl6OJJSQYEytG9tlcVz9G8OAaHbg==} + resolution: + { + integrity: sha512-IENsJs41ZR4oeFUJhsNNTSgEOtuRN0m9u7ec4u3eG/qOc7bIoo1nDoYtx4bl6OJJSQYEytG9tlcVz9G8OAaHbg==, + } dependencies: tslib: 2.6.2 dev: true /@tsconfig/node10@1.0.11: - resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} + resolution: + { + integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==, + } dev: true /@tsconfig/node12@1.0.11: - resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} + resolution: + { + integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==, + } dev: true /@tsconfig/node14@1.0.3: - resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} + resolution: + { + integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==, + } dev: true /@tsconfig/node16@1.0.4: - resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} + resolution: + { + integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==, + } dev: true /@tsconfig/node20@20.1.4: - resolution: {integrity: sha512-sqgsT69YFeLWf5NtJ4Xq/xAF8p4ZQHlmGW74Nu2tD4+g5fAsposc4ZfaaPixVu4y01BEiDCWLRDCvDM5JOsRxg==} + resolution: + { + integrity: sha512-sqgsT69YFeLWf5NtJ4Xq/xAF8p4ZQHlmGW74Nu2tD4+g5fAsposc4ZfaaPixVu4y01BEiDCWLRDCvDM5JOsRxg==, + } dev: true /@types/aws-lambda@8.10.137: - resolution: {integrity: sha512-YNFwzVarXAOXkjuFxONyDw1vgRNzyH8AuyN19s0bM+ChSu/bzxb5XPxYFLXoqoM+tvgzwR3k7fXcEOW125yJxg==} + resolution: + { + integrity: sha512-YNFwzVarXAOXkjuFxONyDw1vgRNzyH8AuyN19s0bM+ChSu/bzxb5XPxYFLXoqoM+tvgzwR3k7fXcEOW125yJxg==, + } dev: true /@types/babel__core@7.20.5: - resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + resolution: + { + integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==, + } dependencies: '@babel/parser': 7.24.4 '@babel/types': 7.24.0 @@ -7553,66 +9176,99 @@ packages: dev: true /@types/babel__generator@7.6.8: - resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} + resolution: + { + integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==, + } dependencies: '@babel/types': 7.24.0 dev: true /@types/babel__template@7.4.4: - resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + resolution: + { + integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==, + } dependencies: '@babel/parser': 7.24.4 '@babel/types': 7.24.0 dev: true /@types/babel__traverse@7.20.5: - resolution: {integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==} + resolution: + { + integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==, + } dependencies: '@babel/types': 7.24.0 dev: true /@types/bn.js@4.11.6: - resolution: {integrity: sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==} + resolution: + { + integrity: sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==, + } dependencies: '@types/node': 20.12.7 dev: true /@types/bn.js@5.1.5: - resolution: {integrity: sha512-V46N0zwKRF5Q00AZ6hWtN0T8gGmDUaUzLWQvHFo5yThtVwK/VCenFY3wXVbOvNfajEpsTfQM4IN9k/d6gUVX3A==} + resolution: + { + integrity: sha512-V46N0zwKRF5Q00AZ6hWtN0T8gGmDUaUzLWQvHFo5yThtVwK/VCenFY3wXVbOvNfajEpsTfQM4IN9k/d6gUVX3A==, + } dependencies: '@types/node': 20.12.7 dev: true /@types/chai-as-promised@7.1.8: - resolution: {integrity: sha512-ThlRVIJhr69FLlh6IctTXFkmhtP3NpMZ2QGq69StYLyKZFp/HOp1VdKZj7RvfNWYYcJ1xlbLGLLWj1UvP5u/Gw==} + resolution: + { + integrity: sha512-ThlRVIJhr69FLlh6IctTXFkmhtP3NpMZ2QGq69StYLyKZFp/HOp1VdKZj7RvfNWYYcJ1xlbLGLLWj1UvP5u/Gw==, + } dependencies: '@types/chai': 4.3.14 dev: true /@types/chai@4.3.14: - resolution: {integrity: sha512-Wj71sXE4Q4AkGdG9Tvq1u/fquNz9EdG4LIJMwVVII7ashjD/8cf8fyIfJAjRr6YcsXnSE8cOGQPq1gqeR8z+3w==} + resolution: + { + integrity: sha512-Wj71sXE4Q4AkGdG9Tvq1u/fquNz9EdG4LIJMwVVII7ashjD/8cf8fyIfJAjRr6YcsXnSE8cOGQPq1gqeR8z+3w==, + } dev: true /@types/cls-hooked@4.3.8: - resolution: {integrity: sha512-tf/7H883gFA6MPlWI15EQtfNZ+oPL0gLKkOlx9UHFrun1fC/FkuyNBpTKq1B5E3T4fbvjId6WifHUdSGsMMuPg==} + resolution: + { + integrity: sha512-tf/7H883gFA6MPlWI15EQtfNZ+oPL0gLKkOlx9UHFrun1fC/FkuyNBpTKq1B5E3T4fbvjId6WifHUdSGsMMuPg==, + } dependencies: '@types/node': 20.12.7 dev: false /@types/concat-stream@1.6.1: - resolution: {integrity: sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==} + resolution: + { + integrity: sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==, + } dependencies: '@types/node': 20.12.7 dev: true /@types/form-data@0.0.33: - resolution: {integrity: sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==} + resolution: + { + integrity: sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==, + } dependencies: '@types/node': 20.12.7 dev: true /@types/fs-extra@11.0.4: - resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} + resolution: + { + integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==, + } requiresBuild: true dependencies: '@types/jsonfile': 6.1.4 @@ -7621,59 +9277,92 @@ packages: optional: true /@types/glob@7.2.0: - resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} + resolution: + { + integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==, + } dependencies: '@types/minimatch': 5.1.2 '@types/node': 20.12.7 dev: true /@types/graceful-fs@4.1.9: - resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} + resolution: + { + integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==, + } dependencies: '@types/node': 20.12.7 dev: true /@types/istanbul-lib-coverage@2.0.6: - resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + resolution: + { + integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==, + } dev: true /@types/istanbul-lib-report@3.0.3: - resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + resolution: + { + integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==, + } dependencies: '@types/istanbul-lib-coverage': 2.0.6 dev: true /@types/istanbul-reports@3.0.4: - resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + resolution: + { + integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==, + } dependencies: '@types/istanbul-lib-report': 3.0.3 dev: true /@types/jest@29.5.12: - resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} + resolution: + { + integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==, + } dependencies: expect: 29.7.0 pretty-format: 29.7.0 dev: true /@types/js-yaml@4.0.9: - resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==} + resolution: + { + integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==, + } dev: true /@types/json-schema@7.0.15: - resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + resolution: + { + integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==, + } dev: true /@types/json-stable-stringify@1.0.36: - resolution: {integrity: sha512-b7bq23s4fgBB76n34m2b3RBf6M369B0Z9uRR8aHTMd8kZISRkmDEpPD8hhpYvDFzr3bJCPES96cm3Q6qRNDbQw==} + resolution: + { + integrity: sha512-b7bq23s4fgBB76n34m2b3RBf6M369B0Z9uRR8aHTMd8kZISRkmDEpPD8hhpYvDFzr3bJCPES96cm3Q6qRNDbQw==, + } dev: true /@types/json5@0.0.29: - resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + resolution: + { + integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==, + } dev: true /@types/jsonfile@6.1.4: - resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==} + resolution: + { + integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==, + } requiresBuild: true dependencies: '@types/node': 20.12.7 @@ -7681,98 +9370,158 @@ packages: optional: true /@types/lru-cache@5.1.1: - resolution: {integrity: sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==} + resolution: + { + integrity: sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==, + } dev: true /@types/minimatch@5.1.2: - resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} + resolution: + { + integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==, + } dev: true /@types/mocha@10.0.6: - resolution: {integrity: sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==} + resolution: + { + integrity: sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==, + } dev: true /@types/mute-stream@0.0.4: - resolution: {integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==} + resolution: + { + integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==, + } dependencies: '@types/node': 20.12.7 dev: false /@types/node-fetch@2.6.11: - resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==} + resolution: + { + integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==, + } dependencies: '@types/node': 20.12.7 form-data: 4.0.0 dev: false /@types/node@10.17.60: - resolution: {integrity: sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==} + resolution: + { + integrity: sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==, + } dev: true /@types/node@18.15.13: - resolution: {integrity: sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==} + resolution: + { + integrity: sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==, + } dev: true /@types/node@20.12.7: - resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==} + resolution: + { + integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==, + } dependencies: undici-types: 5.26.5 /@types/node@8.10.66: - resolution: {integrity: sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==} + resolution: + { + integrity: sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==, + } dev: true /@types/normalize-package-data@2.4.4: - resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} + resolution: + { + integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==, + } dev: true /@types/pbkdf2@3.1.2: - resolution: {integrity: sha512-uRwJqmiXmh9++aSu1VNEn3iIxWOhd8AHXNSdlaLfdAAdSTY9jYVeGWnzejM3dvrkbqE3/hyQkQQ29IFATEGlew==} + resolution: + { + integrity: sha512-uRwJqmiXmh9++aSu1VNEn3iIxWOhd8AHXNSdlaLfdAAdSTY9jYVeGWnzejM3dvrkbqE3/hyQkQQ29IFATEGlew==, + } dependencies: '@types/node': 20.12.7 dev: true /@types/qs@6.9.15: - resolution: {integrity: sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==} + resolution: + { + integrity: sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==, + } dev: true /@types/secp256k1@4.0.6: - resolution: {integrity: sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ==} + resolution: + { + integrity: sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ==, + } dependencies: '@types/node': 20.12.7 dev: true /@types/semver@7.5.8: - resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} + resolution: + { + integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==, + } dev: true /@types/stack-utils@2.0.3: - resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + resolution: + { + integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==, + } dev: true /@types/wrap-ansi@3.0.0: - resolution: {integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==} + resolution: + { + integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==, + } dev: false /@types/ws@8.5.10: - resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} + resolution: + { + integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==, + } dependencies: '@types/node': 20.12.7 dev: true /@types/yargs-parser@21.0.3: - resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + resolution: + { + integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==, + } dev: true /@types/yargs@17.0.32: - resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} + resolution: + { + integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==, + } dependencies: '@types/yargs-parser': 21.0.3 dev: true /@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.4.5): - resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} - engines: {node: ^16.0.0 || >=18.0.0} + resolution: + { + integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==, + } + engines: { node: ^16.0.0 || >=18.0.0 } peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha eslint: ^7.0.0 || ^8.0.0 @@ -7800,8 +9549,11 @@ packages: dev: true /@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5): - resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} - engines: {node: ^16.0.0 || >=18.0.0} + resolution: + { + integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==, + } + engines: { node: ^16.0.0 || >=18.0.0 } peerDependencies: eslint: ^7.0.0 || ^8.0.0 typescript: '*' @@ -7821,24 +9573,33 @@ packages: dev: true /@typescript-eslint/scope-manager@5.62.0: - resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { + integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 dev: true /@typescript-eslint/scope-manager@6.21.0: - resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} - engines: {node: ^16.0.0 || >=18.0.0} + resolution: + { + integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==, + } + engines: { node: ^16.0.0 || >=18.0.0 } dependencies: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0 dev: true /@typescript-eslint/type-utils@6.21.0(eslint@8.57.0)(typescript@5.4.5): - resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} - engines: {node: ^16.0.0 || >=18.0.0} + resolution: + { + integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==, + } + engines: { node: ^16.0.0 || >=18.0.0 } peerDependencies: eslint: ^7.0.0 || ^8.0.0 typescript: '*' @@ -7857,18 +9618,27 @@ packages: dev: true /@typescript-eslint/types@5.62.0: - resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { + integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dev: true /@typescript-eslint/types@6.21.0: - resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} - engines: {node: ^16.0.0 || >=18.0.0} + resolution: + { + integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==, + } + engines: { node: ^16.0.0 || >=18.0.0 } dev: true /@typescript-eslint/typescript-estree@5.62.0(typescript@5.4.5): - resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { + integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: typescript: '*' peerDependenciesMeta: @@ -7888,8 +9658,11 @@ packages: dev: true /@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.5): - resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} - engines: {node: ^16.0.0 || >=18.0.0} + resolution: + { + integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==, + } + engines: { node: ^16.0.0 || >=18.0.0 } peerDependencies: typescript: '*' peerDependenciesMeta: @@ -7910,8 +9683,11 @@ packages: dev: true /@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.4.5): - resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { + integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: @@ -7930,8 +9706,11 @@ packages: dev: true /@typescript-eslint/utils@6.21.0(eslint@8.57.0)(typescript@5.4.5): - resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} - engines: {node: ^16.0.0 || >=18.0.0} + resolution: + { + integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==, + } + engines: { node: ^16.0.0 || >=18.0.0 } peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: @@ -7949,28 +9728,40 @@ packages: dev: true /@typescript-eslint/visitor-keys@5.62.0: - resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { + integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dependencies: '@typescript-eslint/types': 5.62.0 eslint-visitor-keys: 3.4.3 dev: true /@typescript-eslint/visitor-keys@6.21.0: - resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} - engines: {node: ^16.0.0 || >=18.0.0} + resolution: + { + integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==, + } + engines: { node: ^16.0.0 || >=18.0.0 } dependencies: '@typescript-eslint/types': 6.21.0 eslint-visitor-keys: 3.4.3 dev: true /@ungap/structured-clone@1.2.0: - resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + resolution: + { + integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==, + } dev: true /@vercel/style-guide@5.2.0(eslint@8.57.0)(jest@29.7.0)(prettier@3.2.5)(typescript@5.4.5): - resolution: {integrity: sha512-fNSKEaZvSkiBoF6XEefs8CcgAV9K9e+MbcsDZjUsktHycKdA0jvjAzQi1W/FzLS+Nr5zZ6oejCwq/97dHUKe0g==} - engines: {node: '>=16'} + resolution: + { + integrity: sha512-fNSKEaZvSkiBoF6XEefs8CcgAV9K9e+MbcsDZjUsktHycKdA0jvjAzQi1W/FzLS+Nr5zZ6oejCwq/97dHUKe0g==, + } + engines: { node: '>=16' } peerDependencies: '@next/eslint-plugin-next': '>=12.3.0 <15' eslint: '>=8.48.0 <9' @@ -8016,20 +9807,32 @@ packages: dev: true /@whatwg-node/events@0.0.2: - resolution: {integrity: sha512-WKj/lI4QjnLuPrim0cfO7i+HsDSXHxNv1y0CrJhdntuO3hxWZmnXCwNDnwOvry11OjRin6cgWNF+j/9Pn8TN4w==} + resolution: + { + integrity: sha512-WKj/lI4QjnLuPrim0cfO7i+HsDSXHxNv1y0CrJhdntuO3hxWZmnXCwNDnwOvry11OjRin6cgWNF+j/9Pn8TN4w==, + } dev: true /@whatwg-node/events@0.0.3: - resolution: {integrity: sha512-IqnKIDWfXBJkvy/k6tzskWTc2NK3LcqHlb+KHGCrjOCH4jfQckRX0NAiIcC/vIqQkzLYw2r2CTSwAxcrtcD6lA==} + resolution: + { + integrity: sha512-IqnKIDWfXBJkvy/k6tzskWTc2NK3LcqHlb+KHGCrjOCH4jfQckRX0NAiIcC/vIqQkzLYw2r2CTSwAxcrtcD6lA==, + } dev: true /@whatwg-node/events@0.1.1: - resolution: {integrity: sha512-AyQEn5hIPV7Ze+xFoXVU3QTHXVbWPrzaOkxtENMPMuNL6VVHrp4hHfDt9nrQpjO7BgvuM95dMtkycX5M/DZR3w==} - engines: {node: '>=16.0.0'} + resolution: + { + integrity: sha512-AyQEn5hIPV7Ze+xFoXVU3QTHXVbWPrzaOkxtENMPMuNL6VVHrp4hHfDt9nrQpjO7BgvuM95dMtkycX5M/DZR3w==, + } + engines: { node: '>=16.0.0' } dev: true /@whatwg-node/fetch@0.8.8: - resolution: {integrity: sha512-CdcjGC2vdKhc13KKxgsc6/616BQ7ooDIgPeTuAiE8qfCnS0mGzcfCOoZXypQSz73nxI+GWc7ZReIAVhxoE1KCg==} + resolution: + { + integrity: sha512-CdcjGC2vdKhc13KKxgsc6/616BQ7ooDIgPeTuAiE8qfCnS0mGzcfCOoZXypQSz73nxI+GWc7ZReIAVhxoE1KCg==, + } dependencies: '@peculiar/webcrypto': 1.4.6 '@whatwg-node/node-fetch': 0.3.6 @@ -8039,15 +9842,21 @@ packages: dev: true /@whatwg-node/fetch@0.9.17: - resolution: {integrity: sha512-TDYP3CpCrxwxpiNY0UMNf096H5Ihf67BK1iKGegQl5u9SlpEDYrvnV71gWBGJm+Xm31qOy8ATgma9rm8Pe7/5Q==} - engines: {node: '>=16.0.0'} + resolution: + { + integrity: sha512-TDYP3CpCrxwxpiNY0UMNf096H5Ihf67BK1iKGegQl5u9SlpEDYrvnV71gWBGJm+Xm31qOy8ATgma9rm8Pe7/5Q==, + } + engines: { node: '>=16.0.0' } dependencies: '@whatwg-node/node-fetch': 0.5.10 urlpattern-polyfill: 10.0.0 dev: true /@whatwg-node/node-fetch@0.3.6: - resolution: {integrity: sha512-w9wKgDO4C95qnXZRwZTfCmLWqyRnooGjcIwG0wADWjw9/HN0p7dtvtgSvItZtUyNteEvgTrd8QojNEqV6DAGTA==} + resolution: + { + integrity: sha512-w9wKgDO4C95qnXZRwZTfCmLWqyRnooGjcIwG0wADWjw9/HN0p7dtvtgSvItZtUyNteEvgTrd8QojNEqV6DAGTA==, + } dependencies: '@whatwg-node/events': 0.0.3 busboy: 1.6.0 @@ -8057,8 +9866,11 @@ packages: dev: true /@whatwg-node/node-fetch@0.5.10: - resolution: {integrity: sha512-KIAHepie/T1PRkUfze4t+bPlyvpxlWiXTPtcGlbIZ0vWkBJMdRmCg4ZrJ2y4XaO1eTPo1HlWYUuj1WvoIpumqg==} - engines: {node: '>=16.0.0'} + resolution: + { + integrity: sha512-KIAHepie/T1PRkUfze4t+bPlyvpxlWiXTPtcGlbIZ0vWkBJMdRmCg4ZrJ2y4XaO1eTPo1HlWYUuj1WvoIpumqg==, + } + engines: { node: '>=16.0.0' } dependencies: '@kamilkisiela/fast-url-parser': 1.1.4 '@whatwg-node/events': 0.1.1 @@ -8068,18 +9880,27 @@ packages: dev: true /@whatwg-node/server@0.7.7: - resolution: {integrity: sha512-aHURgNDFm/48WVV3vhTMfnEKCYwYgdaRdRhZsQZx4UVFjGGkGay7Ys0+AYu9QT/jpoImv2oONkstoTMUprDofg==} + resolution: + { + integrity: sha512-aHURgNDFm/48WVV3vhTMfnEKCYwYgdaRdRhZsQZx4UVFjGGkGay7Ys0+AYu9QT/jpoImv2oONkstoTMUprDofg==, + } dependencies: '@whatwg-node/fetch': 0.8.8 tslib: 2.6.2 dev: true /abbrev@1.0.9: - resolution: {integrity: sha512-LEyx4aLEC3x6T0UguF6YILf+ntvmOaWsVfENmIW0E9H09vKlLDGelMjjSm0jkDHALj8A8quZ/HapKNigzwge+Q==} + resolution: + { + integrity: sha512-LEyx4aLEC3x6T0UguF6YILf+ntvmOaWsVfENmIW0E9H09vKlLDGelMjjSm0jkDHALj8A8quZ/HapKNigzwge+Q==, + } dev: true /abitype@0.9.10(typescript@5.0.4)(zod@3.22.4): - resolution: {integrity: sha512-FIS7U4n7qwAT58KibwYig5iFG4K61rbhAqaQh/UWj8v1Y8mjX3F8TC9gd8cz9yT1TYel9f8nS5NO5kZp2RW0jQ==} + resolution: + { + integrity: sha512-FIS7U4n7qwAT58KibwYig5iFG4K61rbhAqaQh/UWj8v1Y8mjX3F8TC9gd8cz9yT1TYel9f8nS5NO5kZp2RW0jQ==, + } peerDependencies: typescript: '>=5.0.4' zod: ^3 >=3.22.0 @@ -8094,7 +9915,10 @@ packages: dev: true /abitype@0.9.8(typescript@5.0.4)(zod@3.22.4): - resolution: {integrity: sha512-puLifILdm+8sjyss4S+fsUN09obiT1g2YW6CtcQF+QDzxR0euzgEB29MZujC6zMk2a6SVmtttq1fc6+YFA7WYQ==} + resolution: + { + integrity: sha512-puLifILdm+8sjyss4S+fsUN09obiT1g2YW6CtcQF+QDzxR0euzgEB29MZujC6zMk2a6SVmtttq1fc6+YFA7WYQ==, + } peerDependencies: typescript: '>=5.0.4' zod: ^3 >=3.19.1 @@ -8109,7 +9933,10 @@ packages: dev: true /abitype@0.9.8(typescript@5.4.5)(zod@3.22.4): - resolution: {integrity: sha512-puLifILdm+8sjyss4S+fsUN09obiT1g2YW6CtcQF+QDzxR0euzgEB29MZujC6zMk2a6SVmtttq1fc6+YFA7WYQ==} + resolution: + { + integrity: sha512-puLifILdm+8sjyss4S+fsUN09obiT1g2YW6CtcQF+QDzxR0euzgEB29MZujC6zMk2a6SVmtttq1fc6+YFA7WYQ==, + } peerDependencies: typescript: '>=5.0.4' zod: ^3 >=3.19.1 @@ -8124,7 +9951,10 @@ packages: dev: false /abitype@1.0.0(typescript@5.4.5)(zod@3.22.4): - resolution: {integrity: sha512-NMeMah//6bJ56H5XRj8QCV4AwuW6hB6zqz2LnhhLdcWVQOsXki6/Pn3APeqxCma62nXIcmZWdu1DlHWS74umVQ==} + resolution: + { + integrity: sha512-NMeMah//6bJ56H5XRj8QCV4AwuW6hB6zqz2LnhhLdcWVQOsXki6/Pn3APeqxCma62nXIcmZWdu1DlHWS74umVQ==, + } peerDependencies: typescript: '>=5.0.4' zod: ^3 >=3.22.0 @@ -8139,7 +9969,10 @@ packages: dev: false /abitype@1.0.2(typescript@5.4.5)(zod@3.22.4): - resolution: {integrity: sha512-aFt4k2H+eiAKy/zxtnORa9iIb10BMBeWL18l8v4+QuwYEBXPxxjSB1bFZCzQmKPoj8m7j68K705l3uY+E2gAjg==} + resolution: + { + integrity: sha512-aFt4k2H+eiAKy/zxtnORa9iIb10BMBeWL18l8v4+QuwYEBXPxxjSB1bFZCzQmKPoj8m7j68K705l3uY+E2gAjg==, + } peerDependencies: typescript: '>=5.0.4' zod: ^3 >=3.22.0 @@ -8154,15 +9987,21 @@ packages: dev: false /accepts@1.3.8: - resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==, + } + engines: { node: '>= 0.6' } dependencies: mime-types: 2.1.35 negotiator: 0.6.3 dev: true /acorn-jsx@5.3.2(acorn@8.11.3): - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + resolution: + { + integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==, + } peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: @@ -8170,36 +10009,57 @@ packages: dev: true /acorn-walk@8.3.2: - resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} - engines: {node: '>=0.4.0'} + resolution: + { + integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==, + } + engines: { node: '>=0.4.0' } dev: true /acorn@8.11.3: - resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} - engines: {node: '>=0.4.0'} + resolution: + { + integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==, + } + engines: { node: '>=0.4.0' } hasBin: true dev: true /adm-zip@0.4.16: - resolution: {integrity: sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==} - engines: {node: '>=0.3.0'} + resolution: + { + integrity: sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==, + } + engines: { node: '>=0.3.0' } dev: true /adm-zip@0.5.12: - resolution: {integrity: sha512-6TVU49mK6KZb4qG6xWaaM4C7sA/sgUMLy/JYMOzkcp3BvVLpW0fXDFQiIzAuxFCt/2+xD7fNIiPFAoLZPhVNLQ==} - engines: {node: '>=6.0'} + resolution: + { + integrity: sha512-6TVU49mK6KZb4qG6xWaaM4C7sA/sgUMLy/JYMOzkcp3BvVLpW0fXDFQiIzAuxFCt/2+xD7fNIiPFAoLZPhVNLQ==, + } + engines: { node: '>=6.0' } dev: true /aes-js@3.0.0: - resolution: {integrity: sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==} + resolution: + { + integrity: sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==, + } /aes-js@4.0.0-beta.5: - resolution: {integrity: sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==} + resolution: + { + integrity: sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==, + } dev: true /agent-base@6.0.2: - resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} - engines: {node: '>= 6.0.0'} + resolution: + { + integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==, + } + engines: { node: '>= 6.0.0' } dependencies: debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: @@ -8207,8 +10067,11 @@ packages: dev: true /agent-base@7.1.1: - resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} - engines: {node: '>= 14'} + resolution: + { + integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==, + } + engines: { node: '>= 14' } dependencies: debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: @@ -8216,15 +10079,21 @@ packages: dev: true /aggregate-error@3.1.0: - resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==, + } + engines: { node: '>=8' } dependencies: clean-stack: 2.2.0 indent-string: 4.0.0 dev: true /ajv-formats@2.1.1(ajv@8.12.0): - resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + resolution: + { + integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==, + } peerDependencies: ajv: ^8.0.0 peerDependenciesMeta: @@ -8235,7 +10104,10 @@ packages: dev: true /ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + resolution: + { + integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==, + } dependencies: fast-deep-equal: 3.1.3 fast-json-stable-stringify: 2.1.0 @@ -8244,7 +10116,10 @@ packages: dev: true /ajv@8.12.0: - resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + resolution: + { + integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==, + } dependencies: fast-deep-equal: 3.1.3 json-schema-traverse: 1.0.0 @@ -8253,99 +10128,153 @@ packages: dev: true /amdefine@1.0.1: - resolution: {integrity: sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==} - engines: {node: '>=0.4.2'} + resolution: + { + integrity: sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==, + } + engines: { node: '>=0.4.2' } requiresBuild: true dev: true optional: true /ansi-align@3.0.1: - resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} + resolution: + { + integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==, + } dependencies: string-width: 4.2.3 dev: true /ansi-colors@4.1.1: - resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==, + } + engines: { node: '>=6' } dev: true /ansi-colors@4.1.3: - resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==, + } + engines: { node: '>=6' } dev: true /ansi-escapes@4.3.2: - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==, + } + engines: { node: '>=8' } dependencies: type-fest: 0.21.3 /ansi-escapes@6.2.1: - resolution: {integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==} - engines: {node: '>=14.16'} + resolution: + { + integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==, + } + engines: { node: '>=14.16' } dev: true /ansi-regex@3.0.1: - resolution: {integrity: sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==, + } + engines: { node: '>=4' } dev: true /ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, + } + engines: { node: '>=8' } /ansi-regex@6.0.1: - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==, + } + engines: { node: '>=12' } dev: true /ansi-styles@3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==, + } + engines: { node: '>=4' } dependencies: color-convert: 1.9.3 dev: true /ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, + } + engines: { node: '>=8' } dependencies: color-convert: 2.0.1 /ansi-styles@5.2.0: - resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==, + } + engines: { node: '>=10' } dev: true /ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==, + } + engines: { node: '>=12' } dev: true /antlr4ts@0.5.0-alpha.4: - resolution: {integrity: sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ==} + resolution: + { + integrity: sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ==, + } dev: true /any-promise@1.3.0: - resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + resolution: + { + integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==, + } dev: true /anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==, + } + engines: { node: '>= 8' } dependencies: normalize-path: 3.0.0 picomatch: 2.3.1 dev: true /app-module-path@2.2.0: - resolution: {integrity: sha512-gkco+qxENJV+8vFcDiiFhuoSvRXb2a/QPqpSoWhVz829VNJfOTnELbBmPmNKFxf3xdNnw4DWCkzkDaavcX/1YQ==} + resolution: + { + integrity: sha512-gkco+qxENJV+8vFcDiiFhuoSvRXb2a/QPqpSoWhVz829VNJfOTnELbBmPmNKFxf3xdNnw4DWCkzkDaavcX/1YQ==, + } dev: true /archiver-utils@2.1.0: - resolution: {integrity: sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==, + } + engines: { node: '>= 6' } dependencies: glob: 7.2.3 graceful-fs: 4.2.11 @@ -8360,8 +10289,11 @@ packages: dev: true /archiver-utils@3.0.4: - resolution: {integrity: sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==, + } + engines: { node: '>= 10' } dependencies: glob: 7.2.3 graceful-fs: 4.2.11 @@ -8376,8 +10308,11 @@ packages: dev: true /archiver@5.3.2: - resolution: {integrity: sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==, + } + engines: { node: '>= 10' } dependencies: archiver-utils: 2.1.0 async: 3.2.5 @@ -8389,40 +10324,61 @@ packages: dev: true /arg@4.1.3: - resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + resolution: + { + integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==, + } dev: true /argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + resolution: + { + integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==, + } dependencies: sprintf-js: 1.0.3 dev: true /argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + resolution: + { + integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==, + } dev: true /aria-query@5.3.0: - resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + resolution: + { + integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==, + } dependencies: dequal: 2.0.3 dev: true /array-buffer-byte-length@1.0.1: - resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==, + } + engines: { node: '>= 0.4' } dependencies: call-bind: 1.0.7 is-array-buffer: 3.0.4 dev: true /array-flatten@1.1.1: - resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + resolution: + { + integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==, + } dev: true /array-includes@3.1.8: - resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==, + } + engines: { node: '>= 0.4' } dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -8433,18 +10389,27 @@ packages: dev: true /array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==, + } + engines: { node: '>=8' } dev: true /array-uniq@1.0.3: - resolution: {integrity: sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==, + } + engines: { node: '>=0.10.0' } dev: true /array.prototype.findlast@1.2.5: - resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==, + } + engines: { node: '>= 0.4' } dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -8455,8 +10420,11 @@ packages: dev: true /array.prototype.findlastindex@1.2.5: - resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==, + } + engines: { node: '>= 0.4' } dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -8467,8 +10435,11 @@ packages: dev: true /array.prototype.flat@1.3.2: - resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==, + } + engines: { node: '>= 0.4' } dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -8477,8 +10448,11 @@ packages: dev: true /array.prototype.flatmap@1.3.2: - resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==, + } + engines: { node: '>= 0.4' } dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -8487,7 +10461,10 @@ packages: dev: true /array.prototype.toreversed@1.1.2: - resolution: {integrity: sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==} + resolution: + { + integrity: sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==, + } dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -8496,7 +10473,10 @@ packages: dev: true /array.prototype.tosorted@1.1.3: - resolution: {integrity: sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==} + resolution: + { + integrity: sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==, + } dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -8506,8 +10486,11 @@ packages: dev: true /arraybuffer.prototype.slice@1.0.3: - resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==, + } + engines: { node: '>= 0.4' } dependencies: array-buffer-byte-length: 1.0.1 call-bind: 1.0.7 @@ -8520,11 +10503,17 @@ packages: dev: true /asap@2.0.6: - resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} + resolution: + { + integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==, + } dev: true /asn1.js@5.4.1: - resolution: {integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==} + resolution: + { + integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==, + } dependencies: bn.js: 4.12.0 inherits: 2.0.4 @@ -8533,8 +10522,11 @@ packages: dev: true /asn1js@3.0.5: - resolution: {integrity: sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==} - engines: {node: '>=12.0.0'} + resolution: + { + integrity: sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==, + } + engines: { node: '>=12.0.0' } dependencies: pvtsutils: 1.3.5 pvutils: 1.1.3 @@ -8542,79 +10534,127 @@ packages: dev: true /assertion-error@1.1.0: - resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + resolution: + { + integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==, + } dev: true /ast-module-types@5.0.0: - resolution: {integrity: sha512-JvqziE0Wc0rXQfma0HZC/aY7URXHFuZV84fJRtP8u+lhp0JYCNd5wJzVXP45t0PH0Mej3ynlzvdyITYIu0G4LQ==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-JvqziE0Wc0rXQfma0HZC/aY7URXHFuZV84fJRtP8u+lhp0JYCNd5wJzVXP45t0PH0Mej3ynlzvdyITYIu0G4LQ==, + } + engines: { node: '>=14' } dev: true /ast-types-flow@0.0.8: - resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} + resolution: + { + integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==, + } dev: true /astral-regex@2.0.0: - resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==, + } + engines: { node: '>=8' } dev: true /async-hook-jl@1.7.6: - resolution: {integrity: sha512-gFaHkFfSxTjvoxDMYqDuGHlcRyUuamF8s+ZTtJdDzqjws4mCt7v0vuV79/E2Wr2/riMQgtG4/yUtXWs1gZ7JMg==} - engines: {node: ^4.7 || >=6.9 || >=7.3} + resolution: + { + integrity: sha512-gFaHkFfSxTjvoxDMYqDuGHlcRyUuamF8s+ZTtJdDzqjws4mCt7v0vuV79/E2Wr2/riMQgtG4/yUtXWs1gZ7JMg==, + } + engines: { node: ^4.7 || >=6.9 || >=7.3 } dependencies: stack-chain: 1.3.7 dev: false /async-limiter@1.0.1: - resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==} + resolution: + { + integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==, + } dev: true /async@1.5.2: - resolution: {integrity: sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==} + resolution: + { + integrity: sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==, + } dev: true /async@3.2.5: - resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} + resolution: + { + integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==, + } dev: true /asynckit@0.4.0: - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + resolution: + { + integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==, + } /at-least-node@1.0.0: - resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} - engines: {node: '>= 4.0.0'} + resolution: + { + integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==, + } + engines: { node: '>= 4.0.0' } dev: true /atomic-batcher@1.0.2: - resolution: {integrity: sha512-EFGCRj4kLX1dHv1cDzTk+xbjBFj1GnJDpui52YmEcxxHHEWjYyT6l51U7n6WQ28osZH4S9gSybxe56Vm7vB61Q==} + resolution: + { + integrity: sha512-EFGCRj4kLX1dHv1cDzTk+xbjBFj1GnJDpui52YmEcxxHHEWjYyT6l51U7n6WQ28osZH4S9gSybxe56Vm7vB61Q==, + } dev: false /atomically@1.7.0: - resolution: {integrity: sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w==} - engines: {node: '>=10.12.0'} + resolution: + { + integrity: sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w==, + } + engines: { node: '>=10.12.0' } dev: true /auto-bind@4.0.0: - resolution: {integrity: sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ==, + } + engines: { node: '>=8' } dev: true /auto-bind@5.0.1: - resolution: {integrity: sha512-ooviqdwwgfIfNmDwo94wlshcdzfO64XV0Cg6oDsDYBJfITDz1EngD2z7DkbvCWn+XIMsIqW27sEVF6qcpJrRcg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { + integrity: sha512-ooviqdwwgfIfNmDwo94wlshcdzfO64XV0Cg6oDsDYBJfITDz1EngD2z7DkbvCWn+XIMsIqW27sEVF6qcpJrRcg==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dev: true /available-typed-arrays@1.0.7: - resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==, + } + engines: { node: '>= 0.4' } dependencies: possible-typed-array-names: 1.0.0 dev: true /aws-cdk-lib@2.132.1(constructs@10.3.0): - resolution: {integrity: sha512-VheC7WcvmxiteNaZPucS9J9haGQZwbUtwNiNqsbTaEiru6ETUhf/yIOIamLto1kOKEPxCw2bfLkgYrWoCzwOpw==} - engines: {node: '>= 14.15.0'} + resolution: + { + integrity: sha512-VheC7WcvmxiteNaZPucS9J9haGQZwbUtwNiNqsbTaEiru6ETUhf/yIOIamLto1kOKEPxCw2bfLkgYrWoCzwOpw==, + } + engines: { node: '>= 14.15.0' } peerDependencies: constructs: ^10.0.0 dependencies: @@ -8637,7 +10677,10 @@ packages: - mime-types /aws-crt@1.21.2: - resolution: {integrity: sha512-/jq5yJwdethIaC+HyqCrgW2ZqxjUURBo/6CIfnD0HbpIE+vLIPQxENW/pp3Atu20Hm2WkjM9diJD4zJycK+olA==} + resolution: + { + integrity: sha512-/jq5yJwdethIaC+HyqCrgW2ZqxjUURBo/6CIfnD0HbpIE+vLIPQxENW/pp3Atu20Hm2WkjM9diJD4zJycK+olA==, + } requiresBuild: true dependencies: '@aws-sdk/util-utf8-browser': 3.259.0 @@ -8655,8 +10698,11 @@ packages: dev: true /aws-iot-device-sdk@2.2.13: - resolution: {integrity: sha512-rUR68vJxna5q0HSvBFy70QD0kFa91H8mQU2Jdor0JpNxmfNaOhQoiGCcgrZAxR69xY1kGHs+JzWOqqVtAfL0+A==} - engines: {node: '>=4.0.0'} + resolution: + { + integrity: sha512-rUR68vJxna5q0HSvBFy70QD0kFa91H8mQU2Jdor0JpNxmfNaOhQoiGCcgrZAxR69xY1kGHs+JzWOqqVtAfL0+A==, + } + engines: { node: '>=4.0.0' } dependencies: crypto-js: 4.2.0 minimist: 1.2.6 @@ -8669,8 +10715,11 @@ packages: dev: true /aws-sdk@2.1599.0: - resolution: {integrity: sha512-jPb1LAN+s1TLTK+VR3TTJLr//sb3AhhT60Bm9jxB5G/fVeeRczXtBtixNpQ00gksQdkstILYLc9S6MuKMsksxA==} - engines: {node: '>= 10.0.0'} + resolution: + { + integrity: sha512-jPb1LAN+s1TLTK+VR3TTJLr//sb3AhhT60Bm9jxB5G/fVeeRczXtBtixNpQ00gksQdkstILYLc9S6MuKMsksxA==, + } + engines: { node: '>= 10.0.0' } requiresBuild: true dependencies: buffer: 4.9.2 @@ -8686,8 +10735,11 @@ packages: dev: true /aws-xray-sdk-core@3.6.0: - resolution: {integrity: sha512-+UnYmVEni9NNJvE6aFY1dbvMtFquXSYAj+HYfm+90icoGKYvvLD71R7PHyFFnYct5of4NFpEXJtUJrWMv8e4mQ==} - engines: {node: '>= 14.x'} + resolution: + { + integrity: sha512-+UnYmVEni9NNJvE6aFY1dbvMtFquXSYAj+HYfm+90icoGKYvvLD71R7PHyFFnYct5of4NFpEXJtUJrWMv8e4mQ==, + } + engines: { node: '>= 14.x' } dependencies: '@aws-sdk/types': 3.535.0 '@smithy/service-error-classification': 2.1.5 @@ -8698,12 +10750,18 @@ packages: dev: false /axe-core@4.7.0: - resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==, + } + engines: { node: '>=4' } dev: true /axios@1.6.8: - resolution: {integrity: sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==} + resolution: + { + integrity: sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==, + } dependencies: follow-redirects: 1.15.6(debug@4.3.4) form-data: 4.0.0 @@ -8713,14 +10771,20 @@ packages: dev: true /axobject-query@3.2.1: - resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} + resolution: + { + integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==, + } dependencies: dequal: 2.0.3 dev: true /babel-jest@29.7.0(@babel/core@7.24.4): - resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } peerDependencies: '@babel/core': ^7.8.0 dependencies: @@ -8737,8 +10801,11 @@ packages: dev: true /babel-plugin-istanbul@6.1.1: - resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==, + } + engines: { node: '>=8' } dependencies: '@babel/helper-plugin-utils': 7.24.0 '@istanbuljs/load-nyc-config': 1.1.0 @@ -8750,8 +10817,11 @@ packages: dev: true /babel-plugin-jest-hoist@29.6.3: - resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: '@babel/template': 7.24.0 '@babel/types': 7.24.0 @@ -8760,11 +10830,17 @@ packages: dev: true /babel-plugin-syntax-trailing-function-commas@7.0.0-beta.0: - resolution: {integrity: sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==} + resolution: + { + integrity: sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==, + } dev: true /babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.4): - resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} + resolution: + { + integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==, + } peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -8784,7 +10860,10 @@ packages: dev: true /babel-preset-fbjs@3.4.0(@babel/core@7.24.4): - resolution: {integrity: sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==} + resolution: + { + integrity: sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==, + } peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -8819,8 +10898,11 @@ packages: dev: true /babel-preset-jest@29.6.3(@babel/core@7.24.4): - resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -8830,37 +10912,61 @@ packages: dev: true /balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + resolution: + { + integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, + } dev: true /base-x@3.0.9: - resolution: {integrity: sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==} + resolution: + { + integrity: sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==, + } dependencies: safe-buffer: 5.2.1 dev: true /base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + resolution: + { + integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==, + } dev: true /bech32@1.1.4: - resolution: {integrity: sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==} + resolution: + { + integrity: sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==, + } /bignumber.js@9.0.1: - resolution: {integrity: sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA==} + resolution: + { + integrity: sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA==, + } dev: false /bignumber.js@9.1.2: - resolution: {integrity: sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==} + resolution: + { + integrity: sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==, + } dev: false /binary-extensions@2.3.0: - resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==, + } + engines: { node: '>=8' } dev: true /bl@4.1.0: - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + resolution: + { + integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==, + } dependencies: buffer: 5.7.1 inherits: 2.0.4 @@ -8868,7 +10974,10 @@ packages: dev: true /bl@5.1.0: - resolution: {integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==} + resolution: + { + integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==, + } dependencies: buffer: 6.0.3 inherits: 2.0.4 @@ -8876,22 +10985,37 @@ packages: dev: true /blakejs@1.2.1: - resolution: {integrity: sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==} + resolution: + { + integrity: sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==, + } dev: true /bn.js@4.11.6: - resolution: {integrity: sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==} + resolution: + { + integrity: sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==, + } dev: true /bn.js@4.12.0: - resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==} + resolution: + { + integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==, + } /bn.js@5.2.1: - resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} + resolution: + { + integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==, + } /body-parser@1.20.2: - resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + resolution: + { + integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==, + } + engines: { node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16 } dependencies: bytes: 3.1.2 content-type: 1.0.5 @@ -8910,12 +11034,18 @@ packages: dev: true /bowser@2.11.0: - resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==} + resolution: + { + integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==, + } dev: true /boxen@5.1.2: - resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==, + } + engines: { node: '>=10' } dependencies: ansi-align: 3.0.1 camelcase: 6.3.0 @@ -8928,34 +11058,52 @@ packages: dev: true /brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + resolution: + { + integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==, + } dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 dev: true /brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + resolution: + { + integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==, + } dependencies: balanced-match: 1.0.2 dev: true /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==, + } + engines: { node: '>=8' } dependencies: fill-range: 7.0.1 dev: true /brorand@1.1.0: - resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} + resolution: + { + integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==, + } /browser-stdout@1.3.1: - resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} + resolution: + { + integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==, + } dev: true /browserify-aes@1.2.0: - resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} + resolution: + { + integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==, + } dependencies: buffer-xor: 1.0.3 cipher-base: 1.0.4 @@ -8966,8 +11114,11 @@ packages: dev: true /browserslist@4.23.0: - resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + resolution: + { + integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==, + } + engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } hasBin: true dependencies: caniuse-lite: 1.0.30001610 @@ -8977,20 +11128,29 @@ packages: dev: true /bs-logger@0.2.6: - resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==, + } + engines: { node: '>= 6' } dependencies: fast-json-stable-stringify: 2.1.0 dev: true /bs58@4.0.1: - resolution: {integrity: sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==} + resolution: + { + integrity: sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==, + } dependencies: base-x: 3.0.9 dev: true /bs58check@2.1.2: - resolution: {integrity: sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==} + resolution: + { + integrity: sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==, + } dependencies: bs58: 4.0.1 create-hash: 1.2.0 @@ -8998,25 +11158,40 @@ packages: dev: true /bser@2.1.1: - resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + resolution: + { + integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==, + } dependencies: node-int64: 0.4.0 dev: true /buffer-crc32@0.2.13: - resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + resolution: + { + integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==, + } dev: true /buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + resolution: + { + integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==, + } dev: true /buffer-xor@1.0.3: - resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} + resolution: + { + integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==, + } dev: true /buffer@4.9.2: - resolution: {integrity: sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==} + resolution: + { + integrity: sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==, + } dependencies: base64-js: 1.5.1 ieee754: 1.1.13 @@ -9024,44 +11199,65 @@ packages: dev: true /buffer@5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + resolution: + { + integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==, + } dependencies: base64-js: 1.5.1 ieee754: 1.2.1 dev: true /buffer@6.0.3: - resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + resolution: + { + integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==, + } dependencies: base64-js: 1.5.1 ieee754: 1.2.1 dev: true /builtin-modules@3.2.0: - resolution: {integrity: sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==, + } + engines: { node: '>=6' } dev: true /builtin-modules@3.3.0: - resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==, + } + engines: { node: '>=6' } dev: true /busboy@1.6.0: - resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} - engines: {node: '>=10.16.0'} + resolution: + { + integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==, + } + engines: { node: '>=10.16.0' } dependencies: streamsearch: 1.1.0 dev: true /bytes@3.1.2: - resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==, + } + engines: { node: '>= 0.8' } dev: true /call-bind@1.0.7: - resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==, + } + engines: { node: '>= 0.4' } dependencies: es-define-property: 1.0.0 es-errors: 1.3.0 @@ -9071,33 +11267,51 @@ packages: dev: true /callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, + } + engines: { node: '>=6' } dev: true /camel-case@4.1.2: - resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + resolution: + { + integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==, + } dependencies: pascal-case: 3.1.2 tslib: 2.6.2 dev: true /camelcase@5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==, + } + engines: { node: '>=6' } dev: true /camelcase@6.3.0: - resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==, + } + engines: { node: '>=10' } dev: true /caniuse-lite@1.0.30001610: - resolution: {integrity: sha512-QFutAY4NgaelojVMjY63o6XlZyORPaLfyMnsl3HgnWdJUcX6K0oaJymHjH8PT5Gk7sTm8rvC/c5COUQKXqmOMA==} + resolution: + { + integrity: sha512-QFutAY4NgaelojVMjY63o6XlZyORPaLfyMnsl3HgnWdJUcX6K0oaJymHjH8PT5Gk7sTm8rvC/c5COUQKXqmOMA==, + } dev: true /capital-case@1.0.4: - resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} + resolution: + { + integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==, + } dependencies: no-case: 3.0.4 tslib: 2.6.2 @@ -9105,19 +11319,28 @@ packages: dev: true /caseless@0.12.0: - resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} + resolution: + { + integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==, + } dev: true /cbor@8.1.0: - resolution: {integrity: sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==} - engines: {node: '>=12.19'} + resolution: + { + integrity: sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==, + } + engines: { node: '>=12.19' } dependencies: nofilter: 3.1.0 dev: true /cdk-assets@2.132.1: - resolution: {integrity: sha512-npaa5DTO9GMdnErCk5mguR6XpaLZv1R36T3kJPgSuJDcD2T5gk7BzuMyJWQM0QHMLNw3fMOOjG1D7Wi39LJ3cQ==} - engines: {node: '>= 14.15.0'} + resolution: + { + integrity: sha512-npaa5DTO9GMdnErCk5mguR6XpaLZv1R36T3kJPgSuJDcD2T5gk7BzuMyJWQM0QHMLNw3fMOOjG1D7Wi39LJ3cQ==, + } + engines: { node: '>= 14.15.0' } hasBin: true dependencies: '@aws-cdk/cloud-assembly-schema': 2.132.1 @@ -9130,7 +11353,10 @@ packages: dev: true /chai-as-promised@7.1.1(chai@4.4.1): - resolution: {integrity: sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==} + resolution: + { + integrity: sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==, + } peerDependencies: chai: '>= 2.1.2 < 5' dependencies: @@ -9139,8 +11365,11 @@ packages: dev: true /chai@4.4.1: - resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==, + } + engines: { node: '>=4' } dependencies: assertion-error: 1.1.0 check-error: 1.0.3 @@ -9152,8 +11381,11 @@ packages: dev: true /chalk@2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==, + } + engines: { node: '>=4' } dependencies: ansi-styles: 3.2.1 escape-string-regexp: 1.0.5 @@ -9161,19 +11393,28 @@ packages: dev: true /chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==, + } + engines: { node: '>=10' } dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 /chalk@5.3.0: - resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + resolution: + { + integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==, + } + engines: { node: ^12.17.0 || ^14.13 || >=16.0.0 } dev: true /change-case-all@1.0.15: - resolution: {integrity: sha512-3+GIFhk3sNuvFAJKU46o26OdzudQlPNBCu1ZQi3cMeMHhty1bhDxu2WrEilVNYaGvqUtR1VSigFcJOiS13dRhQ==} + resolution: + { + integrity: sha512-3+GIFhk3sNuvFAJKU46o26OdzudQlPNBCu1ZQi3cMeMHhty1bhDxu2WrEilVNYaGvqUtR1VSigFcJOiS13dRhQ==, + } dependencies: change-case: 4.1.2 is-lower-case: 2.0.2 @@ -9188,7 +11429,10 @@ packages: dev: true /change-case@4.1.2: - resolution: {integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==} + resolution: + { + integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==, + } dependencies: camel-case: 4.1.2 capital-case: 1.0.4 @@ -9205,26 +11449,41 @@ packages: dev: true /char-regex@1.0.2: - resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==, + } + engines: { node: '>=10' } dev: true /chardet@0.7.0: - resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + resolution: + { + integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==, + } /charenc@0.0.2: - resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==} + resolution: + { + integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==, + } dev: true /check-error@1.0.3: - resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + resolution: + { + integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==, + } dependencies: get-func-name: 2.0.2 dev: true /chokidar@3.5.3: - resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} - engines: {node: '>= 8.10.0'} + resolution: + { + integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==, + } + engines: { node: '>= 8.10.0' } dependencies: anymatch: 3.1.3 braces: 3.0.2 @@ -9238,8 +11497,11 @@ packages: dev: true /chokidar@3.6.0: - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} - engines: {node: '>= 8.10.0'} + resolution: + { + integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==, + } + engines: { node: '>= 8.10.0' } dependencies: anymatch: 3.1.3 braces: 3.0.2 @@ -9253,68 +11515,104 @@ packages: dev: true /ci-info@2.0.0: - resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} + resolution: + { + integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==, + } dev: true /ci-info@3.9.0: - resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==, + } + engines: { node: '>=8' } dev: true /cipher-base@1.0.4: - resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==} + resolution: + { + integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==, + } dependencies: inherits: 2.0.4 safe-buffer: 5.2.1 dev: true /cjs-module-lexer@1.2.3: - resolution: {integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==} + resolution: + { + integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==, + } dev: true /clean-regexp@1.0.0: - resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==, + } + engines: { node: '>=4' } dependencies: escape-string-regexp: 1.0.5 dev: true /clean-stack@2.2.0: - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==, + } + engines: { node: '>=6' } dev: true /cli-boxes@2.2.1: - resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==, + } + engines: { node: '>=6' } dev: true /cli-boxes@3.0.0: - resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==, + } + engines: { node: '>=10' } dev: true /cli-cursor@3.1.0: - resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==, + } + engines: { node: '>=8' } dependencies: restore-cursor: 3.1.0 dev: true /cli-cursor@4.0.0: - resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { + integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: restore-cursor: 4.0.0 dev: true /cli-spinners@2.9.2: - resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==, + } + engines: { node: '>=6' } /cli-table3@0.5.1: - resolution: {integrity: sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==, + } + engines: { node: '>=6' } dependencies: object-assign: 4.1.1 string-width: 2.1.1 @@ -9323,33 +11621,48 @@ packages: dev: true /cli-truncate@2.1.0: - resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==, + } + engines: { node: '>=8' } dependencies: slice-ansi: 3.0.0 string-width: 4.2.3 dev: true /cli-truncate@3.1.0: - resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { + integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: slice-ansi: 5.0.0 string-width: 5.1.2 dev: true /cli-width@3.0.0: - resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==, + } + engines: { node: '>= 10' } dev: true /cli-width@4.1.0: - resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} - engines: {node: '>= 12'} + resolution: + { + integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==, + } + engines: { node: '>= 12' } dev: false /cliui@6.0.0: - resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} + resolution: + { + integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==, + } dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 @@ -9357,7 +11670,10 @@ packages: dev: true /cliui@7.0.4: - resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} + resolution: + { + integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==, + } dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 @@ -9365,8 +11681,11 @@ packages: dev: true /cliui@8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==, + } + engines: { node: '>=12' } dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 @@ -9374,13 +11693,19 @@ packages: dev: true /clone@1.0.4: - resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} - engines: {node: '>=0.8'} + resolution: + { + integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==, + } + engines: { node: '>=0.8' } dev: true /cls-hooked@4.2.2: - resolution: {integrity: sha512-J4Xj5f5wq/4jAvcdgoGsL3G103BtWpZrMo8NEinRltN+xpTZdI+M38pyQqhuFU/P792xkMFvnKSf+Lm81U1bxw==} - engines: {node: ^4.7 || >=6.9 || >=7.3 || >=8.2.1} + resolution: + { + integrity: sha512-J4Xj5f5wq/4jAvcdgoGsL3G103BtWpZrMo8NEinRltN+xpTZdI+M38pyQqhuFU/P792xkMFvnKSf+Lm81U1bxw==, + } + engines: { node: ^4.7 || >=6.9 || >=7.3 || >=8.2.1 } dependencies: async-hook-jl: 1.7.6 emitter-listener: 1.1.2 @@ -9388,106 +11713,169 @@ packages: dev: false /cluster-key-slot@1.1.2: - resolution: {integrity: sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==, + } + engines: { node: '>=0.10.0' } dev: false /co@4.6.0: - resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} - engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + resolution: + { + integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==, + } + engines: { iojs: '>= 1.0.0', node: '>= 0.12.0' } dev: true /code-excerpt@4.0.0: - resolution: {integrity: sha512-xxodCmBen3iy2i0WtAK8FlFNrRzjUqjRsMfho58xT/wvZU1YTM3fCnRjcy1gJPMepaRlgm/0e6w8SpWHpn3/cA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { + integrity: sha512-xxodCmBen3iy2i0WtAK8FlFNrRzjUqjRsMfho58xT/wvZU1YTM3fCnRjcy1gJPMepaRlgm/0e6w8SpWHpn3/cA==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: convert-to-spaces: 2.0.1 dev: true /collect-v8-coverage@1.0.2: - resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} + resolution: + { + integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==, + } dev: true /color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + resolution: + { + integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==, + } dependencies: color-name: 1.1.3 dev: true /color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} + resolution: + { + integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, + } + engines: { node: '>=7.0.0' } dependencies: color-name: 1.1.4 /color-name@1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + resolution: + { + integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==, + } dev: true /color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + resolution: + { + integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, + } /colorette@2.0.20: - resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + resolution: + { + integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==, + } dev: true /colors@1.4.0: - resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} - engines: {node: '>=0.1.90'} + resolution: + { + integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==, + } + engines: { node: '>=0.1.90' } dev: true /combined-stream@1.0.8: - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==, + } + engines: { node: '>= 0.8' } dependencies: delayed-stream: 1.0.0 /command-exists@1.2.9: - resolution: {integrity: sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==} + resolution: + { + integrity: sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==, + } dev: true /commander@10.0.1: - resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==, + } + engines: { node: '>=14' } dev: true /commander@3.0.2: - resolution: {integrity: sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==} + resolution: + { + integrity: sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==, + } dev: true /commander@7.2.0: - resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==, + } + engines: { node: '>= 10' } dev: true /commander@9.5.0: - resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} - engines: {node: ^12.20.0 || >=14} + resolution: + { + integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==, + } + engines: { node: ^12.20.0 || >=14 } dev: true /commist@1.1.0: - resolution: {integrity: sha512-rraC8NXWOEjhADbZe9QBNzLAN5Q3fsTPQtBV+fEVj6xKIgDgNiEVE6ZNfHpZOqfQ21YUzfVNUXLOEZquYvQPPg==} + resolution: + { + integrity: sha512-rraC8NXWOEjhADbZe9QBNzLAN5Q3fsTPQtBV+fEVj6xKIgDgNiEVE6ZNfHpZOqfQ21YUzfVNUXLOEZquYvQPPg==, + } dependencies: leven: 2.1.0 minimist: 1.2.6 dev: true /common-tags@1.8.2: - resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} - engines: {node: '>=4.0.0'} + resolution: + { + integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==, + } + engines: { node: '>=4.0.0' } dev: true /commondir@1.0.1: - resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + resolution: + { + integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==, + } dev: true /complex.js@2.1.1: - resolution: {integrity: sha512-8njCHOTtFFLtegk6zQo0kkVX1rngygb/KQI6z1qZxlFI3scluC+LVTCFbrkWjBv4vvLlbQ9t88IPMC6k95VTTg==} + resolution: + { + integrity: sha512-8njCHOTtFFLtegk6zQo0kkVX1rngygb/KQI6z1qZxlFI3scluC+LVTCFbrkWjBv4vvLlbQ9t88IPMC6k95VTTg==, + } dev: true /compress-commons@4.1.2: - resolution: {integrity: sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==, + } + engines: { node: '>= 10' } dependencies: buffer-crc32: 0.2.13 crc32-stream: 4.0.3 @@ -9496,12 +11884,18 @@ packages: dev: true /concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + resolution: + { + integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==, + } dev: true /concat-stream@1.6.2: - resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} - engines: {'0': node >= 0.8} + resolution: + { + integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==, + } + engines: { '0': node >= 0.8 } dependencies: buffer-from: 1.1.2 inherits: 2.0.4 @@ -9510,8 +11904,11 @@ packages: dev: true /concat-stream@2.0.0: - resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==} - engines: {'0': node >= 6.0} + resolution: + { + integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==, + } + engines: { '0': node >= 6.0 } dependencies: buffer-from: 1.1.2 inherits: 2.0.4 @@ -9520,8 +11917,11 @@ packages: dev: true /conf@10.2.0: - resolution: {integrity: sha512-8fLl9F04EJqjSqH+QjITQfJF8BrOVaYr1jewVgSRAEWePfxT0sku4w2hrGQ60BC/TNLGQ2pgxNlTbWQmMPFvXg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-8fLl9F04EJqjSqH+QjITQfJF8BrOVaYr1jewVgSRAEWePfxT0sku4w2hrGQ60BC/TNLGQ2pgxNlTbWQmMPFvXg==, + } + engines: { node: '>=12' } dependencies: ajv: 8.12.0 ajv-formats: 2.1.1(ajv@8.12.0) @@ -9536,7 +11936,10 @@ packages: dev: true /constant-case@3.0.4: - resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==} + resolution: + { + integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==, + } dependencies: no-case: 3.0.4 tslib: 2.6.2 @@ -9544,59 +11947,92 @@ packages: dev: true /constructs@10.3.0: - resolution: {integrity: sha512-vbK8i3rIb/xwZxSpTjz3SagHn1qq9BChLEfy5Hf6fB3/2eFbrwt2n9kHwQcS0CPTRBesreeAcsJfMq2229FnbQ==} - engines: {node: '>= 16.14.0'} + resolution: + { + integrity: sha512-vbK8i3rIb/xwZxSpTjz3SagHn1qq9BChLEfy5Hf6fB3/2eFbrwt2n9kHwQcS0CPTRBesreeAcsJfMq2229FnbQ==, + } + engines: { node: '>= 16.14.0' } dev: true /content-disposition@0.5.4: - resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==, + } + engines: { node: '>= 0.6' } dependencies: safe-buffer: 5.2.1 dev: true /content-type@1.0.5: - resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==, + } + engines: { node: '>= 0.6' } dev: true /convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + resolution: + { + integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==, + } dev: true /convert-to-spaces@2.0.1: - resolution: {integrity: sha512-rcQ1bsQO9799wq24uE5AM2tAILy4gXGIK/njFWcVQkGNZ96edlpY+A7bjwvzjYvLDyzmG1MmMLZhpcsb+klNMQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { + integrity: sha512-rcQ1bsQO9799wq24uE5AM2tAILy4gXGIK/njFWcVQkGNZ96edlpY+A7bjwvzjYvLDyzmG1MmMLZhpcsb+klNMQ==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dev: true /cookie-signature@1.0.6: - resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} + resolution: + { + integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==, + } dev: true /cookie@0.4.2: - resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==, + } + engines: { node: '>= 0.6' } dev: true /cookie@0.6.0: - resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==, + } + engines: { node: '>= 0.6' } dev: true /copy-anything@3.0.5: - resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==} - engines: {node: '>=12.13'} + resolution: + { + integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==, + } + engines: { node: '>=12.13' } dependencies: is-what: 4.1.16 dev: false /core-util-is@1.0.3: - resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + resolution: + { + integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==, + } dev: true /cosmiconfig@8.3.6(typescript@5.4.5): - resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==, + } + engines: { node: '>=14' } peerDependencies: typescript: '>=4.9.5' peerDependenciesMeta: @@ -9611,21 +12047,30 @@ packages: dev: true /crc-32@1.2.2: - resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} - engines: {node: '>=0.8'} + resolution: + { + integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==, + } + engines: { node: '>=0.8' } hasBin: true dev: true /crc32-stream@4.0.3: - resolution: {integrity: sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==, + } + engines: { node: '>= 10' } dependencies: crc-32: 1.2.2 readable-stream: 3.6.2 dev: true /create-hash@1.2.0: - resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} + resolution: + { + integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==, + } dependencies: cipher-base: 1.0.4 inherits: 2.0.4 @@ -9635,7 +12080,10 @@ packages: dev: true /create-hmac@1.1.7: - resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} + resolution: + { + integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==, + } dependencies: cipher-base: 1.0.4 create-hash: 1.2.0 @@ -9646,8 +12094,11 @@ packages: dev: true /create-jest@29.7.0(@types/node@20.12.7): - resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } hasBin: true dependencies: '@jest/types': 29.6.3 @@ -9665,26 +12116,38 @@ packages: dev: true /create-require@1.1.1: - resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + resolution: + { + integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==, + } dev: true /cross-fetch@3.1.8: - resolution: {integrity: sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==} + resolution: + { + integrity: sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==, + } dependencies: node-fetch: 2.7.0 transitivePeerDependencies: - encoding /cross-inspect@1.0.0: - resolution: {integrity: sha512-4PFfn4b5ZN6FMNGSZlyb7wUhuN8wvj8t/VQHZdM4JsDcruGJ8L2kf9zao98QIrBPFCpdk27qst/AGTl7pL3ypQ==} - engines: {node: '>=16.0.0'} + resolution: + { + integrity: sha512-4PFfn4b5ZN6FMNGSZlyb7wUhuN8wvj8t/VQHZdM4JsDcruGJ8L2kf9zao98QIrBPFCpdk27qst/AGTl7pL3ypQ==, + } + engines: { node: '>=16.0.0' } dependencies: tslib: 2.6.2 dev: true /cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==, + } + engines: { node: '>= 8' } dependencies: path-key: 3.1.1 shebang-command: 2.0.0 @@ -9692,25 +12155,40 @@ packages: dev: true /crypt@0.0.2: - resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==} + resolution: + { + integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==, + } dev: true /crypto-js@4.2.0: - resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==} + resolution: + { + integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==, + } dev: true /damerau-levenshtein@1.0.8: - resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} + resolution: + { + integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==, + } dev: true /data-uri-to-buffer@4.0.1: - resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} - engines: {node: '>= 12'} + resolution: + { + integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==, + } + engines: { node: '>= 12' } dev: false /data-view-buffer@1.0.1: - resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==, + } + engines: { node: '>= 0.4' } dependencies: call-bind: 1.0.7 es-errors: 1.3.0 @@ -9718,8 +12196,11 @@ packages: dev: true /data-view-byte-length@1.0.1: - resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==, + } + engines: { node: '>= 0.4' } dependencies: call-bind: 1.0.7 es-errors: 1.3.0 @@ -9727,8 +12208,11 @@ packages: dev: true /data-view-byte-offset@1.0.0: - resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==, + } + engines: { node: '>= 0.4' } dependencies: call-bind: 1.0.7 es-errors: 1.3.0 @@ -9736,26 +12220,41 @@ packages: dev: true /dataloader@2.2.2: - resolution: {integrity: sha512-8YnDaaf7N3k/q5HnTJVuzSyLETjoZjVmHc4AeKAzOvKHEFQKcn64OKBfzHYtE9zGjctNM7V9I0MfnUVLpi7M5g==} + resolution: + { + integrity: sha512-8YnDaaf7N3k/q5HnTJVuzSyLETjoZjVmHc4AeKAzOvKHEFQKcn64OKBfzHYtE9zGjctNM7V9I0MfnUVLpi7M5g==, + } dev: true /death@1.1.0: - resolution: {integrity: sha512-vsV6S4KVHvTGxbEcij7hkWRv0It+sGGWVOM67dQde/o5Xjnr+KmLjxWJii2uEObIrt1CcM9w0Yaovx+iOlIL+w==} + resolution: + { + integrity: sha512-vsV6S4KVHvTGxbEcij7hkWRv0It+sGGWVOM67dQde/o5Xjnr+KmLjxWJii2uEObIrt1CcM9w0Yaovx+iOlIL+w==, + } dev: true /debounce-fn@4.0.0: - resolution: {integrity: sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ==, + } + engines: { node: '>=10' } dependencies: mimic-fn: 3.1.0 dev: true /debounce@1.2.1: - resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} + resolution: + { + integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==, + } dev: true /debug@2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + resolution: + { + integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==, + } peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -9766,7 +12265,10 @@ packages: dev: true /debug@3.2.7: - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + resolution: + { + integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==, + } peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -9777,8 +12279,11 @@ packages: dev: true /debug@4.3.4(supports-color@8.1.1): - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} + resolution: + { + integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==, + } + engines: { node: '>=6.0' } peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -9790,21 +12295,33 @@ packages: dev: true /decamelize@1.2.0: - resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==, + } + engines: { node: '>=0.10.0' } dev: true /decamelize@4.0.0: - resolution: {integrity: sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==, + } + engines: { node: '>=10' } dev: true /decimal.js@10.4.3: - resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} + resolution: + { + integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==, + } dev: true /dedent@1.5.3: - resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} + resolution: + { + integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==, + } peerDependencies: babel-plugin-macros: ^3.1.0 peerDependenciesMeta: @@ -9813,35 +12330,53 @@ packages: dev: true /deep-eql@4.1.3: - resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==, + } + engines: { node: '>=6' } dependencies: type-detect: 4.0.8 dev: true /deep-extend@0.6.0: - resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} - engines: {node: '>=4.0.0'} + resolution: + { + integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==, + } + engines: { node: '>=4.0.0' } dev: true /deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + resolution: + { + integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==, + } dev: true /deepmerge@4.3.1: - resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==, + } + engines: { node: '>=0.10.0' } dev: true /defaults@1.0.4: - resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + resolution: + { + integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==, + } dependencies: clone: 1.0.4 dev: true /define-data-property@1.1.4: - resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==, + } + engines: { node: '>= 0.4' } dependencies: es-define-property: 1.0.0 es-errors: 1.3.0 @@ -9849,8 +12384,11 @@ packages: dev: true /define-properties@1.2.1: - resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==, + } + engines: { node: '>= 0.4' } dependencies: define-data-property: 1.1.4 has-property-descriptors: 1.0.2 @@ -9858,12 +12396,18 @@ packages: dev: true /delayed-stream@1.0.0: - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} - engines: {node: '>=0.4.0'} + resolution: + { + integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==, + } + engines: { node: '>=0.4.0' } /delete-empty@3.0.0: - resolution: {integrity: sha512-ZUyiwo76W+DYnKsL3Kim6M/UOavPdBJgDYWOmuQhYaZvJH0AXAHbUNyEDtRbBra8wqqr686+63/0azfEk1ebUQ==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-ZUyiwo76W+DYnKsL3Kim6M/UOavPdBJgDYWOmuQhYaZvJH0AXAHbUNyEDtRbBra8wqqr686+63/0azfEk1ebUQ==, + } + engines: { node: '>=10' } hasBin: true dependencies: ansi-colors: 4.1.3 @@ -9873,8 +12417,11 @@ packages: dev: true /dendriform-immer-patch-optimiser@2.1.3(immer@9.0.21): - resolution: {integrity: sha512-QG2IegUCdlhycVwsBOJ7SNd18PgzyWPxBivTzuF0E1KFxaU47fHy/frud74A9E66a4WXyFFp9FLLC2XQDkVj7g==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-QG2IegUCdlhycVwsBOJ7SNd18PgzyWPxBivTzuF0E1KFxaU47fHy/frud74A9E66a4WXyFFp9FLLC2XQDkVj7g==, + } + engines: { node: '>=10' } peerDependencies: immer: '9' dependencies: @@ -9882,18 +12429,27 @@ packages: dev: true /depd@2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==, + } + engines: { node: '>= 0.8' } dev: true /dependency-graph@0.11.0: - resolution: {integrity: sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==} - engines: {node: '>= 0.6.0'} + resolution: + { + integrity: sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==, + } + engines: { node: '>= 0.6.0' } dev: true /dependency-tree@10.0.9: - resolution: {integrity: sha512-dwc59FRIsht+HfnTVM0BCjJaEWxdq2YAvEDy4/Hn6CwS3CBWMtFnL3aZGAkQn3XCYxk/YcTDE4jX2Q7bFTwCjA==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-dwc59FRIsht+HfnTVM0BCjJaEWxdq2YAvEDy4/Hn6CwS3CBWMtFnL3aZGAkQn3XCYxk/YcTDE4jX2Q7bFTwCjA==, + } + engines: { node: '>=14' } hasBin: true dependencies: commander: 10.0.1 @@ -9905,38 +12461,59 @@ packages: dev: true /dequal@2.0.3: - resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==, + } + engines: { node: '>=6' } dev: true /destroy@1.2.0: - resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + resolution: + { + integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==, + } + engines: { node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16 } dev: true /detect-indent@6.1.0: - resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==, + } + engines: { node: '>=8' } dev: true /detect-indent@7.0.1: - resolution: {integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==} - engines: {node: '>=12.20'} + resolution: + { + integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==, + } + engines: { node: '>=12.20' } dev: true /detect-newline@3.1.0: - resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==, + } + engines: { node: '>=8' } dev: true /detect-newline@4.0.1: - resolution: {integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { + integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dev: true /detective-amd@5.0.2: - resolution: {integrity: sha512-XFd/VEQ76HSpym80zxM68ieB77unNuoMwopU2TFT/ErUk5n4KvUTwW4beafAVUugrjV48l4BmmR0rh2MglBaiA==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-XFd/VEQ76HSpym80zxM68ieB77unNuoMwopU2TFT/ErUk5n4KvUTwW4beafAVUugrjV48l4BmmR0rh2MglBaiA==, + } + engines: { node: '>=14' } hasBin: true dependencies: ast-module-types: 5.0.0 @@ -9946,23 +12523,32 @@ packages: dev: true /detective-cjs@5.0.1: - resolution: {integrity: sha512-6nTvAZtpomyz/2pmEmGX1sXNjaqgMplhQkskq2MLrar0ZAIkHMrDhLXkRiK2mvbu9wSWr0V5/IfiTrZqAQMrmQ==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-6nTvAZtpomyz/2pmEmGX1sXNjaqgMplhQkskq2MLrar0ZAIkHMrDhLXkRiK2mvbu9wSWr0V5/IfiTrZqAQMrmQ==, + } + engines: { node: '>=14' } dependencies: ast-module-types: 5.0.0 node-source-walk: 6.0.2 dev: true /detective-es6@4.0.1: - resolution: {integrity: sha512-k3Z5tB4LQ8UVHkuMrFOlvb3GgFWdJ9NqAa2YLUU/jTaWJIm+JJnEh4PsMc+6dfT223Y8ACKOaC0qcj7diIhBKw==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-k3Z5tB4LQ8UVHkuMrFOlvb3GgFWdJ9NqAa2YLUU/jTaWJIm+JJnEh4PsMc+6dfT223Y8ACKOaC0qcj7diIhBKw==, + } + engines: { node: '>=14' } dependencies: node-source-walk: 6.0.2 dev: true /detective-postcss@6.1.3: - resolution: {integrity: sha512-7BRVvE5pPEvk2ukUWNQ+H2XOq43xENWbH0LcdCE14mwgTBEAMoAx+Fc1rdp76SmyZ4Sp48HlV7VedUnP6GA1Tw==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + resolution: + { + integrity: sha512-7BRVvE5pPEvk2ukUWNQ+H2XOq43xENWbH0LcdCE14mwgTBEAMoAx+Fc1rdp76SmyZ4Sp48HlV7VedUnP6GA1Tw==, + } + engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } dependencies: is-url: 1.2.4 postcss: 8.4.38 @@ -9970,29 +12556,41 @@ packages: dev: true /detective-sass@5.0.3: - resolution: {integrity: sha512-YsYT2WuA8YIafp2RVF5CEfGhhyIVdPzlwQgxSjK+TUm3JoHP+Tcorbk3SfG0cNZ7D7+cYWa0ZBcvOaR0O8+LlA==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-YsYT2WuA8YIafp2RVF5CEfGhhyIVdPzlwQgxSjK+TUm3JoHP+Tcorbk3SfG0cNZ7D7+cYWa0ZBcvOaR0O8+LlA==, + } + engines: { node: '>=14' } dependencies: gonzales-pe: 4.3.0 node-source-walk: 6.0.2 dev: true /detective-scss@4.0.3: - resolution: {integrity: sha512-VYI6cHcD0fLokwqqPFFtDQhhSnlFWvU614J42eY6G0s8c+MBhi9QAWycLwIOGxlmD8I/XvGSOUV1kIDhJ70ZPg==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-VYI6cHcD0fLokwqqPFFtDQhhSnlFWvU614J42eY6G0s8c+MBhi9QAWycLwIOGxlmD8I/XvGSOUV1kIDhJ70ZPg==, + } + engines: { node: '>=14' } dependencies: gonzales-pe: 4.3.0 node-source-walk: 6.0.2 dev: true /detective-stylus@4.0.0: - resolution: {integrity: sha512-TfPotjhszKLgFBzBhTOxNHDsutIxx9GTWjrL5Wh7Qx/ydxKhwUrlSFeLIn+ZaHPF+h0siVBkAQSuy6CADyTxgQ==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-TfPotjhszKLgFBzBhTOxNHDsutIxx9GTWjrL5Wh7Qx/ydxKhwUrlSFeLIn+ZaHPF+h0siVBkAQSuy6CADyTxgQ==, + } + engines: { node: '>=14' } dev: true /detective-typescript@11.2.0: - resolution: {integrity: sha512-ARFxjzizOhPqs1fYC/2NMC3N4jrQ6HvVflnXBTRqNEqJuXwyKLRr9CrJwkRcV/SnZt1sNXgsF6FPm0x57Tq0rw==} - engines: {node: ^14.14.0 || >=16.0.0} + resolution: + { + integrity: sha512-ARFxjzizOhPqs1fYC/2NMC3N4jrQ6HvVflnXBTRqNEqJuXwyKLRr9CrJwkRcV/SnZt1sNXgsF6FPm0x57Tq0rw==, + } + engines: { node: ^14.14.0 || >=16.0.0 } dependencies: '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.5) ast-module-types: 5.0.0 @@ -10003,83 +12601,125 @@ packages: dev: true /diff-sequences@29.6.3: - resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dev: true /diff@4.0.2: - resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} - engines: {node: '>=0.3.1'} + resolution: + { + integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==, + } + engines: { node: '>=0.3.1' } dev: true /diff@5.0.0: - resolution: {integrity: sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==} - engines: {node: '>=0.3.1'} + resolution: + { + integrity: sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==, + } + engines: { node: '>=0.3.1' } dev: true /diff@5.2.0: - resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} - engines: {node: '>=0.3.1'} + resolution: + { + integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==, + } + engines: { node: '>=0.3.1' } dev: true /difflib@0.2.4: - resolution: {integrity: sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w==} + resolution: + { + integrity: sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w==, + } dependencies: heap: 0.2.7 dev: true /dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==, + } + engines: { node: '>=8' } dependencies: path-type: 4.0.0 dev: true /doctrine@2.1.0: - resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==, + } + engines: { node: '>=0.10.0' } dependencies: esutils: 2.0.3 dev: true /doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} + resolution: + { + integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==, + } + engines: { node: '>=6.0.0' } dependencies: esutils: 2.0.3 dev: true /dot-case@3.0.4: - resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + resolution: + { + integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==, + } dependencies: no-case: 3.0.4 tslib: 2.6.2 dev: true /dot-prop@6.0.1: - resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==, + } + engines: { node: '>=10' } dependencies: is-obj: 2.0.0 dev: true /dotenv@16.0.3: - resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==, + } + engines: { node: '>=12' } dev: true /dotenv@16.4.5: - resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==, + } + engines: { node: '>=12' } dev: true /dset@3.1.3: - resolution: {integrity: sha512-20TuZZHCEZ2O71q9/+8BwKwZ0QtD9D8ObhrihJPr+vLLYlSuAU3/zL4cSlgbfeoGHTjCSJBa7NGcrF9/Bx/WJQ==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-20TuZZHCEZ2O71q9/+8BwKwZ0QtD9D8ObhrihJPr+vLLYlSuAU3/zL4cSlgbfeoGHTjCSJBa7NGcrF9/Bx/WJQ==, + } + engines: { node: '>=4' } dev: true /duplexify@3.7.1: - resolution: {integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==} + resolution: + { + integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==, + } dependencies: end-of-stream: 1.4.4 inherits: 2.0.4 @@ -10088,7 +12728,10 @@ packages: dev: true /duplexify@4.1.3: - resolution: {integrity: sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA==} + resolution: + { + integrity: sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA==, + } dependencies: end-of-stream: 1.4.4 inherits: 2.0.4 @@ -10097,25 +12740,40 @@ packages: dev: true /eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + resolution: + { + integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==, + } dev: true /ecdsa-sig-formatter@1.0.11: - resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} + resolution: + { + integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==, + } dependencies: safe-buffer: 5.2.1 dev: true /ee-first@1.1.1: - resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + resolution: + { + integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==, + } dev: true /electron-to-chromium@1.4.737: - resolution: {integrity: sha512-QvLTxaLHKdy5YxvixAw/FfHq2eWLUL9KvsPjp0aHK1gI5d3EDuDgITkvj0nFO2c6zUY3ZqVAJQiBYyQP9tQpfw==} + resolution: + { + integrity: sha512-QvLTxaLHKdy5YxvixAw/FfHq2eWLUL9KvsPjp0aHK1gI5d3EDuDgITkvj0nFO2c6zUY3ZqVAJQiBYyQP9tQpfw==, + } dev: true /elliptic@6.5.4: - resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==} + resolution: + { + integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==, + } dependencies: bn.js: 4.12.0 brorand: 1.1.0 @@ -10126,7 +12784,10 @@ packages: minimalistic-crypto-utils: 1.0.1 /elliptic@6.5.5: - resolution: {integrity: sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw==} + resolution: + { + integrity: sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw==, + } dependencies: bn.js: 4.12.0 brorand: 1.1.0 @@ -10138,64 +12799,97 @@ packages: dev: true /emitter-listener@1.1.2: - resolution: {integrity: sha512-Bt1sBAGFHY9DKY+4/2cV6izcKJUf5T7/gkdmkxzX/qv9CcGH8xSwVRW5mtX03SWJtRTWSOpzCuWN9rBFYZepZQ==} + resolution: + { + integrity: sha512-Bt1sBAGFHY9DKY+4/2cV6izcKJUf5T7/gkdmkxzX/qv9CcGH8xSwVRW5mtX03SWJtRTWSOpzCuWN9rBFYZepZQ==, + } dependencies: shimmer: 1.2.1 dev: false /emittery@0.13.1: - resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==, + } + engines: { node: '>=12' } dev: true /emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + resolution: + { + integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==, + } /emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + resolution: + { + integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==, + } dev: true /encodeurl@1.0.2: - resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==, + } + engines: { node: '>= 0.8' } dev: true /end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + resolution: + { + integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==, + } dependencies: once: 1.4.0 dev: true /enhanced-resolve@5.16.0: - resolution: {integrity: sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==} - engines: {node: '>=10.13.0'} + resolution: + { + integrity: sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==, + } + engines: { node: '>=10.13.0' } dependencies: graceful-fs: 4.2.11 tapable: 2.2.1 dev: true /enquirer@2.4.1: - resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} - engines: {node: '>=8.6'} + resolution: + { + integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==, + } + engines: { node: '>=8.6' } dependencies: ansi-colors: 4.1.3 strip-ansi: 6.0.1 dev: true /env-paths@2.2.1: - resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==, + } + engines: { node: '>=6' } dev: true /error-ex@1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + resolution: + { + integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==, + } dependencies: is-arrayish: 0.2.1 dev: true /es-abstract@1.23.3: - resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==, + } + engines: { node: '>= 0.4' } dependencies: array-buffer-byte-length: 1.0.1 arraybuffer.prototype.slice: 1.0.3 @@ -10246,20 +12940,29 @@ packages: dev: true /es-define-property@1.0.0: - resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==, + } + engines: { node: '>= 0.4' } dependencies: get-intrinsic: 1.2.4 dev: true /es-errors@1.3.0: - resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==, + } + engines: { node: '>= 0.4' } dev: true /es-iterator-helpers@1.0.18: - resolution: {integrity: sha512-scxAJaewsahbqTYrGKJihhViaM6DDZDDoucfvzNbK0pOren1g/daDQ3IAhzn+1G14rBG7w+i5N+qul60++zlKA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-scxAJaewsahbqTYrGKJihhViaM6DDZDDoucfvzNbK0pOren1g/daDQ3IAhzn+1G14rBG7w+i5N+qul60++zlKA==, + } + engines: { node: '>= 0.4' } dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -10278,15 +12981,21 @@ packages: dev: true /es-object-atoms@1.0.0: - resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==, + } + engines: { node: '>= 0.4' } dependencies: es-errors: 1.3.0 dev: true /es-set-tostringtag@2.0.3: - resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==, + } + engines: { node: '>= 0.4' } dependencies: get-intrinsic: 1.2.4 has-tostringtag: 1.0.2 @@ -10294,14 +13003,20 @@ packages: dev: true /es-shim-unscopables@1.0.2: - resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} + resolution: + { + integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==, + } dependencies: hasown: 2.0.2 dev: true /es-to-primitive@1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==, + } + engines: { node: '>= 0.4' } dependencies: is-callable: 1.2.7 is-date-object: 1.0.5 @@ -10309,8 +13024,11 @@ packages: dev: true /esbuild@0.18.13: - resolution: {integrity: sha512-vhg/WR/Oiu4oUIkVhmfcc23G6/zWuEQKFS+yiosSHe4aN6+DQRXIfeloYGibIfVhkr4wyfuVsGNLr+sQU1rWWw==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-vhg/WR/Oiu4oUIkVhmfcc23G6/zWuEQKFS+yiosSHe4aN6+DQRXIfeloYGibIfVhkr4wyfuVsGNLr+sQU1rWWw==, + } + engines: { node: '>=12' } hasBin: true requiresBuild: true optionalDependencies: @@ -10339,8 +13057,11 @@ packages: dev: true /esbuild@0.19.12: - resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==, + } + engines: { node: '>=12' } hasBin: true requiresBuild: true optionalDependencies: @@ -10370,8 +13091,11 @@ packages: dev: true /esbuild@0.20.2: - resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==, + } + engines: { node: '>=12' } hasBin: true requiresBuild: true optionalDependencies: @@ -10401,36 +13125,57 @@ packages: dev: true /escalade@3.1.2: - resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==, + } + engines: { node: '>=6' } dev: true /escape-html@1.0.3: - resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + resolution: + { + integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==, + } dev: true /escape-latex@1.2.0: - resolution: {integrity: sha512-nV5aVWW1K0wEiUIEdZ4erkGGH8mDxGyxSeqPzRNtWP7ataw+/olFObw7hujFWlVjNsaDFw5VZ5NzVSIqRgfTiw==} + resolution: + { + integrity: sha512-nV5aVWW1K0wEiUIEdZ4erkGGH8mDxGyxSeqPzRNtWP7ataw+/olFObw7hujFWlVjNsaDFw5VZ5NzVSIqRgfTiw==, + } dev: true /escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} + resolution: + { + integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==, + } + engines: { node: '>=0.8.0' } dev: true /escape-string-regexp@2.0.0: - resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==, + } + engines: { node: '>=8' } dev: true /escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==, + } + engines: { node: '>=10' } dev: true /escodegen@1.8.1: - resolution: {integrity: sha512-yhi5S+mNTOuRvyW4gWlg5W1byMaQGWWSYHXsuFZ7GBo7tpyOwi2EdzMP/QWxh9hwkD2m+wDVHJsxhRIj+v/b/A==} - engines: {node: '>=0.12.0'} + resolution: + { + integrity: sha512-yhi5S+mNTOuRvyW4gWlg5W1byMaQGWWSYHXsuFZ7GBo7tpyOwi2EdzMP/QWxh9hwkD2m+wDVHJsxhRIj+v/b/A==, + } + engines: { node: '>=0.12.0' } hasBin: true dependencies: esprima: 2.7.3 @@ -10442,8 +13187,11 @@ packages: dev: true /escodegen@2.1.0: - resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} - engines: {node: '>=6.0'} + resolution: + { + integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==, + } + engines: { node: '>=6.0' } hasBin: true dependencies: esprima: 4.0.1 @@ -10454,7 +13202,10 @@ packages: dev: true /eslint-config-prettier@9.1.0(eslint@8.57.0): - resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} + resolution: + { + integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==, + } hasBin: true peerDependencies: eslint: '>=7.0.0' @@ -10463,7 +13214,10 @@ packages: dev: true /eslint-config-turbo@1.13.2(eslint@8.57.0): - resolution: {integrity: sha512-TzvsMwNJx/P4JYw79iFqbyQApnyT050gW7dBxnNeNVl3pVMnT2rwaFo9Q3Hc49Tp5NANxEwYN9RStF50P/IwGA==} + resolution: + { + integrity: sha512-TzvsMwNJx/P4JYw79iFqbyQApnyT050gW7dBxnNeNVl3pVMnT2rwaFo9Q3Hc49Tp5NANxEwYN9RStF50P/IwGA==, + } peerDependencies: eslint: '>6.6.0' dependencies: @@ -10472,8 +13226,11 @@ packages: dev: true /eslint-import-resolver-alias@1.1.2(eslint-plugin-import@2.29.1): - resolution: {integrity: sha512-WdviM1Eu834zsfjHtcGHtGfcu+F30Od3V7I9Fi57uhBEwPkjDcii7/yW8jAT+gOhn4P/vOxxNAXbFAKsrrc15w==} - engines: {node: '>= 4'} + resolution: + { + integrity: sha512-WdviM1Eu834zsfjHtcGHtGfcu+F30Od3V7I9Fi57uhBEwPkjDcii7/yW8jAT+gOhn4P/vOxxNAXbFAKsrrc15w==, + } + engines: { node: '>= 4' } peerDependencies: eslint-plugin-import: '>=1.4.0' dependencies: @@ -10481,7 +13238,10 @@ packages: dev: true /eslint-import-resolver-node@0.3.9: - resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + resolution: + { + integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==, + } dependencies: debug: 3.2.7 is-core-module: 2.13.1 @@ -10491,8 +13251,11 @@ packages: dev: true /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0): - resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} - engines: {node: ^14.18.0 || >=16.0.0} + resolution: + { + integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==, + } + engines: { node: ^14.18.0 || >=16.0.0 } peerDependencies: eslint: '*' eslint-plugin-import: '*' @@ -10514,8 +13277,11 @@ packages: dev: true /eslint-module-utils@2.8.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): - resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==, + } + engines: { node: '>=4' } peerDependencies: '@typescript-eslint/parser': '*' eslint: '*' @@ -10544,8 +13310,11 @@ packages: dev: true /eslint-plugin-eslint-comments@3.2.0(eslint@8.57.0): - resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==} - engines: {node: '>=6.5.0'} + resolution: + { + integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==, + } + engines: { node: '>=6.5.0' } peerDependencies: eslint: '>=4.19.1' dependencies: @@ -10555,8 +13324,11 @@ packages: dev: true /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): - resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==, + } + engines: { node: '>=4' } peerDependencies: '@typescript-eslint/parser': '*' eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 @@ -10590,8 +13362,11 @@ packages: dev: true /eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.5): - resolution: {integrity: sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } peerDependencies: '@typescript-eslint/eslint-plugin': ^5.0.0 || ^6.0.0 || ^7.0.0 eslint: ^7.0.0 || ^8.0.0 @@ -10612,8 +13387,11 @@ packages: dev: true /eslint-plugin-jsx-a11y@6.8.0(eslint@8.57.0): - resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==} - engines: {node: '>=4.0'} + resolution: + { + integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==, + } + engines: { node: '>=4.0' } peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 dependencies: @@ -10637,7 +13415,10 @@ packages: dev: true /eslint-plugin-playwright@0.16.0(eslint-plugin-jest@27.9.0)(eslint@8.57.0): - resolution: {integrity: sha512-DcHpF0SLbNeh9MT4pMzUGuUSnJ7q5MWbP8sSEFIMS6j7Ggnduq8ghNlfhURgty4c1YFny7Ge9xYTO1FSAoV2Vw==} + resolution: + { + integrity: sha512-DcHpF0SLbNeh9MT4pMzUGuUSnJ7q5MWbP8sSEFIMS6j7Ggnduq8ghNlfhURgty4c1YFny7Ge9xYTO1FSAoV2Vw==, + } peerDependencies: eslint: '>=7' eslint-plugin-jest: '>=25' @@ -10650,8 +13431,11 @@ packages: dev: true /eslint-plugin-react-hooks@4.6.0(eslint@8.57.0): - resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==, + } + engines: { node: '>=10' } peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 dependencies: @@ -10659,8 +13443,11 @@ packages: dev: true /eslint-plugin-react@7.34.1(eslint@8.57.0): - resolution: {integrity: sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==, + } + engines: { node: '>=4' } peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 dependencies: @@ -10686,8 +13473,11 @@ packages: dev: true /eslint-plugin-testing-library@6.2.2(eslint@8.57.0)(typescript@5.4.5): - resolution: {integrity: sha512-1E94YOTUDnOjSLyvOwmbVDzQi/WkKm3WVrMXu6SmBr6DN95xTGZmI6HJ/eOkSXh/DlheRsxaPsJvZByDBhWLVQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6'} + resolution: + { + integrity: sha512-1E94YOTUDnOjSLyvOwmbVDzQi/WkKm3WVrMXu6SmBr6DN95xTGZmI6HJ/eOkSXh/DlheRsxaPsJvZByDBhWLVQ==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6' } peerDependencies: eslint: ^7.5.0 || ^8.0.0 dependencies: @@ -10699,14 +13489,20 @@ packages: dev: true /eslint-plugin-tsdoc@0.2.17: - resolution: {integrity: sha512-xRmVi7Zx44lOBuYqG8vzTXuL6IdGOeF9nHX17bjJ8+VE6fsxpdGem0/SBTmAwgYMKYB1WBkqRJVQ+n8GK041pA==} + resolution: + { + integrity: sha512-xRmVi7Zx44lOBuYqG8vzTXuL6IdGOeF9nHX17bjJ8+VE6fsxpdGem0/SBTmAwgYMKYB1WBkqRJVQ+n8GK041pA==, + } dependencies: '@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc-config': 0.16.2 dev: true /eslint-plugin-turbo@1.13.2(eslint@8.57.0): - resolution: {integrity: sha512-QNaihF0hTRjfOBd1SLHrftm8V3pOU35CNS/C0/Z6qY1xxdL1PSv4IctEIldSMX7/A1jOPYwMPO7wYwPXgjgp/g==} + resolution: + { + integrity: sha512-QNaihF0hTRjfOBd1SLHrftm8V3pOU35CNS/C0/Z6qY1xxdL1PSv4IctEIldSMX7/A1jOPYwMPO7wYwPXgjgp/g==, + } peerDependencies: eslint: '>6.6.0' dependencies: @@ -10715,8 +13511,11 @@ packages: dev: true /eslint-plugin-unicorn@48.0.1(eslint@8.57.0): - resolution: {integrity: sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw==} - engines: {node: '>=16'} + resolution: + { + integrity: sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw==, + } + engines: { node: '>=16' } peerDependencies: eslint: '>=8.44.0' dependencies: @@ -10739,8 +13538,11 @@ packages: dev: true /eslint-plugin-unused-imports@3.1.0(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.57.0): - resolution: {integrity: sha512-9l1YFCzXKkw1qtAru1RWUtG2EVDZY0a0eChKXcL+EZ5jitG7qxdctu4RnvhOJHv4xfmUf7h+JJPINlVpGhZMrw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { + integrity: sha512-9l1YFCzXKkw1qtAru1RWUtG2EVDZY0a0eChKXcL+EZ5jitG7qxdctu4RnvhOJHv4xfmUf7h+JJPINlVpGhZMrw==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } peerDependencies: '@typescript-eslint/eslint-plugin': 6 - 7 eslint: '8' @@ -10754,39 +13556,57 @@ packages: dev: true /eslint-rule-composer@0.3.0: - resolution: {integrity: sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==} - engines: {node: '>=4.0.0'} + resolution: + { + integrity: sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==, + } + engines: { node: '>=4.0.0' } dev: true /eslint-scope@5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} + resolution: + { + integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==, + } + engines: { node: '>=8.0.0' } dependencies: esrecurse: 4.3.0 estraverse: 4.3.0 dev: true /eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { + integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 dev: true /eslint-visitor-keys@2.1.0: - resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==, + } + engines: { node: '>=10' } dev: true /eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { + integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dev: true /eslint@8.57.0: - resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { + integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } hasBin: true dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) @@ -10832,8 +13652,11 @@ packages: dev: true /espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + resolution: + { + integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==, + } + engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } dependencies: acorn: 8.11.3 acorn-jsx: 5.3.2(acorn@8.11.3) @@ -10841,58 +13664,88 @@ packages: dev: true /esprima@2.7.3: - resolution: {integrity: sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A==, + } + engines: { node: '>=0.10.0' } hasBin: true dev: true /esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==, + } + engines: { node: '>=4' } hasBin: true dev: true /esquery@1.5.0: - resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} - engines: {node: '>=0.10'} + resolution: + { + integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==, + } + engines: { node: '>=0.10' } dependencies: estraverse: 5.3.0 dev: true /esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} + resolution: + { + integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==, + } + engines: { node: '>=4.0' } dependencies: estraverse: 5.3.0 dev: true /estraverse@1.9.3: - resolution: {integrity: sha512-25w1fMXQrGdoquWnScXZGckOv+Wes+JDnuN/+7ex3SauFRS72r2lFDec0EKPt2YD1wUJ/IrfEex+9yp4hfSOJA==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-25w1fMXQrGdoquWnScXZGckOv+Wes+JDnuN/+7ex3SauFRS72r2lFDec0EKPt2YD1wUJ/IrfEex+9yp4hfSOJA==, + } + engines: { node: '>=0.10.0' } dev: true /estraverse@4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} + resolution: + { + integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==, + } + engines: { node: '>=4.0' } dev: true /estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} + resolution: + { + integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==, + } + engines: { node: '>=4.0' } dev: true /esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==, + } + engines: { node: '>=0.10.0' } dev: true /etag@1.8.1: - resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==, + } + engines: { node: '>= 0.6' } dev: true /eth-gas-reporter@0.2.27: - resolution: {integrity: sha512-femhvoAM7wL0GcI8ozTdxfuBtBFJ9qsyIAsmKVjlWAHUbdnnXHt+lKzz/kmldM5lA9jLuNHGwuIxorNpLbR1Zw==} + resolution: + { + integrity: sha512-femhvoAM7wL0GcI8ozTdxfuBtBFJ9qsyIAsmKVjlWAHUbdnnXHt+lKzz/kmldM5lA9jLuNHGwuIxorNpLbR1Zw==, + } peerDependencies: '@codechecks/client': ^0.1.0 peerDependenciesMeta: @@ -10919,13 +13772,19 @@ packages: dev: true /ethereum-bloom-filters@1.1.0: - resolution: {integrity: sha512-J1gDRkLpuGNvWYzWslBQR9cDV4nd4kfvVTE/Wy4Kkm4yb3EYRSlyi0eB/inTsSTTVyA0+HyzHgbr95Fn/Z1fSw==} + resolution: + { + integrity: sha512-J1gDRkLpuGNvWYzWslBQR9cDV4nd4kfvVTE/Wy4Kkm4yb3EYRSlyi0eB/inTsSTTVyA0+HyzHgbr95Fn/Z1fSw==, + } dependencies: '@noble/hashes': 1.4.0 dev: true /ethereum-cryptography@0.1.3: - resolution: {integrity: sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==} + resolution: + { + integrity: sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==, + } dependencies: '@types/pbkdf2': 3.1.2 '@types/secp256k1': 4.0.6 @@ -10945,7 +13804,10 @@ packages: dev: true /ethereum-cryptography@1.2.0: - resolution: {integrity: sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw==} + resolution: + { + integrity: sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw==, + } dependencies: '@noble/hashes': 1.2.0 '@noble/secp256k1': 1.7.1 @@ -10954,7 +13816,10 @@ packages: dev: true /ethereum-cryptography@2.1.3: - resolution: {integrity: sha512-BlwbIL7/P45W8FGW2r7LGuvoEZ+7PWsniMvQ4p5s2xCyw9tmaDlpfsN9HjAucbF+t/qpVHwZUisgfK24TCW8aA==} + resolution: + { + integrity: sha512-BlwbIL7/P45W8FGW2r7LGuvoEZ+7PWsniMvQ4p5s2xCyw9tmaDlpfsN9HjAucbF+t/qpVHwZUisgfK24TCW8aA==, + } dependencies: '@noble/curves': 1.3.0 '@noble/hashes': 1.3.3 @@ -10963,14 +13828,20 @@ packages: dev: true /ethereumjs-abi@0.6.8: - resolution: {integrity: sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==} + resolution: + { + integrity: sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==, + } dependencies: bn.js: 4.12.0 ethereumjs-util: 6.2.1 dev: true /ethereumjs-util@6.2.1: - resolution: {integrity: sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==} + resolution: + { + integrity: sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==, + } dependencies: '@types/bn.js': 4.11.6 bn.js: 4.12.0 @@ -10982,8 +13853,11 @@ packages: dev: true /ethereumjs-util@7.1.5: - resolution: {integrity: sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==} - engines: {node: '>=10.0.0'} + resolution: + { + integrity: sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==, + } + engines: { node: '>=10.0.0' } dependencies: '@types/bn.js': 5.1.5 bn.js: 5.2.1 @@ -10993,7 +13867,10 @@ packages: dev: true /ethers@5.6.2: - resolution: {integrity: sha512-EzGCbns24/Yluu7+ToWnMca3SXJ1Jk1BvWB7CCmVNxyOeM4LLvw2OLuIHhlkhQk1dtOcj9UMsdkxUh8RiG1dxQ==} + resolution: + { + integrity: sha512-EzGCbns24/Yluu7+ToWnMca3SXJ1Jk1BvWB7CCmVNxyOeM4LLvw2OLuIHhlkhQk1dtOcj9UMsdkxUh8RiG1dxQ==, + } dependencies: '@ethersproject/abi': 5.6.0 '@ethersproject/abstract-provider': 5.6.0 @@ -11031,7 +13908,10 @@ packages: dev: false /ethers@5.7.2: - resolution: {integrity: sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==} + resolution: + { + integrity: sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==, + } dependencies: '@ethersproject/abi': 5.7.0 '@ethersproject/abstract-provider': 5.7.0 @@ -11068,8 +13948,11 @@ packages: - utf-8-validate /ethers@6.11.1: - resolution: {integrity: sha512-mxTAE6wqJQAbp5QAe/+o+rXOID7Nw91OZXvgpjDa1r4fAbq2Nu314oEZSbjoRLacuCzs7kUC3clEvkCQowffGg==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-mxTAE6wqJQAbp5QAe/+o+rXOID7Nw91OZXvgpjDa1r4fAbq2Nu314oEZSbjoRLacuCzs7kUC3clEvkCQowffGg==, + } + engines: { node: '>=14.0.0' } dependencies: '@adraffy/ens-normalize': 1.10.1 '@noble/curves': 1.2.0 @@ -11084,28 +13967,40 @@ packages: dev: true /ethjs-unit@0.1.6: - resolution: {integrity: sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==} - engines: {node: '>=6.5.0', npm: '>=3'} + resolution: + { + integrity: sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==, + } + engines: { node: '>=6.5.0', npm: '>=3' } dependencies: bn.js: 4.11.6 number-to-bn: 1.7.0 dev: true /ethjs-util@0.1.6: - resolution: {integrity: sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==} - engines: {node: '>=6.5.0', npm: '>=3'} + resolution: + { + integrity: sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==, + } + engines: { node: '>=6.5.0', npm: '>=3' } dependencies: is-hex-prefixed: 1.0.0 strip-hex-prefix: 1.0.0 dev: true /events@1.1.1: - resolution: {integrity: sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==} - engines: {node: '>=0.4.x'} + resolution: + { + integrity: sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==, + } + engines: { node: '>=0.4.x' } dev: true /evm-bn@1.1.2(@ethersproject/bignumber@5.7.0): - resolution: {integrity: sha512-Lq8CT1EAjSeN+Yk0h1hpSwnZyMA4Xir6fQD4vlStljAuW2xr7qLOEGDLGsTa9sU2e40EYIumA4wYhMC/e+lyKw==} + resolution: + { + integrity: sha512-Lq8CT1EAjSeN+Yk0h1hpSwnZyMA4Xir6fQD4vlStljAuW2xr7qLOEGDLGsTa9sU2e40EYIumA4wYhMC/e+lyKw==, + } peerDependencies: '@ethersproject/bignumber': 5.x dependencies: @@ -11114,15 +14009,21 @@ packages: dev: true /evp_bytestokey@1.0.3: - resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} + resolution: + { + integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==, + } dependencies: md5.js: 1.3.5 safe-buffer: 5.2.1 dev: true /execa@5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==, + } + engines: { node: '>=10' } dependencies: cross-spawn: 7.0.3 get-stream: 6.0.1 @@ -11136,13 +14037,19 @@ packages: dev: true /exit@0.1.2: - resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} - engines: {node: '>= 0.8.0'} + resolution: + { + integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==, + } + engines: { node: '>= 0.8.0' } dev: true /expect@29.7.0: - resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: '@jest/expect-utils': 29.7.0 jest-get-type: 29.6.3 @@ -11152,8 +14059,11 @@ packages: dev: true /express@4.19.2: - resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==} - engines: {node: '>= 0.10.0'} + resolution: + { + integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==, + } + engines: { node: '>= 0.10.0' } dependencies: accepts: 1.3.8 array-flatten: 1.1.1 @@ -11191,29 +14101,44 @@ packages: dev: true /external-editor@3.1.0: - resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==, + } + engines: { node: '>=4' } dependencies: chardet: 0.7.0 iconv-lite: 0.4.24 tmp: 0.0.33 /extract-files@11.0.0: - resolution: {integrity: sha512-FuoE1qtbJ4bBVvv94CC7s0oTnKUGvQs+Rjf1L2SJFfS+HTVVjhPFtehPdQ0JiGPqVNfSSZvL5yzHHQq2Z4WNhQ==} - engines: {node: ^12.20 || >= 14.13} + resolution: + { + integrity: sha512-FuoE1qtbJ4bBVvv94CC7s0oTnKUGvQs+Rjf1L2SJFfS+HTVVjhPFtehPdQ0JiGPqVNfSSZvL5yzHHQq2Z4WNhQ==, + } + engines: { node: ^12.20 || >= 14.13 } dev: true /fast-decode-uri-component@1.0.1: - resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==} + resolution: + { + integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==, + } dev: true /fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + resolution: + { + integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, + } dev: true /fast-glob@3.3.2: - resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} - engines: {node: '>=8.6.0'} + resolution: + { + integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==, + } + engines: { node: '>=8.6.0' } dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 @@ -11223,12 +14148,18 @@ packages: dev: true /fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + resolution: + { + integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==, + } dev: true /fast-jwt@3.3.3: - resolution: {integrity: sha512-oS3P8bRI24oPLJUePt2OgF64FBQib5TlgHLFQxYNoHYEEZe0gU3cKjJAVqpB5XKV/zjxmq4Hzbk3fgfW/wRz8Q==} - engines: {node: '>=16 <22'} + resolution: + { + integrity: sha512-oS3P8bRI24oPLJUePt2OgF64FBQib5TlgHLFQxYNoHYEEZe0gU3cKjJAVqpB5XKV/zjxmq4Hzbk3fgfW/wRz8Q==, + } + engines: { node: '>=16 <22' } dependencies: '@lukeed/ms': 2.0.2 asn1.js: 5.4.1 @@ -11237,46 +14168,70 @@ packages: dev: true /fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + resolution: + { + integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==, + } dev: true /fast-querystring@1.1.2: - resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} + resolution: + { + integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==, + } dependencies: fast-decode-uri-component: 1.0.1 dev: true /fast-url-parser@1.1.3: - resolution: {integrity: sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==} + resolution: + { + integrity: sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==, + } dependencies: punycode: 1.4.1 dev: true /fast-xml-parser@4.2.5: - resolution: {integrity: sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==} + resolution: + { + integrity: sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==, + } hasBin: true dependencies: strnum: 1.0.5 dev: true /fastq@1.17.1: - resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + resolution: + { + integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==, + } dependencies: reusify: 1.0.4 dev: true /fb-watchman@2.0.2: - resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + resolution: + { + integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==, + } dependencies: bser: 2.1.1 dev: true /fbjs-css-vars@1.0.2: - resolution: {integrity: sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==} + resolution: + { + integrity: sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==, + } dev: true /fbjs@3.0.5: - resolution: {integrity: sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==} + resolution: + { + integrity: sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==, + } dependencies: cross-fetch: 3.1.8 fbjs-css-vars: 1.0.2 @@ -11290,30 +14245,42 @@ packages: dev: true /fetch-blob@3.2.0: - resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} - engines: {node: ^12.20 || >= 14.13} + resolution: + { + integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==, + } + engines: { node: ^12.20 || >= 14.13 } dependencies: node-domexception: 1.0.0 web-streams-polyfill: 3.3.3 dev: false /figures@3.2.0: - resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==, + } + engines: { node: '>=8' } dependencies: escape-string-regexp: 1.0.5 dev: true /file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} + resolution: + { + integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==, + } + engines: { node: ^10.12.0 || >=12.0.0 } dependencies: flat-cache: 3.2.0 dev: true /filing-cabinet@4.2.0: - resolution: {integrity: sha512-YZ21ryzRcyqxpyKggdYSoXx//d3sCJzM3lsYoaeg/FyXdADGJrUl+BW1KIglaVLJN5BBcMtWylkygY8zBp2MrQ==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-YZ21ryzRcyqxpyKggdYSoXx//d3sCJzM3lsYoaeg/FyXdADGJrUl+BW1KIglaVLJN5BBcMtWylkygY8zBp2MrQ==, + } + engines: { node: '>=14' } hasBin: true dependencies: app-module-path: 2.2.0 @@ -11331,15 +14298,21 @@ packages: dev: true /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==, + } + engines: { node: '>=8' } dependencies: to-regex-range: 5.0.1 dev: true /finalhandler@1.2.0: - resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==, + } + engines: { node: '>= 0.8' } dependencies: debug: 2.6.9 encodeurl: 1.0.2 @@ -11353,38 +14326,53 @@ packages: dev: true /find-up@2.1.0: - resolution: {integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==, + } + engines: { node: '>=4' } dependencies: locate-path: 2.0.0 dev: true /find-up@3.0.0: - resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==, + } + engines: { node: '>=6' } dependencies: locate-path: 3.0.0 dev: true /find-up@4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==, + } + engines: { node: '>=8' } dependencies: locate-path: 5.0.0 path-exists: 4.0.0 dev: true /find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==, + } + engines: { node: '>=10' } dependencies: locate-path: 6.0.0 path-exists: 4.0.0 dev: true /flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} + resolution: + { + integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==, + } + engines: { node: ^10.12.0 || >=12.0.0 } dependencies: flatted: 3.3.1 keyv: 4.5.4 @@ -11392,17 +14380,26 @@ packages: dev: true /flat@5.0.2: - resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} + resolution: + { + integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==, + } hasBin: true dev: true /flatted@3.3.1: - resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + resolution: + { + integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==, + } dev: true /follow-redirects@1.15.6(debug@4.3.4): - resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} - engines: {node: '>=4.0'} + resolution: + { + integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==, + } + engines: { node: '>=4.0' } peerDependencies: debug: '*' peerDependenciesMeta: @@ -11413,22 +14410,31 @@ packages: dev: true /for-each@0.3.3: - resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + resolution: + { + integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==, + } dependencies: is-callable: 1.2.7 dev: true /foreground-child@3.1.1: - resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==, + } + engines: { node: '>=14' } dependencies: cross-spawn: 7.0.3 signal-exit: 4.1.0 dev: true /form-data@2.5.1: - resolution: {integrity: sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==} - engines: {node: '>= 0.12'} + resolution: + { + integrity: sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==, + } + engines: { node: '>= 0.12' } dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 @@ -11436,48 +14442,75 @@ packages: dev: true /form-data@4.0.0: - resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==, + } + engines: { node: '>= 6' } dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 mime-types: 2.1.35 /formdata-polyfill@4.0.10: - resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} - engines: {node: '>=12.20.0'} + resolution: + { + integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==, + } + engines: { node: '>=12.20.0' } dependencies: fetch-blob: 3.2.0 dev: false /forwarded@0.2.0: - resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==, + } + engines: { node: '>= 0.6' } dev: true /fp-ts@1.19.3: - resolution: {integrity: sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==} + resolution: + { + integrity: sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==, + } dev: true /fraction.js@4.3.7: - resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + resolution: + { + integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==, + } dev: true /fresh@0.5.2: - resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==, + } + engines: { node: '>= 0.6' } dev: true /from-exponential@1.1.1: - resolution: {integrity: sha512-VBE7f5OVnYwdgB3LHa+Qo29h8qVpxhVO9Trlc+AWm+/XNAgks1tAwMFHb33mjeiof77GglsJzeYF7OqXrROP/A==} + resolution: + { + integrity: sha512-VBE7f5OVnYwdgB3LHa+Qo29h8qVpxhVO9Trlc+AWm+/XNAgks1tAwMFHb33mjeiof77GglsJzeYF7OqXrROP/A==, + } dev: true /fs-constants@1.0.0: - resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + resolution: + { + integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==, + } dev: true /fs-extra@0.30.0: - resolution: {integrity: sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA==} + resolution: + { + integrity: sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA==, + } dependencies: graceful-fs: 4.2.11 jsonfile: 2.4.0 @@ -11487,8 +14520,11 @@ packages: dev: true /fs-extra@7.0.1: - resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} - engines: {node: '>=6 <7 || >=8'} + resolution: + { + integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==, + } + engines: { node: '>=6 <7 || >=8' } dependencies: graceful-fs: 4.2.11 jsonfile: 4.0.0 @@ -11496,8 +14532,11 @@ packages: dev: true /fs-extra@8.1.0: - resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} - engines: {node: '>=6 <7 || >=8'} + resolution: + { + integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==, + } + engines: { node: '>=6 <7 || >=8' } dependencies: graceful-fs: 4.2.11 jsonfile: 4.0.0 @@ -11505,8 +14544,11 @@ packages: dev: true /fs-extra@9.1.0: - resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==, + } + engines: { node: '>=10' } dependencies: at-least-node: 1.0.0 graceful-fs: 4.2.11 @@ -11515,35 +14557,53 @@ packages: dev: true /fs-readdir-recursive@1.1.0: - resolution: {integrity: sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==} + resolution: + { + integrity: sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==, + } dev: true /fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + resolution: + { + integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==, + } dev: true /fsevents@2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + resolution: + { + integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==, + } + engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } os: [darwin] requiresBuild: true dev: true optional: true /fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + resolution: + { + integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==, + } + engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } os: [darwin] requiresBuild: true dev: true optional: true /function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + resolution: + { + integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==, + } /function.prototype.name@1.1.6: - resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==, + } + engines: { node: '>= 0.4' } dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -11552,39 +14612,60 @@ packages: dev: true /functions-have-names@1.2.3: - resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + resolution: + { + integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==, + } dev: true /generic-pool@3.9.0: - resolution: {integrity: sha512-hymDOu5B53XvN4QT9dBmZxPX4CWhBPPLguTZ9MMFeFa/Kg0xWVfylOVNlJji/E7yTZWFd/q9GO5TxDLq156D7g==} - engines: {node: '>= 4'} + resolution: + { + integrity: sha512-hymDOu5B53XvN4QT9dBmZxPX4CWhBPPLguTZ9MMFeFa/Kg0xWVfylOVNlJji/E7yTZWFd/q9GO5TxDLq156D7g==, + } + engines: { node: '>= 4' } dev: false /gensync@1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} + resolution: + { + integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==, + } + engines: { node: '>=6.9.0' } dev: true /get-amd-module-type@5.0.1: - resolution: {integrity: sha512-jb65zDeHyDjFR1loOVk0HQGM5WNwoGB8aLWy3LKCieMKol0/ProHkhO2X1JxojuN10vbz1qNn09MJ7tNp7qMzw==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-jb65zDeHyDjFR1loOVk0HQGM5WNwoGB8aLWy3LKCieMKol0/ProHkhO2X1JxojuN10vbz1qNn09MJ7tNp7qMzw==, + } + engines: { node: '>=14' } dependencies: ast-module-types: 5.0.0 node-source-walk: 6.0.2 dev: true /get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} + resolution: + { + integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==, + } + engines: { node: 6.* || 8.* || >= 10.* } dev: true /get-func-name@2.0.2: - resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} + resolution: + { + integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==, + } dev: true /get-intrinsic@1.2.4: - resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==, + } + engines: { node: '>= 0.4' } dependencies: es-errors: 1.3.0 function-bind: 1.1.2 @@ -11594,37 +14675,58 @@ packages: dev: true /get-own-enumerable-property-symbols@3.0.2: - resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} + resolution: + { + integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==, + } dev: true /get-package-type@0.1.0: - resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} - engines: {node: '>=8.0.0'} + resolution: + { + integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==, + } + engines: { node: '>=8.0.0' } dev: true /get-port@3.2.0: - resolution: {integrity: sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==, + } + engines: { node: '>=4' } dev: true /get-port@6.1.2: - resolution: {integrity: sha512-BrGGraKm2uPqurfGVj/z97/zv8dPleC6x9JBNRTrDNtCkkRF4rPwrQXFgL7+I+q8QSdU4ntLQX2D7KIxSy8nGw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { + integrity: sha512-BrGGraKm2uPqurfGVj/z97/zv8dPleC6x9JBNRTrDNtCkkRF4rPwrQXFgL7+I+q8QSdU4ntLQX2D7KIxSy8nGw==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dev: true /get-stdin@9.0.0: - resolution: {integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==, + } + engines: { node: '>=12' } dev: true /get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==, + } + engines: { node: '>=10' } dev: true /get-symbol-description@1.0.2: - resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==, + } + engines: { node: '>= 0.4' } dependencies: call-bind: 1.0.7 es-errors: 1.3.0 @@ -11632,13 +14734,19 @@ packages: dev: true /get-tsconfig@4.7.3: - resolution: {integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==} + resolution: + { + integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==, + } dependencies: resolve-pkg-maps: 1.0.0 dev: true /ghost-testrpc@0.0.2: - resolution: {integrity: sha512-i08dAEgJ2g8z5buJIrCTduwPIhih3DP+hOCTyyryikfV8T0bNvHnGXO67i0DD1H4GBDETTclPy9njZbfluQYrQ==} + resolution: + { + integrity: sha512-i08dAEgJ2g8z5buJIrCTduwPIhih3DP+hOCTyyryikfV8T0bNvHnGXO67i0DD1H4GBDETTclPy9njZbfluQYrQ==, + } hasBin: true dependencies: chalk: 2.4.2 @@ -11646,26 +14754,38 @@ packages: dev: true /git-hooks-list@3.1.0: - resolution: {integrity: sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA==} + resolution: + { + integrity: sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA==, + } dev: true /glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==, + } + engines: { node: '>= 6' } dependencies: is-glob: 4.0.3 dev: true /glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} + resolution: + { + integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==, + } + engines: { node: '>=10.13.0' } dependencies: is-glob: 4.0.3 dev: true /glob@10.3.12: - resolution: {integrity: sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==} - engines: {node: '>=16 || 14 >=14.17'} + resolution: + { + integrity: sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==, + } + engines: { node: '>=16 || 14 >=14.17' } hasBin: true dependencies: foreground-child: 3.1.1 @@ -11676,7 +14796,10 @@ packages: dev: true /glob@5.0.15: - resolution: {integrity: sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==} + resolution: + { + integrity: sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==, + } dependencies: inflight: 1.0.6 inherits: 2.0.4 @@ -11686,7 +14809,10 @@ packages: dev: true /glob@7.2.0: - resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==} + resolution: + { + integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==, + } dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -11697,7 +14823,10 @@ packages: dev: true /glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + resolution: + { + integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==, + } dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -11708,8 +14837,11 @@ packages: dev: true /glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==, + } + engines: { node: '>=12' } dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -11719,15 +14851,21 @@ packages: dev: true /global-modules@2.0.0: - resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==, + } + engines: { node: '>=6' } dependencies: global-prefix: 3.0.0 dev: true /global-prefix@3.0.0: - resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==, + } + engines: { node: '>=6' } dependencies: ini: 1.3.8 kind-of: 6.0.3 @@ -11735,27 +14873,39 @@ packages: dev: true /globals@11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==, + } + engines: { node: '>=4' } dev: true /globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==, + } + engines: { node: '>=8' } dependencies: type-fest: 0.20.2 dev: true /globalthis@1.0.3: - resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==, + } + engines: { node: '>= 0.4' } dependencies: define-properties: 1.2.1 dev: true /globby@10.0.2: - resolution: {integrity: sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==, + } + engines: { node: '>=8' } dependencies: '@types/glob': 7.2.0 array-union: 2.1.0 @@ -11768,8 +14918,11 @@ packages: dev: true /globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==, + } + engines: { node: '>=10' } dependencies: array-union: 2.1.0 dir-glob: 3.0.1 @@ -11780,8 +14933,11 @@ packages: dev: true /globby@13.2.2: - resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { + integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: dir-glob: 3.0.1 fast-glob: 3.3.2 @@ -11791,30 +14947,45 @@ packages: dev: true /gonzales-pe@4.3.0: - resolution: {integrity: sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==} - engines: {node: '>=0.6.0'} + resolution: + { + integrity: sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==, + } + engines: { node: '>=0.6.0' } hasBin: true dependencies: minimist: 1.2.8 dev: true /gopd@1.0.1: - resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + resolution: + { + integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==, + } dependencies: get-intrinsic: 1.2.4 dev: true /graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + resolution: + { + integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==, + } dev: true /graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + resolution: + { + integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==, + } dev: true /graphql-config@5.0.3(@types/node@20.12.7)(graphql@16.8.1)(typescript@5.4.5): - resolution: {integrity: sha512-BNGZaoxIBkv9yy6Y7omvsaBUHOzfFcII3UN++tpH8MGOKFPFkCPZuwx09ggANMt8FgyWP1Od8SWPmrUEZca4NQ==} - engines: {node: '>= 16.0.0'} + resolution: + { + integrity: sha512-BNGZaoxIBkv9yy6Y7omvsaBUHOzfFcII3UN++tpH8MGOKFPFkCPZuwx09ggANMt8FgyWP1Od8SWPmrUEZca4NQ==, + } + engines: { node: '>= 16.0.0' } peerDependencies: cosmiconfig-toml-loader: ^1.0.0 graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 @@ -11843,7 +15014,10 @@ packages: dev: true /graphql-request@6.1.0(graphql@16.8.1): - resolution: {integrity: sha512-p+XPfS4q7aIpKVcgmnZKhMNqhltk20hfXtkaIkTfjjmiKMJ5xrt5c743cL03y/K7y1rg3WrIC49xGiEQ4mxdNw==} + resolution: + { + integrity: sha512-p+XPfS4q7aIpKVcgmnZKhMNqhltk20hfXtkaIkTfjjmiKMJ5xrt5c743cL03y/K7y1rg3WrIC49xGiEQ4mxdNw==, + } peerDependencies: graphql: 14 - 16 dependencies: @@ -11854,8 +15028,11 @@ packages: - encoding /graphql-tag@2.12.6(graphql@16.8.1): - resolution: {integrity: sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==, + } + engines: { node: '>=10' } peerDependencies: graphql: ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: @@ -11864,8 +15041,11 @@ packages: dev: true /graphql-ws@5.16.0(graphql@16.8.1): - resolution: {integrity: sha512-Ju2RCU2dQMgSKtArPbEtsK5gNLnsQyTNIo/T7cZNp96niC1x0KdJNZV0TIoilceBPQwfb5itrGl8pkFeOUMl4A==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-Ju2RCU2dQMgSKtArPbEtsK5gNLnsQyTNIo/T7cZNp96niC1x0KdJNZV0TIoilceBPQwfb5itrGl8pkFeOUMl4A==, + } + engines: { node: '>=10' } peerDependencies: graphql: '>=0.11 <=16' dependencies: @@ -11873,7 +15053,10 @@ packages: dev: true /graphql-yoga@3.9.1(graphql@16.8.1): - resolution: {integrity: sha512-BB6EkN64VBTXWmf9Kym2OsVZFzBC0mAsQNo9eNB5xIr3t+x7qepQ34xW5A353NWol3Js3xpzxwIKFVF6l9VsPg==} + resolution: + { + integrity: sha512-BB6EkN64VBTXWmf9Kym2OsVZFzBC0mAsQNo9eNB5xIr3t+x7qepQ34xW5A353NWol3Js3xpzxwIKFVF6l9VsPg==, + } peerDependencies: graphql: ^15.2.0 || ^16.0.0 dependencies: @@ -11893,12 +15076,18 @@ packages: dev: true /graphql@16.8.1: - resolution: {integrity: sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==} - engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} + resolution: + { + integrity: sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==, + } + engines: { node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0 } /handlebars@4.7.8: - resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} - engines: {node: '>=0.4.7'} + resolution: + { + integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==, + } + engines: { node: '>=0.4.7' } hasBin: true dependencies: minimist: 1.2.8 @@ -11910,8 +15099,11 @@ packages: dev: true /hardhat-abi-exporter@2.10.1(hardhat@2.22.2): - resolution: {integrity: sha512-X8GRxUTtebMAd2k4fcPyVnCdPa6dYK4lBsrwzKP5yiSq4i+WadWPIumaLfce53TUf/o2TnLpLOduyO1ylE2NHQ==} - engines: {node: '>=14.14.0'} + resolution: + { + integrity: sha512-X8GRxUTtebMAd2k4fcPyVnCdPa6dYK4lBsrwzKP5yiSq4i+WadWPIumaLfce53TUf/o2TnLpLOduyO1ylE2NHQ==, + } + engines: { node: '>=14.14.0' } peerDependencies: hardhat: ^2.0.0 dependencies: @@ -11921,7 +15113,10 @@ packages: dev: true /hardhat-gas-reporter@1.0.10(hardhat@2.22.2): - resolution: {integrity: sha512-02N4+So/fZrzJ88ci54GqwVA3Zrf0C9duuTyGt0CFRIh/CdNwbnTgkXkRfojOMLBQ+6t+lBIkgbsOtqMvNwikA==} + resolution: + { + integrity: sha512-02N4+So/fZrzJ88ci54GqwVA3Zrf0C9duuTyGt0CFRIh/CdNwbnTgkXkRfojOMLBQ+6t+lBIkgbsOtqMvNwikA==, + } peerDependencies: hardhat: ^2.0.2 dependencies: @@ -11937,7 +15132,10 @@ packages: dev: true /hardhat@2.22.2(ts-node@10.9.2)(typescript@5.0.4): - resolution: {integrity: sha512-0xZ7MdCZ5sJem4MrvpQWLR3R3zGDoHw5lsR+pBFimqwagimIOn3bWuZv69KA+veXClwI1s/zpqgwPwiFrd4Dxw==} + resolution: + { + integrity: sha512-0xZ7MdCZ5sJem4MrvpQWLR3R3zGDoHw5lsR+pBFimqwagimIOn3bWuZv69KA+veXClwI1s/zpqgwPwiFrd4Dxw==, + } hasBin: true peerDependencies: ts-node: '*' @@ -12001,49 +15199,76 @@ packages: dev: true /has-bigints@1.0.2: - resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + resolution: + { + integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==, + } dev: true /has-flag@1.0.0: - resolution: {integrity: sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==, + } + engines: { node: '>=0.10.0' } dev: true /has-flag@3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==, + } + engines: { node: '>=4' } dev: true /has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, + } + engines: { node: '>=8' } /has-property-descriptors@1.0.2: - resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + resolution: + { + integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==, + } dependencies: es-define-property: 1.0.0 dev: true /has-proto@1.0.3: - resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==, + } + engines: { node: '>= 0.4' } dev: true /has-symbols@1.0.3: - resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==, + } + engines: { node: '>= 0.4' } dev: true /has-tostringtag@1.0.2: - resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==, + } + engines: { node: '>= 0.4' } dependencies: has-symbols: 1.0.3 dev: true /hash-base@3.1.0: - resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==, + } + engines: { node: '>=4' } dependencies: inherits: 2.0.4 readable-stream: 3.6.2 @@ -12051,62 +15276,95 @@ packages: dev: true /hash-it@6.0.0: - resolution: {integrity: sha512-KHzmSFx1KwyMPw0kXeeUD752q/Kfbzhy6dAZrjXV9kAIXGqzGvv8vhkUqj+2MGZldTo0IBpw6v7iWE7uxsvH0w==} + resolution: + { + integrity: sha512-KHzmSFx1KwyMPw0kXeeUD752q/Kfbzhy6dAZrjXV9kAIXGqzGvv8vhkUqj+2MGZldTo0IBpw6v7iWE7uxsvH0w==, + } dev: true /hash.js@1.1.7: - resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} + resolution: + { + integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==, + } dependencies: inherits: 2.0.4 minimalistic-assert: 1.0.1 /hasown@2.0.2: - resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==, + } + engines: { node: '>= 0.4' } dependencies: function-bind: 1.1.2 /he@1.2.0: - resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + resolution: + { + integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==, + } hasBin: true dev: true /header-case@2.0.4: - resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} + resolution: + { + integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==, + } dependencies: capital-case: 1.0.4 tslib: 2.6.2 dev: true /heap@0.2.7: - resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==} + resolution: + { + integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==, + } dev: true /help-me@3.0.0: - resolution: {integrity: sha512-hx73jClhyk910sidBB7ERlnhMlFsJJIBqSVMFDwPN8o2v9nmp5KgLq1Xz1Bf1fCMMZ6mPrX159iG0VLy/fPMtQ==} + resolution: + { + integrity: sha512-hx73jClhyk910sidBB7ERlnhMlFsJJIBqSVMFDwPN8o2v9nmp5KgLq1Xz1Bf1fCMMZ6mPrX159iG0VLy/fPMtQ==, + } dependencies: glob: 7.2.3 readable-stream: 3.6.2 dev: true /hmac-drbg@1.0.1: - resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} + resolution: + { + integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==, + } dependencies: hash.js: 1.1.7 minimalistic-assert: 1.0.1 minimalistic-crypto-utils: 1.0.1 /hosted-git-info@2.8.9: - resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + resolution: + { + integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==, + } dev: true /html-escaper@2.0.2: - resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + resolution: + { + integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==, + } dev: true /http-basic@8.1.3: - resolution: {integrity: sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==} - engines: {node: '>=6.0.0'} + resolution: + { + integrity: sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==, + } + engines: { node: '>=6.0.0' } dependencies: caseless: 0.12.0 concat-stream: 1.6.2 @@ -12115,8 +15373,11 @@ packages: dev: true /http-errors@2.0.0: - resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==, + } + engines: { node: '>= 0.8' } dependencies: depd: 2.0.0 inherits: 2.0.4 @@ -12126,8 +15387,11 @@ packages: dev: true /http-proxy-agent@7.0.2: - resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} - engines: {node: '>= 14'} + resolution: + { + integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==, + } + engines: { node: '>= 14' } dependencies: agent-base: 7.1.1 debug: 4.3.4(supports-color@8.1.1) @@ -12136,14 +15400,20 @@ packages: dev: true /http-response-object@3.0.2: - resolution: {integrity: sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==} + resolution: + { + integrity: sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==, + } dependencies: '@types/node': 10.17.60 dev: true /https-proxy-agent@5.0.1: - resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==, + } + engines: { node: '>= 6' } dependencies: agent-base: 6.0.2 debug: 4.3.4(supports-color@8.1.1) @@ -12152,8 +15422,11 @@ packages: dev: true /https-proxy-agent@7.0.4: - resolution: {integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==} - engines: {node: '>= 14'} + resolution: + { + integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==, + } + engines: { node: '>= 14' } dependencies: agent-base: 7.1.1 debug: 4.3.4(supports-color@8.1.1) @@ -12162,58 +15435,91 @@ packages: dev: true /human-signals@2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} + resolution: + { + integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==, + } + engines: { node: '>=10.17.0' } dev: true /iconv-lite@0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==, + } + engines: { node: '>=0.10.0' } dependencies: safer-buffer: 2.1.2 /ieee754@1.1.13: - resolution: {integrity: sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==} + resolution: + { + integrity: sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==, + } dev: true /ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + resolution: + { + integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==, + } dev: true /ignore@5.3.1: - resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} - engines: {node: '>= 4'} + resolution: + { + integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==, + } + engines: { node: '>= 4' } dev: true /immer@9.0.21: - resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==} + resolution: + { + integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==, + } dev: true /immutable@3.7.6: - resolution: {integrity: sha512-AizQPcaofEtO11RZhPPHBOJRdo/20MKQF9mBLnVkBoyHi1/zXK8fzVdnEpSV9gxqtnh6Qomfp3F0xT5qP/vThw==} - engines: {node: '>=0.8.0'} + resolution: + { + integrity: sha512-AizQPcaofEtO11RZhPPHBOJRdo/20MKQF9mBLnVkBoyHi1/zXK8fzVdnEpSV9gxqtnh6Qomfp3F0xT5qP/vThw==, + } + engines: { node: '>=0.8.0' } dev: true /immutable@4.3.5: - resolution: {integrity: sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==} + resolution: + { + integrity: sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==, + } dev: true /import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==, + } + engines: { node: '>=6' } dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 dev: true /import-from@4.0.0: - resolution: {integrity: sha512-P9J71vT5nLlDeV8FHs5nNxaLbrpfAV5cF5srvbZfpwpcJoM/xZR3hiv+q+SAnuSmuGbXMWud063iIMx/V/EWZQ==} - engines: {node: '>=12.2'} + resolution: + { + integrity: sha512-P9J71vT5nLlDeV8FHs5nNxaLbrpfAV5cF5srvbZfpwpcJoM/xZR3hiv+q+SAnuSmuGbXMWud063iIMx/V/EWZQ==, + } + engines: { node: '>=12.2' } dev: true /import-local@3.1.0: - resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==, + } + engines: { node: '>=8' } hasBin: true dependencies: pkg-dir: 4.2.0 @@ -12221,37 +15527,58 @@ packages: dev: true /imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} + resolution: + { + integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==, + } + engines: { node: '>=0.8.19' } dev: true /indent-string@4.0.0: - resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==, + } + engines: { node: '>=8' } dev: true /indent-string@5.0.0: - resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==, + } + engines: { node: '>=12' } dev: true /inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + resolution: + { + integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==, + } dependencies: once: 1.4.0 wrappy: 1.0.2 dev: true /inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + resolution: + { + integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, + } /ini@1.3.8: - resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + resolution: + { + integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==, + } dev: true /ink-spinner@5.0.0(ink@4.4.1)(react@18.2.0): - resolution: {integrity: sha512-EYEasbEjkqLGyPOUc8hBJZNuC5GvXGMLu0w5gdTNskPc7Izc5vO3tdQEYnzvshucyGCBXc86ig0ujXPMWaQCdA==} - engines: {node: '>=14.16'} + resolution: + { + integrity: sha512-EYEasbEjkqLGyPOUc8hBJZNuC5GvXGMLu0w5gdTNskPc7Izc5vO3tdQEYnzvshucyGCBXc86ig0ujXPMWaQCdA==, + } + engines: { node: '>=14.16' } peerDependencies: ink: '>=4.0.0' react: '>=18.0.0' @@ -12262,8 +15589,11 @@ packages: dev: true /ink@4.4.1(react@18.2.0): - resolution: {integrity: sha512-rXckvqPBB0Krifk5rn/5LvQGmyXwCUpBfmTwbkQNBY9JY8RSl3b8OftBNEYxg4+SWUhEKcPifgope28uL9inlA==} - engines: {node: '>=14.16'} + resolution: + { + integrity: sha512-rXckvqPBB0Krifk5rn/5LvQGmyXwCUpBfmTwbkQNBY9JY8RSl3b8OftBNEYxg4+SWUhEKcPifgope28uL9inlA==, + } + engines: { node: '>=14.16' } peerDependencies: '@types/react': '>=18.0.0' react: '>=18.0.0' @@ -12306,8 +15636,11 @@ packages: dev: true /inquirer@8.2.6: - resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==} - engines: {node: '>=12.0.0'} + resolution: + { + integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==, + } + engines: { node: '>=12.0.0' } dependencies: ansi-escapes: 4.3.2 chalk: 4.1.2 @@ -12327,8 +15660,11 @@ packages: dev: true /internal-slot@1.0.7: - resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==, + } + engines: { node: '>= 0.4' } dependencies: es-errors: 1.3.0 hasown: 2.0.2 @@ -12336,370 +15672,562 @@ packages: dev: true /interpret@1.4.0: - resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} - engines: {node: '>= 0.10'} + resolution: + { + integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==, + } + engines: { node: '>= 0.10' } dev: true /invariant@2.2.4: - resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} + resolution: + { + integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==, + } dependencies: loose-envify: 1.4.0 dev: true /io-ts@1.10.4: - resolution: {integrity: sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==} + resolution: + { + integrity: sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==, + } dependencies: fp-ts: 1.19.3 dev: true /ipaddr.js@1.9.1: - resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} - engines: {node: '>= 0.10'} + resolution: + { + integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==, + } + engines: { node: '>= 0.10' } dev: true /is-absolute@1.0.0: - resolution: {integrity: sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==, + } + engines: { node: '>=0.10.0' } dependencies: is-relative: 1.0.0 is-windows: 1.0.2 dev: true /is-arguments@1.1.1: - resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==, + } + engines: { node: '>= 0.4' } dependencies: call-bind: 1.0.7 has-tostringtag: 1.0.2 dev: true /is-array-buffer@3.0.4: - resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==, + } + engines: { node: '>= 0.4' } dependencies: call-bind: 1.0.7 get-intrinsic: 1.2.4 dev: true /is-arrayish@0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + resolution: + { + integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==, + } dev: true /is-async-function@2.0.0: - resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==, + } + engines: { node: '>= 0.4' } dependencies: has-tostringtag: 1.0.2 dev: true /is-bigint@1.0.4: - resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + resolution: + { + integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==, + } dependencies: has-bigints: 1.0.2 dev: true /is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==, + } + engines: { node: '>=8' } dependencies: binary-extensions: 2.3.0 dev: true /is-boolean-object@1.1.2: - resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==, + } + engines: { node: '>= 0.4' } dependencies: call-bind: 1.0.7 has-tostringtag: 1.0.2 dev: true /is-builtin-module@3.2.1: - resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==, + } + engines: { node: '>=6' } dependencies: builtin-modules: 3.3.0 dev: true /is-callable@1.2.7: - resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==, + } + engines: { node: '>= 0.4' } dev: true /is-ci@3.0.1: - resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} + resolution: + { + integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==, + } hasBin: true dependencies: ci-info: 3.9.0 dev: true /is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + resolution: + { + integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==, + } dependencies: hasown: 2.0.2 /is-data-view@1.0.1: - resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==, + } + engines: { node: '>= 0.4' } dependencies: is-typed-array: 1.1.13 dev: true /is-date-object@1.0.5: - resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==, + } + engines: { node: '>= 0.4' } dependencies: has-tostringtag: 1.0.2 dev: true /is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==, + } + engines: { node: '>=0.10.0' } dev: true /is-finalizationregistry@1.0.2: - resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} + resolution: + { + integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==, + } dependencies: call-bind: 1.0.7 dev: true /is-fullwidth-code-point@2.0.0: - resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==, + } + engines: { node: '>=4' } dev: true /is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==, + } + engines: { node: '>=8' } /is-fullwidth-code-point@4.0.0: - resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==, + } + engines: { node: '>=12' } dev: true /is-generator-fn@2.1.0: - resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==, + } + engines: { node: '>=6' } dev: true /is-generator-function@1.0.10: - resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==, + } + engines: { node: '>= 0.4' } dependencies: has-tostringtag: 1.0.2 dev: true /is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==, + } + engines: { node: '>=0.10.0' } dependencies: is-extglob: 2.1.1 dev: true /is-hex-prefixed@1.0.0: - resolution: {integrity: sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==} - engines: {node: '>=6.5.0', npm: '>=3'} + resolution: + { + integrity: sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==, + } + engines: { node: '>=6.5.0', npm: '>=3' } dev: true /is-interactive@1.0.0: - resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==, + } + engines: { node: '>=8' } dev: true /is-interactive@2.0.0: - resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==, + } + engines: { node: '>=12' } dev: true /is-lower-case@2.0.2: - resolution: {integrity: sha512-bVcMJy4X5Og6VZfdOZstSexlEy20Sr0k/p/b2IlQJlfdKAQuMpiv5w2Ccxb8sKdRUNAG1PnHVHjFSdRDVS6NlQ==} + resolution: + { + integrity: sha512-bVcMJy4X5Og6VZfdOZstSexlEy20Sr0k/p/b2IlQJlfdKAQuMpiv5w2Ccxb8sKdRUNAG1PnHVHjFSdRDVS6NlQ==, + } dependencies: tslib: 2.6.2 dev: true /is-map@2.0.3: - resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==, + } + engines: { node: '>= 0.4' } dev: true /is-negative-zero@2.0.3: - resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==, + } + engines: { node: '>= 0.4' } dev: true /is-number-object@1.0.7: - resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==, + } + engines: { node: '>= 0.4' } dependencies: has-tostringtag: 1.0.2 dev: true /is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} + resolution: + { + integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==, + } + engines: { node: '>=0.12.0' } dev: true /is-obj@1.0.1: - resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==, + } + engines: { node: '>=0.10.0' } dev: true /is-obj@2.0.0: - resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==, + } + engines: { node: '>=8' } dev: true /is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==, + } + engines: { node: '>=8' } dev: true /is-plain-obj@2.1.0: - resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==, + } + engines: { node: '>=8' } dev: true /is-plain-obj@4.1.0: - resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==, + } + engines: { node: '>=12' } dev: true /is-regex@1.1.4: - resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==, + } + engines: { node: '>= 0.4' } dependencies: call-bind: 1.0.7 has-tostringtag: 1.0.2 dev: true /is-regexp@1.0.0: - resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==, + } + engines: { node: '>=0.10.0' } dev: true /is-relative-path@1.0.2: - resolution: {integrity: sha512-i1h+y50g+0hRbBD+dbnInl3JlJ702aar58snAeX+MxBAPvzXGej7sYoPMhlnykabt0ZzCJNBEyzMlekuQZN7fA==} + resolution: + { + integrity: sha512-i1h+y50g+0hRbBD+dbnInl3JlJ702aar58snAeX+MxBAPvzXGej7sYoPMhlnykabt0ZzCJNBEyzMlekuQZN7fA==, + } dev: true /is-relative@1.0.0: - resolution: {integrity: sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==, + } + engines: { node: '>=0.10.0' } dependencies: is-unc-path: 1.0.0 dev: true /is-set@2.0.3: - resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==, + } + engines: { node: '>= 0.4' } dev: true /is-shared-array-buffer@1.0.3: - resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==, + } + engines: { node: '>= 0.4' } dependencies: call-bind: 1.0.7 dev: true /is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==, + } + engines: { node: '>=8' } dev: true /is-string@1.0.7: - resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==, + } + engines: { node: '>= 0.4' } dependencies: has-tostringtag: 1.0.2 dev: true /is-symbol@1.0.4: - resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==, + } + engines: { node: '>= 0.4' } dependencies: has-symbols: 1.0.3 dev: true /is-typed-array@1.1.13: - resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==, + } + engines: { node: '>= 0.4' } dependencies: which-typed-array: 1.1.15 dev: true /is-unc-path@1.0.0: - resolution: {integrity: sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==, + } + engines: { node: '>=0.10.0' } dependencies: unc-path-regex: 0.1.2 dev: true /is-unicode-supported@0.1.0: - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==, + } + engines: { node: '>=10' } dev: true /is-unicode-supported@1.3.0: - resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==, + } + engines: { node: '>=12' } dev: true /is-upper-case@2.0.2: - resolution: {integrity: sha512-44pxmxAvnnAOwBg4tHPnkfvgjPwbc5QIsSstNU+YcJ1ovxVzCWpSGosPJOZh/a1tdl81fbgnLc9LLv+x2ywbPQ==} + resolution: + { + integrity: sha512-44pxmxAvnnAOwBg4tHPnkfvgjPwbc5QIsSstNU+YcJ1ovxVzCWpSGosPJOZh/a1tdl81fbgnLc9LLv+x2ywbPQ==, + } dependencies: tslib: 2.6.2 dev: true /is-url-superb@4.0.0: - resolution: {integrity: sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA==, + } + engines: { node: '>=10' } dev: true /is-url@1.2.4: - resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} + resolution: + { + integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==, + } dev: true /is-weakmap@2.0.2: - resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==, + } + engines: { node: '>= 0.4' } dev: true /is-weakref@1.0.2: - resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + resolution: + { + integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==, + } dependencies: call-bind: 1.0.7 dev: true /is-weakset@2.0.3: - resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==, + } + engines: { node: '>= 0.4' } dependencies: call-bind: 1.0.7 get-intrinsic: 1.2.4 dev: true /is-what@4.1.16: - resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} - engines: {node: '>=12.13'} + resolution: + { + integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==, + } + engines: { node: '>=12.13' } dev: false /is-windows@1.0.2: - resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==, + } + engines: { node: '>=0.10.0' } dev: true /isarray@1.0.0: - resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + resolution: + { + integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==, + } dev: true /isarray@2.0.5: - resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + resolution: + { + integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==, + } dev: true /isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + resolution: + { + integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, + } dev: true /isomorphic-ws@4.0.1(ws@8.16.0): - resolution: {integrity: sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==} + resolution: + { + integrity: sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==, + } peerDependencies: ws: '*' dependencies: @@ -12707,7 +16235,10 @@ packages: dev: true /isomorphic-ws@5.0.0(ws@8.16.0): - resolution: {integrity: sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==} + resolution: + { + integrity: sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==, + } peerDependencies: ws: '*' dependencies: @@ -12715,20 +16246,29 @@ packages: dev: true /isows@1.0.3(ws@8.13.0): - resolution: {integrity: sha512-2cKei4vlmg2cxEjm3wVSqn8pcoRF/LX/wpifuuNquFO4SQmPwarClT+SUCA2lt+l581tTeZIPIZuIDo2jWN1fg==} + resolution: + { + integrity: sha512-2cKei4vlmg2cxEjm3wVSqn8pcoRF/LX/wpifuuNquFO4SQmPwarClT+SUCA2lt+l581tTeZIPIZuIDo2jWN1fg==, + } peerDependencies: ws: '*' dependencies: ws: 8.13.0 /istanbul-lib-coverage@3.2.2: - resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==, + } + engines: { node: '>=8' } dev: true /istanbul-lib-instrument@5.2.1: - resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==, + } + engines: { node: '>=8' } dependencies: '@babel/core': 7.24.4 '@babel/parser': 7.24.4 @@ -12740,8 +16280,11 @@ packages: dev: true /istanbul-lib-instrument@6.0.2: - resolution: {integrity: sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==, + } + engines: { node: '>=10' } dependencies: '@babel/core': 7.24.4 '@babel/parser': 7.24.4 @@ -12753,8 +16296,11 @@ packages: dev: true /istanbul-lib-report@3.0.1: - resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==, + } + engines: { node: '>=10' } dependencies: istanbul-lib-coverage: 3.2.2 make-dir: 4.0.0 @@ -12762,8 +16308,11 @@ packages: dev: true /istanbul-lib-source-maps@4.0.1: - resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==, + } + engines: { node: '>=10' } dependencies: debug: 4.3.4(supports-color@8.1.1) istanbul-lib-coverage: 3.2.2 @@ -12773,15 +16322,21 @@ packages: dev: true /istanbul-reports@3.1.7: - resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==, + } + engines: { node: '>=8' } dependencies: html-escaper: 2.0.2 istanbul-lib-report: 3.0.1 dev: true /iterator.prototype@1.1.2: - resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} + resolution: + { + integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==, + } dependencies: define-properties: 1.2.1 get-intrinsic: 1.2.4 @@ -12791,8 +16346,11 @@ packages: dev: true /jackspeak@2.3.6: - resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==, + } + engines: { node: '>=14' } dependencies: '@isaacs/cliui': 8.0.2 optionalDependencies: @@ -12800,12 +16358,18 @@ packages: dev: true /javascript-natural-sort@0.7.1: - resolution: {integrity: sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==} + resolution: + { + integrity: sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==, + } dev: true /jest-changed-files@29.7.0: - resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: execa: 5.1.1 jest-util: 29.7.0 @@ -12813,8 +16377,11 @@ packages: dev: true /jest-circus@29.7.0: - resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: '@jest/environment': 29.7.0 '@jest/expect': 29.7.0 @@ -12842,8 +16409,11 @@ packages: dev: true /jest-cli@29.7.0(@types/node@20.12.7): - resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } hasBin: true peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 @@ -12870,8 +16440,11 @@ packages: dev: true /jest-config@29.7.0(@types/node@20.12.7): - resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } peerDependencies: '@types/node': '*' ts-node: '>=9.0.0' @@ -12910,8 +16483,11 @@ packages: dev: true /jest-diff@29.7.0: - resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: chalk: 4.1.2 diff-sequences: 29.6.3 @@ -12920,15 +16496,21 @@ packages: dev: true /jest-docblock@29.7.0: - resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: detect-newline: 3.1.0 dev: true /jest-each@29.7.0: - resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 @@ -12938,8 +16520,11 @@ packages: dev: true /jest-environment-node@29.7.0: - resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 @@ -12950,12 +16535,18 @@ packages: dev: true /jest-expect-message@1.1.3: - resolution: {integrity: sha512-bTK77T4P+zto+XepAX3low8XVQxDgaEqh3jSTQOG8qvPpD69LsIdyJTa+RmnJh3HNSzJng62/44RPPc7OIlFxg==} + resolution: + { + integrity: sha512-bTK77T4P+zto+XepAX3low8XVQxDgaEqh3jSTQOG8qvPpD69LsIdyJTa+RmnJh3HNSzJng62/44RPPc7OIlFxg==, + } dev: true /jest-extended@4.0.2(jest@29.7.0): - resolution: {integrity: sha512-FH7aaPgtGYHc9mRjriS0ZEHYM5/W69tLrFTIdzm+yJgeoCmmrSB/luSfMSqWP9O29QWHPEmJ4qmU6EwsZideog==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-FH7aaPgtGYHc9mRjriS0ZEHYM5/W69tLrFTIdzm+yJgeoCmmrSB/luSfMSqWP9O29QWHPEmJ4qmU6EwsZideog==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } peerDependencies: jest: '>=27.2.5' peerDependenciesMeta: @@ -12968,13 +16559,19 @@ packages: dev: true /jest-get-type@29.6.3: - resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dev: true /jest-haste-map@29.7.0: - resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 @@ -12992,16 +16589,22 @@ packages: dev: true /jest-leak-detector@29.7.0: - resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: jest-get-type: 29.6.3 pretty-format: 29.7.0 dev: true /jest-matcher-utils@29.7.0: - resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: chalk: 4.1.2 jest-diff: 29.7.0 @@ -13010,8 +16613,11 @@ packages: dev: true /jest-message-util@29.7.0: - resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: '@babel/code-frame': 7.24.2 '@jest/types': 29.6.3 @@ -13025,8 +16631,11 @@ packages: dev: true /jest-mock@29.7.0: - resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: '@jest/types': 29.6.3 '@types/node': 20.12.7 @@ -13034,8 +16643,11 @@ packages: dev: true /jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): - resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==, + } + engines: { node: '>=6' } peerDependencies: jest-resolve: '*' peerDependenciesMeta: @@ -13046,13 +16658,19 @@ packages: dev: true /jest-regex-util@29.6.3: - resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dev: true /jest-resolve-dependencies@29.7.0: - resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: jest-regex-util: 29.6.3 jest-snapshot: 29.7.0 @@ -13061,8 +16679,11 @@ packages: dev: true /jest-resolve@29.7.0: - resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: chalk: 4.1.2 graceful-fs: 4.2.11 @@ -13076,8 +16697,11 @@ packages: dev: true /jest-runner@29.7.0: - resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: '@jest/console': 29.7.0 '@jest/environment': 29.7.0 @@ -13105,8 +16729,11 @@ packages: dev: true /jest-runtime@29.7.0: - resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 @@ -13135,8 +16762,11 @@ packages: dev: true /jest-snapshot@29.7.0: - resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: '@babel/core': 7.24.4 '@babel/generator': 7.24.4 @@ -13163,8 +16793,11 @@ packages: dev: true /jest-util@29.7.0: - resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: '@jest/types': 29.6.3 '@types/node': 20.12.7 @@ -13175,8 +16808,11 @@ packages: dev: true /jest-validate@29.7.0: - resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: '@jest/types': 29.6.3 camelcase: 6.3.0 @@ -13187,8 +16823,11 @@ packages: dev: true /jest-watcher@29.7.0: - resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 @@ -13201,8 +16840,11 @@ packages: dev: true /jest-worker@29.7.0: - resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: '@types/node': 20.12.7 jest-util: 29.7.0 @@ -13211,8 +16853,11 @@ packages: dev: true /jest@29.7.0(@types/node@20.12.7): - resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } hasBin: true peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 @@ -13232,40 +16877,67 @@ packages: dev: true /jiti@1.21.0: - resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} + resolution: + { + integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==, + } hasBin: true dev: true /jju@1.4.0: - resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} + resolution: + { + integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==, + } dev: true /jmespath@0.16.0: - resolution: {integrity: sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==} - engines: {node: '>= 0.6.0'} + resolution: + { + integrity: sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==, + } + engines: { node: '>= 0.6.0' } dev: true /jose@4.15.5: - resolution: {integrity: sha512-jc7BFxgKPKi94uOvEmzlSWFFe2+vASyXaKUpdQKatWAESU2MWjDfFf0fdfc83CDKcA5QecabZeNLyfhe3yKNkg==} + resolution: + { + integrity: sha512-jc7BFxgKPKi94uOvEmzlSWFFe2+vASyXaKUpdQKatWAESU2MWjDfFf0fdfc83CDKcA5QecabZeNLyfhe3yKNkg==, + } dev: true /jose@5.2.4: - resolution: {integrity: sha512-6ScbIk2WWCeXkmzF6bRPmEuaqy1m8SbsRFMa/FLrSCkGIhj8OLVG/IH+XHVmNMx/KUo8cVWEE6oKR4dJ+S0Rkg==} + resolution: + { + integrity: sha512-6ScbIk2WWCeXkmzF6bRPmEuaqy1m8SbsRFMa/FLrSCkGIhj8OLVG/IH+XHVmNMx/KUo8cVWEE6oKR4dJ+S0Rkg==, + } dev: true /js-sdsl@4.3.0: - resolution: {integrity: sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==} + resolution: + { + integrity: sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==, + } dev: true /js-sha3@0.8.0: - resolution: {integrity: sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==} + resolution: + { + integrity: sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==, + } /js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + resolution: + { + integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==, + } dev: true /js-yaml@3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + resolution: + { + integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==, + } hasBin: true dependencies: argparse: 1.0.10 @@ -13273,56 +16945,89 @@ packages: dev: true /js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + resolution: + { + integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==, + } hasBin: true dependencies: argparse: 2.0.1 dev: true /jsesc@0.5.0: - resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + resolution: + { + integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==, + } hasBin: true dev: true /jsesc@2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==, + } + engines: { node: '>=4' } hasBin: true dev: true /jsesc@3.0.2: - resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==, + } + engines: { node: '>=6' } hasBin: true dev: true /json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + resolution: + { + integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==, + } dev: true /json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + resolution: + { + integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==, + } dev: true /json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + resolution: + { + integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==, + } dev: true /json-schema-traverse@1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + resolution: + { + integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==, + } dev: true /json-schema-typed@7.0.3: - resolution: {integrity: sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A==} + resolution: + { + integrity: sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A==, + } dev: true /json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + resolution: + { + integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==, + } dev: true /json-stable-stringify@1.1.1: - resolution: {integrity: sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg==, + } + engines: { node: '>= 0.4' } dependencies: call-bind: 1.0.7 isarray: 2.0.5 @@ -13331,40 +17036,58 @@ packages: dev: true /json-to-pretty-yaml@1.2.2: - resolution: {integrity: sha512-rvm6hunfCcqegwYaG5T4yKJWxc9FXFgBVrcTZ4XfSVRwa5HA/Xs+vB/Eo9treYYHCeNM0nrSUr82V/M31Urc7A==} - engines: {node: '>= 0.2.0'} + resolution: + { + integrity: sha512-rvm6hunfCcqegwYaG5T4yKJWxc9FXFgBVrcTZ4XfSVRwa5HA/Xs+vB/Eo9treYYHCeNM0nrSUr82V/M31Urc7A==, + } + engines: { node: '>= 0.2.0' } dependencies: remedial: 1.0.8 remove-trailing-spaces: 1.0.8 dev: true /json5@1.0.2: - resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + resolution: + { + integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==, + } hasBin: true dependencies: minimist: 1.2.8 dev: true /json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==, + } + engines: { node: '>=6' } hasBin: true dev: true /jsonfile@2.4.0: - resolution: {integrity: sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==} + resolution: + { + integrity: sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==, + } optionalDependencies: graceful-fs: 4.2.11 dev: true /jsonfile@4.0.0: - resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + resolution: + { + integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==, + } optionalDependencies: graceful-fs: 4.2.11 dev: true /jsonfile@6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + resolution: + { + integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==, + } dependencies: universalify: 2.0.1 optionalDependencies: @@ -13372,16 +17095,25 @@ packages: dev: true /jsonify@0.0.1: - resolution: {integrity: sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==} + resolution: + { + integrity: sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==, + } dev: true /jsonschema@1.4.1: - resolution: {integrity: sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ==} + resolution: + { + integrity: sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ==, + } dev: true /jsx-ast-utils@3.3.5: - resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} - engines: {node: '>=4.0'} + resolution: + { + integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==, + } + engines: { node: '>=4.0' } dependencies: array-includes: 3.1.8 array.prototype.flat: 1.3.2 @@ -13390,12 +17122,18 @@ packages: dev: true /just-memoize@2.2.0: - resolution: {integrity: sha512-zriv+MY+61RXT0QsrO1ZJtL5umouqqSWmCGBkp2wJm35kniunBAA4qhUKx8Lvg/QcwrF9xuw9E6PkevKFf4boQ==} + resolution: + { + integrity: sha512-zriv+MY+61RXT0QsrO1ZJtL5umouqqSWmCGBkp2wJm35kniunBAA4qhUKx8Lvg/QcwrF9xuw9E6PkevKFf4boQ==, + } dev: false /keccak@3.0.4: - resolution: {integrity: sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==} - engines: {node: '>=10.0.0'} + resolution: + { + integrity: sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==, + } + engines: { node: '>=10.0.0' } requiresBuild: true dependencies: node-addon-api: 2.0.2 @@ -13404,29 +17142,44 @@ packages: dev: true /keyv@4.5.4: - resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + resolution: + { + integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==, + } dependencies: json-buffer: 3.0.1 dev: true /kind-of@6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==, + } + engines: { node: '>=0.10.0' } dev: true /klaw@1.3.1: - resolution: {integrity: sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==} + resolution: + { + integrity: sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==, + } optionalDependencies: graceful-fs: 4.2.11 dev: true /kleur@3.0.3: - resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==, + } + engines: { node: '>=6' } dev: true /kysely-codegen@0.10.1(kysely@0.25.0): - resolution: {integrity: sha512-8Bslh952gN5gtucRv4jTZDFD18RBioS6M50zHfe5kwb5iSyEAunU4ZYMdHzkHraa4zxjg5/183XlOryBCXLRIw==} + resolution: + { + integrity: sha512-8Bslh952gN5gtucRv4jTZDFD18RBioS6M50zHfe5kwb5iSyEAunU4ZYMdHzkHraa4zxjg5/183XlOryBCXLRIw==, + } hasBin: true peerDependencies: better-sqlite3: '>=7.6.2' @@ -13449,7 +17202,10 @@ packages: dev: true /kysely-data-api@0.2.1(@aws-sdk/client-rds-data@3.554.0)(kysely@0.25.0): - resolution: {integrity: sha512-KmASvF1gmjVqyU9WOUXhCQlv29ofR+xc2DhjaIomz1+Bjd/VtR2/3g4ZuXwG1L4lWGKxMuo5iOvK3XyPbB4LdQ==} + resolution: + { + integrity: sha512-KmASvF1gmjVqyU9WOUXhCQlv29ofR+xc2DhjaIomz1+Bjd/VtR2/3g4ZuXwG1L4lWGKxMuo5iOvK3XyPbB4LdQ==, + } peerDependencies: '@aws-sdk/client-rds-data': 3.x kysely: 0.x @@ -13459,61 +17215,91 @@ packages: dev: true /kysely@0.25.0: - resolution: {integrity: sha512-srn0efIMu5IoEBk0tBmtGnoUss4uwvxtbFQWG/U2MosfqIace1l43IFP1PmEpHRDp+Z79xIcKEqmHH3dAvQdQA==} - engines: {node: '>=14.0.0'} + resolution: + { + integrity: sha512-srn0efIMu5IoEBk0tBmtGnoUss4uwvxtbFQWG/U2MosfqIace1l43IFP1PmEpHRDp+Z79xIcKEqmHH3dAvQdQA==, + } + engines: { node: '>=14.0.0' } dev: true /language-subtag-registry@0.3.22: - resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} + resolution: + { + integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==, + } dev: true /language-tags@1.0.9: - resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} - engines: {node: '>=0.10'} + resolution: + { + integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==, + } + engines: { node: '>=0.10' } dependencies: language-subtag-registry: 0.3.22 dev: true /lazystream@1.0.1: - resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} - engines: {node: '>= 0.6.3'} + resolution: + { + integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==, + } + engines: { node: '>= 0.6.3' } dependencies: readable-stream: 2.3.8 dev: true /leven@2.1.0: - resolution: {integrity: sha512-nvVPLpIHUxCUoRLrFqTgSxXJ614d8AgQoWl7zPe/2VadE8+1dpU3LBhowRuBAcuwruWtOdD8oYC9jDNJjXDPyA==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-nvVPLpIHUxCUoRLrFqTgSxXJ614d8AgQoWl7zPe/2VadE8+1dpU3LBhowRuBAcuwruWtOdD8oYC9jDNJjXDPyA==, + } + engines: { node: '>=0.10.0' } dev: true /leven@3.1.0: - resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==, + } + engines: { node: '>=6' } dev: true /levn@0.3.0: - resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} - engines: {node: '>= 0.8.0'} + resolution: + { + integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==, + } + engines: { node: '>= 0.8.0' } dependencies: prelude-ls: 1.1.2 type-check: 0.3.2 dev: true /levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} + resolution: + { + integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==, + } + engines: { node: '>= 0.8.0' } dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 dev: true /lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + resolution: + { + integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==, + } dev: true /listr2@4.0.5: - resolution: {integrity: sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==, + } + engines: { node: '>=12' } peerDependencies: enquirer: '>= 2.3.0 < 3' peerDependenciesMeta: @@ -13531,97 +17317,151 @@ packages: dev: true /locate-path@2.0.0: - resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==, + } + engines: { node: '>=4' } dependencies: p-locate: 2.0.0 path-exists: 3.0.0 dev: true /locate-path@3.0.0: - resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==, + } + engines: { node: '>=6' } dependencies: p-locate: 3.0.0 path-exists: 3.0.0 dev: true /locate-path@5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==, + } + engines: { node: '>=8' } dependencies: p-locate: 4.1.0 dev: true /locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==, + } + engines: { node: '>=10' } dependencies: p-locate: 5.0.0 dev: true /lodash.clonedeep@4.5.0: - resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==} + resolution: + { + integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==, + } dev: true /lodash.defaults@4.2.0: - resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} + resolution: + { + integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==, + } dev: true /lodash.difference@4.5.0: - resolution: {integrity: sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==} + resolution: + { + integrity: sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==, + } dev: true /lodash.flatten@4.4.0: - resolution: {integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==} + resolution: + { + integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==, + } dev: true /lodash.isplainobject@4.0.6: - resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} + resolution: + { + integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==, + } dev: true /lodash.memoize@4.1.2: - resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} + resolution: + { + integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==, + } dev: true /lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + resolution: + { + integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==, + } /lodash.sortby@4.7.0: - resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} + resolution: + { + integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==, + } dev: true /lodash.truncate@4.4.2: - resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} + resolution: + { + integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==, + } dev: true /lodash.union@4.6.0: - resolution: {integrity: sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==} + resolution: + { + integrity: sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==, + } dev: true /lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + resolution: + { + integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==, + } dev: true /log-symbols@4.1.0: - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==, + } + engines: { node: '>=10' } dependencies: chalk: 4.1.2 is-unicode-supported: 0.1.0 dev: true /log-symbols@5.1.0: - resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==, + } + engines: { node: '>=12' } dependencies: chalk: 5.3.0 is-unicode-supported: 1.3.0 dev: true /log-update@4.0.0: - resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==, + } + engines: { node: '>=10' } dependencies: ansi-escapes: 4.3.2 cli-cursor: 3.1.0 @@ -13630,59 +17470,89 @@ packages: dev: true /loose-envify@1.4.0: - resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + resolution: + { + integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==, + } hasBin: true dependencies: js-tokens: 4.0.0 dev: true /loupe@2.3.7: - resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + resolution: + { + integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==, + } dependencies: get-func-name: 2.0.2 dev: true /lower-case-first@2.0.2: - resolution: {integrity: sha512-EVm/rR94FJTZi3zefZ82fLWab+GX14LJN4HrWBcuo6Evmsl9hEfnqxgcHCKb9q+mNf6EVdsjx/qucYFIIB84pg==} + resolution: + { + integrity: sha512-EVm/rR94FJTZi3zefZ82fLWab+GX14LJN4HrWBcuo6Evmsl9hEfnqxgcHCKb9q+mNf6EVdsjx/qucYFIIB84pg==, + } dependencies: tslib: 2.6.2 dev: true /lower-case@2.0.2: - resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + resolution: + { + integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==, + } dependencies: tslib: 2.6.2 dev: true /lru-cache@10.2.0: - resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} - engines: {node: 14 || >=16.14} + resolution: + { + integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==, + } + engines: { node: 14 || >=16.14 } dev: true /lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + resolution: + { + integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==, + } dependencies: yallist: 3.1.1 dev: true /lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==, + } + engines: { node: '>=10' } dependencies: yallist: 4.0.0 /lru-cache@7.18.3: - resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==, + } + engines: { node: '>=12' } dev: true /lru_map@0.3.3: - resolution: {integrity: sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==} + resolution: + { + integrity: sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==, + } dev: true /madge@7.0.0(typescript@5.4.5): - resolution: {integrity: sha512-x9eHkBWoCJ2B8yGesWf8LRucarkbH5P3lazqgvmxe4xn5U2Meyfu906iG9mBB1RnY/f4D+gtELWdiz1k6+jAZA==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-x9eHkBWoCJ2B8yGesWf8LRucarkbH5P3lazqgvmxe4xn5U2Meyfu906iG9mBB1RnY/f4D+gtELWdiz1k6+jAZA==, + } + engines: { node: '>=14' } hasBin: true peerDependencies: typescript: ^3.9.5 || ^4.9.5 || ^5 @@ -13709,34 +17579,52 @@ packages: dev: true /make-dir@4.0.0: - resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==, + } + engines: { node: '>=10' } dependencies: semver: 7.6.0 dev: true /make-error@1.3.6: - resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + resolution: + { + integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==, + } dev: true /makeerror@1.0.12: - resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + resolution: + { + integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==, + } dependencies: tmpl: 1.0.5 dev: true /map-cache@0.2.2: - resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==, + } + engines: { node: '>=0.10.0' } dev: true /markdown-table@1.1.3: - resolution: {integrity: sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==} + resolution: + { + integrity: sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==, + } dev: true /mathjs@10.6.4: - resolution: {integrity: sha512-omQyvRE1jIy+3k2qsqkWASOcd45aZguXZDckr3HtnTYyXk5+2xpVfC3kATgbO2Srjxlqww3TVdhD0oUdZ/hiFA==} - engines: {node: '>= 14'} + resolution: + { + integrity: sha512-omQyvRE1jIy+3k2qsqkWASOcd45aZguXZDckr3HtnTYyXk5+2xpVfC3kATgbO2Srjxlqww3TVdhD0oUdZ/hiFA==, + } + engines: { node: '>= 14' } hasBin: true dependencies: '@babel/runtime': 7.24.4 @@ -13751,7 +17639,10 @@ packages: dev: true /md5.js@1.3.5: - resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} + resolution: + { + integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==, + } dependencies: hash-base: 3.1.0 inherits: 2.0.4 @@ -13759,31 +17650,49 @@ packages: dev: true /media-typer@0.3.0: - resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==, + } + engines: { node: '>= 0.6' } dev: true /memorystream@0.3.1: - resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} - engines: {node: '>= 0.10.0'} + resolution: + { + integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==, + } + engines: { node: '>= 0.10.0' } dev: true /merge-descriptors@1.0.1: - resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} + resolution: + { + integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==, + } dev: true /merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + resolution: + { + integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==, + } dev: true /merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==, + } + engines: { node: '>= 8' } dev: true /meros@1.3.0(@types/node@20.12.7): - resolution: {integrity: sha512-2BNGOimxEz5hmjUG2FwoxCt5HN7BXdaWyFqEwxPTrJzVdABtrL4TiHTcsWSFAxPQ/tOnEaQEJh3qWq71QRMY+w==} - engines: {node: '>=13'} + resolution: + { + integrity: sha512-2BNGOimxEz5hmjUG2FwoxCt5HN7BXdaWyFqEwxPTrJzVdABtrL4TiHTcsWSFAxPQ/tOnEaQEJh3qWq71QRMY+w==, + } + engines: { node: '>=13' } peerDependencies: '@types/node': '>=13' peerDependenciesMeta: @@ -13794,148 +17703,226 @@ packages: dev: true /methods@1.1.2: - resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==, + } + engines: { node: '>= 0.6' } dev: true /micro-ftch@0.3.1: - resolution: {integrity: sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==} + resolution: + { + integrity: sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==, + } dev: true /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} - engines: {node: '>=8.6'} + resolution: + { + integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==, + } + engines: { node: '>=8.6' } dependencies: braces: 3.0.2 picomatch: 2.3.1 dev: true /mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==, + } + engines: { node: '>= 0.6' } /mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==, + } + engines: { node: '>= 0.6' } dependencies: mime-db: 1.52.0 /mime@1.6.0: - resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==, + } + engines: { node: '>=4' } hasBin: true dev: true /mime@2.6.0: - resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} - engines: {node: '>=4.0.0'} + resolution: + { + integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==, + } + engines: { node: '>=4.0.0' } hasBin: true dev: true /mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==, + } + engines: { node: '>=6' } dev: true /mimic-fn@3.1.0: - resolution: {integrity: sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==, + } + engines: { node: '>=8' } dev: true /min-indent@1.0.1: - resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==, + } + engines: { node: '>=4' } dev: true /minimalistic-assert@1.0.1: - resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + resolution: + { + integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==, + } /minimalistic-crypto-utils@1.0.1: - resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} + resolution: + { + integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==, + } /minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + resolution: + { + integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==, + } dependencies: brace-expansion: 1.1.11 dev: true /minimatch@4.2.3: - resolution: {integrity: sha512-lIUdtK5hdofgCTu3aT0sOaHsYR37viUuIc0rwnnDXImbwFRcumyLMeZaM0t0I/fgxS6s6JMfu0rLD1Wz9pv1ng==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-lIUdtK5hdofgCTu3aT0sOaHsYR37viUuIc0rwnnDXImbwFRcumyLMeZaM0t0I/fgxS6s6JMfu0rLD1Wz9pv1ng==, + } + engines: { node: '>=10' } dependencies: brace-expansion: 1.1.11 dev: true /minimatch@5.0.1: - resolution: {integrity: sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==, + } + engines: { node: '>=10' } dependencies: brace-expansion: 2.0.1 dev: true /minimatch@5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==, + } + engines: { node: '>=10' } dependencies: brace-expansion: 2.0.1 dev: true /minimatch@6.2.0: - resolution: {integrity: sha512-sauLxniAmvnhhRjFwPNnJKaPFYyddAgbYdeUpHULtCT/GhzdCx/MDNy+Y40lBxTQUrMzDE8e0S43Z5uqfO0REg==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-sauLxniAmvnhhRjFwPNnJKaPFYyddAgbYdeUpHULtCT/GhzdCx/MDNy+Y40lBxTQUrMzDE8e0S43Z5uqfO0REg==, + } + engines: { node: '>=10' } dependencies: brace-expansion: 2.0.1 dev: true /minimatch@9.0.3: - resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} - engines: {node: '>=16 || 14 >=14.17'} + resolution: + { + integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==, + } + engines: { node: '>=16 || 14 >=14.17' } dependencies: brace-expansion: 2.0.1 dev: true /minimatch@9.0.4: - resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} - engines: {node: '>=16 || 14 >=14.17'} + resolution: + { + integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==, + } + engines: { node: '>=16 || 14 >=14.17' } dependencies: brace-expansion: 2.0.1 dev: true /minimist@1.2.6: - resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==} + resolution: + { + integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==, + } dev: true /minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + resolution: + { + integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==, + } dev: true /minipass@7.0.4: - resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} - engines: {node: '>=16 || 14 >=14.17'} + resolution: + { + integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==, + } + engines: { node: '>=16 || 14 >=14.17' } dev: true /mkdirp@0.5.6: - resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + resolution: + { + integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==, + } hasBin: true dependencies: minimist: 1.2.8 dev: true /mnemonist@0.38.5: - resolution: {integrity: sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==} + resolution: + { + integrity: sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==, + } dependencies: obliterator: 2.0.4 dev: true /mnemonist@0.39.8: - resolution: {integrity: sha512-vyWo2K3fjrUw8YeeZ1zF0fy6Mu59RHokURlld8ymdUPjMlD9EC9ov1/YPqTgqRvUN9nTr3Gqfz29LYAmu0PHPQ==} + resolution: + { + integrity: sha512-vyWo2K3fjrUw8YeeZ1zF0fy6Mu59RHokURlld8ymdUPjMlD9EC9ov1/YPqTgqRvUN9nTr3Gqfz29LYAmu0PHPQ==, + } dependencies: obliterator: 2.0.4 dev: true /mocha@10.4.0: - resolution: {integrity: sha512-eqhGB8JKapEYcC4ytX/xrzKforgEc3j1pGlAXVy3eRwrtAy5/nIfT1SvgGzfN0XZZxeLq0aQWkOUAmqIJiv+bA==} - engines: {node: '>= 14.0.0'} + resolution: + { + integrity: sha512-eqhGB8JKapEYcC4ytX/xrzKforgEc3j1pGlAXVy3eRwrtAy5/nIfT1SvgGzfN0XZZxeLq0aQWkOUAmqIJiv+bA==, + } + engines: { node: '>= 14.0.0' } hasBin: true dependencies: ansi-colors: 4.1.1 @@ -13961,8 +17948,11 @@ packages: dev: true /module-definition@5.0.1: - resolution: {integrity: sha512-kvw3B4G19IXk+BOXnYq/D/VeO9qfHaapMeuS7w7sNUqmGaA6hywdFHMi+VWeR9wUScXM7XjoryTffCZ5B0/8IA==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-kvw3B4G19IXk+BOXnYq/D/VeO9qfHaapMeuS7w7sNUqmGaA6hywdFHMi+VWeR9wUScXM7XjoryTffCZ5B0/8IA==, + } + engines: { node: '>=14' } hasBin: true dependencies: ast-module-types: 5.0.0 @@ -13970,8 +17960,11 @@ packages: dev: true /module-lookup-amd@8.0.5: - resolution: {integrity: sha512-vc3rYLjDo5Frjox8NZpiyLXsNWJ5BWshztc/5KSOMzpg9k5cHH652YsJ7VKKmtM4SvaxuE9RkrYGhiSjH3Ehow==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-vc3rYLjDo5Frjox8NZpiyLXsNWJ5BWshztc/5KSOMzpg9k5cHH652YsJ7VKKmtM4SvaxuE9RkrYGhiSjH3Ehow==, + } + engines: { node: '>=14' } hasBin: true dependencies: commander: 10.0.1 @@ -13981,7 +17974,10 @@ packages: dev: true /mqtt-packet@6.10.0: - resolution: {integrity: sha512-ja8+mFKIHdB1Tpl6vac+sktqy3gA8t9Mduom1BA75cI+R9AHnZOiaBQwpGiWnaVJLDGRdNhQmFaAqd7tkKSMGA==} + resolution: + { + integrity: sha512-ja8+mFKIHdB1Tpl6vac+sktqy3gA8t9Mduom1BA75cI+R9AHnZOiaBQwpGiWnaVJLDGRdNhQmFaAqd7tkKSMGA==, + } dependencies: bl: 4.1.0 debug: 4.3.4(supports-color@8.1.1) @@ -13991,8 +17987,11 @@ packages: dev: true /mqtt@4.2.8: - resolution: {integrity: sha512-DJYjlXODVXtSDecN8jnNzi6ItX3+ufGsEs9OB3YV24HtkRrh7kpx8L5M1LuyF0KzaiGtWr2PzDcMGAY60KGOSA==} - engines: {node: '>=10.0.0'} + resolution: + { + integrity: sha512-DJYjlXODVXtSDecN8jnNzi6ItX3+ufGsEs9OB3YV24HtkRrh7kpx8L5M1LuyF0KzaiGtWr2PzDcMGAY60KGOSA==, + } + engines: { node: '>=10.0.0' } hasBin: true dependencies: commist: 1.1.0 @@ -14016,8 +18015,11 @@ packages: dev: true /mqtt@4.3.8: - resolution: {integrity: sha512-2xT75uYa0kiPEF/PE0VPdavmEkoBzMT/UL9moid0rAvlCtV48qBwxD62m7Ld/4j8tSkIO1E/iqRl/S72SEOhOw==} - engines: {node: '>=10.0.0'} + resolution: + { + integrity: sha512-2xT75uYa0kiPEF/PE0VPdavmEkoBzMT/UL9moid0rAvlCtV48qBwxD62m7Ld/4j8tSkIO1E/iqRl/S72SEOhOw==, + } + engines: { node: '>=10.0.0' } hasBin: true dependencies: commist: 1.1.0 @@ -14044,75 +18046,120 @@ packages: dev: true /ms@2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + resolution: + { + integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==, + } dev: true /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + resolution: + { + integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==, + } dev: true /ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + resolution: + { + integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==, + } dev: true /mute-stream@0.0.8: - resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} + resolution: + { + integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==, + } dev: true /mute-stream@1.0.0: - resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + resolution: + { + integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==, + } + engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } dev: false /mylas@2.1.13: - resolution: {integrity: sha512-+MrqnJRtxdF+xngFfUUkIMQrUUL0KsxbADUkn23Z/4ibGg192Q+z+CQyiYwvWTsYjJygmMR8+w3ZDa98Zh6ESg==} - engines: {node: '>=12.0.0'} + resolution: + { + integrity: sha512-+MrqnJRtxdF+xngFfUUkIMQrUUL0KsxbADUkn23Z/4ibGg192Q+z+CQyiYwvWTsYjJygmMR8+w3ZDa98Zh6ESg==, + } + engines: { node: '>=12.0.0' } dev: true /nanoid@3.3.7: - resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + resolution: + { + integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==, + } + engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } hasBin: true dev: true /natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + resolution: + { + integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, + } dev: true /negotiator@0.6.3: - resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==, + } + engines: { node: '>= 0.6' } dev: true /neo-async@2.6.2: - resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + resolution: + { + integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==, + } dev: true /no-case@3.0.4: - resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + resolution: + { + integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==, + } dependencies: lower-case: 2.0.2 tslib: 2.6.2 dev: true /node-addon-api@2.0.2: - resolution: {integrity: sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==} + resolution: + { + integrity: sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==, + } dev: true /node-domexception@1.0.0: - resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} - engines: {node: '>=10.5.0'} + resolution: + { + integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==, + } + engines: { node: '>=10.5.0' } dev: false /node-emoji@1.11.0: - resolution: {integrity: sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==} + resolution: + { + integrity: sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==, + } dependencies: lodash: 4.17.21 dev: true /node-fetch@2.7.0: - resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} - engines: {node: 4.x || >=6.0.0} + resolution: + { + integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==, + } + engines: { node: 4.x || >=6.0.0 } peerDependencies: encoding: ^0.1.0 peerDependenciesMeta: @@ -14122,8 +18169,11 @@ packages: whatwg-url: 5.0.0 /node-fetch@3.3.2: - resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { + integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: data-uri-to-buffer: 4.0.1 fetch-blob: 3.2.0 @@ -14131,39 +18181,60 @@ packages: dev: false /node-gyp-build@4.8.0: - resolution: {integrity: sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==} + resolution: + { + integrity: sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==, + } hasBin: true dev: true /node-int64@0.4.0: - resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + resolution: + { + integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==, + } dev: true /node-releases@2.0.14: - resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + resolution: + { + integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==, + } dev: true /node-source-walk@6.0.2: - resolution: {integrity: sha512-jn9vOIK/nfqoFCcpK89/VCVaLg1IHE6UVfDOzvqmANaJ/rWCTEdH8RZ1V278nv2jr36BJdyQXIAavBLXpzdlag==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-jn9vOIK/nfqoFCcpK89/VCVaLg1IHE6UVfDOzvqmANaJ/rWCTEdH8RZ1V278nv2jr36BJdyQXIAavBLXpzdlag==, + } + engines: { node: '>=14' } dependencies: '@babel/parser': 7.24.4 dev: true /nofilter@3.1.0: - resolution: {integrity: sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==} - engines: {node: '>=12.19'} + resolution: + { + integrity: sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==, + } + engines: { node: '>=12.19' } dev: true /nopt@3.0.6: - resolution: {integrity: sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg==} + resolution: + { + integrity: sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg==, + } hasBin: true dependencies: abbrev: 1.0.9 dev: true /normalize-package-data@2.5.0: - resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + resolution: + { + integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==, + } dependencies: hosted-git-info: 2.8.9 resolve: 1.22.8 @@ -14172,30 +18243,45 @@ packages: dev: true /normalize-path@2.1.1: - resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==, + } + engines: { node: '>=0.10.0' } dependencies: remove-trailing-separator: 1.1.0 dev: true /normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==, + } + engines: { node: '>=0.10.0' } dev: true /npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==, + } + engines: { node: '>=8' } dependencies: path-key: 3.1.1 dev: true /nullthrows@1.1.1: - resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==} + resolution: + { + integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==, + } dev: true /number-allocator@1.0.14: - resolution: {integrity: sha512-OrL44UTVAvkKdOdRQZIJpLkAdjXGTRda052sN4sO77bKEzYYqWKMBjQvrJFzqygI99gL6Z4u2xctPW1tB8ErvA==} + resolution: + { + integrity: sha512-OrL44UTVAvkKdOdRQZIJpLkAdjXGTRda052sN4sO77bKEzYYqWKMBjQvrJFzqygI99gL6Z4u2xctPW1tB8ErvA==, + } dependencies: debug: 4.3.4(supports-color@8.1.1) js-sdsl: 4.3.0 @@ -14204,35 +18290,53 @@ packages: dev: true /number-to-bn@1.7.0: - resolution: {integrity: sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==} - engines: {node: '>=6.5.0', npm: '>=3'} + resolution: + { + integrity: sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==, + } + engines: { node: '>=6.5.0', npm: '>=3' } dependencies: bn.js: 4.11.6 strip-hex-prefix: 1.0.0 dev: true /object-assign@4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==, + } + engines: { node: '>=0.10.0' } dev: true /object-hash@2.2.0: - resolution: {integrity: sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==, + } + engines: { node: '>= 6' } dev: true /object-inspect@1.13.1: - resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + resolution: + { + integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==, + } dev: true /object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==, + } + engines: { node: '>= 0.4' } dev: true /object.assign@4.1.5: - resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==, + } + engines: { node: '>= 0.4' } dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -14241,8 +18345,11 @@ packages: dev: true /object.entries@1.1.8: - resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==, + } + engines: { node: '>= 0.4' } dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -14250,8 +18357,11 @@ packages: dev: true /object.fromentries@2.0.8: - resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==, + } + engines: { node: '>= 0.4' } dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -14260,8 +18370,11 @@ packages: dev: true /object.groupby@1.0.3: - resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==, + } + engines: { node: '>= 0.4' } dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -14269,8 +18382,11 @@ packages: dev: true /object.hasown@1.1.4: - resolution: {integrity: sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==, + } + engines: { node: '>= 0.4' } dependencies: define-properties: 1.2.1 es-abstract: 1.23.3 @@ -14278,8 +18394,11 @@ packages: dev: true /object.values@1.2.0: - resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==, + } + engines: { node: '>= 0.4' } dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -14287,36 +18406,54 @@ packages: dev: true /obliterator@2.0.4: - resolution: {integrity: sha512-lgHwxlxV1qIg1Eap7LgIeoBWIMFibOjbrYPIPJZcI1mmGAI2m3lNYpK12Y+GBdPQ0U1hRwSord7GIaawz962qQ==} + resolution: + { + integrity: sha512-lgHwxlxV1qIg1Eap7LgIeoBWIMFibOjbrYPIPJZcI1mmGAI2m3lNYpK12Y+GBdPQ0U1hRwSord7GIaawz962qQ==, + } dev: true /oidc-token-hash@5.0.3: - resolution: {integrity: sha512-IF4PcGgzAr6XXSff26Sk/+P4KZFJVuHAJZj3wgO3vX2bMdNVp/QXTP3P7CEm9V1IdG8lDLY3HhiqpsE/nOwpPw==} - engines: {node: ^10.13.0 || >=12.0.0} + resolution: + { + integrity: sha512-IF4PcGgzAr6XXSff26Sk/+P4KZFJVuHAJZj3wgO3vX2bMdNVp/QXTP3P7CEm9V1IdG8lDLY3HhiqpsE/nOwpPw==, + } + engines: { node: ^10.13.0 || >=12.0.0 } dev: true /on-finished@2.4.1: - resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==, + } + engines: { node: '>= 0.8' } dependencies: ee-first: 1.1.1 dev: true /once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + resolution: + { + integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==, + } dependencies: wrappy: 1.0.2 dev: true /onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==, + } + engines: { node: '>=6' } dependencies: mimic-fn: 2.1.0 dev: true /openid-client@5.6.5: - resolution: {integrity: sha512-5P4qO9nGJzB5PI0LFlhj4Dzg3m4odt0qsJTfyEtZyOlkgpILwEioOhVVJOrS1iVH494S4Ee5OCjjg6Bf5WOj3w==} + resolution: + { + integrity: sha512-5P4qO9nGJzB5PI0LFlhj4Dzg3m4odt0qsJTfyEtZyOlkgpILwEioOhVVJOrS1iVH494S4Ee5OCjjg6Bf5WOj3w==, + } dependencies: jose: 4.15.5 lru-cache: 6.0.0 @@ -14325,8 +18462,11 @@ packages: dev: true /optionator@0.8.3: - resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} - engines: {node: '>= 0.8.0'} + resolution: + { + integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==, + } + engines: { node: '>= 0.8.0' } dependencies: deep-is: 0.1.4 fast-levenshtein: 2.0.6 @@ -14337,8 +18477,11 @@ packages: dev: true /optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} - engines: {node: '>= 0.8.0'} + resolution: + { + integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==, + } + engines: { node: '>= 0.8.0' } dependencies: '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 @@ -14349,8 +18492,11 @@ packages: dev: true /ora@5.4.1: - resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==, + } + engines: { node: '>=10' } dependencies: bl: 4.1.0 chalk: 4.1.2 @@ -14364,8 +18510,11 @@ packages: dev: true /ora@6.3.1: - resolution: {integrity: sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { + integrity: sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: chalk: 5.3.0 cli-cursor: 4.0.0 @@ -14379,96 +18528,141 @@ packages: dev: true /os-tmpdir@1.0.2: - resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==, + } + engines: { node: '>=0.10.0' } /p-limit@1.3.0: - resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==, + } + engines: { node: '>=4' } dependencies: p-try: 1.0.0 dev: true /p-limit@2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==, + } + engines: { node: '>=6' } dependencies: p-try: 2.2.0 dev: true /p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==, + } + engines: { node: '>=10' } dependencies: yocto-queue: 0.1.0 dev: true /p-locate@2.0.0: - resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==, + } + engines: { node: '>=4' } dependencies: p-limit: 1.3.0 dev: true /p-locate@3.0.0: - resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==, + } + engines: { node: '>=6' } dependencies: p-limit: 2.3.0 dev: true /p-locate@4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==, + } + engines: { node: '>=8' } dependencies: p-limit: 2.3.0 dev: true /p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==, + } + engines: { node: '>=10' } dependencies: p-limit: 3.1.0 dev: true /p-map@4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==, + } + engines: { node: '>=10' } dependencies: aggregate-error: 3.1.0 dev: true /p-try@1.0.0: - resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==, + } + engines: { node: '>=4' } dev: true /p-try@2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==, + } + engines: { node: '>=6' } dev: true /param-case@3.0.4: - resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} + resolution: + { + integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==, + } dependencies: dot-case: 3.0.4 tslib: 2.6.2 dev: true /parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==, + } + engines: { node: '>=6' } dependencies: callsites: 3.1.0 dev: true /parse-cache-control@1.0.1: - resolution: {integrity: sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==} + resolution: + { + integrity: sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==, + } dev: true /parse-filepath@1.0.2: - resolution: {integrity: sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==} - engines: {node: '>=0.8'} + resolution: + { + integrity: sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==, + } + engines: { node: '>=0.8' } dependencies: is-absolute: 1.0.0 map-cache: 0.2.2 @@ -14476,8 +18670,11 @@ packages: dev: true /parse-json@5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==, + } + engines: { node: '>=8' } dependencies: '@babel/code-frame': 7.24.2 error-ex: 1.3.2 @@ -14486,98 +18683,152 @@ packages: dev: true /parse-ms@2.1.0: - resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==, + } + engines: { node: '>=6' } dev: true /parseurl@1.3.3: - resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==, + } + engines: { node: '>= 0.8' } dev: true /pascal-case@3.1.2: - resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + resolution: + { + integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==, + } dependencies: no-case: 3.0.4 tslib: 2.6.2 dev: true /patch-console@2.0.0: - resolution: {integrity: sha512-0YNdUceMdaQwoKce1gatDScmMo5pu/tfABfnzEqeG0gtTmd7mh/WcwgUjtAeOU7N8nFFlbQBnFK2gXW5fGvmMA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { + integrity: sha512-0YNdUceMdaQwoKce1gatDScmMo5pu/tfABfnzEqeG0gtTmd7mh/WcwgUjtAeOU7N8nFFlbQBnFK2gXW5fGvmMA==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dev: true /path-case@3.0.4: - resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==} + resolution: + { + integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==, + } dependencies: dot-case: 3.0.4 tslib: 2.6.2 dev: true /path-exists@3.0.0: - resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==, + } + engines: { node: '>=4' } dev: true /path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==, + } + engines: { node: '>=8' } dev: true /path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==, + } + engines: { node: '>=0.10.0' } dev: true /path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, + } + engines: { node: '>=8' } dev: true /path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + resolution: + { + integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==, + } /path-root-regex@0.1.2: - resolution: {integrity: sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==, + } + engines: { node: '>=0.10.0' } dev: true /path-root@0.1.1: - resolution: {integrity: sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==, + } + engines: { node: '>=0.10.0' } dependencies: path-root-regex: 0.1.2 dev: true /path-scurry@1.10.2: - resolution: {integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==} - engines: {node: '>=16 || 14 >=14.17'} + resolution: + { + integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==, + } + engines: { node: '>=16 || 14 >=14.17' } dependencies: lru-cache: 10.2.0 minipass: 7.0.4 dev: true /path-starts-with@2.0.1: - resolution: {integrity: sha512-wZ3AeiRBRlNwkdUxvBANh0+esnt38DLffHDujZyRHkqkaKHTglnY2EP5UX3b8rdeiSutgO4y9NEJwXezNP5vHg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-wZ3AeiRBRlNwkdUxvBANh0+esnt38DLffHDujZyRHkqkaKHTglnY2EP5UX3b8rdeiSutgO4y9NEJwXezNP5vHg==, + } + engines: { node: '>=8' } dev: true /path-to-regexp@0.1.7: - resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} + resolution: + { + integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==, + } dev: true /path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==, + } + engines: { node: '>=8' } dev: true /pathval@1.1.1: - resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + resolution: + { + integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==, + } dev: true /pbkdf2@3.1.2: - resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} - engines: {node: '>=0.12'} + resolution: + { + integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==, + } + engines: { node: '>=0.12' } dependencies: create-hash: 1.2.0 create-hmac: 1.1.7 @@ -14587,58 +18838,88 @@ packages: dev: true /picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + resolution: + { + integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==, + } dev: true /picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} + resolution: + { + integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==, + } + engines: { node: '>=8.6' } dev: true /pify@4.0.1: - resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==, + } + engines: { node: '>=6' } dev: true /pirates@4.0.6: - resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==, + } + engines: { node: '>= 6' } dev: true /pkg-dir@4.2.0: - resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==, + } + engines: { node: '>=8' } dependencies: find-up: 4.1.0 dev: true /pkg-up@3.1.0: - resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==, + } + engines: { node: '>=8' } dependencies: find-up: 3.0.0 dev: true /plimit-lit@1.6.1: - resolution: {integrity: sha512-B7+VDyb8Tl6oMJT9oSO2CW8XC/T4UcJGrwOVoNGwOQsQYhlpfajmrMj5xeejqaASq3V/EqThyOeATEOMuSEXiA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-B7+VDyb8Tl6oMJT9oSO2CW8XC/T4UcJGrwOVoNGwOQsQYhlpfajmrMj5xeejqaASq3V/EqThyOeATEOMuSEXiA==, + } + engines: { node: '>=12' } dependencies: queue-lit: 1.5.2 dev: true /pluralize@8.0.0: - resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==, + } + engines: { node: '>=4' } dev: true /possible-typed-array-names@1.0.0: - resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==, + } + engines: { node: '>= 0.4' } dev: true /postcss-values-parser@6.0.2(postcss@8.4.38): - resolution: {integrity: sha512-YLJpK0N1brcNJrs9WatuJFtHaV9q5aAOj+S4DI5S7jgHlRfm0PIbDCAFRYMQD5SHq7Fy6xsDhyutgS0QOAs0qw==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-YLJpK0N1brcNJrs9WatuJFtHaV9q5aAOj+S4DI5S7jgHlRfm0PIbDCAFRYMQD5SHq7Fy6xsDhyutgS0QOAs0qw==, + } + engines: { node: '>=10' } peerDependencies: postcss: ^8.2.9 dependencies: @@ -14649,8 +18930,11 @@ packages: dev: true /postcss@8.4.38: - resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} - engines: {node: ^10 || ^12 || >=14} + resolution: + { + integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==, + } + engines: { node: ^10 || ^12 || >=14 } dependencies: nanoid: 3.3.7 picocolors: 1.0.0 @@ -14658,8 +18942,11 @@ packages: dev: true /precinct@11.0.5: - resolution: {integrity: sha512-oHSWLC8cL/0znFhvln26D14KfCQFFn4KOLSw6hmLhd+LQ2SKt9Ljm89but76Pc7flM9Ty1TnXyrA2u16MfRV3w==} - engines: {node: ^14.14.0 || >=16.0.0} + resolution: + { + integrity: sha512-oHSWLC8cL/0znFhvln26D14KfCQFFn4KOLSw6hmLhd+LQ2SKt9Ljm89but76Pc7flM9Ty1TnXyrA2u16MfRV3w==, + } + engines: { node: ^14.14.0 || >=16.0.0 } hasBin: true dependencies: '@dependents/detective-less': 4.1.0 @@ -14679,17 +18966,26 @@ packages: dev: true /prelude-ls@1.1.2: - resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} - engines: {node: '>= 0.8.0'} + resolution: + { + integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==, + } + engines: { node: '>= 0.8.0' } dev: true /prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} + resolution: + { + integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==, + } + engines: { node: '>= 0.8.0' } dev: true /prettier-plugin-packagejson@2.5.0(prettier@3.2.5): - resolution: {integrity: sha512-6XkH3rpin5QEQodBSVNg+rBo4r91g/1mCaRwS1YGdQJZ6jwqrg2UchBsIG9tpS1yK1kNBvOt84OILsX8uHzBGg==} + resolution: + { + integrity: sha512-6XkH3rpin5QEQodBSVNg+rBo4r91g/1mCaRwS1YGdQJZ6jwqrg2UchBsIG9tpS1yK1kNBvOt84OILsX8uHzBGg==, + } peerDependencies: prettier: '>= 1.16.0' peerDependenciesMeta: @@ -14702,14 +18998,20 @@ packages: dev: true /prettier@3.2.5: - resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==, + } + engines: { node: '>=14' } hasBin: true dev: true /pretty-format@29.7.0: - resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + resolution: + { + integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==, + } + engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } dependencies: '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 @@ -14717,49 +19019,73 @@ packages: dev: true /pretty-ms@7.0.1: - resolution: {integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==, + } + engines: { node: '>=10' } dependencies: parse-ms: 2.1.0 dev: true /process-nextick-args@2.0.1: - resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + resolution: + { + integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==, + } dev: true /process@0.11.10: - resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} - engines: {node: '>= 0.6.0'} + resolution: + { + integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==, + } + engines: { node: '>= 0.6.0' } dev: true /promise@7.3.1: - resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==} + resolution: + { + integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==, + } dependencies: asap: 2.0.6 dev: true /promise@8.3.0: - resolution: {integrity: sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==} + resolution: + { + integrity: sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==, + } dependencies: asap: 2.0.6 dev: true /promptly@3.2.0: - resolution: {integrity: sha512-WnR9obtgW+rG4oUV3hSnNGl1pHm3V1H/qD9iJBumGSmVsSC5HpZOLuu8qdMb6yCItGfT7dcRszejr/5P3i9Pug==} + resolution: + { + integrity: sha512-WnR9obtgW+rG4oUV3hSnNGl1pHm3V1H/qD9iJBumGSmVsSC5HpZOLuu8qdMb6yCItGfT7dcRszejr/5P3i9Pug==, + } dependencies: read: 1.0.7 dev: true /prompts@2.4.2: - resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==, + } + engines: { node: '>= 6' } dependencies: kleur: 3.0.3 sisteransi: 1.0.5 dev: true /prop-types@15.8.1: - resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + resolution: + { + integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==, + } dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 @@ -14767,99 +19093,154 @@ packages: dev: true /proxy-addr@2.0.7: - resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} - engines: {node: '>= 0.10'} + resolution: + { + integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==, + } + engines: { node: '>= 0.10' } dependencies: forwarded: 0.2.0 ipaddr.js: 1.9.1 dev: true /proxy-from-env@1.1.0: - resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + resolution: + { + integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==, + } dev: true /pump@3.0.0: - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + resolution: + { + integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==, + } dependencies: end-of-stream: 1.4.4 once: 1.4.0 dev: true /punycode@1.3.2: - resolution: {integrity: sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==} + resolution: + { + integrity: sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==, + } dev: true /punycode@1.4.1: - resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} + resolution: + { + integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==, + } dev: true /punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==, + } + engines: { node: '>=6' } dev: true /pure-rand@6.1.0: - resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} + resolution: + { + integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==, + } dev: true /pvtsutils@1.3.5: - resolution: {integrity: sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA==} + resolution: + { + integrity: sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA==, + } dependencies: tslib: 2.6.2 dev: true /pvutils@1.1.3: - resolution: {integrity: sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==} - engines: {node: '>=6.0.0'} + resolution: + { + integrity: sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==, + } + engines: { node: '>=6.0.0' } dev: true /qs@6.11.0: - resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} - engines: {node: '>=0.6'} + resolution: + { + integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==, + } + engines: { node: '>=0.6' } dependencies: side-channel: 1.0.6 dev: true /qs@6.12.1: - resolution: {integrity: sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==} - engines: {node: '>=0.6'} + resolution: + { + integrity: sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==, + } + engines: { node: '>=0.6' } dependencies: side-channel: 1.0.6 dev: true /querystring@0.2.0: - resolution: {integrity: sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==} - engines: {node: '>=0.4.x'} - deprecated: The querystring API is considered Legacy. new code should use the URLSearchParams API instead. + resolution: + { + integrity: sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==, + } + engines: { node: '>=0.4.x' } + deprecated: + The querystring API is considered Legacy. new code should use the URLSearchParams API instead. dev: true /queue-lit@1.5.2: - resolution: {integrity: sha512-tLc36IOPeMAubu8BkW8YDBV+WyIgKlYU7zUNs0J5Vk9skSZ4JfGlPOqplP0aHdfv7HL0B2Pg6nwiq60Qc6M2Hw==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-tLc36IOPeMAubu8BkW8YDBV+WyIgKlYU7zUNs0J5Vk9skSZ4JfGlPOqplP0aHdfv7HL0B2Pg6nwiq60Qc6M2Hw==, + } + engines: { node: '>=12' } dev: true /queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + resolution: + { + integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, + } dev: true /quote-unquote@1.0.0: - resolution: {integrity: sha512-twwRO/ilhlG/FIgYeKGFqyHhoEhqgnKVkcmqMKi2r524gz3ZbDTcyFt38E9xjJI2vT+KbRNHVbnJ/e0I25Azwg==} + resolution: + { + integrity: sha512-twwRO/ilhlG/FIgYeKGFqyHhoEhqgnKVkcmqMKi2r524gz3ZbDTcyFt38E9xjJI2vT+KbRNHVbnJ/e0I25Azwg==, + } dev: true /randombytes@2.1.0: - resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + resolution: + { + integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==, + } dependencies: safe-buffer: 5.2.1 dev: true /range-parser@1.2.1: - resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==, + } + engines: { node: '>= 0.6' } dev: true /raw-body@2.5.2: - resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==, + } + engines: { node: '>= 0.8' } dependencies: bytes: 3.1.2 http-errors: 2.0.0 @@ -14868,7 +19249,10 @@ packages: dev: true /rc@1.2.8: - resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + resolution: + { + integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==, + } hasBin: true dependencies: deep-extend: 0.6.0 @@ -14878,16 +19262,25 @@ packages: dev: true /react-is@16.13.1: - resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + resolution: + { + integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==, + } dev: true /react-is@18.2.0: - resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + resolution: + { + integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==, + } dev: true /react-reconciler@0.29.0(react@18.2.0): - resolution: {integrity: sha512-wa0fGj7Zht1EYMRhKWwoo1H9GApxYLBuhoAuXN0TlltESAjDssB+Apf0T/DngVqaMyPypDmabL37vw/2aRM98Q==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-wa0fGj7Zht1EYMRhKWwoo1H9GApxYLBuhoAuXN0TlltESAjDssB+Apf0T/DngVqaMyPypDmabL37vw/2aRM98Q==, + } + engines: { node: '>=0.10.0' } peerDependencies: react: ^18.2.0 dependencies: @@ -14897,15 +19290,21 @@ packages: dev: true /react@18.2.0: - resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==, + } + engines: { node: '>=0.10.0' } dependencies: loose-envify: 1.4.0 dev: true /read-pkg-up@7.0.1: - resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==, + } + engines: { node: '>=8' } dependencies: find-up: 4.1.0 read-pkg: 5.2.0 @@ -14913,8 +19312,11 @@ packages: dev: true /read-pkg@5.2.0: - resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==, + } + engines: { node: '>=8' } dependencies: '@types/normalize-package-data': 2.4.4 normalize-package-data: 2.5.0 @@ -14923,14 +19325,20 @@ packages: dev: true /read@1.0.7: - resolution: {integrity: sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ==} - engines: {node: '>=0.8'} + resolution: + { + integrity: sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ==, + } + engines: { node: '>=0.8' } dependencies: mute-stream: 0.0.8 dev: true /readable-stream@2.3.8: - resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + resolution: + { + integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==, + } dependencies: core-util-is: 1.0.3 inherits: 2.0.4 @@ -14942,8 +19350,11 @@ packages: dev: true /readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==, + } + engines: { node: '>= 6' } dependencies: inherits: 2.0.4 string_decoder: 1.3.0 @@ -14951,34 +19362,49 @@ packages: dev: true /readdir-glob@1.1.3: - resolution: {integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==} + resolution: + { + integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==, + } dependencies: minimatch: 5.1.6 dev: true /readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} + resolution: + { + integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==, + } + engines: { node: '>=8.10.0' } dependencies: picomatch: 2.3.1 dev: true /rechoir@0.6.2: - resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} - engines: {node: '>= 0.10'} + resolution: + { + integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==, + } + engines: { node: '>= 0.10' } dependencies: resolve: 1.22.8 dev: true /recursive-readdir@2.2.3: - resolution: {integrity: sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==} - engines: {node: '>=6.0.0'} + resolution: + { + integrity: sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==, + } + engines: { node: '>=6.0.0' } dependencies: minimatch: 3.1.2 dev: true /redis@4.6.13: - resolution: {integrity: sha512-MHgkS4B+sPjCXpf+HfdetBwbRz6vCtsceTmw1pHNYJAsYxrfpOP6dz+piJWGos8wqG7qb3vj/Rrc5qOlmInUuA==} + resolution: + { + integrity: sha512-MHgkS4B+sPjCXpf+HfdetBwbRz6vCtsceTmw1pHNYJAsYxrfpOP6dz+piJWGos8wqG7qb3vj/Rrc5qOlmInUuA==, + } dependencies: '@redis/bloom': 1.2.0(@redis/client@1.5.14) '@redis/client': 1.5.14 @@ -14989,8 +19415,11 @@ packages: dev: false /reflect.getprototypeof@1.0.6: - resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==, + } + engines: { node: '>= 0.4' } dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -15002,17 +19431,26 @@ packages: dev: true /regenerator-runtime@0.14.1: - resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + resolution: + { + integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==, + } dev: true /regexp-tree@0.1.27: - resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} + resolution: + { + integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==, + } hasBin: true dev: true /regexp.prototype.flags@1.5.2: - resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==, + } + engines: { node: '>= 0.4' } dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -15021,18 +19459,27 @@ packages: dev: true /regjsparser@0.10.0: - resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} + resolution: + { + integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==, + } hasBin: true dependencies: jsesc: 0.5.0 dev: true /reinterval@1.1.0: - resolution: {integrity: sha512-QIRet3SYrGp0HUHO88jVskiG6seqUGC5iAG7AwI/BV4ypGcuqk9Du6YQBUOUqm9c8pw1eyLoIaONifRua1lsEQ==} + resolution: + { + integrity: sha512-QIRet3SYrGp0HUHO88jVskiG6seqUGC5iAG7AwI/BV4ypGcuqk9Du6YQBUOUqm9c8pw1eyLoIaONifRua1lsEQ==, + } dev: true /relay-runtime@12.0.0: - resolution: {integrity: sha512-QU6JKr1tMsry22DXNy9Whsq5rmvwr3LSZiiWV/9+DFpuTWvp+WFhobWMc8TC4OjKFfNhEZy7mOiqUAn5atQtug==} + resolution: + { + integrity: sha512-QU6JKr1tMsry22DXNy9Whsq5rmvwr3LSZiiWV/9+DFpuTWvp+WFhobWMc8TC4OjKFfNhEZy7mOiqUAn5atQtug==, + } dependencies: '@babel/runtime': 7.24.4 fbjs: 3.0.5 @@ -15042,118 +19489,184 @@ packages: dev: true /remeda@1.59.0: - resolution: {integrity: sha512-yqIz7z+eriLF6ll4TxhUM56b2wIrmHgJNbzRGYqfJ0Jx6QOioSvGJuT9jD6MqtKzGUizaxSlJZXTVYjVSC4Qig==} + resolution: + { + integrity: sha512-yqIz7z+eriLF6ll4TxhUM56b2wIrmHgJNbzRGYqfJ0Jx6QOioSvGJuT9jD6MqtKzGUizaxSlJZXTVYjVSC4Qig==, + } dev: true /remedial@1.0.8: - resolution: {integrity: sha512-/62tYiOe6DzS5BqVsNpH/nkGlX45C/Sp6V+NtiN6JQNS1Viay7cWkazmRkrQrdFj2eshDe96SIQNIoMxqhzBOg==} + resolution: + { + integrity: sha512-/62tYiOe6DzS5BqVsNpH/nkGlX45C/Sp6V+NtiN6JQNS1Viay7cWkazmRkrQrdFj2eshDe96SIQNIoMxqhzBOg==, + } dev: true /remove-trailing-separator@1.1.0: - resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} + resolution: + { + integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==, + } dev: true /remove-trailing-spaces@1.0.8: - resolution: {integrity: sha512-O3vsMYfWighyFbTd8hk8VaSj9UAGENxAtX+//ugIst2RMk5e03h6RoIS+0ylsFxY1gvmPuAY/PO4It+gPEeySA==} + resolution: + { + integrity: sha512-O3vsMYfWighyFbTd8hk8VaSj9UAGENxAtX+//ugIst2RMk5e03h6RoIS+0ylsFxY1gvmPuAY/PO4It+gPEeySA==, + } dev: true /req-cwd@2.0.0: - resolution: {integrity: sha512-ueoIoLo1OfB6b05COxAA9UpeoscNpYyM+BqYlA7H6LVF4hKGPXQQSSaD2YmvDVJMkk4UDpAHIeU1zG53IqjvlQ==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-ueoIoLo1OfB6b05COxAA9UpeoscNpYyM+BqYlA7H6LVF4hKGPXQQSSaD2YmvDVJMkk4UDpAHIeU1zG53IqjvlQ==, + } + engines: { node: '>=4' } dependencies: req-from: 2.0.0 dev: true /req-from@2.0.0: - resolution: {integrity: sha512-LzTfEVDVQHBRfjOUMgNBA+V6DWsSnoeKzf42J7l0xa/B4jyPOuuF5MlNSmomLNGemWTnV2TIdjSSLnEn95fOQA==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-LzTfEVDVQHBRfjOUMgNBA+V6DWsSnoeKzf42J7l0xa/B4jyPOuuF5MlNSmomLNGemWTnV2TIdjSSLnEn95fOQA==, + } + engines: { node: '>=4' } dependencies: resolve-from: 3.0.0 dev: true /require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==, + } + engines: { node: '>=0.10.0' } dev: true /require-from-string@2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==, + } + engines: { node: '>=0.10.0' } dev: true /require-main-filename@2.0.0: - resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} + resolution: + { + integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==, + } dev: true /requirejs-config-file@4.0.0: - resolution: {integrity: sha512-jnIre8cbWOyvr8a5F2KuqBnY+SDA4NXr/hzEZJG79Mxm2WiFQz2dzhC8ibtPJS7zkmBEl1mxSwp5HhC1W4qpxw==} - engines: {node: '>=10.13.0'} + resolution: + { + integrity: sha512-jnIre8cbWOyvr8a5F2KuqBnY+SDA4NXr/hzEZJG79Mxm2WiFQz2dzhC8ibtPJS7zkmBEl1mxSwp5HhC1W4qpxw==, + } + engines: { node: '>=10.13.0' } dependencies: esprima: 4.0.1 stringify-object: 3.3.0 dev: true /requirejs@2.3.6: - resolution: {integrity: sha512-ipEzlWQe6RK3jkzikgCupiTbTvm4S0/CAU5GlgptkN5SO6F3u0UD0K18wy6ErDqiCyP4J4YYe1HuAShvsxePLg==} - engines: {node: '>=0.4.0'} + resolution: + { + integrity: sha512-ipEzlWQe6RK3jkzikgCupiTbTvm4S0/CAU5GlgptkN5SO6F3u0UD0K18wy6ErDqiCyP4J4YYe1HuAShvsxePLg==, + } + engines: { node: '>=0.4.0' } hasBin: true dev: true /resolve-cwd@3.0.0: - resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==, + } + engines: { node: '>=8' } dependencies: resolve-from: 5.0.0 dev: true /resolve-dependency-path@3.0.2: - resolution: {integrity: sha512-Tz7zfjhLfsvR39ADOSk9us4421J/1ztVBo4rWUkF38hgHK5m0OCZ3NxFVpqHRkjctnwVa15igEUHFJp8MCS7vA==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-Tz7zfjhLfsvR39ADOSk9us4421J/1ztVBo4rWUkF38hgHK5m0OCZ3NxFVpqHRkjctnwVa15igEUHFJp8MCS7vA==, + } + engines: { node: '>=14' } dev: true /resolve-from@3.0.0: - resolution: {integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==, + } + engines: { node: '>=4' } dev: true /resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==, + } + engines: { node: '>=4' } dev: true /resolve-from@5.0.0: - resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==, + } + engines: { node: '>=8' } dev: true /resolve-pkg-maps@1.0.0: - resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + resolution: + { + integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==, + } dev: true /resolve.exports@2.0.2: - resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==, + } + engines: { node: '>=10' } dev: true /resolve@1.1.7: - resolution: {integrity: sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==} + resolution: + { + integrity: sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==, + } dev: true /resolve@1.17.0: - resolution: {integrity: sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==} + resolution: + { + integrity: sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==, + } dependencies: path-parse: 1.0.7 dev: true /resolve@1.19.0: - resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} + resolution: + { + integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==, + } dependencies: is-core-module: 2.13.1 path-parse: 1.0.7 dev: true /resolve@1.22.8: - resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + resolution: + { + integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==, + } hasBin: true dependencies: is-core-module: 2.13.1 @@ -15161,7 +19674,10 @@ packages: supports-preserve-symlinks-flag: 1.0.0 /resolve@2.0.0-next.5: - resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} + resolution: + { + integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==, + } hasBin: true dependencies: is-core-module: 2.13.1 @@ -15170,28 +19686,40 @@ packages: dev: true /restore-cursor@3.1.0: - resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==, + } + engines: { node: '>=8' } dependencies: onetime: 5.1.2 signal-exit: 3.0.7 dev: true /restore-cursor@4.0.0: - resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { + integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: onetime: 5.1.2 signal-exit: 3.0.7 dev: true /reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + resolution: + { + integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==, + } + engines: { iojs: '>=1.0.0', node: '>=0.10.0' } dev: true /reverse-mirage@1.1.0(typescript@5.4.5)(viem@1.21.4): - resolution: {integrity: sha512-cA1O7GR0pn4rMFoaiEG7Skms9GenuW91DtCxeR5hphyNhH90eowV4RmUVlVPVS11CPkezm/iUjnCfmxlHri05w==} + resolution: + { + integrity: sha512-cA1O7GR0pn4rMFoaiEG7Skms9GenuW91DtCxeR5hphyNhH90eowV4RmUVlVPVS11CPkezm/iUjnCfmxlHri05w==, + } peerDependencies: typescript: '>=5.0.4' viem: '>=2' @@ -15204,57 +19732,84 @@ packages: dev: false /rfdc@1.3.1: - resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} + resolution: + { + integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==, + } dev: true /rimraf@2.7.1: - resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} + resolution: + { + integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==, + } hasBin: true dependencies: glob: 7.2.3 dev: true /rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + resolution: + { + integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==, + } hasBin: true dependencies: glob: 7.2.3 dev: true /ripemd160@2.0.2: - resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} + resolution: + { + integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==, + } dependencies: hash-base: 3.1.0 inherits: 2.0.4 dev: true /rlp@2.2.7: - resolution: {integrity: sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==} + resolution: + { + integrity: sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==, + } hasBin: true dependencies: bn.js: 5.2.1 dev: true /run-async@2.4.1: - resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} - engines: {node: '>=0.12.0'} + resolution: + { + integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==, + } + engines: { node: '>=0.12.0' } dev: true /run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + resolution: + { + integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==, + } dependencies: queue-microtask: 1.2.3 dev: true /rxjs@7.8.1: - resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} + resolution: + { + integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==, + } dependencies: tslib: 2.6.2 dev: true /safe-array-concat@1.1.2: - resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} - engines: {node: '>=0.4'} + resolution: + { + integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==, + } + engines: { node: '>=0.4' } dependencies: call-bind: 1.0.7 get-intrinsic: 1.2.4 @@ -15263,16 +19818,25 @@ packages: dev: true /safe-buffer@5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + resolution: + { + integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==, + } dev: true /safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + resolution: + { + integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==, + } dev: true /safe-regex-test@1.0.3: - resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==, + } + engines: { node: '>= 0.4' } dependencies: call-bind: 1.0.7 es-errors: 1.3.0 @@ -15280,22 +19844,34 @@ packages: dev: true /safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + resolution: + { + integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==, + } /sass-lookup@5.0.1: - resolution: {integrity: sha512-t0X5PaizPc2H4+rCwszAqHZRtr4bugo4pgiCvrBFvIX0XFxnr29g77LJcpyj9A0DcKf7gXMLcgvRjsonYI6x4g==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-t0X5PaizPc2H4+rCwszAqHZRtr4bugo4pgiCvrBFvIX0XFxnr29g77LJcpyj9A0DcKf7gXMLcgvRjsonYI6x4g==, + } + engines: { node: '>=14' } hasBin: true dependencies: commander: 10.0.1 dev: true /sax@1.2.1: - resolution: {integrity: sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==} + resolution: + { + integrity: sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==, + } dev: true /sc-istanbul@0.4.6: - resolution: {integrity: sha512-qJFF/8tW/zJsbyfh/iT/ZM5QNHE3CXxtLJbZsL+CzdJLBsPD7SedJZoUA4d8iAcN2IoMp/Dx80shOOd2x96X/g==} + resolution: + { + integrity: sha512-qJFF/8tW/zJsbyfh/iT/ZM5QNHE3CXxtLJbZsL+CzdJLBsPD7SedJZoUA4d8iAcN2IoMp/Dx80shOOd2x96X/g==, + } hasBin: true dependencies: abbrev: 1.0.9 @@ -15315,21 +19891,33 @@ packages: dev: true /scheduler@0.23.0: - resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + resolution: + { + integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==, + } dependencies: loose-envify: 1.4.0 dev: true /scrypt-js@3.0.1: - resolution: {integrity: sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==} + resolution: + { + integrity: sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==, + } /scuid@1.1.0: - resolution: {integrity: sha512-MuCAyrGZcTLfQoH2XoBlQ8C6bzwN88XT/0slOGz0pn8+gIP85BOAfYa44ZXQUTOwRwPU0QvgU+V+OSajl/59Xg==} + resolution: + { + integrity: sha512-MuCAyrGZcTLfQoH2XoBlQ8C6bzwN88XT/0slOGz0pn8+gIP85BOAfYa44ZXQUTOwRwPU0QvgU+V+OSajl/59Xg==, + } dev: true /secp256k1@4.0.3: - resolution: {integrity: sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==} - engines: {node: '>=10.0.0'} + resolution: + { + integrity: sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==, + } + engines: { node: '>=10.0.0' } requiresBuild: true dependencies: elliptic: 6.5.5 @@ -15338,28 +19926,43 @@ packages: dev: true /seedrandom@3.0.5: - resolution: {integrity: sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==} + resolution: + { + integrity: sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==, + } dev: true /semver@5.7.2: - resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + resolution: + { + integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==, + } hasBin: true /semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + resolution: + { + integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==, + } hasBin: true dev: true /semver@7.6.0: - resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==, + } + engines: { node: '>=10' } hasBin: true dependencies: lru-cache: 6.0.0 /send@0.18.0: - resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} - engines: {node: '>= 0.8.0'} + resolution: + { + integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==, + } + engines: { node: '>= 0.8.0' } dependencies: debug: 2.6.9 depd: 2.0.0 @@ -15379,7 +19982,10 @@ packages: dev: true /sentence-case@3.0.4: - resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} + resolution: + { + integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==, + } dependencies: no-case: 3.0.4 tslib: 2.6.2 @@ -15387,14 +19993,20 @@ packages: dev: true /serialize-javascript@6.0.0: - resolution: {integrity: sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==} + resolution: + { + integrity: sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==, + } dependencies: randombytes: 2.1.0 dev: true /serve-static@1.15.0: - resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} - engines: {node: '>= 0.8.0'} + resolution: + { + integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==, + } + engines: { node: '>= 0.8.0' } dependencies: encodeurl: 1.0.2 escape-html: 1.0.3 @@ -15405,12 +20017,18 @@ packages: dev: true /set-blocking@2.0.0: - resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + resolution: + { + integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==, + } dev: true /set-function-length@1.2.2: - resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==, + } + engines: { node: '>= 0.4' } dependencies: define-data-property: 1.1.4 es-errors: 1.3.0 @@ -15421,8 +20039,11 @@ packages: dev: true /set-function-name@2.0.2: - resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==, + } + engines: { node: '>= 0.4' } dependencies: define-data-property: 1.1.4 es-errors: 1.3.0 @@ -15431,15 +20052,24 @@ packages: dev: true /setimmediate@1.0.5: - resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} + resolution: + { + integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==, + } dev: true /setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + resolution: + { + integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==, + } dev: true /sha.js@2.4.11: - resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} + resolution: + { + integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==, + } hasBin: true dependencies: inherits: 2.0.4 @@ -15447,31 +20077,46 @@ packages: dev: true /sha1@1.1.1: - resolution: {integrity: sha512-dZBS6OrMjtgVkopB1Gmo4RQCDKiZsqcpAQpkV/aaj+FCrCg8r4I4qMkDPQjBgLIxlmu9k4nUbWq6ohXahOneYA==} + resolution: + { + integrity: sha512-dZBS6OrMjtgVkopB1Gmo4RQCDKiZsqcpAQpkV/aaj+FCrCg8r4I4qMkDPQjBgLIxlmu9k4nUbWq6ohXahOneYA==, + } dependencies: charenc: 0.0.2 crypt: 0.0.2 dev: true /shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, + } + engines: { node: '>=8' } dependencies: shebang-regex: 3.0.0 dev: true /shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, + } + engines: { node: '>=8' } dev: true /shell-quote@1.8.1: - resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} + resolution: + { + integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==, + } dev: true /shelljs@0.8.5: - resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==, + } + engines: { node: '>=4' } hasBin: true dependencies: glob: 7.2.3 @@ -15480,12 +20125,18 @@ packages: dev: true /shimmer@1.2.1: - resolution: {integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==} + resolution: + { + integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==, + } dev: false /side-channel@1.0.6: - resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==, + } + engines: { node: '>= 0.4' } dependencies: call-bind: 1.0.7 es-errors: 1.3.0 @@ -15494,34 +20145,55 @@ packages: dev: true /signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + resolution: + { + integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==, + } dev: true /signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==, + } + engines: { node: '>=14' } /signedsource@1.0.0: - resolution: {integrity: sha512-6+eerH9fEnNmi/hyM1DXcRK3pWdoMQtlkQ+ns0ntzunjKqp5i3sKCc80ym8Fib3iaYhdJUOPdhlJWj1tvge2Ww==} + resolution: + { + integrity: sha512-6+eerH9fEnNmi/hyM1DXcRK3pWdoMQtlkQ+ns0ntzunjKqp5i3sKCc80ym8Fib3iaYhdJUOPdhlJWj1tvge2Ww==, + } dev: true /sisteransi@1.0.5: - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + resolution: + { + integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==, + } dev: true /slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==, + } + engines: { node: '>=8' } dev: true /slash@4.0.0: - resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==, + } + engines: { node: '>=12' } dev: true /slice-ansi@3.0.0: - resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==, + } + engines: { node: '>=8' } dependencies: ansi-styles: 4.3.0 astral-regex: 2.0.0 @@ -15529,8 +20201,11 @@ packages: dev: true /slice-ansi@4.0.0: - resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==, + } + engines: { node: '>=10' } dependencies: ansi-styles: 4.3.0 astral-regex: 2.0.0 @@ -15538,31 +20213,43 @@ packages: dev: true /slice-ansi@5.0.0: - resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==, + } + engines: { node: '>=12' } dependencies: ansi-styles: 6.2.1 is-fullwidth-code-point: 4.0.0 dev: true /slice-ansi@6.0.0: - resolution: {integrity: sha512-6bn4hRfkTvDfUoEQYkERg0BVF1D0vrX9HEkMl08uDiNWvVvjylLHvZFZWkDo6wjT8tUctbYl1nCOuE66ZTaUtA==} - engines: {node: '>=14.16'} + resolution: + { + integrity: sha512-6bn4hRfkTvDfUoEQYkERg0BVF1D0vrX9HEkMl08uDiNWvVvjylLHvZFZWkDo6wjT8tUctbYl1nCOuE66ZTaUtA==, + } + engines: { node: '>=14.16' } dependencies: ansi-styles: 6.2.1 is-fullwidth-code-point: 4.0.0 dev: true /snake-case@3.0.4: - resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} + resolution: + { + integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==, + } dependencies: dot-case: 3.0.4 tslib: 2.6.2 dev: true /solc@0.7.3(debug@4.3.4): - resolution: {integrity: sha512-GAsWNAjGzIDg7VxzP6mPjdurby3IkGCjQcM8GFYZT6RyaoUZKmMU6Y7YwG+tFGhv7dwZ8rmR4iwFDrrD99JwqA==} - engines: {node: '>=8.0.0'} + resolution: + { + integrity: sha512-GAsWNAjGzIDg7VxzP6mPjdurby3IkGCjQcM8GFYZT6RyaoUZKmMU6Y7YwG+tFGhv7dwZ8rmR4iwFDrrD99JwqA==, + } + engines: { node: '>=8.0.0' } hasBin: true dependencies: command-exists: 1.2.9 @@ -15579,13 +20266,19 @@ packages: dev: true /solidity-ast@0.4.56: - resolution: {integrity: sha512-HgmsA/Gfklm/M8GFbCX/J1qkVH0spXHgALCNZ8fA8x5X+MFdn/8CP2gr5OVyXjXw6RZTPC/Sxl2RUDQOXyNMeA==} + resolution: + { + integrity: sha512-HgmsA/Gfklm/M8GFbCX/J1qkVH0spXHgALCNZ8fA8x5X+MFdn/8CP2gr5OVyXjXw6RZTPC/Sxl2RUDQOXyNMeA==, + } dependencies: array.prototype.findlast: 1.2.5 dev: true /solidity-coverage@0.8.12(hardhat@2.22.2): - resolution: {integrity: sha512-8cOB1PtjnjFRqOgwFiD8DaUsYJtVJ6+YdXQtSZDrLGf8cdhhh8xzTtGzVTGeBf15kTv0v7lYPJlV/az7zLEPJw==} + resolution: + { + integrity: sha512-8cOB1PtjnjFRqOgwFiD8DaUsYJtVJ6+YdXQtSZDrLGf8cdhhh8xzTtGzVTGeBf15kTv0v7lYPJlV/az7zLEPJw==, + } hasBin: true peerDependencies: hardhat: ^2.11.0 @@ -15613,7 +20306,10 @@ packages: dev: true /solidity-docgen@0.6.0-beta.36(hardhat@2.22.2): - resolution: {integrity: sha512-f/I5G2iJgU1h0XrrjRD0hHMr7C10u276vYvm//rw1TzFcYQ4xTOyAoi9oNAHRU0JU4mY9eTuxdVc2zahdMuhaQ==} + resolution: + { + integrity: sha512-f/I5G2iJgU1h0XrrjRD0hHMr7C10u276vYvm//rw1TzFcYQ4xTOyAoi9oNAHRU0JU4mY9eTuxdVc2zahdMuhaQ==, + } peerDependencies: hardhat: ^2.8.0 dependencies: @@ -15623,11 +20319,17 @@ packages: dev: true /sort-object-keys@1.1.3: - resolution: {integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==} + resolution: + { + integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==, + } dev: true /sort-package-json@2.10.0: - resolution: {integrity: sha512-MYecfvObMwJjjJskhxYfuOADkXp1ZMMnCFC8yhp+9HDsk7HhR336hd7eiBs96lTXfiqmUNI+WQCeCMRBhl251g==} + resolution: + { + integrity: sha512-MYecfvObMwJjjJskhxYfuOADkXp1ZMMnCFC8yhp+9HDsk7HhR336hd7eiBs96lTXfiqmUNI+WQCeCMRBhl251g==, + } hasBin: true dependencies: detect-indent: 7.0.1 @@ -15641,27 +20343,39 @@ packages: dev: true /source-map-js@1.2.0: - resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==, + } + engines: { node: '>=0.10.0' } dev: true /source-map-support@0.5.13: - resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} + resolution: + { + integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==, + } dependencies: buffer-from: 1.1.2 source-map: 0.6.1 dev: true /source-map-support@0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + resolution: + { + integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==, + } dependencies: buffer-from: 1.1.2 source-map: 0.6.1 dev: true /source-map@0.2.0: - resolution: {integrity: sha512-CBdZ2oa/BHhS4xj5DlhjWNHcan57/5YuvfdLf17iVmIpd9KRm+DFLmC6nBNj+6Ua7Kt3TmOjDpQT1aTYOQtoUA==} - engines: {node: '>=0.8.0'} + resolution: + { + integrity: sha512-CBdZ2oa/BHhS4xj5DlhjWNHcan57/5YuvfdLf17iVmIpd9KRm+DFLmC6nBNj+6Ua7Kt3TmOjDpQT1aTYOQtoUA==, + } + engines: { node: '>=0.8.0' } requiresBuild: true dependencies: amdefine: 1.0.1 @@ -15669,51 +20383,78 @@ packages: optional: true /source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==, + } + engines: { node: '>=0.10.0' } dev: true /spdx-correct@3.2.0: - resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + resolution: + { + integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==, + } dependencies: spdx-expression-parse: 3.0.1 spdx-license-ids: 3.0.17 dev: true /spdx-exceptions@2.5.0: - resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} + resolution: + { + integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==, + } dev: true /spdx-expression-parse@3.0.1: - resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + resolution: + { + integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==, + } dependencies: spdx-exceptions: 2.5.0 spdx-license-ids: 3.0.17 dev: true /spdx-license-ids@3.0.17: - resolution: {integrity: sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==} + resolution: + { + integrity: sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==, + } dev: true /split2@3.2.2: - resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} + resolution: + { + integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==, + } dependencies: readable-stream: 3.6.2 dev: true /sponge-case@1.0.1: - resolution: {integrity: sha512-dblb9Et4DAtiZ5YSUZHLl4XhH4uK80GhAZrVXdN4O2P4gQ40Wa5UIOPUHlA/nFd2PLblBZWUioLMMAVrgpoYcA==} + resolution: + { + integrity: sha512-dblb9Et4DAtiZ5YSUZHLl4XhH4uK80GhAZrVXdN4O2P4gQ40Wa5UIOPUHlA/nFd2PLblBZWUioLMMAVrgpoYcA==, + } dependencies: tslib: 2.6.2 dev: true /sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + resolution: + { + integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==, + } dev: true /sst-aws-cdk@2.132.1: - resolution: {integrity: sha512-zep3sr+XkCmw9rHjgYQc44G+6s4eB/yxgLCCoi1h6R2AN8IarwZ4aHRwxAfigmJTPXYO6kmsxBIOcwjKy+oi3g==} - engines: {node: '>= 14.15.0'} + resolution: + { + integrity: sha512-zep3sr+XkCmw9rHjgYQc44G+6s4eB/yxgLCCoi1h6R2AN8IarwZ4aHRwxAfigmJTPXYO6kmsxBIOcwjKy+oi3g==, + } + engines: { node: '>= 14.15.0' } hasBin: true dependencies: archiver: 5.3.2 @@ -15726,7 +20467,10 @@ packages: dev: true /sst@2.41.4(@aws-sdk/credential-provider-node@3.554.0): - resolution: {integrity: sha512-a1o14VXlWWEQDI5izfv03Yo60Ne7JGm+j5agMiv9JrNMr0Ap+y9dTETGgrwPPpEb4EVFFIQnEFmyO1bIL7Bsdg==} + resolution: + { + integrity: sha512-a1o14VXlWWEQDI5izfv03Yo60Ne7JGm+j5agMiv9JrNMr0Ap+y9dTETGgrwPPpEb4EVFFIQnEFmyO1bIL7Bsdg==, + } hasBin: true peerDependencies: '@sls-next/lambda-at-edge': ^3.7.0 @@ -15816,81 +20560,120 @@ packages: dev: true /stack-chain@1.3.7: - resolution: {integrity: sha512-D8cWtWVdIe/jBA7v5p5Hwl5yOSOrmZPWDPe2KxQ5UAGD+nxbxU0lKXA4h85Ta6+qgdKVL3vUxsbIZjc1kBG7ug==} + resolution: + { + integrity: sha512-D8cWtWVdIe/jBA7v5p5Hwl5yOSOrmZPWDPe2KxQ5UAGD+nxbxU0lKXA4h85Ta6+qgdKVL3vUxsbIZjc1kBG7ug==, + } dev: false /stack-utils@2.0.6: - resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==, + } + engines: { node: '>=10' } dependencies: escape-string-regexp: 2.0.0 dev: true /stacktrace-parser@0.1.10: - resolution: {integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==, + } + engines: { node: '>=6' } dependencies: type-fest: 0.7.1 dev: true /statuses@2.0.1: - resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==, + } + engines: { node: '>= 0.8' } dev: true /stdin-discarder@0.1.0: - resolution: {integrity: sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + resolution: + { + integrity: sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==, + } + engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } dependencies: bl: 5.1.0 dev: true /stream-shift@1.0.3: - resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==} + resolution: + { + integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==, + } dev: true /stream-to-array@2.3.0: - resolution: {integrity: sha512-UsZtOYEn4tWU2RGLOXr/o/xjRBftZRlG3dEWoaHr8j4GuypJ3isitGbVyjQKAuMu+xbiop8q224TjiZWc4XTZA==} + resolution: + { + integrity: sha512-UsZtOYEn4tWU2RGLOXr/o/xjRBftZRlG3dEWoaHr8j4GuypJ3isitGbVyjQKAuMu+xbiop8q224TjiZWc4XTZA==, + } dependencies: any-promise: 1.3.0 dev: true /streamsearch@1.1.0: - resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} - engines: {node: '>=10.0.0'} + resolution: + { + integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==, + } + engines: { node: '>=10.0.0' } dev: true /string-env-interpolation@1.0.1: - resolution: {integrity: sha512-78lwMoCcn0nNu8LszbP1UA7g55OeE4v7rCeWnM5B453rnNr4aq+5it3FEYtZrSEiMvHZOZ9Jlqb0OD0M2VInqg==} + resolution: + { + integrity: sha512-78lwMoCcn0nNu8LszbP1UA7g55OeE4v7rCeWnM5B453rnNr4aq+5it3FEYtZrSEiMvHZOZ9Jlqb0OD0M2VInqg==, + } dev: true /string-length@4.0.2: - resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==, + } + engines: { node: '>=10' } dependencies: char-regex: 1.0.2 strip-ansi: 6.0.1 dev: true /string-width@2.1.1: - resolution: {integrity: sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==, + } + engines: { node: '>=4' } dependencies: is-fullwidth-code-point: 2.0.0 strip-ansi: 4.0.0 dev: true /string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==, + } + engines: { node: '>=8' } dependencies: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 /string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==, + } + engines: { node: '>=12' } dependencies: eastasianwidth: 0.2.0 emoji-regex: 9.2.2 @@ -15898,8 +20681,11 @@ packages: dev: true /string.prototype.matchall@4.0.11: - resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==, + } + engines: { node: '>= 0.4' } dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -15916,8 +20702,11 @@ packages: dev: true /string.prototype.trim@1.2.9: - resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==, + } + engines: { node: '>= 0.4' } dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -15926,7 +20715,10 @@ packages: dev: true /string.prototype.trimend@1.0.8: - resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} + resolution: + { + integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==, + } dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -15934,8 +20726,11 @@ packages: dev: true /string.prototype.trimstart@1.0.8: - resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==, + } + engines: { node: '>= 0.4' } dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -15943,20 +20738,29 @@ packages: dev: true /string_decoder@1.1.1: - resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + resolution: + { + integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==, + } dependencies: safe-buffer: 5.1.2 dev: true /string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + resolution: + { + integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==, + } dependencies: safe-buffer: 5.2.1 dev: true /stringify-object@3.3.0: - resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==, + } + engines: { node: '>=4' } dependencies: get-own-enumerable-property-symbols: 3.0.2 is-obj: 1.0.1 @@ -15964,123 +20768,183 @@ packages: dev: true /strip-ansi@4.0.0: - resolution: {integrity: sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==, + } + engines: { node: '>=4' } dependencies: ansi-regex: 3.0.1 dev: true /strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, + } + engines: { node: '>=8' } dependencies: ansi-regex: 5.0.1 /strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==, + } + engines: { node: '>=12' } dependencies: ansi-regex: 6.0.1 dev: true /strip-bom@3.0.0: - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==, + } + engines: { node: '>=4' } dev: true /strip-bom@4.0.0: - resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==, + } + engines: { node: '>=8' } dev: true /strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==, + } + engines: { node: '>=6' } dev: true /strip-hex-prefix@1.0.0: - resolution: {integrity: sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==} - engines: {node: '>=6.5.0', npm: '>=3'} + resolution: + { + integrity: sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==, + } + engines: { node: '>=6.5.0', npm: '>=3' } dependencies: is-hex-prefixed: 1.0.0 dev: true /strip-indent@3.0.0: - resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==, + } + engines: { node: '>=8' } dependencies: min-indent: 1.0.1 dev: true /strip-json-comments@2.0.1: - resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==, + } + engines: { node: '>=0.10.0' } dev: true /strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==, + } + engines: { node: '>=8' } dev: true /strnum@1.0.5: - resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} + resolution: + { + integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==, + } dev: true /stylus-lookup@5.0.1: - resolution: {integrity: sha512-tLtJEd5AGvnVy4f9UHQMw4bkJJtaAcmo54N+ovQBjDY3DuWyK9Eltxzr5+KG0q4ew6v2EHyuWWNnHeiw/Eo7rQ==} - engines: {node: '>=14'} + resolution: + { + integrity: sha512-tLtJEd5AGvnVy4f9UHQMw4bkJJtaAcmo54N+ovQBjDY3DuWyK9Eltxzr5+KG0q4ew6v2EHyuWWNnHeiw/Eo7rQ==, + } + engines: { node: '>=14' } hasBin: true dependencies: commander: 10.0.1 dev: true /superjson@1.13.3: - resolution: {integrity: sha512-mJiVjfd2vokfDxsQPOwJ/PtanO87LhpYY88ubI5dUB1Ab58Txbyje3+jpm+/83R/fevaq/107NNhtYBLuoTrFg==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-mJiVjfd2vokfDxsQPOwJ/PtanO87LhpYY88ubI5dUB1Ab58Txbyje3+jpm+/83R/fevaq/107NNhtYBLuoTrFg==, + } + engines: { node: '>=10' } dependencies: copy-anything: 3.0.5 dev: false /supports-color@3.2.3: - resolution: {integrity: sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==} - engines: {node: '>=0.8.0'} + resolution: + { + integrity: sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==, + } + engines: { node: '>=0.8.0' } dependencies: has-flag: 1.0.0 dev: true /supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==, + } + engines: { node: '>=4' } dependencies: has-flag: 3.0.0 dev: true /supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==, + } + engines: { node: '>=8' } dependencies: has-flag: 4.0.0 /supports-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==, + } + engines: { node: '>=10' } dependencies: has-flag: 4.0.0 dev: true /supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==, + } + engines: { node: '>= 0.4' } /swap-case@2.0.2: - resolution: {integrity: sha512-kc6S2YS/2yXbtkSMunBtKdah4VFETZ8Oh6ONSmSd9bRxhqTrtARUCBUiWXH3xVPpvR7tz2CSnkuXVE42EcGnMw==} + resolution: + { + integrity: sha512-kc6S2YS/2yXbtkSMunBtKdah4VFETZ8Oh6ONSmSd9bRxhqTrtARUCBUiWXH3xVPpvR7tz2CSnkuXVE42EcGnMw==, + } dependencies: tslib: 2.6.2 dev: true /sync-request@6.1.0: - resolution: {integrity: sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==} - engines: {node: '>=8.0.0'} + resolution: + { + integrity: sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==, + } + engines: { node: '>=8.0.0' } dependencies: http-response-object: 3.0.2 sync-rpc: 1.3.6 @@ -16088,22 +20952,31 @@ packages: dev: true /sync-rpc@1.3.6: - resolution: {integrity: sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==} + resolution: + { + integrity: sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==, + } dependencies: get-port: 3.2.0 dev: true /synckit@0.9.0: - resolution: {integrity: sha512-7RnqIMq572L8PeEzKeBINYEJDDxpcH8JEgLwUqBd3TkofhFRbkq4QLR0u+36avGAhCRbk2nnmjcW9SE531hPDg==} - engines: {node: ^14.18.0 || >=16.0.0} + resolution: + { + integrity: sha512-7RnqIMq572L8PeEzKeBINYEJDDxpcH8JEgLwUqBd3TkofhFRbkq4QLR0u+36avGAhCRbk2nnmjcW9SE531hPDg==, + } + engines: { node: ^14.18.0 || >=16.0.0 } dependencies: '@pkgr/core': 0.1.1 tslib: 2.6.2 dev: true /table@6.8.2: - resolution: {integrity: sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==} - engines: {node: '>=10.0.0'} + resolution: + { + integrity: sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==, + } + engines: { node: '>=10.0.0' } dependencies: ajv: 8.12.0 lodash.truncate: 4.4.2 @@ -16113,13 +20986,19 @@ packages: dev: true /tapable@2.2.1: - resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==, + } + engines: { node: '>=6' } dev: true /tar-stream@2.2.0: - resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==, + } + engines: { node: '>=6' } dependencies: bl: 4.1.0 end-of-stream: 1.4.4 @@ -16129,8 +21008,11 @@ packages: dev: true /test-exclude@6.0.0: - resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==, + } + engines: { node: '>=8' } dependencies: '@istanbuljs/schema': 0.1.3 glob: 7.2.3 @@ -16138,12 +21020,18 @@ packages: dev: true /text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + resolution: + { + integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==, + } dev: true /then-request@6.0.2: - resolution: {integrity: sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==} - engines: {node: '>=6.0.0'} + resolution: + { + integrity: sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==, + } + engines: { node: '>=6.0.0' } dependencies: '@types/concat-stream': 1.6.1 '@types/form-data': 0.0.33 @@ -16159,57 +21047,90 @@ packages: dev: true /through@2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + resolution: + { + integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==, + } dev: true /tiny-emitter@2.1.0: - resolution: {integrity: sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==} + resolution: + { + integrity: sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==, + } dev: true /title-case@3.0.3: - resolution: {integrity: sha512-e1zGYRvbffpcHIrnuqT0Dh+gEJtDaxDSoG4JAIpq4oDFyooziLBIiYQv0GBT4FUAnUop5uZ1hiIAj7oAF6sOCA==} + resolution: + { + integrity: sha512-e1zGYRvbffpcHIrnuqT0Dh+gEJtDaxDSoG4JAIpq4oDFyooziLBIiYQv0GBT4FUAnUop5uZ1hiIAj7oAF6sOCA==, + } dependencies: tslib: 2.6.2 dev: true /tmp@0.0.33: - resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} - engines: {node: '>=0.6.0'} + resolution: + { + integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==, + } + engines: { node: '>=0.6.0' } dependencies: os-tmpdir: 1.0.2 /tmpl@1.0.5: - resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + resolution: + { + integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==, + } dev: true /to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==, + } + engines: { node: '>=4' } dev: true /to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} + resolution: + { + integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==, + } + engines: { node: '>=8.0' } dependencies: is-number: 7.0.0 dev: true /toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} + resolution: + { + integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==, + } + engines: { node: '>=0.6' } dev: true /tr46@0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + resolution: + { + integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==, + } /tree-kill@1.2.2: - resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + resolution: + { + integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==, + } hasBin: true dev: true /ts-api-utils@1.3.0(typescript@5.4.5): - resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} - engines: {node: '>=16'} + resolution: + { + integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==, + } + engines: { node: '>=16' } peerDependencies: typescript: '>=4.2.0' dependencies: @@ -16217,13 +21138,19 @@ packages: dev: true /ts-graphviz@1.8.2: - resolution: {integrity: sha512-5YhbFoHmjxa7pgQLkB07MtGnGJ/yhvjmc9uhsnDBEICME6gkPf83SBwLDQqGDoCa3XzUMWLk1AU2Wn1u1naDtA==} - engines: {node: '>=14.16'} + resolution: + { + integrity: sha512-5YhbFoHmjxa7pgQLkB07MtGnGJ/yhvjmc9uhsnDBEICME6gkPf83SBwLDQqGDoCa3XzUMWLk1AU2Wn1u1naDtA==, + } + engines: { node: '>=14.16' } dev: true /ts-jest@29.1.2(@babel/core@7.24.4)(esbuild@0.20.2)(jest@29.7.0)(typescript@5.4.5): - resolution: {integrity: sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g==} - engines: {node: ^16.10.0 || ^18.0.0 || >=20.0.0} + resolution: + { + integrity: sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g==, + } + engines: { node: ^16.10.0 || ^18.0.0 || >=20.0.0 } hasBin: true peerDependencies: '@babel/core': '>=7.0.0-beta.0 <8' @@ -16257,11 +21184,17 @@ packages: dev: true /ts-log@2.2.5: - resolution: {integrity: sha512-PGcnJoTBnVGy6yYNFxWVNkdcAuAMstvutN9MgDJIV6L0oG8fB+ZNNy1T+wJzah8RPGor1mZuPQkVfXNDpy9eHA==} + resolution: + { + integrity: sha512-PGcnJoTBnVGy6yYNFxWVNkdcAuAMstvutN9MgDJIV6L0oG8fB+ZNNy1T+wJzah8RPGor1mZuPQkVfXNDpy9eHA==, + } dev: true /ts-node@10.9.2(@types/node@20.12.7)(typescript@5.0.4): - resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} + resolution: + { + integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==, + } hasBin: true peerDependencies: '@swc/core': '>=1.2.50' @@ -16292,7 +21225,10 @@ packages: dev: true /tsc-alias@1.8.8: - resolution: {integrity: sha512-OYUOd2wl0H858NvABWr/BoSKNERw3N9GTi3rHPK8Iv4O1UyUXIrTTOAZNHsjlVpXFOhpJBVARI1s+rzwLivN3Q==} + resolution: + { + integrity: sha512-OYUOd2wl0H858NvABWr/BoSKNERw3N9GTi3rHPK8Iv4O1UyUXIrTTOAZNHsjlVpXFOhpJBVARI1s+rzwLivN3Q==, + } hasBin: true dependencies: chokidar: 3.6.0 @@ -16304,7 +21240,10 @@ packages: dev: true /tsconfig-paths@3.15.0: - resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + resolution: + { + integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==, + } dependencies: '@types/json5': 0.0.29 json5: 1.0.2 @@ -16313,8 +21252,11 @@ packages: dev: true /tsconfig-paths@4.2.0: - resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==, + } + engines: { node: '>=6' } dependencies: json5: 2.2.3 minimist: 1.2.8 @@ -16322,33 +21264,53 @@ packages: dev: true /tslib@1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + resolution: + { + integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==, + } dev: true /tslib@2.4.0: - resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} + resolution: + { + integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==, + } dev: true /tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + resolution: + { + integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==, + } /tsort@0.0.1: - resolution: {integrity: sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==} + resolution: + { + integrity: sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==, + } dev: true /tsutils@3.21.0(typescript@5.4.5): - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==, + } + engines: { node: '>= 6' } peerDependencies: - typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + typescript: + '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || + >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 typescript: 5.4.5 dev: true /tsx@4.7.2: - resolution: {integrity: sha512-BCNd4kz6fz12fyrgCTEdZHGJ9fWTGeUzXmQysh0RVocDY3h4frk05ZNCXSy4kIenF7y/QnrdiVpTsyNRn6vlAw==} - engines: {node: '>=18.0.0'} + resolution: + { + integrity: sha512-BCNd4kz6fz12fyrgCTEdZHGJ9fWTGeUzXmQysh0RVocDY3h4frk05ZNCXSy4kIenF7y/QnrdiVpTsyNRn6vlAw==, + } + engines: { node: '>=18.0.0' } hasBin: true dependencies: esbuild: 0.19.12 @@ -16358,7 +21320,10 @@ packages: dev: true /turbo-darwin-64@1.13.2: - resolution: {integrity: sha512-CCSuD8CfmtncpohCuIgq7eAzUas0IwSbHfI8/Q3vKObTdXyN8vAo01gwqXjDGpzG9bTEVedD0GmLbD23dR0MLA==} + resolution: + { + integrity: sha512-CCSuD8CfmtncpohCuIgq7eAzUas0IwSbHfI8/Q3vKObTdXyN8vAo01gwqXjDGpzG9bTEVedD0GmLbD23dR0MLA==, + } cpu: [x64] os: [darwin] requiresBuild: true @@ -16366,7 +21331,10 @@ packages: optional: true /turbo-darwin-arm64@1.13.2: - resolution: {integrity: sha512-0HySm06/D2N91rJJ89FbiI/AodmY8B3WDSFTVEpu2+8spUw7hOJ8okWOT0e5iGlyayUP9gr31eOeL3VFZkpfCw==} + resolution: + { + integrity: sha512-0HySm06/D2N91rJJ89FbiI/AodmY8B3WDSFTVEpu2+8spUw7hOJ8okWOT0e5iGlyayUP9gr31eOeL3VFZkpfCw==, + } cpu: [arm64] os: [darwin] requiresBuild: true @@ -16374,7 +21342,10 @@ packages: optional: true /turbo-linux-64@1.13.2: - resolution: {integrity: sha512-7HnibgbqZrjn4lcfIouzlPu8ZHSBtURG4c7Bedu7WJUDeZo+RE1crlrQm8wuwO54S0siYqUqo7GNHxu4IXbioQ==} + resolution: + { + integrity: sha512-7HnibgbqZrjn4lcfIouzlPu8ZHSBtURG4c7Bedu7WJUDeZo+RE1crlrQm8wuwO54S0siYqUqo7GNHxu4IXbioQ==, + } cpu: [x64] os: [linux] requiresBuild: true @@ -16382,7 +21353,10 @@ packages: optional: true /turbo-linux-arm64@1.13.2: - resolution: {integrity: sha512-sUq4dbpk6SNKg/Hkwn256Vj2AEYSQdG96repio894h5/LEfauIK2QYiC/xxAeW3WBMc6BngmvNyURIg7ltrePg==} + resolution: + { + integrity: sha512-sUq4dbpk6SNKg/Hkwn256Vj2AEYSQdG96repio894h5/LEfauIK2QYiC/xxAeW3WBMc6BngmvNyURIg7ltrePg==, + } cpu: [arm64] os: [linux] requiresBuild: true @@ -16390,7 +21364,10 @@ packages: optional: true /turbo-windows-64@1.13.2: - resolution: {integrity: sha512-DqzhcrciWq3dpzllJR2VVIyOhSlXYCo4mNEWl98DJ3FZ08PEzcI3ceudlH6F0t/nIcfSItK1bDP39cs7YoZHEA==} + resolution: + { + integrity: sha512-DqzhcrciWq3dpzllJR2VVIyOhSlXYCo4mNEWl98DJ3FZ08PEzcI3ceudlH6F0t/nIcfSItK1bDP39cs7YoZHEA==, + } cpu: [x64] os: [win32] requiresBuild: true @@ -16398,7 +21375,10 @@ packages: optional: true /turbo-windows-arm64@1.13.2: - resolution: {integrity: sha512-WnPMrwfCXxK69CdDfS1/j2DlzcKxSmycgDAqV0XCYpK/812KB0KlvsVAt5PjEbZGXkY88pCJ1BLZHAjF5FcbqA==} + resolution: + { + integrity: sha512-WnPMrwfCXxK69CdDfS1/j2DlzcKxSmycgDAqV0XCYpK/812KB0KlvsVAt5PjEbZGXkY88pCJ1BLZHAjF5FcbqA==, + } cpu: [arm64] os: [win32] requiresBuild: true @@ -16406,7 +21386,10 @@ packages: optional: true /turbo@1.13.2: - resolution: {integrity: sha512-rX/d9f4MgRT3yK6cERPAkfavIxbpBZowDQpgvkYwGMGDQ0Nvw1nc0NVjruE76GrzXQqoxR1UpnmEP54vBARFHQ==} + resolution: + { + integrity: sha512-rX/d9f4MgRT3yK6cERPAkfavIxbpBZowDQpgvkYwGMGDQ0Nvw1nc0NVjruE76GrzXQqoxR1UpnmEP54vBARFHQ==, + } hasBin: true optionalDependencies: turbo-darwin-64: 1.13.2 @@ -16418,72 +21401,111 @@ packages: dev: true /tweetnacl-util@0.15.1: - resolution: {integrity: sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==} + resolution: + { + integrity: sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==, + } dev: true /tweetnacl@1.0.3: - resolution: {integrity: sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==} + resolution: + { + integrity: sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==, + } dev: true /type-check@0.3.2: - resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} - engines: {node: '>= 0.8.0'} + resolution: + { + integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==, + } + engines: { node: '>= 0.8.0' } dependencies: prelude-ls: 1.1.2 dev: true /type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} + resolution: + { + integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==, + } + engines: { node: '>= 0.8.0' } dependencies: prelude-ls: 1.2.1 dev: true /type-detect@4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} + resolution: + { + integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==, + } + engines: { node: '>=4' } dev: true /type-fest@0.12.0: - resolution: {integrity: sha512-53RyidyjvkGpnWPMF9bQgFtWp+Sl8O2Rp13VavmJgfAP9WWG6q6TkrKU8iyJdnwnfgHI6k2hTlgqH4aSdjoTbg==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-53RyidyjvkGpnWPMF9bQgFtWp+Sl8O2Rp13VavmJgfAP9WWG6q6TkrKU8iyJdnwnfgHI6k2hTlgqH4aSdjoTbg==, + } + engines: { node: '>=10' } dev: true /type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==, + } + engines: { node: '>=10' } dev: true /type-fest@0.21.3: - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==, + } + engines: { node: '>=10' } /type-fest@0.6.0: - resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==, + } + engines: { node: '>=8' } dev: true /type-fest@0.7.1: - resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==, + } + engines: { node: '>=8' } dev: true /type-fest@0.8.1: - resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==, + } + engines: { node: '>=8' } dev: true /type-is@1.6.18: - resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} - engines: {node: '>= 0.6'} + resolution: + { + integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==, + } + engines: { node: '>= 0.6' } dependencies: media-typer: 0.3.0 mime-types: 2.1.35 dev: true /typed-array-buffer@1.0.2: - resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==, + } + engines: { node: '>= 0.4' } dependencies: call-bind: 1.0.7 es-errors: 1.3.0 @@ -16491,8 +21513,11 @@ packages: dev: true /typed-array-byte-length@1.0.1: - resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==, + } + engines: { node: '>= 0.4' } dependencies: call-bind: 1.0.7 for-each: 0.3.3 @@ -16502,8 +21527,11 @@ packages: dev: true /typed-array-byte-offset@1.0.2: - resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==, + } + engines: { node: '>= 0.4' } dependencies: available-typed-arrays: 1.0.7 call-bind: 1.0.7 @@ -16514,8 +21542,11 @@ packages: dev: true /typed-array-length@1.0.6: - resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==, + } + engines: { node: '>= 0.4' } dependencies: call-bind: 1.0.7 for-each: 0.3.3 @@ -16526,43 +21557,67 @@ packages: dev: true /typed-function@2.1.0: - resolution: {integrity: sha512-bctQIOqx2iVbWGDGPWwIm18QScpu2XRmkC19D8rQGFsjKSgteq/o1hTZvIG/wuDq8fanpBDrLkLq+aEN/6y5XQ==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-bctQIOqx2iVbWGDGPWwIm18QScpu2XRmkC19D8rQGFsjKSgteq/o1hTZvIG/wuDq8fanpBDrLkLq+aEN/6y5XQ==, + } + engines: { node: '>= 10' } dev: true /typedarray@0.0.6: - resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} + resolution: + { + integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==, + } dev: true /typescript@5.0.4: - resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==} - engines: {node: '>=12.20'} + resolution: + { + integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==, + } + engines: { node: '>=12.20' } hasBin: true dev: true /typescript@5.4.5: - resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} - engines: {node: '>=14.17'} + resolution: + { + integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==, + } + engines: { node: '>=14.17' } hasBin: true /ua-parser-js@1.0.37: - resolution: {integrity: sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==} + resolution: + { + integrity: sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==, + } dev: true /uglify-js@3.17.4: - resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==} - engines: {node: '>=0.8.0'} + resolution: + { + integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==, + } + engines: { node: '>=0.8.0' } hasBin: true requiresBuild: true dev: true optional: true /ultron@1.1.1: - resolution: {integrity: sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==} + resolution: + { + integrity: sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==, + } dev: true /unbox-primitive@1.0.2: - resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + resolution: + { + integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==, + } dependencies: call-bind: 1.0.7 has-bigints: 1.0.2 @@ -16571,44 +21626,68 @@ packages: dev: true /unc-path-regex@0.1.2: - resolution: {integrity: sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==, + } + engines: { node: '>=0.10.0' } dev: true /undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + resolution: + { + integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==, + } /undici@5.28.4: - resolution: {integrity: sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==} - engines: {node: '>=14.0'} + resolution: + { + integrity: sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==, + } + engines: { node: '>=14.0' } dependencies: '@fastify/busboy': 2.1.1 dev: true /universalify@0.1.2: - resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} - engines: {node: '>= 4.0.0'} + resolution: + { + integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==, + } + engines: { node: '>= 4.0.0' } dev: true /universalify@2.0.1: - resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} - engines: {node: '>= 10.0.0'} + resolution: + { + integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==, + } + engines: { node: '>= 10.0.0' } dev: true /unixify@1.0.0: - resolution: {integrity: sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg==, + } + engines: { node: '>=0.10.0' } dependencies: normalize-path: 2.1.1 dev: true /unpipe@1.0.0: - resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==, + } + engines: { node: '>= 0.8' } dev: true /update-browserslist-db@1.0.13(browserslist@4.23.0): - resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + resolution: + { + integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==, + } hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -16619,48 +21698,75 @@ packages: dev: true /upper-case-first@2.0.2: - resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} + resolution: + { + integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==, + } dependencies: tslib: 2.6.2 dev: true /upper-case@2.0.2: - resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==} + resolution: + { + integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==, + } dependencies: tslib: 2.6.2 dev: true /uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + resolution: + { + integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==, + } dependencies: punycode: 2.3.1 dev: true /url@0.10.3: - resolution: {integrity: sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==} + resolution: + { + integrity: sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==, + } dependencies: punycode: 1.3.2 querystring: 0.2.0 dev: true /urlpattern-polyfill@10.0.0: - resolution: {integrity: sha512-H/A06tKD7sS1O1X2SshBVeA5FLycRpjqiBeqGKmBwBDBy28EnRjORxTNe269KSSr5un5qyWi1iL61wLxpd+ZOg==} + resolution: + { + integrity: sha512-H/A06tKD7sS1O1X2SshBVeA5FLycRpjqiBeqGKmBwBDBy28EnRjORxTNe269KSSr5un5qyWi1iL61wLxpd+ZOg==, + } dev: true /urlpattern-polyfill@8.0.2: - resolution: {integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==} + resolution: + { + integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==, + } dev: true /utf8@3.0.0: - resolution: {integrity: sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==} + resolution: + { + integrity: sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==, + } dev: true /util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + resolution: + { + integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==, + } dev: true /util@0.12.5: - resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} + resolution: + { + integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==, + } dependencies: inherits: 2.0.4 is-arguments: 1.1.1 @@ -16670,32 +21776,50 @@ packages: dev: true /utils-merge@1.0.1: - resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} - engines: {node: '>= 0.4.0'} + resolution: + { + integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==, + } + engines: { node: '>= 0.4.0' } dev: true /uuid@8.0.0: - resolution: {integrity: sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==} + resolution: + { + integrity: sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==, + } hasBin: true dev: true /uuid@8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + resolution: + { + integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==, + } hasBin: true dev: true /uuid@9.0.1: - resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} + resolution: + { + integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==, + } hasBin: true dev: true /v8-compile-cache-lib@3.0.1: - resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + resolution: + { + integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==, + } dev: true /v8-to-istanbul@9.2.0: - resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} - engines: {node: '>=10.12.0'} + resolution: + { + integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==, + } + engines: { node: '>=10.12.0' } dependencies: '@jridgewell/trace-mapping': 0.3.25 '@types/istanbul-lib-coverage': 2.0.6 @@ -16703,24 +21827,36 @@ packages: dev: true /validate-npm-package-license@3.0.4: - resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + resolution: + { + integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==, + } dependencies: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 dev: true /value-or-promise@1.0.12: - resolution: {integrity: sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q==, + } + engines: { node: '>=12' } dev: true /vary@1.1.2: - resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} - engines: {node: '>= 0.8'} + resolution: + { + integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==, + } + engines: { node: '>= 0.8' } dev: true /viem@1.21.4(typescript@5.0.4)(zod@3.22.4): - resolution: {integrity: sha512-BNVYdSaUjeS2zKQgPs+49e5JKocfo60Ib2yiXOWBT6LuVxY1I/6fFX3waEtpXvL1Xn4qu+BVitVtMh9lyThyhQ==} + resolution: + { + integrity: sha512-BNVYdSaUjeS2zKQgPs+49e5JKocfo60Ib2yiXOWBT6LuVxY1I/6fFX3waEtpXvL1Xn4qu+BVitVtMh9lyThyhQ==, + } peerDependencies: typescript: '>=5.0.4' peerDependenciesMeta: @@ -16743,7 +21879,10 @@ packages: dev: true /viem@1.21.4(typescript@5.4.5)(zod@3.22.4): - resolution: {integrity: sha512-BNVYdSaUjeS2zKQgPs+49e5JKocfo60Ib2yiXOWBT6LuVxY1I/6fFX3waEtpXvL1Xn4qu+BVitVtMh9lyThyhQ==} + resolution: + { + integrity: sha512-BNVYdSaUjeS2zKQgPs+49e5JKocfo60Ib2yiXOWBT6LuVxY1I/6fFX3waEtpXvL1Xn4qu+BVitVtMh9lyThyhQ==, + } peerDependencies: typescript: '>=5.0.4' peerDependenciesMeta: @@ -16766,7 +21905,10 @@ packages: dev: false /viem@2.9.19(typescript@5.4.5)(zod@3.22.4): - resolution: {integrity: sha512-1txsVoTz9+XGQpuN62wcDXasNtalW52UR41KnzwWTwHtV2cDcGuVuS/j/hcuQdZ7pU8X8jtq2IrwwR4jjKpy9Q==} + resolution: + { + integrity: sha512-1txsVoTz9+XGQpuN62wcDXasNtalW52UR41KnzwWTwHtV2cDcGuVuS/j/hcuQdZ7pU8X8jtq2IrwwR4jjKpy9Q==, + } peerDependencies: typescript: '>=5.0.4' peerDependenciesMeta: @@ -16789,29 +21931,44 @@ packages: dev: false /walkdir@0.4.1: - resolution: {integrity: sha512-3eBwRyEln6E1MSzcxcVpQIhRG8Q1jLvEqRmCZqS3dsfXEDR/AhOF4d+jHg1qvDCpYaVRZjENPQyrVxAkQqxPgQ==} - engines: {node: '>=6.0.0'} + resolution: + { + integrity: sha512-3eBwRyEln6E1MSzcxcVpQIhRG8Q1jLvEqRmCZqS3dsfXEDR/AhOF4d+jHg1qvDCpYaVRZjENPQyrVxAkQqxPgQ==, + } + engines: { node: '>=6.0.0' } dev: true /walker@1.0.8: - resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} + resolution: + { + integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==, + } dependencies: makeerror: 1.0.12 dev: true /wcwidth@1.0.1: - resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + resolution: + { + integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==, + } dependencies: defaults: 1.0.4 dev: true /web-streams-polyfill@3.3.3: - resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==, + } + engines: { node: '>= 8' } /web3-utils@1.10.4: - resolution: {integrity: sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A==} - engines: {node: '>=8.0.0'} + resolution: + { + integrity: sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A==, + } + engines: { node: '>=8.0.0' } dependencies: '@ethereumjs/util': 8.1.0 bn.js: 5.2.1 @@ -16824,7 +21981,10 @@ packages: dev: true /webcrypto-core@1.7.9: - resolution: {integrity: sha512-FE+a4PPkOmBbgNDIyRmcHhgXn+2ClRl3JzJdDu/P4+B8y81LqKe6RAsI9b3lAOHe1T1BMkSjsRHTYRikImZnVA==} + resolution: + { + integrity: sha512-FE+a4PPkOmBbgNDIyRmcHhgXn+2ClRl3JzJdDu/P4+B8y81LqKe6RAsI9b3lAOHe1T1BMkSjsRHTYRikImZnVA==, + } dependencies: '@peculiar/asn1-schema': 2.3.8 '@peculiar/json-schema': 1.1.12 @@ -16834,10 +21994,16 @@ packages: dev: true /webidl-conversions@3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + resolution: + { + integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==, + } /websocket-stream@5.5.2: - resolution: {integrity: sha512-8z49MKIHbGk3C4HtuHWDtYX8mYej1wWabjthC/RupM9ngeukU4IWoM46dgth1UOS/T4/IqgEdCDJuMe2039OQQ==} + resolution: + { + integrity: sha512-8z49MKIHbGk3C4HtuHWDtYX8mYej1wWabjthC/RupM9ngeukU4IWoM46dgth1UOS/T4/IqgEdCDJuMe2039OQQ==, + } dependencies: duplexify: 3.7.1 inherits: 2.0.4 @@ -16851,13 +22017,19 @@ packages: dev: true /whatwg-url@5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + resolution: + { + integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==, + } dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 /which-boxed-primitive@1.0.2: - resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + resolution: + { + integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==, + } dependencies: is-bigint: 1.0.4 is-boolean-object: 1.1.2 @@ -16867,8 +22039,11 @@ packages: dev: true /which-builtin-type@1.1.3: - resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==, + } + engines: { node: '>= 0.4' } dependencies: function.prototype.name: 1.1.6 has-tostringtag: 1.0.2 @@ -16885,8 +22060,11 @@ packages: dev: true /which-collection@1.0.2: - resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==, + } + engines: { node: '>= 0.4' } dependencies: is-map: 2.0.3 is-set: 2.0.3 @@ -16895,12 +22073,18 @@ packages: dev: true /which-module@2.0.1: - resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} + resolution: + { + integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==, + } dev: true /which-typed-array@1.1.15: - resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} - engines: {node: '>= 0.4'} + resolution: + { + integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==, + } + engines: { node: '>= 0.4' } dependencies: available-typed-arrays: 1.0.7 call-bind: 1.0.7 @@ -16910,58 +22094,85 @@ packages: dev: true /which@1.3.1: - resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + resolution: + { + integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==, + } hasBin: true dependencies: isexe: 2.0.0 dev: true /which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} + resolution: + { + integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==, + } + engines: { node: '>= 8' } hasBin: true dependencies: isexe: 2.0.0 dev: true /widest-line@3.1.0: - resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==, + } + engines: { node: '>=8' } dependencies: string-width: 4.2.3 dev: true /widest-line@4.0.1: - resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==, + } + engines: { node: '>=12' } dependencies: string-width: 5.1.2 dev: true /word-wrap@1.2.5: - resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} - engines: {node: '>=0.10.0'} + resolution: + { + integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==, + } + engines: { node: '>=0.10.0' } dev: true /wordwrap@1.0.0: - resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} + resolution: + { + integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==, + } dev: true /workerpool@6.2.1: - resolution: {integrity: sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==} + resolution: + { + integrity: sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==, + } dev: true /wrap-ansi@6.2.0: - resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==, + } + engines: { node: '>=8' } dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 /wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==, + } + engines: { node: '>=10' } dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 @@ -16969,8 +22180,11 @@ packages: dev: true /wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==, + } + engines: { node: '>=12' } dependencies: ansi-styles: 6.2.1 string-width: 5.1.2 @@ -16978,19 +22192,28 @@ packages: dev: true /wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + resolution: + { + integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, + } dev: true /write-file-atomic@4.0.2: - resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + resolution: + { + integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==, + } + engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } dependencies: imurmurhash: 0.1.4 signal-exit: 3.0.7 dev: true /ws@3.3.3: - resolution: {integrity: sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==} + resolution: + { + integrity: sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==, + } peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ^5.0.2 @@ -17006,8 +22229,11 @@ packages: dev: true /ws@7.4.6: - resolution: {integrity: sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==} - engines: {node: '>=8.3.0'} + resolution: + { + integrity: sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==, + } + engines: { node: '>=8.3.0' } peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ^5.0.2 @@ -17018,8 +22244,11 @@ packages: optional: true /ws@7.5.9: - resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==} - engines: {node: '>=8.3.0'} + resolution: + { + integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==, + } + engines: { node: '>=8.3.0' } peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ^5.0.2 @@ -17031,8 +22260,11 @@ packages: dev: true /ws@8.13.0: - resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} - engines: {node: '>=10.0.0'} + resolution: + { + integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==, + } + engines: { node: '>=10.0.0' } peerDependencies: bufferutil: ^4.0.1 utf-8-validate: '>=5.0.2' @@ -17043,8 +22275,11 @@ packages: optional: true /ws@8.16.0: - resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==} - engines: {node: '>=10.0.0'} + resolution: + { + integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==, + } + engines: { node: '>=10.0.0' } peerDependencies: bufferutil: ^4.0.1 utf-8-validate: '>=5.0.2' @@ -17056,8 +22291,11 @@ packages: dev: true /ws@8.5.0: - resolution: {integrity: sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==} - engines: {node: '>=10.0.0'} + resolution: + { + integrity: sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==, + } + engines: { node: '>=10.0.0' } peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ^5.0.2 @@ -17069,75 +22307,117 @@ packages: dev: true /xml2js@0.6.2: - resolution: {integrity: sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==} - engines: {node: '>=4.0.0'} + resolution: + { + integrity: sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==, + } + engines: { node: '>=4.0.0' } dependencies: sax: 1.2.1 xmlbuilder: 11.0.1 dev: true /xmlbuilder@11.0.1: - resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==} - engines: {node: '>=4.0'} + resolution: + { + integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==, + } + engines: { node: '>=4.0' } dev: true /xtend@4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} + resolution: + { + integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==, + } + engines: { node: '>=0.4' } dev: true /y18n@4.0.3: - resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + resolution: + { + integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==, + } dev: true /y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==, + } + engines: { node: '>=10' } dev: true /yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + resolution: + { + integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==, + } dev: true /yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + resolution: + { + integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==, + } /yaml-ast-parser@0.0.43: - resolution: {integrity: sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==} + resolution: + { + integrity: sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==, + } dev: true /yaml@1.10.2: - resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} - engines: {node: '>= 6'} + resolution: + { + integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==, + } + engines: { node: '>= 6' } dev: true /yaml@2.4.1: - resolution: {integrity: sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==} - engines: {node: '>= 14'} + resolution: + { + integrity: sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==, + } + engines: { node: '>= 14' } hasBin: true dev: true /yargs-parser@18.1.3: - resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==, + } + engines: { node: '>=6' } dependencies: camelcase: 5.3.1 decamelize: 1.2.0 dev: true /yargs-parser@20.2.4: - resolution: {integrity: sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==, + } + engines: { node: '>=10' } dev: true /yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==, + } + engines: { node: '>=12' } dev: true /yargs-unparser@2.0.0: - resolution: {integrity: sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==, + } + engines: { node: '>=10' } dependencies: camelcase: 6.3.0 decamelize: 4.0.0 @@ -17146,8 +22426,11 @@ packages: dev: true /yargs@15.4.1: - resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} - engines: {node: '>=8'} + resolution: + { + integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==, + } + engines: { node: '>=8' } dependencies: cliui: 6.0.0 decamelize: 1.2.0 @@ -17163,8 +22446,11 @@ packages: dev: true /yargs@16.2.0: - resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==, + } + engines: { node: '>=10' } dependencies: cliui: 7.0.4 escalade: 3.1.2 @@ -17176,8 +22462,11 @@ packages: dev: true /yargs@17.7.2: - resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} - engines: {node: '>=12'} + resolution: + { + integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==, + } + engines: { node: '>=12' } dependencies: cliui: 8.0.1 escalade: 3.1.2 @@ -17189,22 +22478,34 @@ packages: dev: true /yn@3.1.1: - resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} - engines: {node: '>=6'} + resolution: + { + integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==, + } + engines: { node: '>=6' } dev: true /yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} + resolution: + { + integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==, + } + engines: { node: '>=10' } dev: true /yoga-wasm-web@0.3.3: - resolution: {integrity: sha512-N+d4UJSJbt/R3wqY7Coqs5pcV0aUj2j9IaQ3rNj9bVCLld8tTGKRa2USARjnvZJWVx1NDmQev8EknoczaOQDOA==} + resolution: + { + integrity: sha512-N+d4UJSJbt/R3wqY7Coqs5pcV0aUj2j9IaQ3rNj9bVCLld8tTGKRa2USARjnvZJWVx1NDmQev8EknoczaOQDOA==, + } dev: true /zip-stream@4.1.1: - resolution: {integrity: sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==} - engines: {node: '>= 10'} + resolution: + { + integrity: sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==, + } + engines: { node: '>= 10' } dependencies: archiver-utils: 3.0.4 compress-commons: 4.1.2 @@ -17212,11 +22513,17 @@ packages: dev: true /zod@3.22.4: - resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} + resolution: + { + integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==, + } /zx@8.0.1: - resolution: {integrity: sha512-Y+ITW1GQjADk7qgrbhnukMgoNsJmlyx53cUQ6/6NXU+BMBdCbTc6flTOHUctmzKvPjTmdwaddzJY/dbLie9sQg==} - engines: {node: '>= 16.0.0'} + resolution: + { + integrity: sha512-Y+ITW1GQjADk7qgrbhnukMgoNsJmlyx53cUQ6/6NXU+BMBdCbTc6flTOHUctmzKvPjTmdwaddzJY/dbLie9sQg==, + } + engines: { node: '>= 16.0.0' } hasBin: true optionalDependencies: '@types/fs-extra': 11.0.4 diff --git a/sdk/order-planner-service/scripts/encodeMakerGive.ts b/sdk/order-planner-service/scripts/encodeMakerGive.ts index 98767321cc..b70184f25e 100644 --- a/sdk/order-planner-service/scripts/encodeMakerGive.ts +++ b/sdk/order-planner-service/scripts/encodeMakerGive.ts @@ -1,4 +1,4 @@ -import { encodeMakerGiveThroughProxyActions } from '@summerfi/protocol-plugins/plugins/maker' +import { encodeMakerGiveThroughProxyActions } from '../../protocol-plugins/src/plugins/maker/utils/MakerGive' import yargs from 'yargs/yargs' import { Hex } from 'viem' diff --git a/sdk/order-planner-service/tsconfig.json b/sdk/order-planner-service/tsconfig.json index 8a502b00cb..f778098c74 100644 --- a/sdk/order-planner-service/tsconfig.json +++ b/sdk/order-planner-service/tsconfig.json @@ -5,11 +5,6 @@ "outDir": "dist", "baseUrl": "." }, - "include": [ - "src/**/*.ts", - "tests/**/*.ts", - "scripts/**/*.ts", - "../protocol-plugins/src/plugins/maker/utils/MakerGive.ts" - ], + "include": ["src/**/*.ts", "tests/**/*.ts", "scripts/**/*.ts"], "exclude": ["node_modules"] } diff --git a/sdk/protocol-manager-common/package.json b/sdk/protocol-manager-common/package.json index 20ef4947aa..4ff0acd32c 100644 --- a/sdk/protocol-manager-common/package.json +++ b/sdk/protocol-manager-common/package.json @@ -23,8 +23,7 @@ "@summerfi/deployment-types": "workspace:*", "@summerfi/sdk-common": "workspace:*", "@summerfi/protocol-plugins-common": "workspace:*", - "@types/node-fetch": "^2.6.11", - "zod": "^3.22.4" + "@types/node-fetch": "^2.6.11" }, "devDependencies": { "@summerfi/eslint-config": "workspace:*", diff --git a/sdk/protocol-manager-common/src/interfaces/IProtocolManager.ts b/sdk/protocol-manager-common/src/interfaces/IProtocolManager.ts index 43182f7cf4..407cce6438 100644 --- a/sdk/protocol-manager-common/src/interfaces/IProtocolManager.ts +++ b/sdk/protocol-manager-common/src/interfaces/IProtocolManager.ts @@ -1,7 +1,7 @@ import { Maybe } from '@summerfi/sdk-common' import { IPosition } from '@summerfi/sdk-common/common' import { IExternalPosition, IPositionsManager, TransactionInfo } from '@summerfi/sdk-common/orders' -import { ILendingPool } from '@summerfi/sdk-common/protocols' +import { ILendingPool, ILendingPoolInfo } from '@summerfi/sdk-common/protocols' import { IUser } from '@summerfi/sdk-common/user' /** @@ -9,6 +9,8 @@ import { IUser } from '@summerfi/sdk-common/user' * @description Interface to be implemented by a protocol manager to provide access to protocol-specific functionality */ export interface IProtocolManager { + /** LENDING POOLS */ + /** * @name getLendingPool * @description Gets the lending pool for the given pool ID @@ -17,6 +19,14 @@ export interface IProtocolManager { */ getLendingPool(poolId: unknown): Promise + /** + * @name getLendingPoolInfo + * @description Gets the extended lending pool information for the given pool ID + * @param poolId The pool ID + * @returns The extended lending pool information for the specific protocol + */ + getLendingPoolInfo(poolId: unknown): Promise + /** POSITIONS */ /** diff --git a/sdk/protocol-manager-service/package.json b/sdk/protocol-manager-service/package.json index d9b7dabe11..11a0ceeae6 100644 --- a/sdk/protocol-manager-service/package.json +++ b/sdk/protocol-manager-service/package.json @@ -25,8 +25,7 @@ "@summerfi/protocol-manager-common": "workspace:*", "@summerfi/protocol-plugins": "workspace:*", "@summerfi/protocol-plugins-common": "workspace:*", - "@types/node-fetch": "^2.6.11", - "zod": "^3.22.4" + "@types/node-fetch": "^2.6.11" }, "devDependencies": { "@summerfi/eslint-config": "workspace:*", diff --git a/sdk/protocol-manager-service/src/implementation/ProtocolManager.ts b/sdk/protocol-manager-service/src/implementation/ProtocolManager.ts index 9b33e8c4e8..6036e7861d 100644 --- a/sdk/protocol-manager-service/src/implementation/ProtocolManager.ts +++ b/sdk/protocol-manager-service/src/implementation/ProtocolManager.ts @@ -1,7 +1,12 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ import { IPosition } from '@summerfi/sdk-common/common' import { IProtocolManager } from '@summerfi/protocol-manager-common' -import { ILendingPool, ILendingPoolId, isLendingPoolId } from '@summerfi/sdk-common/protocols' +import { + ILendingPool, + ILendingPoolId, + ILendingPoolInfo, + isLendingPoolId, +} from '@summerfi/sdk-common/protocols' import { IProtocolPluginsRegistry } from '@summerfi/protocol-plugins-common' import { IPositionId, Maybe, isPositionId } from '@summerfi/sdk-common' import { IUser } from '@summerfi/sdk-common/user' @@ -44,6 +49,17 @@ export class ProtocolManager implements IProtocolManager { return plugin.getLendingPool(poolId) } + /** @see IProtocolManager.getLendingPoolInfo */ + async getLendingPoolInfo(poolId: unknown): Promise { + this._validateLendingPoolId(poolId) + + const plugin = this._pluginsRegistry.getPlugin({ protocolName: poolId.protocol.name }) + if (!plugin) { + throw new Error(`Protocol plugin for protocol ${poolId.protocol.name} not found`) + } + return plugin.getLendingPoolInfo(poolId) + } + /** @see IProtocolManager.getPosition */ async getPosition(positionId: unknown): Promise { this._validatePositionId(positionId) diff --git a/sdk/protocol-manager-service/tests/ProtocolManager.spec.ts b/sdk/protocol-manager-service/tests/ProtocolManager.spec.ts index 297267d702..6072493679 100644 --- a/sdk/protocol-manager-service/tests/ProtocolManager.spec.ts +++ b/sdk/protocol-manager-service/tests/ProtocolManager.spec.ts @@ -139,6 +139,7 @@ class MockPlugin implements IProtocolPlugin { } getLendingPool = jest.fn() + getLendingPoolInfo = jest.fn() getPosition = jest.fn() getImportPositionTransaction = jest.fn() // @ts-ignore diff --git a/sdk/protocol-plugins-common/package.json b/sdk/protocol-plugins-common/package.json index 0adb5286eb..1e7519397a 100644 --- a/sdk/protocol-plugins-common/package.json +++ b/sdk/protocol-plugins-common/package.json @@ -20,8 +20,7 @@ "@summerfi/deployment-types": "workspace:*", "@summerfi/deployment-utils": "workspace:*", "@summerfi/sdk-common": "workspace:*", - "@summerfi/swap-common": "workspace:*", - "zod": "^3.22.4" + "@summerfi/swap-common": "workspace:*" }, "devDependencies": { "@summerfi/eslint-config": "workspace:*", diff --git a/sdk/protocol-plugins-common/src/interfaces/IProtocolPlugin.ts b/sdk/protocol-plugins-common/src/interfaces/IProtocolPlugin.ts index 66f0392a1b..db2be20686 100644 --- a/sdk/protocol-plugins-common/src/interfaces/IProtocolPlugin.ts +++ b/sdk/protocol-plugins-common/src/interfaces/IProtocolPlugin.ts @@ -5,6 +5,7 @@ import { steps } from '@summerfi/sdk-common/simulation' import { ActionBuilder, ActionBuildersMap } from '../types/StepBuilderTypes' import { IUser } from '@summerfi/sdk-common/user' import { IExternalPosition, IPositionsManager, TransactionInfo } from '@summerfi/sdk-common/orders' +import { ILendingPoolInfo } from '@summerfi/sdk-common/protocols' /** * @interface IProtocolPlugin @@ -26,6 +27,14 @@ export interface IProtocolPlugin { */ getLendingPool(poolId: ILendingPoolIdData): Promise + /** + * @name getLendingPoolInfo + * @description Gets the lending pool extended information for the given pool ID + * @param poolId The pool ID + * @returns The lending pool info for the specific protocol + */ + getLendingPoolInfo(poolId: ILendingPoolIdData): Promise + /** POSITIONS */ /** diff --git a/sdk/protocol-plugins/bundle/package.json b/sdk/protocol-plugins/bundle/package.json index c1764013ac..64b9d8bd5a 100644 --- a/sdk/protocol-plugins/bundle/package.json +++ b/sdk/protocol-plugins/bundle/package.json @@ -11,7 +11,6 @@ "@summerfi/deployment-types": "workspace:*", "@summerfi/protocol-plugins-common": "workspace:*", "@summerfi/testing-utils": "workspace:*", - "@summerfi/swap-common": "workspace:*", - "zod": "^3.22.4" + "@summerfi/swap-common": "workspace:*" } } diff --git a/sdk/protocol-plugins/package.json b/sdk/protocol-plugins/package.json index a1afee60d3..6b31ea0b50 100644 --- a/sdk/protocol-plugins/package.json +++ b/sdk/protocol-plugins/package.json @@ -30,8 +30,7 @@ "@summerfi/deployment-types": "workspace:*", "@summerfi/protocol-plugins-common": "workspace:*", "@summerfi/testing-utils": "workspace:*", - "@summerfi/swap-common": "workspace:*", - "zod": "^3.22.4" + "@summerfi/swap-common": "workspace:*" }, "devDependencies": { "@summerfi/eslint-config": "workspace:*", diff --git a/sdk/protocol-plugins/src/implementation/BaseProtocolPlugin.ts b/sdk/protocol-plugins/src/implementation/BaseProtocolPlugin.ts index 3e6b0eddd6..05ce671cef 100644 --- a/sdk/protocol-plugins/src/implementation/BaseProtocolPlugin.ts +++ b/sdk/protocol-plugins/src/implementation/BaseProtocolPlugin.ts @@ -6,7 +6,12 @@ import { } from '@summerfi/protocol-plugins-common' import { ChainInfo, Maybe, IPosition, IPositionIdData } from '@summerfi/sdk-common/common' import { IExternalPosition, IPositionsManager, TransactionInfo } from '@summerfi/sdk-common/orders' -import { ProtocolName, ILendingPool, ILendingPoolIdData } from '@summerfi/sdk-common/protocols' +import { + ProtocolName, + ILendingPool, + ILendingPoolIdData, + ILendingPoolInfo, +} from '@summerfi/sdk-common/protocols' import { steps } from '@summerfi/sdk-common/simulation' import { IUser } from '@summerfi/sdk-common/user' @@ -81,6 +86,17 @@ export abstract class BaseProtocolPlugin implements IProtocolPlugin { */ protected abstract _getLendingPoolImpl(poolId: ILendingPoolIdData): Promise + /** + * @name getLendingPoolInfoImpl + * @description Gets the lending pool info for the given pool ID + * @param poolId The pool ID + * @returns The lending pool info for the specific protocol + * + * @remarks This method should be implemented by the protocol plugin as the external one is just a wrapper to + * validate the input and call this one + */ + protected abstract _getLendingPoolInfoImpl(poolId: ILendingPoolIdData): Promise + /** @see IProtocolPlugin.getLendingPool */ async getLendingPool(poolId: ILendingPoolIdData): Promise { this._validateLendingPoolId(poolId) @@ -89,6 +105,14 @@ export abstract class BaseProtocolPlugin implements IProtocolPlugin { return this._getLendingPoolImpl(poolId) } + /** @see IProtocolPlugin.getLendingPoolInfo */ + async getLendingPoolInfo(poolId: ILendingPoolIdData): Promise { + this._validateLendingPoolId(poolId) + this._checkChainIdSupported(poolId.protocol.chainInfo.chainId) + + return this._getLendingPoolInfoImpl(poolId) + } + /** POSITIONS */ /** @see IProtocolPlugin.getPosition */ diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AAVEv3ProtocolPlugin.ts b/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AAVEv3ProtocolPlugin.ts index 1f0561e3b0..b47fdf6f0c 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AAVEv3ProtocolPlugin.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AAVEv3ProtocolPlugin.ts @@ -1,31 +1,14 @@ import { - Percentage, - TokenAmount, - Token, - TokenSymbol, - Price, CurrencySymbol, - RiskRatio, ChainFamilyName, valuesOfChainFamilyMap, Maybe, IPosition, IPositionId, IPositionIdData, - RiskRatioType, } from '@summerfi/sdk-common/common' import { ILendingPoolIdData, PoolType, ProtocolName } from '@summerfi/sdk-common/protocols' -import { BigNumber } from 'bignumber.js' -import { BaseProtocolPlugin } from '../../../implementation/BaseProtocolPlugin' - -import { - AaveV3LikeProtocolDataBuilder, - filterAssetsListByEMode, -} from '../../common/helpers/AAVEv3LikeProtocolDataBuilder' -import { UNCAPPED_SUPPLY, PRECISION_BI } from '../../common/constants/AaveV3LikeConstants' import { AaveV3LendingPool } from './AaveV3LendingPool' -import { AaveV3CollateralConfig } from './AaveV3CollateralConfig' -import { AaveV3DebtConfig } from './AaveV3DebtConfig' import { AaveV3AddressAbiMap } from '../types/AaveV3AddressAbiMap' import { ActionBuildersMap, IProtocolPluginContext } from '@summerfi/protocol-plugins-common' import { @@ -34,22 +17,26 @@ import { AAVEV3_POOL_DATA_PROVIDER_ABI, } from '../abis/AaveV3ABIS' import { AaveV3ContractNames } from '@summerfi/deployment-types' -import { IAaveV3LendingPoolIdData, isAaveV3LendingPoolId } from '../interfaces/IAaveV3LendingPoolId' +import { + IAaveV3LendingPoolId, + IAaveV3LendingPoolIdData, + isAaveV3LendingPoolId, +} from '../interfaces/IAaveV3LendingPoolId' import { IUser } from '@summerfi/sdk-common/user' import { IExternalPosition, IPositionsManager, TransactionInfo } from '@summerfi/sdk-common/orders' import { AaveV3StepBuilders } from '../builders' -import { AaveV3LendingPoolId } from './AaveV3LendingPoolId' import { IAaveV3PositionIdData, isAaveV3PositionId } from '../interfaces/IAaveV3PositionId' - -type AssetsList = ReturnType -type Asset = Awaited extends (infer U)[] ? U : never +import { AaveV3LendingPoolInfo } from './AaveV3LendingPoolInfo' +import { aaveV3EmodeCategoryMap } from './EmodeCategoryMap' +import { AAVEv3BaseProtocolPlugin } from '../../common/helpers/aaveV3Like/AAVEv3LikeBaseProtocolPlugin' +import { AAVEv3LikeAbiInfo } from '../../common/helpers/aaveV3Like/AAVEv3LikeAbi' /** * @class AaveV3ProtocolPlugin * @description Aave V3 protocol plugin * @see BaseProtocolPlugin */ -export class AaveV3ProtocolPlugin extends BaseProtocolPlugin { +export class AaveV3ProtocolPlugin extends AAVEv3BaseProtocolPlugin { readonly protocolName = ProtocolName.AAVEv3 readonly supportedChains = valuesOfChainFamilyMap([ ChainFamilyName.Ethereum, @@ -94,13 +81,43 @@ export class AaveV3ProtocolPlugin extends BaseProtocolPlugin { /** LENDING POOLS */ /** @see BaseProtocolPlugin._getLendingPoolImpl */ - async _getLendingPoolImpl(aaveV3PoolId: AaveV3LendingPoolId): Promise { + async _getLendingPoolImpl(aaveV3PoolId: IAaveV3LendingPoolId): Promise { return AaveV3LendingPool.createFrom({ type: PoolType.Lending, id: aaveV3PoolId, }) } + /** @see BaseProtocolPlugin._getLendingPoolInfoImpl */ + async _getLendingPoolInfoImpl( + aaveV3PoolId: IAaveV3LendingPoolId, + ): Promise { + await this._inititalizeAssetsListIfNeeded() + + const emode = aaveV3EmodeCategoryMap[aaveV3PoolId.emodeType] + + const collateralInfo = await this._getCollateralInfo({ + token: aaveV3PoolId.collateralToken, + emode: emode, + poolBaseCurrencyToken: CurrencySymbol.USD, + }) + if (!collateralInfo) { + throw new Error(`Collateral info not found for ${aaveV3PoolId.collateralToken}`) + } + + const debtInfo = await this._getDebtInfo(aaveV3PoolId.debtToken, emode, CurrencySymbol.USD) + if (!debtInfo) { + throw new Error(`Debt info not found for ${aaveV3PoolId.debtToken}`) + } + + return AaveV3LendingPoolInfo.createFrom({ + type: PoolType.Lending, + id: aaveV3PoolId, + collateral: collateralInfo, + debt: debtInfo, + }) + } + /** POSITIONS */ /** @see BaseProtocolPlugin.getPosition */ @@ -121,7 +138,7 @@ export class AaveV3ProtocolPlugin extends BaseProtocolPlugin { /** PRIVATE */ - private _getContractDef(contractName: K): AaveV3AddressAbiMap[K] { + protected _getContractDef(contractName: AaveV3ContractNames): AAVEv3LikeAbiInfo { // TODO: Need to be driven by ChainId in future const map: AaveV3AddressAbiMap = { Oracle: { @@ -144,181 +161,4 @@ export class AaveV3ProtocolPlugin extends BaseProtocolPlugin { return map[contractName] } - - private async _buildAssetsList(emode: bigint) { - try { - const _ctx = { - ...this.ctx, - getContractDef: this._getContractDef, - } - const builder = await new AaveV3LikeProtocolDataBuilder(_ctx, this.protocolName).init() - const list = await builder - .addPrices() - .addReservesCaps() - .addReservesConfigData() - .addReservesData() - .addEmodeCategories() - .build() - - return filterAssetsListByEMode(list, emode) - } catch (e) { - throw new Error(`Could not fetch/build assets list for AAVEv3: ${JSON.stringify(e)}`) - } - } - - private _getCollateralAssetInfo( - asset: Asset, - poolBaseCurrencyToken: Token | CurrencySymbol, - ): AaveV3CollateralConfig { - const { - token: collateralToken, - config: { usageAsCollateralEnabled, ltv, liquidationThreshold, liquidationBonus }, - caps: { supplyCap }, - data: { totalAToken }, - } = asset - - const LTV_TO_PERCENTAGE_DIVISOR = new BigNumber(100) - - try { - return { - token: collateralToken, - price: Price.createFrom({ - baseToken: collateralToken, - quoteToken: poolBaseCurrencyToken, - value: asset.price.toString(), - }), - priceUSD: Price.createFrom({ - baseToken: collateralToken, - quoteToken: CurrencySymbol.USD, - value: asset.price.toString(), - }), - maxLtv: RiskRatio.createFrom({ - ratio: Percentage.createFrom({ - value: new BigNumber(ltv.toString()).div(LTV_TO_PERCENTAGE_DIVISOR).toNumber(), - }), - type: RiskRatioType.LTV, - }), - liquidationThreshold: RiskRatio.createFrom({ - ratio: Percentage.createFrom({ - value: new BigNumber(liquidationThreshold.toString()) - .div(LTV_TO_PERCENTAGE_DIVISOR) - .toNumber(), - }), - type: RiskRatioType.LTV, - }), - tokensLocked: TokenAmount.createFromBaseUnit({ - token: collateralToken, - amount: totalAToken.toString(), - }), - maxSupply: TokenAmount.createFrom({ - token: collateralToken, - amount: supplyCap === 0n ? UNCAPPED_SUPPLY : supplyCap.toString(), - }), - liquidationPenalty: Percentage.createFrom({ - value: new BigNumber(liquidationBonus.toString()) - .div(LTV_TO_PERCENTAGE_DIVISOR) - .toNumber(), - }), - apy: Percentage.createFrom({ value: 0 }), - usageAsCollateralEnabled, - } - } catch (e) { - throw new Error(`error in collateral loop ${e}`) - } - } - - private _getDebtAssetInfo( - asset: Asset, - poolBaseCurrencyToken: CurrencySymbol | Token, - ): Maybe { - const { - token: quoteToken, - config: { borrowingEnabled, reserveFactor }, - caps: { borrowCap }, - data: { totalVariableDebt, totalStableDebt, variableBorrowRate }, - } = asset - if (quoteToken.symbol === TokenSymbol.WETH) { - // WETH can be used as collateral on AaveV3 but not borrowed. - return - } - - try { - const RESERVE_FACTOR_TO_PERCENTAGE_DIVISOR = 10000n - const PRECISION_PRESERVING_OFFSET = 1000000n - const RATE_DIVISOR_TO_GET_PERCENTAGE = Number((PRECISION_PRESERVING_OFFSET - 100n).toString()) - - const rate = - Number(((variableBorrowRate * PRECISION_PRESERVING_OFFSET) / PRECISION_BI.RAY).toString()) / - RATE_DIVISOR_TO_GET_PERCENTAGE - const totalBorrowed = totalVariableDebt + totalStableDebt - return { - token: quoteToken, - // TODO: If we further restricted pools we could have token pair prices - price: Price.createFrom({ - baseToken: quoteToken, - quoteToken: poolBaseCurrencyToken, - value: new BigNumber(asset.price.toString()).toString(), - }), - priceUSD: Price.createFrom({ - baseToken: quoteToken, - quoteToken: CurrencySymbol.USD, - value: new BigNumber(asset.price.toString()).toString(), - }), - rate: Percentage.createFrom({ value: rate }), - totalBorrowed: TokenAmount.createFromBaseUnit({ - token: quoteToken, - amount: totalBorrowed.toString(), - }), - debtCeiling: TokenAmount.createFrom({ - token: quoteToken, - amount: borrowCap === 0n ? UNCAPPED_SUPPLY : borrowCap.toString(), - }), - debtAvailable: TokenAmount.createFromBaseUnit({ - token: quoteToken, - amount: borrowCap === 0n ? UNCAPPED_SUPPLY : (borrowCap - totalBorrowed).toString(), - }), - dustLimit: TokenAmount.createFromBaseUnit({ token: quoteToken, amount: '0' }), - originationFee: Percentage.createFrom({ - value: Number((reserveFactor / RESERVE_FACTOR_TO_PERCENTAGE_DIVISOR).toString()), - }), - borrowingEnabled, - } - } catch (e) { - throw new Error(`error in debt loop ${e}`) - } - } } - -/** - const emode = aaveV3EmodeCategoryMap[aaveV3PoolId.emodeType] - - const ctx = this.ctx - const chainId = ctx.provider.chain?.id - if (!chainId) throw new Error('ctx.provider.chain.id undefined') - - if (!this.supportedChains.some((chainInfo) => chainInfo.chainId === chainId)) { - throw new Error(`Chain ID ${chainId} is not supported`) - } - - const assetsList = await this.buildAssetsList(emode) - - // Both USDC & DAI use fixed price oracles that keep both stable at 1 USD - const poolBaseCurrencyToken = CurrencySymbol.USD - - const collaterals = assetsList.reduce((colls, asset) => { - const assetInfo = this.getCollateralAssetInfo(asset, poolBaseCurrencyToken) - const { token: collateralToken } = asset - colls[collateralToken.address.value] = assetInfo - return colls - }, {}) - - const debts = assetsList.reduce((debts, asset) => { - const assetInfo = this.getDebtAssetInfo(asset, poolBaseCurrencyToken) - if (!assetInfo) return debts - const { token: quoteToken } = asset - debts[quoteToken.address.value] = assetInfo - return debts - }, {}) - - - */ diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3CollateralConfig.ts b/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3CollateralConfig.ts deleted file mode 100644 index 9c4f68a670..0000000000 --- a/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3CollateralConfig.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { CollateralConfig } from '@summerfi/sdk-common/protocols' -import { IAaveV3CollateralConfig } from '../interfaces/IAaveV3CollateralConfig' -import { Percentage, RiskRatio } from '@summerfi/sdk-common/common' -import { SerializationService } from '@summerfi/sdk-common/services' - -export class AaveV3CollateralConfig extends CollateralConfig implements IAaveV3CollateralConfig { - readonly usageAsCollateralEnabled: boolean - readonly apy: Percentage - readonly maxLtv: RiskRatio - - private constructor(params: IAaveV3CollateralConfig) { - super(params) - - this.usageAsCollateralEnabled = params.usageAsCollateralEnabled - this.apy = Percentage.createFrom(params.apy) - this.maxLtv = RiskRatio.createFrom(params.maxLtv) - } - - static createFrom(params: IAaveV3CollateralConfig): AaveV3CollateralConfig { - return new AaveV3CollateralConfig(params) - } -} - -SerializationService.registerClass(AaveV3CollateralConfig) diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3CollateralConfigMap.ts b/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3CollateralConfigMap.ts deleted file mode 100644 index c7f67806c8..0000000000 --- a/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3CollateralConfigMap.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { AddressValue, IToken, Maybe } from '@summerfi/sdk-common/common' -import { AaveV3CollateralConfig } from './AaveV3CollateralConfig' -import { IAaveV3CollateralConfigMap } from '../interfaces/IAaveV3CollateralConfigMap' -import { CollateralConfigMap } from '@summerfi/sdk-common/protocols' -import { IAaveV3CollateralConfig } from '../interfaces/IAaveV3CollateralConfig' -import { SerializationService } from '@summerfi/sdk-common/services' - -export type AaveV3CollateralConfigRecord = Record - -export class AaveV3CollateralConfigMap - extends CollateralConfigMap - implements IAaveV3CollateralConfigMap -{ - readonly record: AaveV3CollateralConfigRecord = {} - - private constructor(params: IAaveV3CollateralConfigMap) { - super(params) - - this._importCollateralConfigMap(params) - } - - static createFrom(params: IAaveV3CollateralConfigMap): AaveV3CollateralConfigMap { - return new AaveV3CollateralConfigMap(params) - } - - public override add(params: { - collateral: IToken - collateralConfig: IAaveV3CollateralConfig - }): void { - this.record[this._formatRecordKey(params.collateral.address.value)] = - AaveV3CollateralConfig.createFrom(params.collateralConfig) - } - - public override get(params: { token: IToken }): Maybe { - return this.record[this._formatRecordKey(params.token.address.value)] - } -} - -SerializationService.registerClass(AaveV3CollateralConfigMap) diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3DebtConfig.ts b/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3DebtConfig.ts deleted file mode 100644 index c5bd8dd347..0000000000 --- a/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3DebtConfig.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { DebtConfig } from '@summerfi/sdk-common/protocols' -import { IAaveV3DebtConfig } from '../interfaces/IAaveV3DebtConfig' -import { SerializationService } from '@summerfi/sdk-common/services' - -export class AaveV3DebtConfig extends DebtConfig implements IAaveV3DebtConfig { - readonly borrowingEnabled: boolean - - private constructor(params: IAaveV3DebtConfig) { - super(params) - - this.borrowingEnabled = params.borrowingEnabled - } - - static createFrom(params: IAaveV3DebtConfig): AaveV3DebtConfig { - return new AaveV3DebtConfig(params) - } -} - -SerializationService.registerClass(AaveV3DebtConfig) diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3DebtConfigMap.ts b/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3DebtConfigMap.ts deleted file mode 100644 index 42068b0cbd..0000000000 --- a/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3DebtConfigMap.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { AddressValue, IToken, Maybe } from '@summerfi/sdk-common/common' -import { AaveV3DebtConfig } from './AaveV3DebtConfig' -import { IAaveV3DebtConfigMap } from '../interfaces/IAaveV3DebtConfigMap' -import { DebtConfigMap } from '@summerfi/sdk-common/protocols' -import { IAaveV3DebtConfig } from '../interfaces/IAaveV3DebtConfig' -import { SerializationService } from '@summerfi/sdk-common/services' - -export type AaveV3DebtConfigRecord = Record - -export class AaveV3DebtConfigMap extends DebtConfigMap implements IAaveV3DebtConfigMap { - readonly record: AaveV3DebtConfigRecord = {} - - private constructor(params: IAaveV3DebtConfigMap) { - super(params) - - this._importDebtConfigMap(params) - } - - static createFrom(params: IAaveV3DebtConfigMap): AaveV3DebtConfigMap { - return new AaveV3DebtConfigMap(params) - } - - public override add(params: { debt: IToken; debtConfig: IAaveV3DebtConfig }): void { - this.record[this._formatRecordKey(params.debt.address.value)] = AaveV3DebtConfig.createFrom( - params.debtConfig, - ) - } - - public override get(params: { token: IToken }): Maybe { - return this.record[this._formatRecordKey(params.token.address.value)] - } -} - -SerializationService.registerClass(AaveV3DebtConfigMap) diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3LendingPoolInfo.ts b/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3LendingPoolInfo.ts new file mode 100644 index 0000000000..0b4a5726a6 --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3LendingPoolInfo.ts @@ -0,0 +1,29 @@ +import { LendingPoolInfo } from '@summerfi/sdk-common/protocols' +import { SerializationService } from '@summerfi/sdk-common/services' +import { AaveV3LendingPoolId } from './AaveV3LendingPoolId' +import { + IAaveV3LendingPoolInfo, + IAaveV3LendingPoolInfoData, +} from '../interfaces/IAaveV3LendingPoolInfo' + +/** + * @class AaveV3LendingPoolInfo + * @see IAaveV3LendingPoolInfo + */ +export class AaveV3LendingPoolInfo extends LendingPoolInfo implements IAaveV3LendingPoolInfo { + readonly id: AaveV3LendingPoolId + + /** Factory method */ + public static createFrom(params: IAaveV3LendingPoolInfoData): AaveV3LendingPoolInfo { + return new AaveV3LendingPoolInfo(params) + } + + /** Sealed constructor */ + private constructor(params: IAaveV3LendingPoolInfoData) { + super(params) + + this.id = AaveV3LendingPoolId.createFrom(params.id) + } +} + +SerializationService.registerClass(AaveV3LendingPoolInfo) diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/implementation/index.ts b/sdk/protocol-plugins/src/plugins/aave-v3/implementation/index.ts index ad470ff22e..f3f815aef3 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/implementation/index.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/implementation/index.ts @@ -1,8 +1,4 @@ export * from './AAVEv3ProtocolPlugin' -export * from './AaveV3CollateralConfig' -export * from './AaveV3CollateralConfigMap' -export * from './AaveV3DebtConfig' -export * from './AaveV3DebtConfigMap' export * from './AaveV3LendingPool' export * from './EmodeCategoryMap' export * from './AaveV3Protocol' diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3CollateralConfig.ts b/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3CollateralConfig.ts deleted file mode 100644 index 2c73c54bf7..0000000000 --- a/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3CollateralConfig.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { IPercentage, IRiskRatio } from '@summerfi/sdk-common/common' -import { ICollateralConfig } from '@summerfi/sdk-common/protocols' - -export interface IAaveV3CollateralConfig extends ICollateralConfig { - usageAsCollateralEnabled: boolean - apy: IPercentage - maxLtv: IRiskRatio -} diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3CollateralConfigMap.ts b/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3CollateralConfigMap.ts deleted file mode 100644 index 206f03bba9..0000000000 --- a/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3CollateralConfigMap.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { AddressValue } from '@summerfi/sdk-common/common' -import { IAaveV3CollateralConfig } from './IAaveV3CollateralConfig' -import { ICollateralConfigMap } from '@summerfi/sdk-common/protocols' - -export type IAaveV3CollateralConfigRecord = Record - -export interface IAaveV3CollateralConfigMap extends ICollateralConfigMap { - record: IAaveV3CollateralConfigRecord -} diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3DebtConfig.ts b/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3DebtConfig.ts deleted file mode 100644 index fb8a11c3ec..0000000000 --- a/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3DebtConfig.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { IDebtConfig } from '@summerfi/sdk-common/protocols' - -export interface IAaveV3DebtConfig extends IDebtConfig { - borrowingEnabled: boolean -} diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3DebtConfigMap.ts b/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3DebtConfigMap.ts deleted file mode 100644 index 2f8794d5b1..0000000000 --- a/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3DebtConfigMap.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { AddressValue } from '@summerfi/sdk-common/common' -import { IAaveV3DebtConfig } from './IAaveV3DebtConfig' -import { IDebtConfigMap } from '@summerfi/sdk-common/protocols' - -export type IAaveV3DebtConfigRecord = Record - -export interface IAaveV3DebtConfigMap extends IDebtConfigMap { - record: IAaveV3DebtConfigRecord -} diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3LendingPoolInfo.ts b/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3LendingPoolInfo.ts new file mode 100644 index 0000000000..79458a3cc9 --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3LendingPoolInfo.ts @@ -0,0 +1,66 @@ +import { + ICollateralInfo, + IDebtInfo, + ILendingPoolInfo, + ILendingPoolInfoData, + LendingPoolInfoSchema, +} from '@summerfi/sdk-common/protocols' +import { z } from 'zod' +import { + AaveV3LendingPoolIdSchema, + IAaveV3LendingPoolId, + IAaveV3LendingPoolIdData, +} from './IAaveV3LendingPoolId' + +/** + * @interface IAaveV3LendingPoolInfoData + * @description Represents a lending pool info in the Aave V3 protocol + */ +export interface IAaveV3LendingPoolInfoData extends ILendingPoolInfoData { + /** The lending pool's ID */ + readonly id: IAaveV3LendingPoolIdData +} + +/** + * @interface IAaveV3LendingPoolInfo + * @description Interface for the implementors of the lending pool info + * + * This interface is used to add all the methods that the interface supports + * + * Typescript forces the interface to re-declare any properties that have different BUT compatible types. + * This may be fixed eventually, there is a discussion on the topic here: https://github.com/microsoft/TypeScript/issues/16936 + */ +export interface IAaveV3LendingPoolInfo extends ILendingPoolInfo, IAaveV3LendingPoolInfoData { + readonly id: IAaveV3LendingPoolId + + // Re-declaring the properties with the correct types + readonly collateral: ICollateralInfo + readonly debt: IDebtInfo +} + +/** + * @description Zod schema for IAaveV3LendingPool + */ +export const AaveV3LendingPoolInfoSchema = z.object({ + ...LendingPoolInfoSchema.shape, + id: AaveV3LendingPoolIdSchema, +}) + +/** + * @description Type guard for IAaveV3LendingPoolInfo + * @param maybeLendingPoolInfo + * @returns true if the object is an IAaveV3LendingPoolInfo + */ +export function isAaveV3LendingPoolInfo( + maybeLendingPoolInfo: unknown, +): maybeLendingPoolInfo is IAaveV3LendingPoolInfoData { + return AaveV3LendingPoolInfoSchema.safeParse(maybeLendingPoolInfo).success +} + +/** + * Checker to make sure that the schema is aligned with the interface + */ +/* eslint-disable-next-line @typescript-eslint/no-unused-vars */ +const __schemaChecker: IAaveV3LendingPoolInfoData = {} as z.infer< + typeof AaveV3LendingPoolInfoSchema +> diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/index.ts b/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/index.ts index c7b8ab24bf..90b0c5cc39 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/index.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/index.ts @@ -1,6 +1,5 @@ -export * from './IAaveV3CollateralConfig' -export * from './IAaveV3CollateralConfigMap' -export * from './IAaveV3DebtConfig' -export * from './IAaveV3DebtConfigMap' export * from './IAaveV3LendingPool' +export * from './IAaveV3LendingPoolInfo' export * from './IAaveV3Position' +export * from './IAaveV3PositionId' +export * from './IAaveV3Protocol' diff --git a/sdk/protocol-plugins/src/plugins/common/helpers/aaveV3Like/AAVEv3LikeAbi.ts b/sdk/protocol-plugins/src/plugins/common/helpers/aaveV3Like/AAVEv3LikeAbi.ts new file mode 100644 index 0000000000..707f6455a4 --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/common/helpers/aaveV3Like/AAVEv3LikeAbi.ts @@ -0,0 +1,10 @@ +import { AddressValue } from '@summerfi/sdk-common' + +export type AAVEv3LikeAbiInfo = { + address: AddressValue + abi: unknown +} + +export type AAVEv3LikeAbiMap = { + [key: string]: AAVEv3LikeAbiInfo +} diff --git a/sdk/protocol-plugins/src/plugins/common/helpers/aaveV3Like/AAVEv3LikeBaseProtocolPlugin.ts b/sdk/protocol-plugins/src/plugins/common/helpers/aaveV3Like/AAVEv3LikeBaseProtocolPlugin.ts new file mode 100644 index 0000000000..dbf1df175d --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/common/helpers/aaveV3Like/AAVEv3LikeBaseProtocolPlugin.ts @@ -0,0 +1,242 @@ +import { + CollateralInfo, + CurrencySymbol, + DebtInfo, + Maybe, + Percentage, + Price, + RiskRatio, + RiskRatioType, + Token, + TokenAmount, + TokenSymbol, +} from '@summerfi/sdk-common' +import { BaseProtocolPlugin } from '../../../../implementation/BaseProtocolPlugin' +import { AAVEv3LikeAbiInfo } from './AAVEv3LikeAbi' +import { + AaveV3LikeProtocolDataBuilder, + filterAssetsListByEMode, +} from './AAVEv3LikeProtocolDataBuilder' +import { AllowedProtocolNames } from './AAVEv3LikeBuilderTypes' +import { BigNumber } from 'bignumber.js' +import { PRECISION_BI, UNCAPPED_SUPPLY } from '../../constants/AaveV3LikeConstants' + +type AssetsList = Awaited> +type Asset = AssetsList extends (infer U)[] ? U : never + +/** + * @class AAVEv3BaseProtocolPlugin + * @description Base class for AAVEv3 protocol plugins, it contains common functionality to + * fetch data from forks of AAVEv3 protocol. + */ +export abstract class AAVEv3BaseProtocolPlugin extends BaseProtocolPlugin { + abstract readonly protocolName: AllowedProtocolNames + private _assetsList: Maybe = undefined + + /** PROTECTED */ + + /** + * Fetches the contract definition for the given contract name. + * @param contractName The name of the contract to fetch the definition for. + * @returns The contract definition for the given contract name. + * + * To be implemented by each specific protocol plugin. + */ + protected abstract _getContractDef(contractName: string): AAVEv3LikeAbiInfo + + /** + * Initializes the assets list if it hasn't been initialized yet. + * + * To be called before fetching data from the assets list, typically from `getLendingPool` and similar + * methods. + */ + protected async _inititalizeAssetsListIfNeeded() { + if (this._assetsList) { + return + } + + this._assetsList = await this._getAssetsList() + } + + /** + * Fetches the assets list for the protocol. + * @returns The assets list for the protocol. + * + * This function must exist as the return type of the data builder is inferred from the return + * type of this function. + */ + protected async _getAssetsList() { + try { + const _ctx = { + ...this.ctx, + getContractDef: this._getContractDef, + } + const builder = await new AaveV3LikeProtocolDataBuilder(_ctx, this.protocolName).init() + return await builder + .addPrices() + .addReservesCaps() + .addReservesConfigData() + .addReservesData() + .addEmodeCategories() + .build() + } catch (e) { + throw new Error(`Could not fetch/build assets list for AAVEv3: ${JSON.stringify(e)}`) + } + } + + /** + * Fetches the asset from the assets list for the given token and emode. + * @param token The token to fetch the asset for. + * @param emode The emode to fetch the asset for. + * @returns The asset for the given token and emode. + */ + protected async _getAssetFromToken(token: Token, emode: bigint): Promise { + if (!this._assetsList) { + throw new Error('Assets list not initialized') + } + + const assetsList = filterAssetsListByEMode(this._assetsList, emode) + + const asset = assetsList.find((asset: Asset) => token.equals(asset.token)) + if (!asset) { + throw new Error(`Asset not found for token ${token}`) + } + + return asset + } + + /** + * Fetches the collateral info for the given token. + * @param token The token to fetch the collateral info for. + * @param emode The emode to fetch the collateral info for. + * @param poolBaseCurrencyToken The base currency token for the pool. + * @returns The collateral info for the given token. + */ + protected async _getCollateralInfo(params: { + token: Token + emode: bigint + poolBaseCurrencyToken: Token | CurrencySymbol + }): Promise> { + const { token, emode, poolBaseCurrencyToken } = params + + const asset = await this._getAssetFromToken(token, emode) + + const { + token: collateralToken, + config: { liquidationThreshold, liquidationBonus }, + caps: { supplyCap }, + data: { totalAToken }, + } = asset + + const LTV_TO_PERCENTAGE_DIVISOR = new BigNumber(100) + + try { + return CollateralInfo.createFrom({ + token: collateralToken, + price: Price.createFrom({ + baseToken: collateralToken, + quoteToken: poolBaseCurrencyToken, + value: asset.price.toString(), + }), + priceUSD: Price.createFrom({ + baseToken: collateralToken, + quoteToken: CurrencySymbol.USD, + value: asset.price.toString(), + }), + liquidationThreshold: RiskRatio.createFrom({ + ratio: Percentage.createFrom({ + value: new BigNumber(liquidationThreshold.toString()) + .div(LTV_TO_PERCENTAGE_DIVISOR) + .toNumber(), + }), + type: RiskRatioType.LTV, + }), + tokensLocked: TokenAmount.createFromBaseUnit({ + token: collateralToken, + amount: totalAToken.toString(), + }), + maxSupply: TokenAmount.createFrom({ + token: collateralToken, + amount: supplyCap === 0n ? UNCAPPED_SUPPLY : supplyCap.toString(), + }), + liquidationPenalty: Percentage.createFrom({ + value: new BigNumber(liquidationBonus.toString()) + .div(LTV_TO_PERCENTAGE_DIVISOR) + .toNumber(), + }), + }) + } catch (e) { + throw new Error(`error in collateral loop ${e}`) + } + } + + /** + * Fetches the debt info for the given token. + * @param token The token to fetch the debt info for. + * @param emode The emode to fetch the debt info for. + * @param poolBaseCurrencyToken The base currency token for the pool. + * @returns The debt info for the given token. + */ + protected async _getDebtInfo( + token: Token, + emode: bigint, + poolBaseCurrencyToken: CurrencySymbol | Token, + ): Promise> { + const asset = await this._getAssetFromToken(token, emode) + + const { + token: quoteToken, + config: { reserveFactor }, + caps: { borrowCap }, + data: { totalVariableDebt, totalStableDebt, variableBorrowRate }, + } = asset + if (quoteToken.symbol === TokenSymbol.WETH) { + // WETH can be used as collateral on AaveV3 but not borrowed. + return + } + + try { + const RESERVE_FACTOR_TO_PERCENTAGE_DIVISOR = 10000n + const PRECISION_PRESERVING_OFFSET = 1000000n + const RATE_DIVISOR_TO_GET_PERCENTAGE = Number((PRECISION_PRESERVING_OFFSET - 100n).toString()) + + const rate = + Number(((variableBorrowRate * PRECISION_PRESERVING_OFFSET) / PRECISION_BI.RAY).toString()) / + RATE_DIVISOR_TO_GET_PERCENTAGE + const totalBorrowed = totalVariableDebt + totalStableDebt + return DebtInfo.createFrom({ + token: quoteToken, + // TODO: If we further restricted pools we could have token pair prices + price: Price.createFrom({ + baseToken: quoteToken, + quoteToken: poolBaseCurrencyToken, + value: new BigNumber(asset.price.toString()).toString(), + }), + priceUSD: Price.createFrom({ + baseToken: quoteToken, + quoteToken: CurrencySymbol.USD, + value: new BigNumber(asset.price.toString()).toString(), + }), + interestRate: Percentage.createFrom({ value: rate }), + totalBorrowed: TokenAmount.createFromBaseUnit({ + token: quoteToken, + amount: totalBorrowed.toString(), + }), + debtCeiling: TokenAmount.createFrom({ + token: quoteToken, + amount: borrowCap === 0n ? UNCAPPED_SUPPLY : borrowCap.toString(), + }), + debtAvailable: TokenAmount.createFromBaseUnit({ + token: quoteToken, + amount: borrowCap === 0n ? UNCAPPED_SUPPLY : (borrowCap - totalBorrowed).toString(), + }), + dustLimit: TokenAmount.createFromBaseUnit({ token: quoteToken, amount: '0' }), + originationFee: Percentage.createFrom({ + value: Number((reserveFactor / RESERVE_FACTOR_TO_PERCENTAGE_DIVISOR).toString()), + }), + }) + } catch (e) { + throw new Error(`error in debt loop ${e}`) + } + } +} diff --git a/sdk/protocol-plugins/src/plugins/common/helpers/AAVEv3LikeBuilderTypes.ts b/sdk/protocol-plugins/src/plugins/common/helpers/aaveV3Like/AAVEv3LikeBuilderTypes.ts similarity index 100% rename from sdk/protocol-plugins/src/plugins/common/helpers/AAVEv3LikeBuilderTypes.ts rename to sdk/protocol-plugins/src/plugins/common/helpers/aaveV3Like/AAVEv3LikeBuilderTypes.ts diff --git a/sdk/protocol-plugins/src/plugins/common/helpers/AAVEv3LikeDataFetchers.ts b/sdk/protocol-plugins/src/plugins/common/helpers/aaveV3Like/AAVEv3LikeDataFetchers.ts similarity index 100% rename from sdk/protocol-plugins/src/plugins/common/helpers/AAVEv3LikeDataFetchers.ts rename to sdk/protocol-plugins/src/plugins/common/helpers/aaveV3Like/AAVEv3LikeDataFetchers.ts diff --git a/sdk/protocol-plugins/src/plugins/common/helpers/AAVEv3LikeProtocolDataBuilder.ts b/sdk/protocol-plugins/src/plugins/common/helpers/aaveV3Like/AAVEv3LikeProtocolDataBuilder.ts similarity index 98% rename from sdk/protocol-plugins/src/plugins/common/helpers/AAVEv3LikeProtocolDataBuilder.ts rename to sdk/protocol-plugins/src/plugins/common/helpers/aaveV3Like/AAVEv3LikeProtocolDataBuilder.ts index 82968ca06e..0bc43378df 100644 --- a/sdk/protocol-plugins/src/plugins/common/helpers/AAVEv3LikeProtocolDataBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/common/helpers/aaveV3Like/AAVEv3LikeProtocolDataBuilder.ts @@ -57,6 +57,15 @@ export class AaveV3LikeProtocolDataBuilder { ) } + async buildAll(): Promise { + return await this.addReservesCaps() + .addReservesConfigData() + .addReservesData() + .addEmodeCategories() + .addPrices() + .build() + } + addReservesCaps(): AaveV3LikeProtocolDataBuilder> { const operation: QueuedOperation = { operation: async () => { diff --git a/sdk/protocol-plugins/src/plugins/common/helpers/index.ts b/sdk/protocol-plugins/src/plugins/common/helpers/index.ts index a9eb7ca45b..40f4db5ce2 100644 --- a/sdk/protocol-plugins/src/plugins/common/helpers/index.ts +++ b/sdk/protocol-plugins/src/plugins/common/helpers/index.ts @@ -7,7 +7,7 @@ export { type WithReservesConfig, type WithReservesData, type WithToken, -} from './AAVEv3LikeBuilderTypes' +} from './aaveV3Like/AAVEv3LikeBuilderTypes' export { fetchReservesTokens, fetchEmodeCategoriesForReserves, @@ -15,8 +15,8 @@ export { fetchReservesCap, fetchAssetReserveData, fetchAssetPrices, -} from './AAVEv3LikeDataFetchers' +} from './aaveV3Like/AAVEv3LikeDataFetchers' export { AaveV3LikeProtocolDataBuilder, filterAssetsListByEMode, -} from './AAVEv3LikeProtocolDataBuilder' +} from './aaveV3Like/AAVEv3LikeProtocolDataBuilder' diff --git a/sdk/protocol-plugins/src/plugins/maker/enums/ILKType.ts b/sdk/protocol-plugins/src/plugins/maker/enums/ILKType.ts index 5b35650554..a8dc29963a 100644 --- a/sdk/protocol-plugins/src/plugins/maker/enums/ILKType.ts +++ b/sdk/protocol-plugins/src/plugins/maker/enums/ILKType.ts @@ -1,3 +1,9 @@ +import { z } from 'zod' + +/** + * @enum ILKType + * @description Enum for the different ILK types in the Maker protocol + */ export enum ILKType { ETH_A = 'ETH-A', ETH_B = 'ETH-B', @@ -9,3 +15,23 @@ export enum ILKType { WSTETH_B = 'WSTETH-B', RETH_A = 'RETH-A', } + +/** + * @description Zod schema for ILKType + */ +export const ILKTypeSchema = z.nativeEnum(ILKType) + +/** + * @description Type guard for ILKType + * @param maybeILKType Object to be checked + * @returns true if the object is an ILKType + */ +export function isILKType(maybeILKType: unknown): maybeILKType is ILKType { + return ILKTypeSchema.safeParse(maybeILKType).success +} + +/** + * Checker to make sure that the schema is aligned with the interface + */ +/* eslint-disable-next-line @typescript-eslint/no-unused-vars */ +const __schemaChecker: ILKType = {} as z.infer diff --git a/sdk/protocol-plugins/src/plugins/maker/implementation/MakerCollateralConfig.ts b/sdk/protocol-plugins/src/plugins/maker/implementation/MakerCollateralConfig.ts deleted file mode 100644 index 136b8cd8d0..0000000000 --- a/sdk/protocol-plugins/src/plugins/maker/implementation/MakerCollateralConfig.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { CollateralConfig } from '@summerfi/sdk-common/protocols' -import { IMakerCollateralConfig } from '../interfaces/IMakerCollateralConfig' -import { Price } from '@summerfi/sdk-common/common' -import { SerializationService } from '@summerfi/sdk-common/services' - -export class MakerCollateralConfig extends CollateralConfig implements IMakerCollateralConfig { - readonly nextPrice: Price - readonly lastPriceUpdate: Date - readonly nextPriceUpdate: Date - - private constructor(params: IMakerCollateralConfig) { - super(params) - - this.nextPrice = Price.createFrom(params.nextPrice) - this.lastPriceUpdate = params.lastPriceUpdate - this.nextPriceUpdate = params.nextPriceUpdate - } - - static createFrom(params: IMakerCollateralConfig): MakerCollateralConfig { - return new MakerCollateralConfig(params) - } -} - -SerializationService.registerClass(MakerCollateralConfig) diff --git a/sdk/protocol-plugins/src/plugins/maker/implementation/MakerCollateralConfigMap.ts b/sdk/protocol-plugins/src/plugins/maker/implementation/MakerCollateralConfigMap.ts deleted file mode 100644 index 90fb3ba19a..0000000000 --- a/sdk/protocol-plugins/src/plugins/maker/implementation/MakerCollateralConfigMap.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { AddressValue, IToken, Maybe } from '@summerfi/sdk-common/common' -import { MakerCollateralConfig } from './MakerCollateralConfig' -import { IMakerCollateralConfigMap } from '../interfaces/IMakerCollateralConfigMap' -import { CollateralConfigMap } from '@summerfi/sdk-common/protocols' -import { IMakerCollateralConfig } from '../interfaces/IMakerCollateralConfig' -import { SerializationService } from '@summerfi/sdk-common/services' - -export type MakerCollateralConfigRecord = Record - -export class MakerCollateralConfigMap - extends CollateralConfigMap - implements IMakerCollateralConfigMap -{ - readonly record: MakerCollateralConfigRecord = {} - - private constructor(params: IMakerCollateralConfigMap) { - super(params) - - this._importCollateralConfigMap(params) - } - - static createFrom(params: IMakerCollateralConfigMap): MakerCollateralConfigMap { - return new MakerCollateralConfigMap(params) - } - - public override add(params: { - collateral: IToken - collateralConfig: IMakerCollateralConfig - }): void { - this.record[this._formatRecordKey(params.collateral.address.value)] = - MakerCollateralConfig.createFrom(params.collateralConfig) - } - - public override get(params: { token: IToken }): Maybe { - return this.record[this._formatRecordKey(params.token.address.value)] - } -} - -SerializationService.registerClass(MakerCollateralConfigMap) diff --git a/sdk/protocol-plugins/src/plugins/maker/implementation/MakerDebtConfig.ts b/sdk/protocol-plugins/src/plugins/maker/implementation/MakerDebtConfig.ts deleted file mode 100644 index 3c96dc4ded..0000000000 --- a/sdk/protocol-plugins/src/plugins/maker/implementation/MakerDebtConfig.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { DebtConfig } from '@summerfi/sdk-common/protocols' -import { IMakerDebtConfig } from '../interfaces/IMakerDebtConfig' -import { SerializationService } from '@summerfi/sdk-common/services' - -export class MakerDebtConfig extends DebtConfig implements IMakerDebtConfig { - private constructor(params: IMakerDebtConfig) { - super(params) - } - - static createFrom(params: IMakerDebtConfig): MakerDebtConfig { - return new MakerDebtConfig(params) - } -} - -SerializationService.registerClass(MakerDebtConfig) diff --git a/sdk/protocol-plugins/src/plugins/maker/implementation/MakerDebtConfigMap.ts b/sdk/protocol-plugins/src/plugins/maker/implementation/MakerDebtConfigMap.ts deleted file mode 100644 index 5e240bccfd..0000000000 --- a/sdk/protocol-plugins/src/plugins/maker/implementation/MakerDebtConfigMap.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { AddressValue, IToken, Maybe } from '@summerfi/sdk-common/common' -import { MakerDebtConfig } from './MakerDebtConfig' -import { IMakerDebtConfigMap } from '../interfaces/IMakerDebtConfigMap' -import { DebtConfigMap } from '@summerfi/sdk-common/protocols' -import { IMakerDebtConfig } from '../interfaces/IMakerDebtConfig' -import { SerializationService } from '@summerfi/sdk-common/services' - -export type MakerDebtConfigRecord = Record - -export class MakerDebtConfigMap extends DebtConfigMap implements IMakerDebtConfigMap { - readonly record: MakerDebtConfigRecord = {} - - private constructor(params: IMakerDebtConfigMap) { - super(params) - - this._importDebtConfigMap(params) - } - - static createFrom(params: IMakerDebtConfigMap): MakerDebtConfigMap { - return new MakerDebtConfigMap(params) - } - - public override add(params: { debt: IToken; debtConfig: IMakerDebtConfig }): void { - this.record[this._formatRecordKey(params.debt.address.value)] = MakerDebtConfig.createFrom( - params.debtConfig, - ) - } - - public override get(params: { token: IToken }): Maybe { - return this.record[this._formatRecordKey(params.token.address.value)] - } -} - -SerializationService.registerClass(MakerDebtConfigMap) diff --git a/sdk/protocol-plugins/src/plugins/maker/implementation/MakerLendingPoolInfo.ts b/sdk/protocol-plugins/src/plugins/maker/implementation/MakerLendingPoolInfo.ts new file mode 100644 index 0000000000..f1bff87ef7 --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/maker/implementation/MakerLendingPoolInfo.ts @@ -0,0 +1,26 @@ +import { LendingPoolInfo } from '@summerfi/sdk-common/protocols' +import { SerializationService } from '@summerfi/sdk-common/services' +import { MakerLendingPoolId } from './MakerLendingPoolId' +import { IMakerLendingPoolInfoData } from '../interfaces/IMakerLendingPoolInfo' + +/** + * @class MakerLendingPoolInfo + * @see IMakerLendingPoolInfoData + */ +export class MakerLendingPoolInfo extends LendingPoolInfo implements IMakerLendingPoolInfoData { + readonly id: MakerLendingPoolId + + /** Factory method */ + static createFrom(params: IMakerLendingPoolInfoData): MakerLendingPoolInfo { + return new MakerLendingPoolInfo(params) + } + + /** Sealed constructor */ + private constructor(params: IMakerLendingPoolInfoData) { + super(params) + + this.id = MakerLendingPoolId.createFrom(params.id) + } +} + +SerializationService.registerClass(MakerLendingPoolInfo) diff --git a/sdk/protocol-plugins/src/plugins/maker/implementation/MakerPositionId.ts b/sdk/protocol-plugins/src/plugins/maker/implementation/MakerPositionId.ts index 3faae60886..7fe8047ce6 100644 --- a/sdk/protocol-plugins/src/plugins/maker/implementation/MakerPositionId.ts +++ b/sdk/protocol-plugins/src/plugins/maker/implementation/MakerPositionId.ts @@ -1,5 +1,5 @@ import { MakerVaultId } from '../types/MakerVaultId' -import { IMakerPositionIdData } from '../interfaces/IMakerPositionId' +import { IMakerPositionId, IMakerPositionIdData } from '../interfaces/IMakerPositionId' import { PositionId } from '@summerfi/sdk-common' import { SerializationService } from '@summerfi/sdk-common/services' @@ -7,7 +7,7 @@ import { SerializationService } from '@summerfi/sdk-common/services' * @class MakerPositionId * @see IMakerPositionIdData */ -export class MakerPositionId extends PositionId implements IMakerPositionIdData { +export class MakerPositionId extends PositionId implements IMakerPositionId { readonly vaultId: MakerVaultId /** Factory method */ diff --git a/sdk/protocol-plugins/src/plugins/maker/implementation/MakerProtocolPlugin.ts b/sdk/protocol-plugins/src/plugins/maker/implementation/MakerProtocolPlugin.ts index d59a50ecab..d3f8a62b3f 100644 --- a/sdk/protocol-plugins/src/plugins/maker/implementation/MakerProtocolPlugin.ts +++ b/sdk/protocol-plugins/src/plugins/maker/implementation/MakerProtocolPlugin.ts @@ -7,9 +7,10 @@ import { Maybe, AddressValue, IPositionId, + TokenSymbol, } from '@summerfi/sdk-common/common' import { ILendingPoolId, PoolType, ProtocolName } from '@summerfi/sdk-common/protocols' -import { getContract } from 'viem' +import { getContract, stringToHex } from 'viem' import { BigNumber } from 'bignumber.js' import { BaseProtocolPlugin } from '../../../implementation/BaseProtocolPlugin' import { PRECISION_BI } from '../../common/constants/AaveV3LikeConstants' @@ -36,9 +37,21 @@ import { import { encodeMakerGiveThroughProxyActions } from '../utils/MakerGive' import { isMakerPositionId } from '../interfaces/IMakerPositionId' import { MakerLendingPoolId } from './MakerLendingPoolId' -import { isMakerLendingPoolId } from '../interfaces/IMakerLendingPoolId' +import { IMakerLendingPoolId, isMakerLendingPoolId } from '../interfaces/IMakerLendingPoolId' import { MakerStepBuilders } from './MakerStepBuilders' import { MakerPositionId } from './MakerPositionId' +import { MakerLendingPoolInfo } from './MakerLendingPoolInfo' +import { + CollateralInfo, + DebtInfo, + Percentage, + Price, + RiskRatio, + RiskRatioType, + TokenAmount, +} from '@summerfi/sdk-common' + +type ProtocolData = Awaited> export class MakerProtocolPlugin extends BaseProtocolPlugin { readonly protocolName = ProtocolName.Maker @@ -82,14 +95,31 @@ export class MakerProtocolPlugin extends BaseProtocolPlugin { /** @see BaseProtocolPlugin._getLendingPoolImpl */ protected async _getLendingPoolImpl( - makerLendingPoolId: MakerLendingPoolId, + makerLendingPoolId: IMakerLendingPoolId, ): Promise { + // TODO: validate pool ID collateral and debt against the ILK Type return MakerLendingPool.createFrom({ type: PoolType.Lending, id: makerLendingPoolId, }) } + /** @see BaseProtocolPlugin._getLendingPoolInfoImpl */ + protected async _getLendingPoolInfoImpl( + makerLendingPoolId: IMakerLendingPoolId, + ): Promise { + const protocolData = await this._getProtocolData(makerLendingPoolId) + const collateralInfo = await this._getCollateralInfo(protocolData) + const debtInfo = await this._getDebtInfo(protocolData) + + return MakerLendingPoolInfo.createFrom({ + type: PoolType.Lending, + id: makerLendingPoolId, + collateral: collateralInfo, + debt: debtInfo, + }) + } + /** POSITIONS */ /** @see BaseProtocolPlugin.getPosition */ @@ -204,10 +234,130 @@ export class MakerProtocolPlugin extends BaseProtocolPlugin { return map[contractName] } - private async _getIlkProtocolData( - ilkInHex: `0x${string}`, - makerLendingPoolId: MakerLendingPoolId, - ) { + private async _getCollateralInfo(protocolData: ProtocolData) { + const { osmData, joinGemBalance, collateralToken, quoteToken, dogRes, spotRes } = protocolData + + return CollateralInfo.createFrom({ + token: collateralToken, + price: Price.createFrom({ + value: osmData.currentPrice, + baseToken: collateralToken, + quoteToken: quoteToken, + }), + priceUSD: await this.ctx.priceService.getPriceUSD(collateralToken), + + liquidationThreshold: RiskRatio.createFrom({ + ratio: Percentage.createFrom({ + value: spotRes.liquidationRatio.times(100).toNumber(), + }), + type: RiskRatioType.CollateralizationRatio, + }), + + tokensLocked: TokenAmount.createFromBaseUnit({ + token: collateralToken, + amount: joinGemBalance.toString(), + }), + maxSupply: TokenAmount.createFrom({ + token: collateralToken, + amount: Number.MAX_SAFE_INTEGER.toString(), + }), + liquidationPenalty: Percentage.createFrom({ + value: dogRes.liquidationPenalty.toNumber() * 100, + }), + }) + } + + private async _getDebtInfo(protocolData: ProtocolData) { + const { quoteToken, stabilityFee, vatRes } = protocolData + + return DebtInfo.createFrom({ + token: quoteToken, + price: await this.ctx.priceService.getPriceUSD(quoteToken), + priceUSD: await this.ctx.priceService.getPriceUSD(quoteToken), + interestRate: Percentage.createFrom({ value: stabilityFee.times(100).toNumber() }), + totalBorrowed: TokenAmount.createFrom({ + token: quoteToken, + amount: vatRes.normalizedIlkDebt.times(vatRes.debtScalingFactor).toString(), + }), + debtCeiling: TokenAmount.createFrom({ + token: quoteToken, + amount: vatRes.debtCeiling.toString(), + }), + debtAvailable: TokenAmount.createFrom({ + token: quoteToken, + amount: vatRes.debtCeiling + .minus(vatRes.normalizedIlkDebt.times(vatRes.debtScalingFactor)) + .toString(), + }), + dustLimit: TokenAmount.createFrom({ + token: quoteToken, + amount: vatRes.debtFloor.toString(), + }), + originationFee: Percentage.createFrom({ value: 0 }), + }) + } + + private async _getProtocolData(makerLendingPoolId: IMakerLendingPoolId) { + const ilk = makerLendingPoolId.ilkType + const ilkInHex = stringToHex(ilk, { size: 32 }) + const { osm, vatRes, jugRes, dogRes, spotRes, erc20, ilkRegistryRes } = + await this._getIlkProtocolData(ilkInHex) + + const makerSpotDef = this._getContractDef('Spot') + const [ + [peek], + [peep], + zzz, + hop, + joinGemBalance, + collateralToken, + quoteToken, + poolBaseCurrencyToken, + ] = await Promise.all([ + osm.read.peek({ account: makerSpotDef.address }), + osm.read.peep({ account: makerSpotDef.address }), + osm.read.zzz({ account: makerSpotDef.address }), + osm.read.hop({ account: makerSpotDef.address }), + erc20.read.balanceOf([ilkRegistryRes.join]), + + this.ctx.tokenService.getTokenByAddress( + Address.createFromEthereum({ value: ilkRegistryRes.gem }), + ), + this.ctx.tokenService.getTokenBySymbol(TokenSymbol.DAI), + this.ctx.tokenService.getTokenBySymbol(TokenSymbol.DAI), + ]) + + const SECONDS_PER_YEAR = 60 * 60 * 24 * 365 + BigNumber.config({ POW_PRECISION: 100 }) + + const stabilityFee = jugRes.rawFee.pow(SECONDS_PER_YEAR).minus(1) + + const osmData = { + currentPrice: new BigNumber(peek) + .shiftedBy(-18) + .toPrecision(collateralToken.decimals, BigNumber.ROUND_DOWN) + .toString(), + nextPrice: new BigNumber(peep) + .shiftedBy(-18) + .toPrecision(collateralToken.decimals, BigNumber.ROUND_DOWN) + .toString(), + currentPriceUpdate: new Date(Number(zzz) * 1000), + nextPriceUpdate: new Date((Number(zzz) + hop) * 1000), + } + + return { + osmData, + joinGemBalance, + stabilityFee, + collateralToken, + quoteToken, + dogRes, + spotRes, + vatRes, + } + } + + private async _getIlkProtocolData(ilkInHex: `0x${string}`) { const ctx = this.ctx const makerDogDef = this._getContractDef('Dog') const makerVatDef = this._getContractDef('Vat') @@ -338,123 +488,3 @@ export class MakerProtocolPlugin extends BaseProtocolPlugin { } } } - -/** - const ctx = this.ctx - const chainId = ctx.provider.chain?.id - if (!chainId) throw new Error('ctx.provider.chain.id undefined') - - if (!this.supportedChains.some((chainInfo) => chainInfo.chainId === chainId)) { - throw new Error(`Chain ID ${chainId} is not supported`) - } - const ilk = makerLendingPoolId.ilkType - const ilkInHex = stringToHex(ilk, { size: 32 }) - const { osm, vatRes, jugRes, dogRes, spotRes, erc20, ilkRegistryRes } = - await this._getIlkProtocolData(ilkInHex, makerLendingPoolId) - - const makerSpotDef = this._getContractDef('Spot') - const [ - [peek], - [peep], - zzz, - hop, - joinGemBalance, - collateralToken, - quoteToken, - poolBaseCurrencyToken, - ] = await Promise.all([ - osm.read.peek({ account: makerSpotDef.address }), - osm.read.peep({ account: makerSpotDef.address }), - osm.read.zzz({ account: makerSpotDef.address }), - osm.read.hop({ account: makerSpotDef.address }), - erc20.read.balanceOf([ilkRegistryRes.join]), - ctx.tokenService.getTokenByAddress(Address.createFromEthereum({ value: ilkRegistryRes.gem })), - ctx.tokenService.getTokenBySymbol(TokenSymbol.DAI), - ctx.tokenService.getTokenBySymbol(TokenSymbol.DAI), - ]) - - const SECONDS_PER_YEAR = 60 * 60 * 24 * 365 - BigNumber.config({ POW_PRECISION: 100 }) - - const stabilityFee = jugRes.rawFee.pow(SECONDS_PER_YEAR).minus(1) - - const osmData = { - currentPrice: new BigNumber(peek) - .shiftedBy(-18) - .toPrecision(collateralToken.decimals, BigNumber.ROUND_DOWN) - .toString(), - nextPrice: new BigNumber(peep) - .shiftedBy(-18) - .toPrecision(collateralToken.decimals, BigNumber.ROUND_DOWN) - .toString(), - currentPriceUpdate: new Date(Number(zzz) * 1000), - nextPriceUpdate: new Date((Number(zzz) + hop) * 1000), - } - -const collaterals: MakerCollateralConfigRecord = { - [collateralToken.address.value]: { - token: collateralToken, - price: Price.createFrom({ - value: osmData.currentPrice, - baseToken: collateralToken, - quoteToken: quoteToken, - }), - nextPrice: Price.createFrom({ - value: osmData.nextPrice, - baseToken: collateralToken, - quoteToken: quoteToken, - }), - priceUSD: await ctx.priceService.getPriceUSD(collateralToken), - lastPriceUpdate: osmData.currentPriceUpdate, - nextPriceUpdate: osmData.nextPriceUpdate, - - liquidationThreshold: RiskRatio.createFrom({ - ratio: Percentage.createFrom({ - value: spotRes.liquidationRatio.times(100).toNumber(), - }), - type: RiskRatio.type.CollateralizationRatio, - }), - - tokensLocked: TokenAmount.createFromBaseUnit({ - token: collateralToken, - amount: joinGemBalance.toString(), - }), - maxSupply: TokenAmount.createFrom({ - token: collateralToken, - amount: Number.MAX_SAFE_INTEGER.toString(), - }), - liquidationPenalty: Percentage.createFrom({ - value: dogRes.liquidationPenalty.toNumber() * 100, - }), - }, - } - - const debts: MakerDebtConfigRecord = { - [quoteToken.address.value]: { - token: quoteToken, - price: await ctx.priceService.getPriceUSD(quoteToken), - priceUSD: await ctx.priceService.getPriceUSD(quoteToken), - rate: Percentage.createFrom({ value: stabilityFee.times(100).toNumber() }), - totalBorrowed: TokenAmount.createFrom({ - token: quoteToken, - amount: vatRes.normalizedIlkDebt.times(vatRes.debtScalingFactor).toString(), - }), - debtCeiling: TokenAmount.createFrom({ - token: quoteToken, - amount: vatRes.debtCeiling.toString(), - }), - debtAvailable: TokenAmount.createFrom({ - token: quoteToken, - amount: vatRes.debtCeiling - .minus(vatRes.normalizedIlkDebt.times(vatRes.debtScalingFactor)) - .toString(), - }), - dustLimit: TokenAmount.createFrom({ - token: quoteToken, - amount: vatRes.debtFloor.toString(), - }), - originationFee: Percentage.createFrom({ value: 0 }), - }, - } - - */ diff --git a/sdk/protocol-plugins/src/plugins/maker/implementation/index.ts b/sdk/protocol-plugins/src/plugins/maker/implementation/index.ts index 644f261f70..38b184c5e7 100644 --- a/sdk/protocol-plugins/src/plugins/maker/implementation/index.ts +++ b/sdk/protocol-plugins/src/plugins/maker/implementation/index.ts @@ -1,8 +1,5 @@ -export * from './MakerCollateralConfig' -export * from './MakerCollateralConfigMap' -export * from './MakerDebtConfig' -export * from './MakerDebtConfigMap' export * from './MakerLendingPool' +export * from './MakerLendingPoolInfo' export * from './MakerProtocolPlugin' export * from './MakerPositionId' export * from './MakerPosition' diff --git a/sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerCollateralConfig.ts b/sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerCollateralConfig.ts deleted file mode 100644 index b00984ad5d..0000000000 --- a/sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerCollateralConfig.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { IPrice } from '@summerfi/sdk-common/common' -import { ICollateralConfig } from '@summerfi/sdk-common/protocols' - -export interface IMakerCollateralConfig extends ICollateralConfig { - nextPrice: IPrice - lastPriceUpdate: Date - nextPriceUpdate: Date -} diff --git a/sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerCollateralConfigMap.ts b/sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerCollateralConfigMap.ts deleted file mode 100644 index f399987dea..0000000000 --- a/sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerCollateralConfigMap.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { AddressValue } from '@summerfi/sdk-common/common' -import { IMakerCollateralConfig } from './IMakerCollateralConfig' -import { ICollateralConfigMap } from '@summerfi/sdk-common/protocols' - -export type IMakerCollateralConfigRecord = Record - -export interface IMakerCollateralConfigMap extends ICollateralConfigMap { - record: IMakerCollateralConfigRecord -} diff --git a/sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerDebtConfig.ts b/sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerDebtConfig.ts deleted file mode 100644 index 363ed7cc19..0000000000 --- a/sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerDebtConfig.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { IDebtConfig } from '@summerfi/sdk-common/protocols' - -export interface IMakerDebtConfig extends IDebtConfig { - // Emtpy on purpose -} diff --git a/sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerDebtConfigMap.ts b/sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerDebtConfigMap.ts deleted file mode 100644 index c597c7ac20..0000000000 --- a/sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerDebtConfigMap.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { AddressValue } from '@summerfi/sdk-common/common' -import { IMakerDebtConfig } from './IMakerDebtConfig' -import { IDebtConfigMap } from '@summerfi/sdk-common/protocols' - -export type IMakerDebtConfigRecord = Record - -export interface IMakerDebtConfigMap extends IDebtConfigMap { - record: IMakerDebtConfigRecord -} diff --git a/sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerLendingPoolId.ts b/sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerLendingPoolId.ts index d166978500..969c6445ee 100644 --- a/sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerLendingPoolId.ts +++ b/sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerLendingPoolId.ts @@ -3,7 +3,7 @@ import { ILendingPoolIdData, LendingPoolIdSchema, } from '@summerfi/sdk-common/protocols' -import { ILKType } from '../enums' +import { ILKType, ILKTypeSchema } from '../enums' import { IMakerProtocol, IMakerProtocolData, MakerProtocolSchema } from './IMakerProtocol' import { z } from 'zod' import { IToken } from '@summerfi/sdk-common' @@ -45,7 +45,7 @@ export interface IMakerLendingPoolId extends ILendingPoolId, IMakerLendingPoolId export const MakerLendingPoolIdSchema = z.object({ ...LendingPoolIdSchema.shape, protocol: MakerProtocolSchema, - ilkType: z.nativeEnum(ILKType), + ilkType: ILKTypeSchema, }) /** diff --git a/sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerLendingPoolInfo.ts b/sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerLendingPoolInfo.ts new file mode 100644 index 0000000000..d58d285827 --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerLendingPoolInfo.ts @@ -0,0 +1,64 @@ +import { + ICollateralInfo, + IDebtInfo, + ILendingPoolInfo, + ILendingPoolInfoData, + LendingPoolInfoSchema, +} from '@summerfi/sdk-common/protocols' +import { + IMakerLendingPoolId, + IMakerLendingPoolIdData, + MakerLendingPoolIdSchema, +} from './IMakerLendingPoolId' +import { z } from 'zod' + +/** + * @interface IMakerLendingPoolInfoData + * @description Represents a lending pool info in the Maker protocol + */ +export interface IMakerLendingPoolInfoData extends ILendingPoolInfoData { + /** The pool's ID */ + readonly id: IMakerLendingPoolIdData +} + +/** + * @interface IMakerLendingPoolInfo + * @description Interface for the implementors of the lending pool info + * + * This interface is used to add all the methods that the interface supports + * + * Typescript forces the interface to re-declare any properties that have different BUT compatible types. + * This may be fixed eventually, there is a discussion on the topic here: https://github.com/microsoft/TypeScript/issues/16936 + */ +export interface IMakerLendingPoolInfo extends ILendingPoolInfo, IMakerLendingPoolInfoData { + readonly id: IMakerLendingPoolId + + // Re-declaring the properties with the correct types + readonly collateral: ICollateralInfo + readonly debt: IDebtInfo +} + +/** + * @description Zod schema for IMakerLendingPool + */ +export const MakerLendingPoolInfoSchema = z.object({ + ...LendingPoolInfoSchema.shape, + id: MakerLendingPoolIdSchema, +}) + +/** + * @description Type guard for IMakerLendingPoolInfo + * @param maybeLendingPoolInfo + * @returns true if the object is an IMakerLendingPoolInfo + */ +export function isMakerLendingPoolInfo( + maybeLendingPoolInfo: unknown, +): maybeLendingPoolInfo is IMakerLendingPoolInfoData { + return MakerLendingPoolInfoSchema.safeParse(maybeLendingPoolInfo).success +} + +/** + * Checker to make sure that the schema is aligned with the interface + */ +/* eslint-disable-next-line @typescript-eslint/no-unused-vars */ +const __schemaChecker: IMakerLendingPoolInfoData = {} as z.infer diff --git a/sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerProtocol.ts b/sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerProtocol.ts index 0f4791f8fb..9268984266 100644 --- a/sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerProtocol.ts +++ b/sdk/protocol-plugins/src/plugins/maker/interfaces/IMakerProtocol.ts @@ -8,7 +8,7 @@ import { z } from 'zod' */ export interface IMakerProtocolData extends IProtocolData { /** Maker protocol name */ - name: ProtocolName.Maker + readonly name: ProtocolName.Maker } /** diff --git a/sdk/protocol-plugins/src/plugins/maker/interfaces/index.ts b/sdk/protocol-plugins/src/plugins/maker/interfaces/index.ts index c59ab8c2e1..034c759c2e 100644 --- a/sdk/protocol-plugins/src/plugins/maker/interfaces/index.ts +++ b/sdk/protocol-plugins/src/plugins/maker/interfaces/index.ts @@ -1,8 +1,5 @@ -export * from './IMakerCollateralConfig' -export * from './IMakerCollateralConfigMap' -export * from './IMakerDebtConfig' -export * from './IMakerDebtConfigMap' export * from './IMakerLendingPool' +export * from './IMakerLendingPoolInfo' export * from './IMakerPositionId' export * from './IMakerLendingPoolId' export * from './IMakerProtocol' diff --git a/sdk/protocol-plugins/src/plugins/spark/implementation/SparkCollateralConfig.ts b/sdk/protocol-plugins/src/plugins/spark/implementation/SparkCollateralConfig.ts deleted file mode 100644 index 897ca56c5e..0000000000 --- a/sdk/protocol-plugins/src/plugins/spark/implementation/SparkCollateralConfig.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { CollateralConfig } from '@summerfi/sdk-common/protocols' -import { ISparkCollateralConfig } from '../interfaces/ISparkCollateralConfig' -import { Percentage, RiskRatio } from '@summerfi/sdk-common/common' -import { SerializationService } from '@summerfi/sdk-common/services' - -export class SparkCollateralConfig extends CollateralConfig implements ISparkCollateralConfig { - readonly usageAsCollateralEnabled: boolean - readonly apy: Percentage - readonly maxLtv: RiskRatio - - private constructor(params: ISparkCollateralConfig) { - super(params) - - this.usageAsCollateralEnabled = params.usageAsCollateralEnabled - this.apy = Percentage.createFrom(params.apy) - this.maxLtv = RiskRatio.createFrom(params.maxLtv) - } - - static createFrom(params: ISparkCollateralConfig): SparkCollateralConfig { - return new SparkCollateralConfig(params) - } -} - -SerializationService.registerClass(SparkCollateralConfig) diff --git a/sdk/protocol-plugins/src/plugins/spark/implementation/SparkCollateralConfigMap.ts b/sdk/protocol-plugins/src/plugins/spark/implementation/SparkCollateralConfigMap.ts deleted file mode 100644 index fe24746b36..0000000000 --- a/sdk/protocol-plugins/src/plugins/spark/implementation/SparkCollateralConfigMap.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { AddressValue, IToken, Maybe } from '@summerfi/sdk-common/common' -import { SparkCollateralConfig } from './SparkCollateralConfig' -import { ISparkCollateralConfigMap } from '../interfaces/ISparkCollateralConfigMap' -import { CollateralConfigMap } from '@summerfi/sdk-common/protocols' -import { ISparkCollateralConfig } from '../interfaces/ISparkCollateralConfig' -import { SerializationService } from '@summerfi/sdk-common/services' - -export type SparkCollateralConfigRecord = Record - -export class SparkCollateralConfigMap - extends CollateralConfigMap - implements ISparkCollateralConfigMap -{ - readonly record: SparkCollateralConfigRecord = {} - - private constructor(params: ISparkCollateralConfigMap) { - super(params) - - this._importCollateralConfigMap(params) - } - - static createFrom(params: ISparkCollateralConfigMap): SparkCollateralConfigMap { - return new SparkCollateralConfigMap(params) - } - - public override add(params: { - collateral: IToken - collateralConfig: ISparkCollateralConfig - }): void { - this.record[this._formatRecordKey(params.collateral.address.value)] = - SparkCollateralConfig.createFrom(params.collateralConfig) - } - - public override get(params: { token: IToken }): Maybe { - return this.record[this._formatRecordKey(params.token.address.value)] - } -} - -SerializationService.registerClass(SparkCollateralConfigMap) diff --git a/sdk/protocol-plugins/src/plugins/spark/implementation/SparkDebtConfig.ts b/sdk/protocol-plugins/src/plugins/spark/implementation/SparkDebtConfig.ts deleted file mode 100644 index af878c1e49..0000000000 --- a/sdk/protocol-plugins/src/plugins/spark/implementation/SparkDebtConfig.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { DebtConfig } from '@summerfi/sdk-common/protocols' -import { ISparkDebtConfig } from '../interfaces/ISparkDebtConfig' -import { SerializationService } from '@summerfi/sdk-common/services' - -export class SparkDebtConfig extends DebtConfig implements ISparkDebtConfig { - readonly borrowingEnabled: boolean - - private constructor(params: ISparkDebtConfig) { - super(params) - - this.borrowingEnabled = params.borrowingEnabled - } - - static createFrom(params: ISparkDebtConfig): SparkDebtConfig { - return new SparkDebtConfig(params) - } -} - -SerializationService.registerClass(SparkDebtConfig) diff --git a/sdk/protocol-plugins/src/plugins/spark/implementation/SparkDebtConfigMap.ts b/sdk/protocol-plugins/src/plugins/spark/implementation/SparkDebtConfigMap.ts deleted file mode 100644 index 7f9a3518b5..0000000000 --- a/sdk/protocol-plugins/src/plugins/spark/implementation/SparkDebtConfigMap.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { AddressValue, IToken, Maybe } from '@summerfi/sdk-common/common' -import { SparkDebtConfig } from './SparkDebtConfig' -import { ISparkDebtConfigMap } from '../interfaces/ISparkDebtConfigMap' -import { DebtConfigMap } from '@summerfi/sdk-common/protocols' -import { ISparkDebtConfig } from '../interfaces/ISparkDebtConfig' -import { SerializationService } from '@summerfi/sdk-common/services' - -export type SparkDebtConfigRecord = Record - -export class SparkDebtConfigMap extends DebtConfigMap implements ISparkDebtConfigMap { - readonly record: SparkDebtConfigRecord = {} - - private constructor(params: ISparkDebtConfigMap) { - super(params) - - this._importDebtConfigMap(params) - } - - static createFrom(params: ISparkDebtConfigMap): SparkDebtConfigMap { - return new SparkDebtConfigMap(params) - } - - public override add(params: { debt: IToken; debtConfig: ISparkDebtConfig }): void { - this.record[this._formatRecordKey(params.debt.address.value)] = SparkDebtConfig.createFrom( - params.debtConfig, - ) - } - - public override get(params: { token: IToken }): Maybe { - return this.record[this._formatRecordKey(params.token.address.value)] - } -} - -SerializationService.registerClass(SparkDebtConfigMap) diff --git a/sdk/protocol-plugins/src/plugins/spark/implementation/SparkLendingPoolId.ts b/sdk/protocol-plugins/src/plugins/spark/implementation/SparkLendingPoolId.ts index 7924518e36..1105eb00e9 100644 --- a/sdk/protocol-plugins/src/plugins/spark/implementation/SparkLendingPoolId.ts +++ b/sdk/protocol-plugins/src/plugins/spark/implementation/SparkLendingPoolId.ts @@ -2,8 +2,8 @@ import { SerializationService } from '@summerfi/sdk-common/services' import { ISparkLendingPoolId, ISparkLendingPoolIdData } from '../interfaces/ISparkLendingPoolId' import { EmodeType } from '../../common' import { SparkProtocol } from './SparkProtocol' -import { LendingPoolId } from '@summerfi/sdk-common' import { IPrintable } from '@summerfi/sdk-common/common' +import { LendingPoolId } from '@summerfi/sdk-common/protocols' /** * @class SparkLendingPoolId diff --git a/sdk/protocol-plugins/src/plugins/spark/implementation/SparkLendingPoolInfo.ts b/sdk/protocol-plugins/src/plugins/spark/implementation/SparkLendingPoolInfo.ts new file mode 100644 index 0000000000..535aeb854a --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/spark/implementation/SparkLendingPoolInfo.ts @@ -0,0 +1,27 @@ +import { LendingPoolInfo } from '@summerfi/sdk-common/protocols' +import { SerializationService } from '@summerfi/sdk-common/services' +import { SparkLendingPoolId } from './SparkLendingPoolId' +import { + ISparkLendingPoolInfo, + ISparkLendingPoolInfoData, +} from '../interfaces/ISparkLendingPoolInfo' + +/** + * @class SparkLendingPoolInfo + * @see ISparkLendingPoolInfo + */ +export class SparkLendingPoolInfo extends LendingPoolInfo implements ISparkLendingPoolInfo { + readonly id: SparkLendingPoolId + + private constructor(params: ISparkLendingPoolInfoData) { + super(params) + + this.id = SparkLendingPoolId.createFrom(params.id) + } + + public static createFrom(params: ISparkLendingPoolInfoData): SparkLendingPoolInfo { + return new SparkLendingPoolInfo(params) + } +} + +SerializationService.registerClass(SparkLendingPoolInfo) diff --git a/sdk/protocol-plugins/src/plugins/spark/implementation/SparkProtocolPlugin.ts b/sdk/protocol-plugins/src/plugins/spark/implementation/SparkProtocolPlugin.ts index c82e1ca0cf..b1e9241f29 100644 --- a/sdk/protocol-plugins/src/plugins/spark/implementation/SparkProtocolPlugin.ts +++ b/sdk/protocol-plugins/src/plugins/spark/implementation/SparkProtocolPlugin.ts @@ -1,29 +1,14 @@ import { - Percentage, - TokenAmount, - Price, CurrencySymbol, - RiskRatio, Position, - Token, ChainFamilyName, valuesOfChainFamilyMap, Maybe, + IPositionIdData, } from '@summerfi/sdk-common/common' -import { PoolType, ProtocolName } from '@summerfi/sdk-common/protocols' -import { BigNumber } from 'bignumber.js' - -import { BaseProtocolPlugin } from '../../../implementation/BaseProtocolPlugin' - -import { UNCAPPED_SUPPLY, PRECISION_BI } from '../../common/constants/AaveV3LikeConstants' +import { ILendingPoolIdData, PoolType, ProtocolName } from '@summerfi/sdk-common/protocols' import { SparkLendingPool } from './SparkLendingPool' -import { SparkCollateralConfig } from './SparkCollateralConfig' -import { SparkDebtConfig } from './SparkDebtConfig' -import { - AaveV3LikeProtocolDataBuilder, - filterAssetsListByEMode, -} from '../../common/helpers/AAVEv3LikeProtocolDataBuilder' import { SparkContractNames } from '@summerfi/deployment-types' import { SPARK_LENDING_POOL_ABI, @@ -34,21 +19,25 @@ import { ActionBuildersMap, IProtocolPluginContext } from '@summerfi/protocol-pl import { SparkAddressAbiMap } from '../types/SparkAddressAbiMap' import { IUser } from '@summerfi/sdk-common/user' import { IExternalPosition, IPositionsManager, TransactionInfo } from '@summerfi/sdk-common/orders' -import { ISparkLendingPoolIdData, isSparkLendingPoolId } from '../interfaces/ISparkLendingPoolId' +import { + ISparkLendingPoolId, + ISparkLendingPoolIdData, + isSparkLendingPoolId, +} from '../interfaces/ISparkLendingPoolId' import { SparkStepBuilders } from '../builders/SparkStepBuilders' -import { AaveV3PositionId } from '../../aave-v3/implementation/AaveV3PositionId' import { ISparkPositionIdData, isSparkPositionId } from '../interfaces' -import { ILendingPoolIdData, IPositionIdData, RiskRatioType } from '@summerfi/sdk-common' - -type AssetsList = ReturnType -type Asset = Awaited extends (infer U)[] ? U : never +import { IAaveV3PositionIdData } from '../../aave-v3' +import { SparkLendingPoolInfo } from './SparkLendingPoolInfo' +import { sparkEmodeCategoryMap } from './EmodeCategoryMap' +import { AAVEv3BaseProtocolPlugin } from '../../common/helpers/aaveV3Like/AAVEv3LikeBaseProtocolPlugin' +import { AAVEv3LikeAbiInfo } from '../../common/helpers/aaveV3Like/AAVEv3LikeAbi' /** * @class SparkProtocolPlugin * @description Protocol plugin for the Spark protocol * @see BaseProtocolPlugin */ -export class SparkProtocolPlugin extends BaseProtocolPlugin { +export class SparkProtocolPlugin extends AAVEv3BaseProtocolPlugin { readonly protocolName: ProtocolName.Spark = ProtocolName.Spark readonly supportedChains = valuesOfChainFamilyMap([ChainFamilyName.Ethereum]) readonly stepBuilders: Partial = SparkStepBuilders @@ -95,11 +84,41 @@ export class SparkProtocolPlugin extends BaseProtocolPlugin { }) } + /** @see BaseProtocolPlugin._getLendingPoolInfoImpl */ + protected async _getLendingPoolInfoImpl( + sparkPoolId: ISparkLendingPoolId, + ): Promise { + await this._inititalizeAssetsListIfNeeded() + + const emode = sparkEmodeCategoryMap[sparkPoolId.emodeType] + + const collateralInfo = await this._getCollateralInfo({ + token: sparkPoolId.collateralToken, + emode: emode, + poolBaseCurrencyToken: CurrencySymbol.USD, + }) + if (!collateralInfo) { + throw new Error(`Collateral info not found for ${sparkPoolId.collateralToken}`) + } + + const debtInfo = await this._getDebtInfo(sparkPoolId.debtToken, emode, CurrencySymbol.USD) + if (!debtInfo) { + throw new Error(`Debt info not found for ${sparkPoolId.debtToken}`) + } + + return SparkLendingPoolInfo.createFrom({ + type: PoolType.Lending, + id: sparkPoolId, + collateral: collateralInfo, + debt: debtInfo, + }) + } + /** POSITIONS */ /** @see BaseProtocolPlugin.getPosition */ // eslint-disable-next-line @typescript-eslint/no-unused-vars - async getPosition(positionId: AaveV3PositionId): Promise { + async getPosition(positionId: IAaveV3PositionIdData): Promise { this._validatePositionId(positionId) throw new Error(`Not implemented ${positionId}`) @@ -117,8 +136,7 @@ export class SparkProtocolPlugin extends BaseProtocolPlugin { } /** PRIVATE */ - - private _getContractDef(contractName: K): SparkAddressAbiMap[K] { + protected _getContractDef(contractName: SparkContractNames): AAVEv3LikeAbiInfo { const map: SparkAddressAbiMap = { Oracle: { address: '0x8105f69D9C41644c6A0803fDA7D03Aa70996cFD9', @@ -136,169 +154,4 @@ export class SparkProtocolPlugin extends BaseProtocolPlugin { return map[contractName] } - - private async _buildAssetsList(emode: bigint) { - try { - const _ctx = { - ...this.ctx, - getContractDef: this._getContractDef, - } - const builder = await new AaveV3LikeProtocolDataBuilder(_ctx, this.protocolName).init() - const list = await builder - .addPrices() - .addReservesCaps() - .addReservesConfigData() - .addReservesData() - .addEmodeCategories() - .build() - - return filterAssetsListByEMode(list, emode) - } catch (e) { - throw new Error(`Could not fetch/build assets list for Spark: ${JSON.stringify(e)}`) - } - } - - private _getCollateralAssetInfo( - asset: Asset, - poolBaseCurrencyToken: Token | CurrencySymbol, - ): SparkCollateralConfig { - const { - token: collateralToken, - config: { usageAsCollateralEnabled, ltv, liquidationThreshold, liquidationBonus }, - caps: { supplyCap }, - data: { totalAToken }, - } = asset - const LTV_TO_PERCENTAGE_DIVISOR = 100n - - try { - return { - token: collateralToken, - price: Price.createFrom({ - baseToken: collateralToken, - quoteToken: poolBaseCurrencyToken, - value: asset.price.toString(), - }), - priceUSD: Price.createFrom({ - baseToken: collateralToken, - quoteToken: CurrencySymbol.USD, - value: asset.price.toString(), - }), - maxLtv: RiskRatio.createFrom({ - ratio: Percentage.createFrom({ - value: Number((ltv / LTV_TO_PERCENTAGE_DIVISOR).toString()), - }), - type: RiskRatioType.LTV, - }), - liquidationThreshold: RiskRatio.createFrom({ - ratio: Percentage.createFrom({ - value: Number((liquidationThreshold / LTV_TO_PERCENTAGE_DIVISOR).toString()), - }), - type: RiskRatioType.LTV, - }), - tokensLocked: TokenAmount.createFromBaseUnit({ - token: collateralToken, - amount: totalAToken.toString(), - }), - maxSupply: TokenAmount.createFrom({ - token: collateralToken, - amount: supplyCap === 0n ? UNCAPPED_SUPPLY : supplyCap.toString(), - }), - liquidationPenalty: Percentage.createFrom({ - value: Number((liquidationBonus / LTV_TO_PERCENTAGE_DIVISOR).toString()), - }), - apy: Percentage.createFrom({ value: 0 }), - usageAsCollateralEnabled, - } - } catch (e) { - throw new Error(`error in collateral loop ${e}`) - } - } - - private _getDebtAssetInfo( - asset: Asset, - poolBaseCurrencyToken: CurrencySymbol | Token, - ): Maybe { - const { - token: quoteToken, - config: { borrowingEnabled, reserveFactor }, - caps: { borrowCap }, - data: { totalVariableDebt, totalStableDebt, variableBorrowRate }, - } = asset - - try { - const RESERVE_FACTOR_TO_PERCENTAGE_DIVISOR = 10000n - const PRECISION_PRESERVING_OFFSET = 1000000n - const RATE_DIVISOR_TO_GET_PERCENTAGE = Number((PRECISION_PRESERVING_OFFSET - 100n).toString()) - - const rate = - Number(((variableBorrowRate * PRECISION_PRESERVING_OFFSET) / PRECISION_BI.RAY).toString()) / - RATE_DIVISOR_TO_GET_PERCENTAGE - const totalBorrowed = totalVariableDebt + totalStableDebt - return { - token: quoteToken, - // TODO: If we further restricted pools we could have token pair prices - price: Price.createFrom({ - baseToken: quoteToken, - quoteToken: poolBaseCurrencyToken, - value: new BigNumber(asset.price.toString()).toString(), - }), - priceUSD: Price.createFrom({ - baseToken: quoteToken, - quoteToken: CurrencySymbol.USD, - value: new BigNumber(asset.price.toString()).toString(), - }), - rate: Percentage.createFrom({ value: rate }), - totalBorrowed: TokenAmount.createFromBaseUnit({ - token: quoteToken, - amount: totalBorrowed.toString(), - }), - debtCeiling: TokenAmount.createFrom({ - token: quoteToken, - amount: borrowCap === 0n ? UNCAPPED_SUPPLY : borrowCap.toString(), - }), - debtAvailable: TokenAmount.createFromBaseUnit({ - token: quoteToken, - amount: borrowCap === 0n ? UNCAPPED_SUPPLY : (borrowCap - totalBorrowed).toString(), - }), - dustLimit: TokenAmount.createFromBaseUnit({ token: quoteToken, amount: '0' }), - originationFee: Percentage.createFrom({ - value: Number((reserveFactor / RESERVE_FACTOR_TO_PERCENTAGE_DIVISOR).toString()), - }), - borrowingEnabled, - } - } catch (e) { - throw new Error(`error in debt loop ${e}`) - } - } } - -/** - const emode = sparkEmodeCategoryMap[poolId.emodeType] - - const ctx = this.ctx - const chainId = ctx.provider.chain?.id - if (!chainId) throw new Error('ctx.provider.chain.id undefined') - - if (!this.supportedChains.some((chainInfo) => chainInfo.chainId === chainId)) { - throw new Error(`Chain ID ${chainId} is not supported`) - } - - const assetsList = await this.buildAssetsList(emode) - - // Both USDC & DAI use fixed price oracles that keep both stable at 1 USD - const poolBaseCurrencyToken = CurrencySymbol.USD - - const collaterals = assetsList.reduce((colls, asset) => { - const assetInfo = this.getCollateralAssetInfo(asset, poolBaseCurrencyToken) - const { token: collateralToken } = asset - colls[collateralToken.address.value] = assetInfo - return colls - }, {}) - const debts = assetsList.reduce((debts, asset) => { - const assetInfo = this.getDebtAssetInfo(asset, poolBaseCurrencyToken) - if (!assetInfo) return debts - const { token: quoteToken } = asset - debts[quoteToken.address.value] = assetInfo - return debts - }, {}) - */ diff --git a/sdk/protocol-plugins/src/plugins/spark/implementation/index.ts b/sdk/protocol-plugins/src/plugins/spark/implementation/index.ts index d05a09e566..9c1f7fbb12 100644 --- a/sdk/protocol-plugins/src/plugins/spark/implementation/index.ts +++ b/sdk/protocol-plugins/src/plugins/spark/implementation/index.ts @@ -1,9 +1,6 @@ export * from './EmodeCategoryMap' -export * from './SparkCollateralConfig' -export * from './SparkCollateralConfigMap' -export * from './SparkDebtConfig' -export * from './SparkDebtConfigMap' export * from './SparkLendingPool' +export * from './SparkLendingPoolInfo' export * from './SparkProtocolPlugin' export * from './SparkLendingPoolId' export * from './SparkPositionId' diff --git a/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkCollateralConfig.ts b/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkCollateralConfig.ts deleted file mode 100644 index 41038d3a22..0000000000 --- a/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkCollateralConfig.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { IPercentage, IRiskRatio } from '@summerfi/sdk-common/common' -import { ICollateralConfig } from '@summerfi/sdk-common/protocols' - -export interface ISparkCollateralConfig extends ICollateralConfig { - usageAsCollateralEnabled: boolean - apy: IPercentage - maxLtv: IRiskRatio -} diff --git a/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkCollateralConfigMap.ts b/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkCollateralConfigMap.ts deleted file mode 100644 index a54ae8c5f5..0000000000 --- a/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkCollateralConfigMap.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { AddressValue } from '@summerfi/sdk-common/common' -import { ISparkCollateralConfig } from './ISparkCollateralConfig' -import { ICollateralConfigMap } from '@summerfi/sdk-common/protocols' - -export type ISparkCollateralConfigRecord = Record - -export interface ISparkCollateralConfigMap extends ICollateralConfigMap { - record: ISparkCollateralConfigRecord -} diff --git a/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkDebtConfig.ts b/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkDebtConfig.ts deleted file mode 100644 index 6f2c54a39a..0000000000 --- a/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkDebtConfig.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { IDebtConfig } from '@summerfi/sdk-common/protocols' - -export interface ISparkDebtConfig extends IDebtConfig { - borrowingEnabled: boolean -} diff --git a/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkDebtConfigMap.ts b/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkDebtConfigMap.ts deleted file mode 100644 index 09c42a20c7..0000000000 --- a/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkDebtConfigMap.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { AddressValue } from '@summerfi/sdk-common/common' -import { ISparkDebtConfig } from './ISparkDebtConfig' -import { IDebtConfigMap } from '@summerfi/sdk-common/protocols' - -export type ISparkDebtConfigRecord = Record - -export interface ISparkDebtConfigMap extends IDebtConfigMap { - record: ISparkDebtConfigRecord -} diff --git a/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkLendingPoolId.ts b/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkLendingPoolId.ts index 15806c9b9b..c1f8c8cdc6 100644 --- a/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkLendingPoolId.ts +++ b/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkLendingPoolId.ts @@ -1,7 +1,11 @@ -import { ILendingPoolIdData } from '@summerfi/sdk-common/protocols' +import { + ILendingPoolId, + ILendingPoolIdData, + LendingPoolIdSchema, +} from '@summerfi/sdk-common/protocols' import { EmodeType, EmodeTypeSchema } from '../../common/enums/EmodeType' import { ISparkProtocol, ISparkProtocolData, SparkProtocolSchema } from './ISparkProtocol' -import { ILendingPoolId, IToken, LendingPoolIdSchema } from '@summerfi/sdk-common' +import { IToken } from '@summerfi/sdk-common' import { z } from 'zod' /** diff --git a/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkLendingPoolInfo.ts b/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkLendingPoolInfo.ts new file mode 100644 index 0000000000..a637f4d036 --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/spark/interfaces/ISparkLendingPoolInfo.ts @@ -0,0 +1,63 @@ +import { + ILendingPoolInfo, + ILendingPoolInfoData, + LendingPoolInfoSchema, +} from '@summerfi/sdk-common/protocols' +import { + ISparkLendingPoolId, + ISparkLendingPoolIdData, + SparkLendingPoolIdSchema, +} from './ISparkLendingPoolId' +import { z } from 'zod' +import { ICollateralInfo, IDebtInfo } from '@summerfi/sdk-common' + +/** + * @interface ISparkLendingPoolInfoData + * @description Represents a lending pool info in the Spark protocol + */ +export interface ISparkLendingPoolInfoData extends ILendingPoolInfoData { + /** The id of the lending pool */ + readonly id: ISparkLendingPoolIdData +} + +/** + * @interface ISparkLendingPoolInfo + * @description Interface for the implementors of the lending pool info + * + * This interface is used to add all the methods that the interface supports + * + * Typescript forces the interface to re-declare any properties that have different BUT compatible types. + * This may be fixed eventually, there is a discussion on the topic here: https://github.com/microsoft/TypeScript/issues/16936 + */ +export interface ISparkLendingPoolInfo extends ILendingPoolInfo, ISparkLendingPoolInfoData { + readonly id: ISparkLendingPoolId + + // Re-declaring the properties with the correct types + readonly collateral: ICollateralInfo + readonly debt: IDebtInfo +} + +/** + * @description Zod schema for ISparkLendingPoolInfo + */ +export const SparkLendingPoolInfoSchema = z.object({ + ...LendingPoolInfoSchema.shape, + id: SparkLendingPoolIdSchema, +}) + +/** + * @description Type guard for ISparkLendingPoolInfo + * @param maybeLendingPoolInfo + * @returns true if the object is an ISparkLendingPoolInfo + */ +export function isSparkLendingPoolInfo( + maybeLendingPoolInfo: unknown, +): maybeLendingPoolInfo is ISparkLendingPoolInfoData { + return SparkLendingPoolInfoSchema.safeParse(maybeLendingPoolInfo).success +} + +/** + * Checker to make sure that the schema is aligned with the interface + */ +/* eslint-disable-next-line @typescript-eslint/no-unused-vars */ +const __schemaChecker: ISparkLendingPoolInfoData = {} as z.infer diff --git a/sdk/protocol-plugins/src/plugins/spark/interfaces/index.ts b/sdk/protocol-plugins/src/plugins/spark/interfaces/index.ts index fbcab6d783..1b454c22fa 100644 --- a/sdk/protocol-plugins/src/plugins/spark/interfaces/index.ts +++ b/sdk/protocol-plugins/src/plugins/spark/interfaces/index.ts @@ -1,8 +1,5 @@ -export * from './ISparkCollateralConfig' -export * from './ISparkCollateralConfigMap' -export * from './ISparkDebtConfig' -export * from './ISparkDebtConfigMap' export * from './ISparkLendingPool' +export * from './ISparkLendingPoolInfo' export * from './ISparkPositionId' export * from './ISparkLendingPoolId' export * from './ISparkProtocol' diff --git a/sdk/protocol-plugins/tests/integration/AAVEv3ProtocolPlugin.spec.ts b/sdk/protocol-plugins/tests/integration/AAVEv3ProtocolPlugin.spec.ts index 2a2cb82504..2bdb5dc737 100644 --- a/sdk/protocol-plugins/tests/integration/AAVEv3ProtocolPlugin.spec.ts +++ b/sdk/protocol-plugins/tests/integration/AAVEv3ProtocolPlugin.spec.ts @@ -1,13 +1,5 @@ import { IProtocolPluginContext } from '@summerfi/protocol-plugins-common' -import { - ChainInfo, - Token, - Address, - Price, - RiskRatio, - TokenAmount, - Percentage, -} from '@summerfi/sdk-common/common' +import { Price, RiskRatio, TokenAmount, Percentage } from '@summerfi/sdk-common/common' import { AaveV3ProtocolPlugin } from '../../src/plugins/aave-v3' import { aaveV3PoolIdMock as validAaveV3PoolId } from '../mocks/AAVEv3PoolIdMock' import { createProtocolPluginContext } from '../utils/CreateProtocolPluginContext' @@ -24,128 +16,91 @@ describe('AAVEv3 Protocol Plugin (Integration)', () => { it('correctly populates collateral configuration from blockchain data', async () => { const pool = await aaveV3ProtocolPlugin.getLendingPool(validAaveV3PoolId) - const mockCollateralToken = Token.createFrom({ - chainInfo: ChainInfo.createFrom({ chainId: 1, name: 'Ethereum' }), - address: Address.createFromEthereum({ value: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2' }), - symbol: 'WETH', - name: 'Wrapped Ether', - decimals: 18, + const aaveV3PoolInfo = await aaveV3ProtocolPlugin.getLendingPoolInfo(pool.id) + + const aaveV3PoolCollateralInfo = aaveV3PoolInfo.collateral + + expect(aaveV3PoolCollateralInfo).toBeDefined() + expect(aaveV3PoolCollateralInfo).toMatchObject({ + token: expect.objectContaining(pool.id.collateralToken), + price: expect.anything(), + priceUSD: expect.anything(), + liquidationThreshold: expect.anything(), + tokensLocked: expect.anything(), + maxSupply: expect.anything(), + liquidationPenalty: expect.anything(), }) - // TODO: re-enable when pool info is implemented - // const config = pool.collaterals.get({ token: mockCollateralToken }) - // expect(config).toBeDefined() - // expect(config).toMatchObject({ - // token: expect.objectContaining({ - // symbol: mockCollateralToken.symbol, - // address: mockCollateralToken.address, - // decimals: mockCollateralToken.decimals, - // name: mockCollateralToken.name, - // }), - // price: expect.anything(), - // priceUSD: expect.anything(), - // maxLtv: expect.anything(), - // liquidationThreshold: expect.anything(), - // tokensLocked: expect.anything(), - // maxSupply: expect.anything(), - // liquidationPenalty: expect.anything(), - // apy: expect.anything(), - // usageAsCollateralEnabled: expect.any(Boolean), - // }) - - // const price = config!.price - // expect(price).toBeInstanceOf(Price) - // expect(Number(price.value)).toBeGreaterThan(0) - - // const priceUSD = config!.priceUSD - // expect(priceUSD).toBeInstanceOf(Price) - // expect(Number(priceUSD.value)).toBeGreaterThan(0) - - // const maxLtv = config!.maxLtv - // expect(maxLtv).toBeInstanceOf(RiskRatio) - // expect(maxLtv.ratio.value).toBeGreaterThan(0) - // expect(maxLtv.ratio.value).toBeLessThan(100) - - // const liquidationThreshold = config!.liquidationThreshold - // expect(liquidationThreshold).toBeInstanceOf(RiskRatio) - // expect(liquidationThreshold.ratio.value).toBeGreaterThan(0) - // expect(liquidationThreshold.ratio.value).toBeLessThan(100) - - // const tokensLocked = config!.tokensLocked - // expect(tokensLocked).toBeInstanceOf(TokenAmount) - // expect(Number(tokensLocked.amount)).toBeGreaterThan(0) - - // const maxSupply = config!.maxSupply - // expect(maxSupply).toBeInstanceOf(TokenAmount) - // expect(Number(maxSupply.amount)).toBeGreaterThan(0) - - // const liquidationPenalty = config!.liquidationPenalty - // expect(liquidationPenalty).toBeInstanceOf(Percentage) - // expect(Number(liquidationPenalty.value)).toBeGreaterThan(100) + const price = aaveV3PoolCollateralInfo!.price + expect(price).toBeInstanceOf(Price) + expect(Number(price.value)).toBeGreaterThan(0) + + const priceUSD = aaveV3PoolCollateralInfo!.priceUSD + expect(priceUSD).toBeInstanceOf(Price) + expect(Number(priceUSD.value)).toBeGreaterThan(0) + + const liquidationThreshold = aaveV3PoolCollateralInfo!.liquidationThreshold + expect(liquidationThreshold).toBeInstanceOf(RiskRatio) + expect(liquidationThreshold.ratio.value).toBeGreaterThan(0) + expect(liquidationThreshold.ratio.value).toBeLessThan(100) + + const tokensLocked = aaveV3PoolCollateralInfo!.tokensLocked + expect(tokensLocked).toBeInstanceOf(TokenAmount) + expect(Number(tokensLocked.amount)).toBeGreaterThan(0) + + const maxSupply = aaveV3PoolCollateralInfo!.maxSupply + expect(maxSupply).toBeInstanceOf(TokenAmount) + expect(Number(maxSupply.amount)).toBeGreaterThan(0) + + const liquidationPenalty = aaveV3PoolCollateralInfo!.liquidationPenalty + expect(liquidationPenalty).toBeInstanceOf(Percentage) + expect(Number(liquidationPenalty.value)).toBeGreaterThan(100) }) it('correctly populates debt configuration from blockchain data', async () => { const pool = await aaveV3ProtocolPlugin.getLendingPool(validAaveV3PoolId) - - const mockDebtToken = Token.createFrom({ - chainInfo: ChainInfo.createFrom({ chainId: 1, name: 'Ethereum' }), - address: Address.createFromEthereum({ value: '0x6B175474E89094C44Da98b954EedeAC495271d0F' }), - symbol: 'DAI', - name: 'Dai Stablecoin', - decimals: 18, + const aaveV3PoolInfo = await aaveV3ProtocolPlugin.getLendingPoolInfo(pool.id) + + const aaveV3PoolDebtInfo = aaveV3PoolInfo.debt + + expect(aaveV3PoolDebtInfo).toBeDefined() + expect(aaveV3PoolDebtInfo).toMatchObject({ + token: expect.objectContaining(pool.id.debtToken), + price: expect.anything(), + priceUSD: expect.anything(), + interestRate: expect.anything(), + totalBorrowed: expect.anything(), + debtCeiling: expect.anything(), + debtAvailable: expect.anything(), + dustLimit: expect.anything(), + originationFee: expect.anything(), }) - // TODO: re-enable when pool info is implemented - // const config = pool.debts.get({ token: mockDebtToken }) - // expect(config).toBeDefined() - // expect(config).toMatchObject({ - // token: expect.objectContaining({ - // symbol: mockDebtToken.symbol, - // address: mockDebtToken.address, - // decimals: mockDebtToken.decimals, - // name: mockDebtToken.name, - // }), - // price: expect.anything(), - // priceUSD: expect.anything(), - // rate: expect.anything(), - // totalBorrowed: expect.anything(), - // debtCeiling: expect.anything(), - // debtAvailable: expect.anything(), - // dustLimit: expect.anything(), - // originationFee: expect.anything(), - // borrowingEnabled: expect.any(Boolean), - // }) - - // const price = config!.price - // expect(price).toBeInstanceOf(Price) - // expect(Number(price.value)).toBeGreaterThan(0) - - // const priceUSD = config!.priceUSD - // expect(priceUSD).toBeInstanceOf(Price) - // expect(Number(priceUSD.value)).toBeGreaterThan(0) - - // const rate = config!.rate - // expect(rate).toBeInstanceOf(Percentage) - // expect(rate.value).toBeGreaterThan(0) - // expect(rate.value).toBeLessThan(100) - - // const totalBorrowed = config!.totalBorrowed - // expect(totalBorrowed).toBeInstanceOf(TokenAmount) - // expect(Number(totalBorrowed.amount)).toBeGreaterThan(0) - - // const debtCeiling = config!.debtCeiling - // expect(debtCeiling).toBeInstanceOf(TokenAmount) - // expect(Number(debtCeiling.amount)).toBeGreaterThan(0) - - // const debtAvailable = config!.debtAvailable - // expect(debtAvailable).toBeInstanceOf(TokenAmount) - // expect(Number(debtAvailable.amount)).toBeGreaterThan(0) - - // const dustLimit = config!.dustLimit - // expect(dustLimit).toBeInstanceOf(TokenAmount) - // expect(Number(dustLimit.amount)).toBe(0) - - // const originationFee = config!.originationFee - // expect(originationFee).toBeInstanceOf(Percentage) + const price = aaveV3PoolDebtInfo!.price + expect(price).toBeInstanceOf(Price) + expect(Number(price.value)).toBeGreaterThan(0) + + const priceUSD = aaveV3PoolDebtInfo!.priceUSD + expect(priceUSD).toBeInstanceOf(Price) + expect(Number(priceUSD.value)).toBeGreaterThan(0) + + const totalBorrowed = aaveV3PoolDebtInfo!.totalBorrowed + expect(totalBorrowed).toBeInstanceOf(TokenAmount) + expect(Number(totalBorrowed.amount)).toBeGreaterThan(0) + + const debtCeiling = aaveV3PoolDebtInfo!.debtCeiling + expect(debtCeiling).toBeInstanceOf(TokenAmount) + expect(Number(debtCeiling.amount)).toBeGreaterThan(0) + + const debtAvailable = aaveV3PoolDebtInfo!.debtAvailable + expect(debtAvailable).toBeInstanceOf(TokenAmount) + expect(Number(debtAvailable.amount)).toBeGreaterThan(0) + + const dustLimit = aaveV3PoolDebtInfo!.dustLimit + expect(dustLimit).toBeInstanceOf(TokenAmount) + expect(Number(dustLimit.amount)).toBe(0) + + const originationFee = aaveV3PoolDebtInfo!.originationFee + expect(originationFee).toBeInstanceOf(Percentage) }) }) diff --git a/sdk/protocol-plugins/tests/integration/MakerProtocolPlugin.spec.ts b/sdk/protocol-plugins/tests/integration/MakerProtocolPlugin.spec.ts index df949bc9f2..a2e094fcc5 100644 --- a/sdk/protocol-plugins/tests/integration/MakerProtocolPlugin.spec.ts +++ b/sdk/protocol-plugins/tests/integration/MakerProtocolPlugin.spec.ts @@ -24,64 +24,28 @@ describe('Maker Protocol Plugin (Integration)', () => { it('correctly populates collateral configuration from blockchain data', async () => { const pool = await makerProtocolPlugin.getLendingPool(validMakerPoolId) - const mockCollateralToken = Token.createFrom({ - chainInfo: ChainInfo.createFrom({ chainId: 1, name: 'Ethereum' }), - address: Address.createFromEthereum({ value: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2' }), - symbol: 'WETH', - name: 'Wrapped Ether', - decimals: 18, + const makerPoolInfo = await makerProtocolPlugin.getLendingPoolInfo(pool.id) + + const makerPoolCollateralInfo = makerPoolInfo.collateral + + expect(makerPoolCollateralInfo).toBeDefined() + expect(makerPoolCollateralInfo).toMatchObject({ + token: expect.objectContaining(pool.id.collateralToken), + price: expect.anything(), + priceUSD: expect.anything(), + liquidationThreshold: expect.anything(), + maxSupply: expect.anything(), + tokensLocked: expect.anything(), + liquidationPenalty: expect.anything(), }) - // TODO: re-enable when pool info is implemented - // const config = pool.collaterals.get({ token: mockCollateralToken }) - // expect(config).toBeDefined() - // expect(config).toMatchObject({ - // token: expect.objectContaining({ - // symbol: mockCollateralToken.symbol, - // address: mockCollateralToken.address, - // decimals: mockCollateralToken.decimals, - // name: mockCollateralToken.name, - // }), - // price: expect.anything(), - // nextPrice: expect.anything(), - // priceUSD: expect.anything(), - // lastPriceUpdate: expect.any(Date), - // nextPriceUpdate: expect.any(Date), - // liquidationThreshold: expect.anything(), - // tokensLocked: expect.anything(), - // maxSupply: expect.anything(), - // liquidationPenalty: expect.anything(), - // }) - - // const price = config!.price - // expect(price).toBeInstanceOf(Price) - // expect(Number(price.value)).toBeGreaterThan(0) - - // const nextPrice = config!.nextPrice - // expect(nextPrice).toBeInstanceOf(Price) - // expect(Number(nextPrice.value)).toBeGreaterThan(0) - - // const priceUSD = config!.priceUSD - // expect(priceUSD).toBeInstanceOf(Price) - // expect(Number(priceUSD.value)).toBeGreaterThan(0) - - // const liquidationThreshold = config!.liquidationThreshold - // expect(liquidationThreshold).toBeInstanceOf(RiskRatio) - // expect(liquidationThreshold.ratio.value).toBeGreaterThan(0) - // expect(liquidationThreshold.ratio.value).toBeLessThan(100) - - // const tokensLocked = config!.tokensLocked - // expect(tokensLocked).toBeInstanceOf(TokenAmount) - // expect(Number(tokensLocked.amount)).toBeGreaterThan(0) - - // const maxSupply = config!.maxSupply - // expect(maxSupply).toBeInstanceOf(TokenAmount) - // expect(Number(maxSupply.amount)).toBeGreaterThan(0) - - // const liquidationPenalty = config!.liquidationPenalty - // expect(liquidationPenalty).toBeInstanceOf(Percentage) - // expect(Number(liquidationPenalty.value)).toBeGreaterThan(0) - // expect(Number(liquidationPenalty.value)).toBeLessThan(100) + const price = makerPoolCollateralInfo!.price + expect(price).toBeInstanceOf(Price) + expect(Number(price.value)).toBeGreaterThan(0) + + const priceUSD = makerPoolCollateralInfo!.priceUSD + expect(priceUSD).toBeInstanceOf(Price) + expect(Number(priceUSD.value)).toBeGreaterThan(0) }) it('correctly populates debt configuration from blockchain data', async () => { @@ -95,56 +59,48 @@ describe('Maker Protocol Plugin (Integration)', () => { decimals: 18, }) - // TODO: re-enable when pool info is implemented - // const config = pool.debts.get({ token: mockDebtToken }) - // expect(config).toBeDefined() - // expect(config).toMatchObject({ - // token: expect.objectContaining({ - // symbol: mockDebtToken.symbol, - // address: mockDebtToken.address, - // decimals: mockDebtToken.decimals, - // name: mockDebtToken.name, - // }), - // price: expect.anything(), - // priceUSD: expect.anything(), - // rate: expect.anything(), - // totalBorrowed: expect.anything(), - // debtCeiling: expect.anything(), - // debtAvailable: expect.anything(), - // dustLimit: expect.anything(), - // originationFee: expect.anything(), - // }) - - // const price = config!.price - // expect(price).toBeInstanceOf(Price) - // expect(Number(price.value)).toBeGreaterThan(0) - - // const priceUSD = config!.priceUSD - // expect(priceUSD).toBeInstanceOf(Price) - // expect(Number(priceUSD.value)).toBeGreaterThan(0) - - // const rate = config!.rate - // expect(rate).toBeInstanceOf(Percentage) - // expect(rate.value).toBeGreaterThan(0) - // expect(rate.value).toBeLessThan(100) - - // const totalBorrowed = config!.totalBorrowed - // expect(totalBorrowed).toBeInstanceOf(TokenAmount) - // expect(Number(totalBorrowed.amount)).toBeGreaterThan(0) - - // const debtCeiling = config!.debtCeiling - // expect(debtCeiling).toBeInstanceOf(TokenAmount) - // expect(Number(debtCeiling.amount)).toBeGreaterThan(0) - - // const debtAvailable = config!.debtAvailable - // expect(debtAvailable).toBeInstanceOf(TokenAmount) - // expect(Number(debtAvailable.amount)).toBeGreaterThan(0) - - // const dustLimit = config!.dustLimit - // expect(dustLimit).toBeInstanceOf(TokenAmount) - // expect(Number(dustLimit.amount)).toBeGreaterThan(0) - - // const originationFee = config!.originationFee - // expect(originationFee).toBeInstanceOf(Percentage) + const makerPoolInfo = await makerProtocolPlugin.getLendingPoolInfo(pool.id) + + const makerPoolDebtInfo = makerPoolInfo.debt + + expect(makerPoolDebtInfo).toBeDefined() + expect(makerPoolDebtInfo).toMatchObject({ + token: expect.objectContaining(pool.id.debtToken), + price: expect.anything(), + priceUSD: expect.anything(), + interestRate: expect.anything(), + totalBorrowed: expect.anything(), + debtCeiling: expect.anything(), + debtAvailable: expect.anything(), + dustLimit: expect.anything(), + originationFee: expect.anything(), + }) + + const price = makerPoolDebtInfo!.price + expect(price).toBeInstanceOf(Price) + expect(Number(price.value)).toBeGreaterThan(0) + + const priceUSD = makerPoolDebtInfo!.priceUSD + expect(priceUSD).toBeInstanceOf(Price) + expect(Number(priceUSD.value)).toBeGreaterThan(0) + + const totalBorrowed = makerPoolDebtInfo!.totalBorrowed + expect(totalBorrowed).toBeInstanceOf(TokenAmount) + expect(Number(totalBorrowed.amount)).toBeGreaterThan(0) + + const debtCeiling = makerPoolDebtInfo!.debtCeiling + expect(debtCeiling).toBeInstanceOf(TokenAmount) + expect(Number(debtCeiling.amount)).toBeGreaterThan(0) + + const debtAvailable = makerPoolDebtInfo!.debtAvailable + expect(debtAvailable).toBeInstanceOf(TokenAmount) + expect(Number(debtAvailable.amount)).toBeGreaterThan(0) + + const dustLimit = makerPoolDebtInfo!.dustLimit + expect(dustLimit).toBeInstanceOf(TokenAmount) + expect(Number(dustLimit.amount)).toBeGreaterThan(0) + + const originationFee = makerPoolDebtInfo!.originationFee + expect(originationFee).toBeInstanceOf(Percentage) }) }) diff --git a/sdk/protocol-plugins/tests/integration/SparkProtocolPlugin.spec.ts b/sdk/protocol-plugins/tests/integration/SparkProtocolPlugin.spec.ts index a92b047850..c9c2831302 100644 --- a/sdk/protocol-plugins/tests/integration/SparkProtocolPlugin.spec.ts +++ b/sdk/protocol-plugins/tests/integration/SparkProtocolPlugin.spec.ts @@ -8,14 +8,14 @@ import { TokenAmount, Percentage, } from '@summerfi/sdk-common/common' -import { SparkLendingPool, SparkProtocolPlugin } from '../../src/plugins/spark' +import { SparkProtocolPlugin } from '../../src/plugins/spark' import { sparkPoolIdMock as validSparkPoolId } from '../mocks/SparkPoolIdMock' import { createProtocolPluginContext } from '../utils/CreateProtocolPluginContext' describe('Spark Protocol Plugin (Integration)', () => { let ctx: IProtocolPluginContext let sparkProtocolPlugin: SparkProtocolPlugin - let pool: SparkLendingPool + beforeAll(async () => { ctx = await createProtocolPluginContext() sparkProtocolPlugin = new SparkProtocolPlugin({ @@ -33,56 +33,44 @@ describe('Spark Protocol Plugin (Integration)', () => { decimals: 18, }) - // TODO: re-enable when pool info is implemented - // const config = pool.collaterals.get({ token: mockCollateralToken }) - // expect(config).toBeDefined() - // expect(config).toMatchObject({ - // token: expect.objectContaining({ - // symbol: mockCollateralToken.symbol, - // address: mockCollateralToken.address, - // decimals: mockCollateralToken.decimals, - // name: mockCollateralToken.name, - // }), - // price: expect.anything(), - // priceUSD: expect.anything(), - // maxLtv: expect.anything(), - // liquidationThreshold: expect.anything(), - // tokensLocked: expect.anything(), - // maxSupply: expect.anything(), - // liquidationPenalty: expect.anything(), - // apy: expect.anything(), - // usageAsCollateralEnabled: expect.any(Boolean), - // }) - - // const price = config!.price - // expect(price).toBeInstanceOf(Price) - // expect(Number(price.value)).toBeGreaterThan(0) - - // const priceUSD = config!.priceUSD - // expect(priceUSD).toBeInstanceOf(Price) - // expect(Number(priceUSD.value)).toBeGreaterThan(0) - - // const maxLtv = config!.maxLtv - // expect(maxLtv).toBeInstanceOf(RiskRatio) - // expect(maxLtv.ratio.value).toBeGreaterThan(0) - // expect(maxLtv.ratio.value).toBeLessThan(100) - - // const liquidationThreshold = config!.liquidationThreshold - // expect(liquidationThreshold).toBeInstanceOf(RiskRatio) - // expect(liquidationThreshold.ratio.value).toBeGreaterThan(0) - // expect(liquidationThreshold.ratio.value).toBeLessThan(100) - - // const tokensLocked = config!.tokensLocked - // expect(tokensLocked).toBeInstanceOf(TokenAmount) - // expect(Number(tokensLocked.amount)).toBeGreaterThan(0) - - // const maxSupply = config!.maxSupply - // expect(maxSupply).toBeInstanceOf(TokenAmount) - // expect(Number(maxSupply.amount)).toBeGreaterThan(0) - - // const liquidationPenalty = config!.liquidationPenalty - // expect(liquidationPenalty).toBeInstanceOf(Percentage) - // expect(Number(liquidationPenalty.value)).toBeGreaterThan(100) + const sparkPoolInfo = await sparkProtocolPlugin.getLendingPoolInfo(pool.id) + + const sparkPoolCollateralInfo = sparkPoolInfo.collateral + expect(sparkPoolCollateralInfo).toBeDefined() + expect(sparkPoolCollateralInfo).toMatchObject({ + token: expect.objectContaining(pool.id.collateralToken), + price: expect.anything(), + priceUSD: expect.anything(), + liquidationThreshold: expect.anything(), + tokensLocked: expect.anything(), + maxSupply: expect.anything(), + liquidationPenalty: expect.anything(), + }) + + const price = sparkPoolCollateralInfo!.price + expect(price).toBeInstanceOf(Price) + expect(Number(price.value)).toBeGreaterThan(0) + + const priceUSD = sparkPoolCollateralInfo!.priceUSD + expect(priceUSD).toBeInstanceOf(Price) + expect(Number(priceUSD.value)).toBeGreaterThan(0) + + const liquidationThreshold = sparkPoolCollateralInfo!.liquidationThreshold + expect(liquidationThreshold).toBeInstanceOf(RiskRatio) + expect(liquidationThreshold.ratio.value).toBeGreaterThan(0) + expect(liquidationThreshold.ratio.value).toBeLessThan(100) + + const tokensLocked = sparkPoolCollateralInfo!.tokensLocked + expect(tokensLocked).toBeInstanceOf(TokenAmount) + expect(Number(tokensLocked.amount)).toBeGreaterThan(0) + + const maxSupply = sparkPoolCollateralInfo!.maxSupply + expect(maxSupply).toBeInstanceOf(TokenAmount) + expect(Number(maxSupply.amount)).toBeGreaterThan(0) + + const liquidationPenalty = sparkPoolCollateralInfo!.liquidationPenalty + expect(liquidationPenalty).toBeInstanceOf(Percentage) + expect(Number(liquidationPenalty.value)).toBeGreaterThan(100) }) it('correctly populates debt configuration from blockchain data', async () => { @@ -96,72 +84,47 @@ describe('Spark Protocol Plugin (Integration)', () => { decimals: 18, }) - // TODO: re-enable when pool info is implemented - // const config = pool.debts.get({ token: mockDebtToken }) - // expect(config).toBeDefined() - // expect(config).toMatchObject({ - // token: expect.objectContaining({ - // symbol: mockDebtToken.symbol, - // address: mockDebtToken.address, - // decimals: mockDebtToken.decimals, - // name: mockDebtToken.name, - // }), - // price: expect.anything(), - // priceUSD: expect.anything(), - // rate: expect.anything(), - // totalBorrowed: expect.anything(), - // debtCeiling: expect.anything(), - // debtAvailable: expect.anything(), - // dustLimit: expect.anything(), - // originationFee: expect.anything(), - // borrowingEnabled: expect.any(Boolean), - // }) - - // const price = config!.price - // expect(price).toBeInstanceOf(Price) - // expect(Number(price.value)).toBeGreaterThan(0) - - // const priceUSD = config!.priceUSD - // expect(priceUSD).toBeInstanceOf(Price) - // expect(Number(priceUSD.value)).toBeGreaterThan(0) - - // const rate = config!.rate - // expect(rate).toBeInstanceOf(Percentage) - // expect(rate.value).toBeGreaterThan(0) - // expect(rate.value).toBeLessThan(100) - - // const totalBorrowed = config!.totalBorrowed - // expect(totalBorrowed).toBeInstanceOf(TokenAmount) - // expect(Number(totalBorrowed.amount)).toBeGreaterThan(0) - - // const debtCeiling = config!.debtCeiling - // expect(debtCeiling).toBeInstanceOf(TokenAmount) - // expect(Number(debtCeiling.amount)).toBeGreaterThan(0) - - // const debtAvailable = config!.debtAvailable - // expect(debtAvailable).toBeInstanceOf(TokenAmount) - // expect(Number(debtAvailable.amount)).toBeGreaterThan(0) - - // const dustLimit = config!.dustLimit - // expect(dustLimit).toBeInstanceOf(TokenAmount) - // expect(Number(dustLimit.amount)).toBe(0) - - // const originationFee = config!.originationFee - // expect(originationFee).toBeInstanceOf(Percentage) - }) + const sparkPoolInfo = await sparkProtocolPlugin.getLendingPoolInfo(pool.id) - it('resolves config maps for tokens sent with addresses in alternative formats', async () => { - const testCollateralToken = Token.createFrom({ - chainInfo: ChainInfo.createFrom({ chainId: 1, name: 'Ethereum' }), - // NOTE: Address is different format to that expected by the protocol - address: Address.createFromEthereum({ value: '0xae78736cd615f374d3085123a210448e74fc6393' }), - symbol: 'RETH', - name: 'Rocket Ether', - decimals: 18, + const sparkPoolDebtInfo = sparkPoolInfo.debt + + expect(sparkPoolDebtInfo).toBeDefined() + expect(sparkPoolDebtInfo).toMatchObject({ + token: expect.objectContaining(pool.id.debtToken), + price: expect.anything(), + priceUSD: expect.anything(), + totalBorrowed: expect.anything(), + debtCeiling: expect.anything(), + debtAvailable: expect.anything(), + dustLimit: expect.anything(), + originationFee: expect.anything(), }) - // TODO re-enable when pool info is implemented - // const config = pool.collaterals.get({ token: testCollateralToken }) - // expect(config).toBeDefined() + const price = sparkPoolDebtInfo!.price + expect(price).toBeInstanceOf(Price) + expect(Number(price.value)).toBeGreaterThan(0) + + const priceUSD = sparkPoolDebtInfo!.priceUSD + expect(priceUSD).toBeInstanceOf(Price) + expect(Number(priceUSD.value)).toBeGreaterThan(0) + + const totalBorrowed = sparkPoolDebtInfo!.totalBorrowed + expect(totalBorrowed).toBeInstanceOf(TokenAmount) + expect(Number(totalBorrowed.amount)).toBeGreaterThan(0) + + const debtCeiling = sparkPoolDebtInfo!.debtCeiling + expect(debtCeiling).toBeInstanceOf(TokenAmount) + expect(Number(debtCeiling.amount)).toBeGreaterThan(0) + + const debtAvailable = sparkPoolDebtInfo!.debtAvailable + expect(debtAvailable).toBeInstanceOf(TokenAmount) + expect(Number(debtAvailable.amount)).toBeGreaterThan(0) + + const dustLimit = sparkPoolDebtInfo!.dustLimit + expect(dustLimit).toBeInstanceOf(TokenAmount) + expect(Number(dustLimit.amount)).toBe(0) + + const originationFee = sparkPoolDebtInfo!.originationFee + expect(originationFee).toBeInstanceOf(Percentage) }) }) diff --git a/sdk/protocol-plugins/tests/mocks/AAVEv3PoolIdMock.ts b/sdk/protocol-plugins/tests/mocks/AAVEv3PoolIdMock.ts index c2469acc19..2679a96621 100644 --- a/sdk/protocol-plugins/tests/mocks/AAVEv3PoolIdMock.ts +++ b/sdk/protocol-plugins/tests/mocks/AAVEv3PoolIdMock.ts @@ -11,22 +11,22 @@ export const aaveV3PoolIdMock: IAaveV3LendingPoolIdData = { collateralToken: { address: { type: AddressType.Ethereum, - value: '0x6b175474e89094c44da98b954eedeac495271d0f', + value: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2', }, chainInfo: { chainId: 1, name: 'Ethereum' }, - name: 'USD Coin', - symbol: 'USDC', - decimals: 6, + name: 'Wrapped Ether', + symbol: 'WETH', + decimals: 18, }, debtToken: { address: { type: AddressType.Ethereum, - value: '0x6b175474e89094c44da98b954eedeac495271d0f', + value: '0x6B175474E89094C44Da98b954EedeAC495271d0F', }, chainInfo: { chainId: 1, name: 'Ethereum' }, - name: 'USD Coin', - symbol: 'USDC', - decimals: 6, + name: 'Dai Stablecoin', + symbol: 'DAI', + decimals: 18, }, emodeType: EmodeType.None, } diff --git a/sdk/protocol-plugins/tests/mocks/MakerPoolIdMock.ts b/sdk/protocol-plugins/tests/mocks/MakerPoolIdMock.ts index e279ea5f8c..998e74bd04 100644 --- a/sdk/protocol-plugins/tests/mocks/MakerPoolIdMock.ts +++ b/sdk/protocol-plugins/tests/mocks/MakerPoolIdMock.ts @@ -11,22 +11,22 @@ export const makerPoolIdMock: IMakerLendingPoolIdData = { collateralToken: { address: { type: AddressType.Ethereum, - value: '0x6b175474e89094c44da98b954eedeac495271d0f', + value: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2', }, chainInfo: { chainId: 1, name: 'Ethereum' }, - name: 'USD Coin', - symbol: 'USDC', - decimals: 6, + name: 'Wrapped Ether', + symbol: 'WETH', + decimals: 18, }, debtToken: { address: { type: AddressType.Ethereum, - value: '0x6b175474e89094c44da98b954eedeac495271d0f', + value: '0x6B175474E89094C44Da98b954EedeAC495271d0F', }, chainInfo: { chainId: 1, name: 'Ethereum' }, - name: 'USD Coin', - symbol: 'USDC', - decimals: 6, + name: 'Dai Stablecoin', + symbol: 'DAI', + decimals: 18, }, ilkType: ILKType.ETH_A, } diff --git a/sdk/protocol-plugins/tests/mocks/SparkPoolIdMock.ts b/sdk/protocol-plugins/tests/mocks/SparkPoolIdMock.ts index 6cf9521393..cc967710a0 100644 --- a/sdk/protocol-plugins/tests/mocks/SparkPoolIdMock.ts +++ b/sdk/protocol-plugins/tests/mocks/SparkPoolIdMock.ts @@ -11,22 +11,22 @@ export const sparkPoolIdMock: ISparkLendingPoolIdData = { collateralToken: { address: { type: AddressType.Ethereum, - value: '0x6b175474e89094c44da98b954eedeac495271d0f', + value: '0x6B175474E89094C44Da98b954EedeAC495271d0F', }, chainInfo: { chainId: 1, name: 'Ethereum' }, - name: 'USD Coin', - symbol: 'USDC', - decimals: 6, + name: 'Dai Stablecoin', + symbol: 'DAI', + decimals: 18, }, debtToken: { address: { type: AddressType.Ethereum, - value: '0x6b175474e89094c44da98b954eedeac495271d0f', + value: '0x6B175474E89094C44Da98b954EedeAC495271d0F', }, chainInfo: { chainId: 1, name: 'Ethereum' }, - name: 'USD Coin', - symbol: 'USDC', - decimals: 6, + name: 'Dai Stablecoin', + symbol: 'DAI', + decimals: 18, }, emodeType: EmodeType.None, } diff --git a/sdk/sdk-client/src/implementation/ProtocolClient.ts b/sdk/sdk-client/src/implementation/ProtocolClient.ts index d3ea0a7eae..423350f9b5 100644 --- a/sdk/sdk-client/src/implementation/ProtocolClient.ts +++ b/sdk/sdk-client/src/implementation/ProtocolClient.ts @@ -3,7 +3,7 @@ import { ILendingPool, ILendingPoolIdData, ProtocolName } from '@summerfi/sdk-co import { IProtocolClient } from '../interfaces/IProtocolClient' import { RPCClientType } from '../rpc/SDKClient' import { SerializationService } from '@summerfi/sdk-common/services' -import { Protocol } from '@summerfi/sdk-common' +import { ILendingPoolInfo, Protocol } from '@summerfi/sdk-common' export class ProtocolClient extends Protocol implements IProtocolClient { public readonly name: ProtocolName @@ -19,17 +19,16 @@ export class ProtocolClient extends Protocol implements IProtocolClient { } getLendingPool(params: { poolId: ILendingPoolIdData }): Promise> { - return this._rpcClient.getLendingPool.query({ + return this._rpcClient.protocols.getLendingPool.query({ poolId: params.poolId, }) } - // TODO: Implement this method - // getPoolExtendedInfo(params: { poolId: IPoolId }): Promise> { - // return this._rpcClient.getPoolExtendedInfo.query({ - // poolId: params.poolId, - // }) - // } + getLendingPoolInfo(params: { poolId: ILendingPoolIdData }): Promise> { + return this._rpcClient.protocols.getLendingPoolInfo.query({ + poolId: params.poolId, + }) + } /** * Compare if the passed protocol is equal to the current protocol diff --git a/sdk/sdk-client/src/interfaces/IProtocolClient.ts b/sdk/sdk-client/src/interfaces/IProtocolClient.ts index 6a962c8a49..1613b26172 100644 --- a/sdk/sdk-client/src/interfaces/IProtocolClient.ts +++ b/sdk/sdk-client/src/interfaces/IProtocolClient.ts @@ -1,6 +1,25 @@ +import { ILendingPool, ILendingPoolInfo } from '@summerfi/sdk-common' import { Maybe } from '@summerfi/sdk-common/common' -import { ILendingPoolIdData, IPool, IProtocol } from '@summerfi/sdk-common/protocols' +import { ILendingPoolIdData, IProtocol } from '@summerfi/sdk-common/protocols' +/** + * @interface IProtocolClient + * @description Client interface for protocols, includes some methods to interact with the protocols manager + */ export interface IProtocolClient extends IProtocol { - getLendingPool(params: { poolId: ILendingPoolIdData }): Promise> + /** + * @method getLendingPool + * @description Get the lending pool from the protocol + * @param {ILendingPoolIdData} params The pool id data + * @returns {Promise>} The lending pool + */ + getLendingPool(params: { poolId: ILendingPoolIdData }): Promise> + + /** + * @method getLendingPoolInfo + * @description Get the lending pool info from the protocol + * @param {ILendingPoolIdData} params The pool id data + * @returns {Promise>} The lending pool info + */ + getLendingPoolInfo(params: { poolId: ILendingPoolIdData }): Promise> } diff --git a/sdk/sdk-client/tests/queries/getPool.subtest.ts b/sdk/sdk-client/tests/queries/getLendingPool.subtest.ts similarity index 88% rename from sdk/sdk-client/tests/queries/getPool.subtest.ts rename to sdk/sdk-client/tests/queries/getLendingPool.subtest.ts index 9132cd9c8a..03ac278ff9 100644 --- a/sdk/sdk-client/tests/queries/getPool.subtest.ts +++ b/sdk/sdk-client/tests/queries/getLendingPool.subtest.ts @@ -8,10 +8,10 @@ import { } from '@summerfi/protocol-plugins/plugins/maker/interfaces/IMakerLendingPoolId' import { AddressType } from '@summerfi/sdk-common' -export default async function getPoolTest() { - type GetPoolType = RPCClientType['getLendingPool']['query'] +export default async function getLendingPoolTest() { + type GetLendingPoolType = RPCClientType['protocols']['getLendingPool']['query'] - const getLendingPoolQuery: GetPoolType = jest.fn(async (params) => { + const getLendingPoolQuery: GetLendingPoolType = jest.fn(async (params) => { expect(params).toBeDefined() expect(params.poolId).toBeDefined() @@ -30,8 +30,10 @@ export default async function getPoolTest() { }) const rpcClient = { - getLendingPool: { - query: getLendingPoolQuery, + protocols: { + getLendingPool: { + query: getLendingPoolQuery, + }, }, } as unknown as RPCClientType diff --git a/sdk/sdk-client/tests/queries/getLendingPoolInfo.subtest.ts b/sdk/sdk-client/tests/queries/getLendingPoolInfo.subtest.ts new file mode 100644 index 0000000000..0f391e9be2 --- /dev/null +++ b/sdk/sdk-client/tests/queries/getLendingPoolInfo.subtest.ts @@ -0,0 +1,96 @@ +import { PoolType, ProtocolName } from '@summerfi/sdk-common/protocols' +import { SDKManager } from '../../src/implementation/SDKManager' +import { RPCClientType } from '../../src/rpc/SDKClient' +import { ILKType, MakerLendingPoolInfo } from '@summerfi/protocol-plugins/plugins/maker' +import { + IMakerLendingPoolIdData, + isMakerLendingPoolId, +} from '@summerfi/protocol-plugins/plugins/maker/interfaces/IMakerLendingPoolId' +import { AddressType } from '@summerfi/sdk-common' + +export default async function getLendingPoolInfoTest() { + type GetLendingPoolInfoType = RPCClientType['protocols']['getLendingPoolInfo']['query'] + + const getLendingPoolInfoQuery: GetLendingPoolInfoType = jest.fn(async (params) => { + expect(params).toBeDefined() + expect(params.poolId).toBeDefined() + + if (!isMakerLendingPoolId(params.poolId)) { + fail('PoolId is not MakerPoolId') + } + + expect(params.poolId.protocol).toBeDefined() + expect(params.poolId.protocol.name).toBe(ProtocolName.Maker) + expect(params.poolId.ilkType).toBe(ILKType.ETH_A) + + return { + type: PoolType.Lending, + id: params.poolId, + } as unknown as MakerLendingPoolInfo + }) + + const rpcClient = { + protocols: { + getLendingPoolInfo: { + query: getLendingPoolInfoQuery, + }, + }, + } as unknown as RPCClientType + + const sdkManager = new SDKManager({ rpcClient }) + + expect(sdkManager).toBeDefined() + + const chain = await sdkManager.chains.getChain({ + chainInfo: { chainId: 1, name: 'Mainnet' }, + }) + + if (!chain) { + fail('Chain not found') + } + + const protocol = await chain.protocols.getProtocol({ name: ProtocolName.Maker }) + + if (!protocol) { + fail('Protocol not found') + } + + const makerPoolId: IMakerLendingPoolIdData = { + protocol: { + name: ProtocolName.Maker, + chainInfo: chain.chainInfo, + }, + collateralToken: { + address: { + type: AddressType.Ethereum, + value: '0x6b175474e89094c44da98b954eedeac495271d0f', + }, + chainInfo: { chainId: 1, name: 'Ethereum' }, + name: 'USD Coin', + symbol: 'USDC', + decimals: 6, + }, + debtToken: { + address: { + type: AddressType.Ethereum, + value: '0x6b175474e89094c44da98b954eedeac495271d0f', + }, + chainInfo: { chainId: 1, name: 'Ethereum' }, + name: 'USD Coin', + symbol: 'USDC', + decimals: 6, + }, + ilkType: ILKType.ETH_A, + } + + const pool = await protocol.getLendingPoolInfo({ poolId: makerPoolId }) + + if (!pool) { + fail('Pool not found') + } + + expect(pool.type).toBe(PoolType.Lending) + expect(pool.id).toBe(makerPoolId) + expect(pool.id.protocol.name).toBe(protocol.name) + expect(pool.id.protocol.chainInfo).toBe(protocol.chainInfo) +} diff --git a/sdk/sdk-client/tests/queries/queries.entrypoint.spec.ts b/sdk/sdk-client/tests/queries/queries.entrypoint.spec.ts index 89574822a5..fee6176938 100644 --- a/sdk/sdk-client/tests/queries/queries.entrypoint.spec.ts +++ b/sdk/sdk-client/tests/queries/queries.entrypoint.spec.ts @@ -1,11 +1,13 @@ -import getPoolTest from './getPool.subtest' +import getLendingPoolTest from './getLendingPool.subtest' +import getLendingPoolInfoTest from './getLendingPoolInfo.subtest' import makeSDKTest from './makeSDK.subtest' import simulateNewOrder from './newOrder.subtest' import simulateRefinanceTest from './simulateRefinance.subtest' describe('SDK Client', () => { it('should create SDK client', makeSDKTest.bind(this)) - it('should use the getPool query', getPoolTest.bind(this)) + it('should use the getLendingPool query', getLendingPoolTest.bind(this)) + it('should use the getLendingPoolInfo query', getLendingPoolInfoTest.bind(this)) it('should use the simulateRefinance query', simulateRefinanceTest.bind(this)) it('should use the newOrder query', simulateNewOrder.bind(this)) }) diff --git a/sdk/sdk-common/src/common/implementation/TokenAmount.ts b/sdk/sdk-common/src/common/implementation/TokenAmount.ts index 157217da2f..272f4eaabd 100644 --- a/sdk/sdk-common/src/common/implementation/TokenAmount.ts +++ b/sdk/sdk-common/src/common/implementation/TokenAmount.ts @@ -9,11 +9,13 @@ import { ITokenAmount, ITokenAmountData } from '../interfaces/ITokenAmount' * @see ITokenAmount */ export class TokenAmount implements ITokenAmount { - private readonly _baseUnitFactor: BigNumber - readonly token: Token readonly amount: string + // This is protected because otherwise TypeScript is removing the type when transpiling and it causes errors. + // Apparently using protected prevents this bug + protected readonly _baseUnitFactor: BigNumber + private constructor(params: ITokenAmountData) { this.token = Token.createFrom(params.token) this.amount = params.amount @@ -29,11 +31,11 @@ export class TokenAmount implements ITokenAmount { } // amount in base unit (1eth = 1000000000000000000, 1btc = 100000000 etc) - static createFromBaseUnit(parmas: { token: Token; amount: string }): TokenAmount { - const amount = new BigNumber(parmas.amount) - .div(new BigNumber(10).pow(new BigNumber(parmas.token.decimals))) + static createFromBaseUnit(params: { token: Token; amount: string }): TokenAmount { + const amount = new BigNumber(params.amount) + .div(new BigNumber(10).pow(new BigNumber(params.token.decimals))) .toString() - return new TokenAmount({ token: parmas.token, amount: amount }) + return new TokenAmount({ token: params.token, amount: amount }) } add(tokenToAdd: TokenAmount): TokenAmount { diff --git a/sdk/sdk-common/src/protocols/implementation/CollateralConfigMap.ts b/sdk/sdk-common/src/protocols/implementation/CollateralConfigMap.ts deleted file mode 100644 index 3af7b20273..0000000000 --- a/sdk/sdk-common/src/protocols/implementation/CollateralConfigMap.ts +++ /dev/null @@ -1,43 +0,0 @@ -import { HexData } from '../../common/aliases/HexData' -import { AddressValue } from '../../common/aliases/AddressValue' -import { Maybe } from '../../common/aliases/Maybe' -import { ITokenData } from '../../common/interfaces/IToken' -import { SerializationService } from '../../services/SerializationService' -import { ICollateralConfig } from '../interfaces/ICollateralConfig' -import { ICollateralConfigMap } from '../interfaces/ICollateralConfigMap' -import { CollateralConfig } from './CollateralConfig' - -export type CollateralConfigRecord = Record - -export class CollateralConfigMap implements ICollateralConfigMap { - readonly record: CollateralConfigRecord = {} - - protected constructor(params: ICollateralConfigMap) { - this._importCollateralConfigMap(params) - } - - static createFrom(params: ICollateralConfigMap): CollateralConfigMap { - return new CollateralConfigMap(params) - } - - public add(params: { collateral: ITokenData; collateralConfig: ICollateralConfig }): void { - this.record[this._formatRecordKey(params.collateral.address.value)] = - CollateralConfig.createFrom(params.collateralConfig) - } - - public get(params: { token: ITokenData }): Maybe { - return this.record[this._formatRecordKey(params.token.address.value)] - } - - protected _importCollateralConfigMap(params: ICollateralConfigMap): void { - return Object.entries(params.record).forEach(([, collateralConfig]) => { - this.add({ collateral: collateralConfig.token, collateralConfig }) - }) - } - - protected _formatRecordKey(address: HexData) { - return address.toLowerCase() as HexData - } -} - -SerializationService.registerClass(CollateralConfigMap) diff --git a/sdk/sdk-common/src/protocols/implementation/CollateralConfig.ts b/sdk/sdk-common/src/protocols/implementation/CollateralInfo.ts similarity index 72% rename from sdk/sdk-common/src/protocols/implementation/CollateralConfig.ts rename to sdk/sdk-common/src/protocols/implementation/CollateralInfo.ts index a88188692f..7fb8757be1 100644 --- a/sdk/sdk-common/src/protocols/implementation/CollateralConfig.ts +++ b/sdk/sdk-common/src/protocols/implementation/CollateralInfo.ts @@ -4,9 +4,13 @@ import { RiskRatio } from '../../common/implementation/RiskRatio' import { Token } from '../../common/implementation/Token' import { TokenAmount } from '../../common/implementation/TokenAmount' import { SerializationService } from '../../services/SerializationService' -import { ICollateralConfig } from '../interfaces/ICollateralConfig' +import { ICollateralInfo, ICollateralInfoData } from '../interfaces/ICollateralInfo' -export class CollateralConfig implements ICollateralConfig { +/** + * @class CollateralInfo + * @see ICollateralInfo + */ +export class CollateralInfo implements ICollateralInfo { readonly token: Token readonly price: Price readonly priceUSD: Price @@ -15,7 +19,7 @@ export class CollateralConfig implements ICollateralConfig { readonly tokensLocked: TokenAmount readonly liquidationPenalty: Percentage - protected constructor(params: ICollateralConfig) { + protected constructor(params: ICollateralInfoData) { this.token = Token.createFrom(params.token) this.price = Price.createFrom(params.price) this.priceUSD = Price.createFrom(params.priceUSD) @@ -25,9 +29,9 @@ export class CollateralConfig implements ICollateralConfig { this.liquidationPenalty = Percentage.createFrom(params.liquidationPenalty) } - static createFrom(params: ICollateralConfig): CollateralConfig { - return new CollateralConfig(params) + static createFrom(params: ICollateralInfoData): CollateralInfo { + return new CollateralInfo(params) } } -SerializationService.registerClass(CollateralConfig) +SerializationService.registerClass(CollateralInfo) diff --git a/sdk/sdk-common/src/protocols/implementation/DebtConfigMap.ts b/sdk/sdk-common/src/protocols/implementation/DebtConfigMap.ts deleted file mode 100644 index f1bc70a3ed..0000000000 --- a/sdk/sdk-common/src/protocols/implementation/DebtConfigMap.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { HexData } from '../../common/aliases/HexData' -import { AddressValue } from '../../common/aliases/AddressValue' -import { Maybe } from '../../common/aliases/Maybe' -import { ITokenData } from '../../common/interfaces/IToken' -import { SerializationService } from '../../services/SerializationService' - -import { IDebtConfig } from '../interfaces/IDebtConfig' -import { IDebtConfigMap } from '../interfaces/IDebtConfigMap' -import { DebtConfig } from './DebtConfig' - -export type DebtConfigRecord = Record - -export class DebtConfigMap implements IDebtConfigMap { - readonly record: DebtConfigRecord = {} - - protected constructor(params: IDebtConfigMap) { - this._importDebtConfigMap(params) - } - - static createFrom(params: IDebtConfigMap): DebtConfigMap { - return new DebtConfigMap(params) - } - - public add(params: { debt: ITokenData; debtConfig: IDebtConfig }): void { - this.record[this._formatRecordKey(params.debt.address.value)] = DebtConfig.createFrom( - params.debtConfig, - ) - } - - public get(params: { token: ITokenData }): Maybe { - return this.record[this._formatRecordKey(params.token.address.value)] - } - - protected _importDebtConfigMap(params: IDebtConfigMap): void { - return Object.entries(params.record).forEach(([, debtConfig]) => { - this.add({ debt: debtConfig.token, debtConfig }) - }) - } - - protected _formatRecordKey(address: HexData) { - return address.toLowerCase() as HexData - } -} - -SerializationService.registerClass(DebtConfigMap) diff --git a/sdk/sdk-common/src/protocols/implementation/DebtConfig.ts b/sdk/sdk-common/src/protocols/implementation/DebtInfo.ts similarity index 66% rename from sdk/sdk-common/src/protocols/implementation/DebtConfig.ts rename to sdk/sdk-common/src/protocols/implementation/DebtInfo.ts index d222101521..56592525a8 100644 --- a/sdk/sdk-common/src/protocols/implementation/DebtConfig.ts +++ b/sdk/sdk-common/src/protocols/implementation/DebtInfo.ts @@ -3,24 +3,30 @@ import { Price } from '../../common/implementation/Price' import { Token } from '../../common/implementation/Token' import { TokenAmount } from '../../common/implementation/TokenAmount' import { SerializationService } from '../../services/SerializationService' -import { IDebtConfig } from '../interfaces/IDebtConfig' +import { IDebtInfo, IDebtInfoData } from '../interfaces/IDebtInfo' -export class DebtConfig implements IDebtConfig { +/** + * @class DebtInfo + * @see IDebtInfo + * + * For now this class can be re-used among all the protocols and there is no need for specialization + */ +export class DebtInfo implements IDebtInfo { readonly token: Token readonly price: Price readonly priceUSD: Price - readonly rate: Percentage + readonly interestRate: Percentage readonly totalBorrowed: TokenAmount readonly debtCeiling: TokenAmount readonly debtAvailable: TokenAmount readonly dustLimit: TokenAmount readonly originationFee: Percentage - protected constructor(params: IDebtConfig) { + protected constructor(params: IDebtInfoData) { this.token = Token.createFrom(params.token) this.price = Price.createFrom(params.price) this.priceUSD = Price.createFrom(params.priceUSD) - this.rate = Percentage.createFrom(params.rate) + this.interestRate = Percentage.createFrom(params.interestRate) this.totalBorrowed = TokenAmount.createFrom(params.totalBorrowed) this.debtCeiling = TokenAmount.createFrom(params.debtCeiling) this.debtAvailable = TokenAmount.createFrom(params.debtAvailable) @@ -28,9 +34,9 @@ export class DebtConfig implements IDebtConfig { this.originationFee = Percentage.createFrom(params.originationFee) } - static createFrom(params: IDebtConfig): DebtConfig { - return new DebtConfig(params) + static createFrom(params: IDebtInfoData): DebtInfo { + return new DebtInfo(params) } } -SerializationService.registerClass(DebtConfig) +SerializationService.registerClass(DebtInfo) diff --git a/sdk/sdk-common/src/protocols/implementation/LendingPool.ts b/sdk/sdk-common/src/protocols/implementation/LendingPool.ts index aa9c7e3c89..7a3e8d3d3d 100644 --- a/sdk/sdk-common/src/protocols/implementation/LendingPool.ts +++ b/sdk/sdk-common/src/protocols/implementation/LendingPool.ts @@ -7,7 +7,7 @@ import { IPrintable } from '../../common/interfaces/IPrintable' /** * LendingPool - * @see ILendingPoolData + * @see ILendingPool * * The class is abstract to force each protocol to implement it's own version of the LendingPool by * customizing the PoolId diff --git a/sdk/sdk-common/src/protocols/implementation/LendingPoolId.ts b/sdk/sdk-common/src/protocols/implementation/LendingPoolId.ts index 2dea22bbe1..258f8f013b 100644 --- a/sdk/sdk-common/src/protocols/implementation/LendingPoolId.ts +++ b/sdk/sdk-common/src/protocols/implementation/LendingPoolId.ts @@ -6,7 +6,7 @@ import { PoolId } from './PoolId' /** * LendingPoolId - * @see ILendingPoolIdData + * @see ILendingPoolId */ export abstract class LendingPoolId extends PoolId implements ILendingPoolId, IPrintable { readonly collateralToken: Token diff --git a/sdk/sdk-common/src/protocols/implementation/LendingPoolInfo.ts b/sdk/sdk-common/src/protocols/implementation/LendingPoolInfo.ts new file mode 100644 index 0000000000..ecaeda3d91 --- /dev/null +++ b/sdk/sdk-common/src/protocols/implementation/LendingPoolInfo.ts @@ -0,0 +1,35 @@ +import { PoolType } from '../types/PoolType' +import { SerializationService } from '../../services' +import { LendingPoolId } from './LendingPoolId' +import { IPrintable } from '../../common/interfaces/IPrintable' +import { PoolInfo } from './PoolInfo' +import { CollateralInfo } from './CollateralInfo' +import { DebtInfo } from './DebtInfo' +import { ILendingPoolInfo, ILendingPoolInfoData } from '../interfaces/ILendingPoolInfo' + +/** + * LendingPoolInfo + * @see ILendingPoolInfo + * + * The class is abstract to force each protocol to implement it's own version of the LendingPoolInfo by + * customizing the PoolId + */ +export abstract class LendingPoolInfo extends PoolInfo implements ILendingPoolInfo, IPrintable { + readonly type = PoolType.Lending + abstract readonly id: LendingPoolId + readonly collateral: CollateralInfo + readonly debt: DebtInfo + + protected constructor(params: ILendingPoolInfoData) { + super(params) + + this.collateral = CollateralInfo.createFrom(params.collateral) + this.debt = DebtInfo.createFrom(params.debt) + } + + toString(): string { + return `Lending Pool: ${this.id.toString()}` + } +} + +SerializationService.registerClass(LendingPoolInfo) diff --git a/sdk/sdk-common/src/protocols/implementation/Pool.ts b/sdk/sdk-common/src/protocols/implementation/Pool.ts index 8e01184b45..e71e712bab 100644 --- a/sdk/sdk-common/src/protocols/implementation/Pool.ts +++ b/sdk/sdk-common/src/protocols/implementation/Pool.ts @@ -6,7 +6,7 @@ import { PoolId } from './PoolId' /** * @class Pool - * @see IPoolData + * @see IPool */ export abstract class Pool implements IPool, IPrintable { readonly type: PoolType diff --git a/sdk/sdk-common/src/protocols/implementation/PoolInfo.ts b/sdk/sdk-common/src/protocols/implementation/PoolInfo.ts new file mode 100644 index 0000000000..3bb94256d3 --- /dev/null +++ b/sdk/sdk-common/src/protocols/implementation/PoolInfo.ts @@ -0,0 +1,24 @@ +import { IPrintable } from '../../common/interfaces/IPrintable' +import { SerializationService } from '../../services/SerializationService' +import { IPoolInfo, IPoolInfoData } from '../interfaces/IPoolInfo' +import { PoolType } from '../types/PoolType' +import { PoolId } from './PoolId' + +/** + * @class PoolInfo + * @see IPoolInfo + */ +export abstract class PoolInfo implements IPoolInfo, IPrintable { + readonly type: PoolType + abstract readonly id: PoolId + + protected constructor(params: IPoolInfoData) { + this.type = params.type + } + + toString(): string { + return `Pool Info: ${this.type} (${this.id.toString()})` + } +} + +SerializationService.registerClass(PoolInfo) diff --git a/sdk/sdk-common/src/protocols/implementation/index.ts b/sdk/sdk-common/src/protocols/implementation/index.ts index 0d1241230a..adddde51c3 100644 --- a/sdk/sdk-common/src/protocols/implementation/index.ts +++ b/sdk/sdk-common/src/protocols/implementation/index.ts @@ -1,9 +1,9 @@ -export * from './CollateralConfig' -export * from './CollateralConfigMap' -export * from './DebtConfig' -export * from './DebtConfigMap' +export * from './CollateralInfo' +export * from './DebtInfo' export * from './LendingPool' export * from './Pool' export * from './PoolId' export * from './LendingPoolId' export * from './Protocol' +export * from './PoolInfo' +export * from './LendingPoolInfo' diff --git a/sdk/sdk-common/src/protocols/interfaces/ICollateralConfig.ts b/sdk/sdk-common/src/protocols/interfaces/ICollateralConfig.ts deleted file mode 100644 index 0cfc530850..0000000000 --- a/sdk/sdk-common/src/protocols/interfaces/ICollateralConfig.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { IPercentageData } from '../../common/interfaces/IPercentage' -import { IPriceData } from '../../common/interfaces/IPrice' -import { IRiskRatioData } from '../../common/interfaces/IRiskRatio' -import { ITokenData } from '../../common/interfaces/IToken' -import { ITokenAmountData } from '../../common/interfaces/ITokenAmount' - -export interface ICollateralConfig { - token: ITokenData - price: IPriceData - priceUSD: IPriceData - liquidationThreshold: IRiskRatioData - maxSupply: ITokenAmountData - tokensLocked: ITokenAmountData - liquidationPenalty: IPercentageData -} diff --git a/sdk/sdk-common/src/protocols/interfaces/ICollateralConfigMap.ts b/sdk/sdk-common/src/protocols/interfaces/ICollateralConfigMap.ts deleted file mode 100644 index aa89b32292..0000000000 --- a/sdk/sdk-common/src/protocols/interfaces/ICollateralConfigMap.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { AddressValue } from '../../common/aliases/AddressValue' -import { ICollateralConfig } from './ICollateralConfig' - -export type ICollateralConfigRecord = Record - -export interface ICollateralConfigMap { - record: ICollateralConfigRecord -} diff --git a/sdk/sdk-common/src/protocols/interfaces/ICollateralInfo.ts b/sdk/sdk-common/src/protocols/interfaces/ICollateralInfo.ts new file mode 100644 index 0000000000..d72889002b --- /dev/null +++ b/sdk/sdk-common/src/protocols/interfaces/ICollateralInfo.ts @@ -0,0 +1,75 @@ +import { IPercentage, IPercentageData, PercentageSchema } from '../../common/interfaces/IPercentage' +import { IPrice, IPriceData, PriceSchema } from '../../common/interfaces/IPrice' +import { IRiskRatio, IRiskRatioData, RiskRatioSchema } from '../../common/interfaces/IRiskRatio' +import { IToken, ITokenData, TokenSchema } from '../../common/interfaces/IToken' +import { + ITokenAmount, + ITokenAmountData, + TokenAmountSchema, +} from '../../common/interfaces/ITokenAmount' +import { z } from 'zod' + +/** + * @interface ICollateralInfoData + * @description Contains extended information about a collateral token of a lending pool + */ +export interface ICollateralInfoData { + /** The token that represents the collateral */ + readonly token: ITokenData + /** The price of the token in the protocol's default denomination */ + readonly price: IPriceData + /** The price of the token in USD */ + readonly priceUSD: IPriceData + /** The ratio between the collateral and the debt at which the position could be liquidated */ + readonly liquidationThreshold: IRiskRatioData + /** The maximum amount of the token that can be supplied */ + readonly maxSupply: ITokenAmountData + /** The amount of the token that is currently locked in the pool */ + readonly tokensLocked: ITokenAmountData + /** The penalty that is charged for liquidating a position */ + readonly liquidationPenalty: IPercentageData +} + +/** + * @interface ICollateralInfo + * @description Interface for the implementors of the collateral info + */ +export interface ICollateralInfo extends ICollateralInfoData { + readonly token: IToken + readonly price: IPrice + readonly priceUSD: IPrice + readonly liquidationThreshold: IRiskRatio + readonly maxSupply: ITokenAmount + readonly tokensLocked: ITokenAmount + readonly liquidationPenalty: IPercentage +} + +/** + * @description Zod schema for ICollateralInfo + */ +export const CollateralInfoSchema = z.object({ + token: TokenSchema, + price: PriceSchema, + priceUSD: PriceSchema, + liquidationThreshold: RiskRatioSchema, + maxSupply: TokenAmountSchema, + tokensLocked: TokenAmountSchema, + liquidationPenalty: PercentageSchema, +}) + +/** + * @description Type guard for ICollateralInfo + * @param maybeCollateralInfo + * @returns true if the object is an ICollateralInfo + */ +export function isCollateralInfo( + maybeCollateralInfo: unknown, +): maybeCollateralInfo is ICollateralInfoData { + return CollateralInfoSchema.safeParse(maybeCollateralInfo).success +} + +/** + * Checker to make sure that the schema is aligned with the interface + */ +/* eslint-disable-next-line @typescript-eslint/no-unused-vars */ +const __schemaChecker: ICollateralInfoData = {} as z.infer diff --git a/sdk/sdk-common/src/protocols/interfaces/IDebtConfig.ts b/sdk/sdk-common/src/protocols/interfaces/IDebtConfig.ts deleted file mode 100644 index d7dd5ac696..0000000000 --- a/sdk/sdk-common/src/protocols/interfaces/IDebtConfig.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { IPercentageData } from '../../common/interfaces/IPercentage' -import { IPriceData } from '../../common/interfaces/IPrice' -import { ITokenData } from '../../common/interfaces/IToken' -import { ITokenAmountData } from '../../common/interfaces/ITokenAmount' - -export interface IDebtConfig { - token: ITokenData - price: IPriceData - priceUSD: IPriceData - rate: IPercentageData - totalBorrowed: ITokenAmountData - debtCeiling: ITokenAmountData - debtAvailable: ITokenAmountData - dustLimit: ITokenAmountData - originationFee: IPercentageData -} diff --git a/sdk/sdk-common/src/protocols/interfaces/IDebtConfigMap.ts b/sdk/sdk-common/src/protocols/interfaces/IDebtConfigMap.ts deleted file mode 100644 index f9b8c28b97..0000000000 --- a/sdk/sdk-common/src/protocols/interfaces/IDebtConfigMap.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { AddressValue } from '../../common/aliases/AddressValue' -import { IDebtConfig } from './IDebtConfig' - -export type IDebtConfigRecord = Record - -export interface IDebtConfigMap { - record: IDebtConfigRecord -} diff --git a/sdk/sdk-common/src/protocols/interfaces/IDebtInfo.ts b/sdk/sdk-common/src/protocols/interfaces/IDebtInfo.ts new file mode 100644 index 0000000000..d36d5590fd --- /dev/null +++ b/sdk/sdk-common/src/protocols/interfaces/IDebtInfo.ts @@ -0,0 +1,83 @@ +import { IPercentage, IPercentageData, PercentageSchema } from '../../common/interfaces/IPercentage' +import { IPrice, IPriceData, PriceSchema } from '../../common/interfaces/IPrice' +import { IToken, ITokenData, TokenSchema } from '../../common/interfaces/IToken' +import { + ITokenAmount, + ITokenAmountData, + TokenAmountSchema, +} from '../../common/interfaces/ITokenAmount' +import { z } from 'zod' + +/** + * @interface IDebtInfoData + * @description Contains information about a debt token of a lending pool + * + * Initially this is used for single pair lending pools, but it can be re-used in multi-token + * lending pools + */ +export interface IDebtInfoData { + /** The token that represents the debt */ + readonly token: ITokenData + /** The price of the token in the protocol's default denomination */ + readonly price: IPriceData + /** The price of the token in USD */ + readonly priceUSD: IPriceData + /** The interest rate of the debt. TODO: which units?? */ + readonly interestRate: IPercentageData + /** The total amount of the token borrowed */ + readonly totalBorrowed: ITokenAmountData + /** The maximum amount of the token that can be borrowed */ + readonly debtCeiling: ITokenAmountData + /** The amount of the token that can still be borrowed */ + readonly debtAvailable: ITokenAmountData + /** The minimum amount of the token that can be borrowed */ + readonly dustLimit: ITokenAmountData + /** The fee that is charged for creating a new debt */ + readonly originationFee: IPercentageData +} + +/** + * @interface IDebtInfo + * @description Interface for the implementors of the debt info + */ +export interface IDebtInfo extends IDebtInfoData { + readonly token: IToken + readonly price: IPrice + readonly priceUSD: IPrice + readonly interestRate: IPercentage + readonly totalBorrowed: ITokenAmount + readonly debtCeiling: ITokenAmount + readonly debtAvailable: ITokenAmount + readonly dustLimit: ITokenAmount + readonly originationFee: IPercentage +} + +/** + * @description Zod schema for IDebtInfo + */ +export const DebtInfoSchema = z.object({ + token: TokenSchema, + price: PriceSchema, + priceUSD: PriceSchema, + interestRate: PercentageSchema, + totalBorrowed: TokenAmountSchema, + debtCeiling: TokenAmountSchema, + debtAvailable: TokenAmountSchema, + dustLimit: TokenAmountSchema, + originationFee: PercentageSchema, +}) + +/** + * @description Type guard for IDebtInfo + * @param maybeDebtInfo + * @returns true if the object is an IDebtInfo + */ +export function isDebtInfo(maybeDebtInfo: unknown): maybeDebtInfo is IDebtInfoData { + return DebtInfoSchema.safeParse(maybeDebtInfo).success +} + +/** + * Checker to make sure that the schema is aligned with the interface + */ +/* eslint-disable-next-line @typescript-eslint/no-unused-vars */ +const __schemaChecker: IDebtInfoData = {} as z.infer diff --git a/sdk/sdk-common/src/protocols/interfaces/ILendingPoolId.ts b/sdk/sdk-common/src/protocols/interfaces/ILendingPoolId.ts index ec9e671d84..18f3b7cda5 100644 --- a/sdk/sdk-common/src/protocols/interfaces/ILendingPoolId.ts +++ b/sdk/sdk-common/src/protocols/interfaces/ILendingPoolId.ts @@ -1,7 +1,7 @@ import { IToken, ITokenData, TokenSchema } from '../../common/interfaces/IToken' import { IPoolId, IPoolIdData } from './IPoolId' -import { z } from 'zod' import { IProtocol, ProtocolSchema } from './IProtocol' +import { z } from 'zod' /** * @interface ILendingPoolIdData @@ -12,9 +12,9 @@ import { IProtocol, ProtocolSchema } from './IProtocol' */ export interface ILendingPoolIdData extends IPoolIdData { /** Collateral token used to collateralized the pool */ - collateralToken: ITokenData + readonly collateralToken: ITokenData /** Debt token, which can be borrowed from the pool */ - debtToken: ITokenData + readonly debtToken: ITokenData } /** diff --git a/sdk/sdk-common/src/protocols/interfaces/ILendingPoolInfo.ts b/sdk/sdk-common/src/protocols/interfaces/ILendingPoolInfo.ts new file mode 100644 index 0000000000..5e501bce9c --- /dev/null +++ b/sdk/sdk-common/src/protocols/interfaces/ILendingPoolInfo.ts @@ -0,0 +1,70 @@ +import { PoolType } from '../types' +import { ILendingPoolId, ILendingPoolIdData, LendingPoolIdSchema } from './ILendingPoolId' +import { IPoolInfo, IPoolInfoData, PoolInfoSchema } from './IPoolInfo' +import { CollateralInfoSchema, ICollateralInfo, ICollateralInfoData } from './ICollateralInfo' +import { DebtInfoSchema, IDebtInfo, IDebtInfoData } from './IDebtInfo' +import { z } from 'zod' + +/** + * @interface ILendingPoolInfoData + * @description Represents the extended information for a lending pool of a single pair collateral/debt + * + * This extended information includes extra info for the collateral and debt like the liquidation threshold, liquidation penalty, total amount + * borroed, etc... + * + * The intention of this interface is to standardize the information that the protocol plugins should provide for the lending pools and it is + * not intended to be specialized by the protocol plugins. The reason for this is that the plugins already have this information and the SDK + * tries to abstract this information to provide a common interface for all the protocols on the client side. + * + */ +export interface ILendingPoolInfoData extends IPoolInfoData { + /** Type of the pool, in this case Lending */ + readonly type: PoolType.Lending + /** Pool ID of the lending pool */ + readonly id: ILendingPoolIdData + /** The collateral information of the pool */ + readonly collateral: ICollateralInfoData + /** The debt information of the pool */ + readonly debt: IDebtInfoData +} + +/** + * @name ILendingPoolInfo + * @description Interface for the implementors of the lending pool info + * + * This interface is used to add all the methods that the interface supports + */ +export interface ILendingPoolInfo extends IPoolInfo, ILendingPoolInfoData { + readonly type: PoolType.Lending + readonly id: ILendingPoolId + readonly collateral: ICollateralInfo + readonly debt: IDebtInfo +} + +/** + * @description Zod schema for ILendingPoolInfo + */ +export const LendingPoolInfoSchema = z.object({ + ...PoolInfoSchema.shape, + type: z.literal(PoolType.Lending), + id: LendingPoolIdSchema, + collateral: CollateralInfoSchema, + debt: DebtInfoSchema, +}) + +/** + * @description Type guard for ILendingPoolInfo + * @param maybePool Object to be checked + * @returns true if the object is an ILendingPool + * + * It also asserts the type so that TypeScript knows that the object is an ILendingPool + */ +export function isLendingPoolInfo(maybePool: unknown): maybePool is ILendingPoolInfoData { + return LendingPoolInfoSchema.safeParse(maybePool).success +} + +/** + * Checker to make sure that the schema is aligned with the interface + */ +/* eslint-disable-next-line @typescript-eslint/no-unused-vars */ +const __schemaChecker: ILendingPoolInfoData = {} as z.infer diff --git a/sdk/sdk-common/src/protocols/interfaces/IPoolId.ts b/sdk/sdk-common/src/protocols/interfaces/IPoolId.ts index 587b5e7b0d..517996711e 100644 --- a/sdk/sdk-common/src/protocols/interfaces/IPoolId.ts +++ b/sdk/sdk-common/src/protocols/interfaces/IPoolId.ts @@ -10,7 +10,7 @@ import { z } from 'zod' */ export interface IPoolIdData { /** Protocol where the pool is */ - protocol: IProtocolData + readonly protocol: IProtocolData } /** diff --git a/sdk/sdk-common/src/protocols/interfaces/IPoolInfo.ts b/sdk/sdk-common/src/protocols/interfaces/IPoolInfo.ts new file mode 100644 index 0000000000..c478f7f5e8 --- /dev/null +++ b/sdk/sdk-common/src/protocols/interfaces/IPoolInfo.ts @@ -0,0 +1,50 @@ +import { IPoolId, IPoolIdData, PoolIdSchema } from './IPoolId' +import { PoolType } from '../types/PoolType' +import { z } from 'zod' + +/** + * @interface IPoolInfoData + * @description Represents the extended information of a pool. It should contain extra info that is common for any type of pool + * + * It is meant to be specialized for each type of pool, like a lending pool, a staking pool, etc... + */ +export interface IPoolInfoData { + /** Type of the pool */ + readonly type: PoolType + /** Unique identifier for the pool, to be specialized for each protocol */ + readonly id: IPoolIdData +} + +/** + * @name IPool + * @description Interface for the implementors of the pool + * + * This interface is used to add all the methods that the interface supports + */ +export interface IPoolInfo extends IPoolInfoData { + readonly type: PoolType + readonly id: IPoolId +} + +/** + * @description Zod schema for IPoolInfo + */ +export const PoolInfoSchema = z.object({ + type: z.nativeEnum(PoolType), + id: PoolIdSchema, +}) + +/** + * @description Type guard for IPoolInfo + * @param maybePoolInfo + * @returns true if the object is an IPoolInfo + */ +export function isPoolInfo(maybePoolInfo: unknown): maybePoolInfo is IPoolInfoData { + return PoolInfoSchema.safeParse(maybePoolInfo).success +} + +/** + * Checker to make sure that the schema is aligned with the interface + */ +/* eslint-disable-next-line @typescript-eslint/no-unused-vars */ +const __schemaChecker: IPoolInfoData = {} as z.infer diff --git a/sdk/sdk-common/src/protocols/interfaces/IProtocol.ts b/sdk/sdk-common/src/protocols/interfaces/IProtocol.ts index 23914f2750..4b07d237f6 100644 --- a/sdk/sdk-common/src/protocols/interfaces/IProtocol.ts +++ b/sdk/sdk-common/src/protocols/interfaces/IProtocol.ts @@ -8,9 +8,9 @@ import { z } from 'zod' */ export interface IProtocolData { /** The name of the protocol */ - name: ProtocolName + readonly name: ProtocolName /** The chain information */ - chainInfo: IChainInfoData + readonly chainInfo: IChainInfoData } /** diff --git a/sdk/sdk-common/src/protocols/interfaces/index.ts b/sdk/sdk-common/src/protocols/interfaces/index.ts index d042ec7aca..2210c0aa4b 100644 --- a/sdk/sdk-common/src/protocols/interfaces/index.ts +++ b/sdk/sdk-common/src/protocols/interfaces/index.ts @@ -1,9 +1,9 @@ -export * from './ICollateralConfig' -export * from './ICollateralConfigMap' -export * from './IDebtConfig' -export * from './IDebtConfigMap' +export * from './ICollateralInfo' +export * from './IDebtInfo' export * from './ILendingPool' export * from './IProtocol' export * from './IPool' export * from './IPoolId' export * from './ILendingPoolId' +export * from './IPoolInfo' +export * from './ILendingPoolInfo' diff --git a/sdk/sdk-common/src/protocols/types/LendingPoolParameters.ts b/sdk/sdk-common/src/protocols/types/LendingPoolParameters.ts deleted file mode 100644 index 732bae3828..0000000000 --- a/sdk/sdk-common/src/protocols/types/LendingPoolParameters.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { PoolParameters } from './PoolParameters' -import { ICollateralConfigMap } from '../interfaces/ICollateralConfigMap' -import { IDebtConfigMap } from '../interfaces/IDebtConfigMap' - -/** - * @name LendingPoolParameters - * @description Represents the parameters of a lending pool - */ -export type LendingPoolParameters = PoolParameters & { - debts: IDebtConfigMap - collaterals: ICollateralConfigMap -} - -/** - * @function isLendingPoolParameters - * @description Guard for LendingPoolParameters - * - * @param poolParameters Pool parameters to check - * - * @returns True if the pool parameters are for a lending pool, false otherwise - */ -export function isLendingPoolParameters( - poolParameters: PoolParameters, -): poolParameters is LendingPoolParameters { - return ( - typeof poolParameters === 'object' && - poolParameters !== null && - 'debts' in poolParameters && - 'collaterals' in poolParameters - ) -} diff --git a/sdk/sdk-common/src/protocols/types/PoolParameters.ts b/sdk/sdk-common/src/protocols/types/PoolParameters.ts deleted file mode 100644 index eefbc62136..0000000000 --- a/sdk/sdk-common/src/protocols/types/PoolParameters.ts +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @name PoolParameters - * @description Represents the parameters required to get a pool. This will be specialized for each protocol - */ -export interface PoolParameters { - // Empty on purpose -} diff --git a/sdk/sdk-common/src/protocols/types/PoolType.ts b/sdk/sdk-common/src/protocols/types/PoolType.ts index d1524db514..682f9a5b9a 100644 --- a/sdk/sdk-common/src/protocols/types/PoolType.ts +++ b/sdk/sdk-common/src/protocols/types/PoolType.ts @@ -1,15 +1,32 @@ +import { z } from 'zod' + /** * @enum PoolType * @description Indicates the type of pool (supply or lending) */ - export enum PoolType { + /** Staking pool: adding 1 token to the pool generates some interest earnings */ Supply = 'Supply', + /** Lending pool, adding some collateral allows to borrow some debt */ Lending = 'Lending', } +/** + * Zod schema for PoolType + */ +export const PoolTypeSchema = z.nativeEnum(PoolType) + +/** + * Type guard for PoolType + * @param maybePoolType Object to be checked + * @returns true if the object is a PoolType + */ export function isPoolType(maybePoolType: unknown): maybePoolType is PoolType { - return ( - typeof maybePoolType === 'string' && Object.values(PoolType).includes(maybePoolType as PoolType) - ) + return PoolTypeSchema.safeParse(maybePoolType).success } + +/** + * Checker to make sure that the schema is aligned with the interface + */ +/* eslint-disable-next-line @typescript-eslint/no-unused-vars */ +const __schemaChecker: PoolType = {} as z.infer diff --git a/sdk/sdk-common/src/protocols/types/ProtocolParameters.ts b/sdk/sdk-common/src/protocols/types/ProtocolParameters.ts deleted file mode 100644 index a2e51bb146..0000000000 --- a/sdk/sdk-common/src/protocols/types/ProtocolParameters.ts +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @interface ProtocolParameters - * @description Represents a protocol's parameters. This will be specialized for each protocol - */ -export interface ProtocolParameters { - // Empty on purpose -} diff --git a/sdk/sdk-common/src/protocols/types/index.ts b/sdk/sdk-common/src/protocols/types/index.ts index 624280dc17..5229e34d7c 100644 --- a/sdk/sdk-common/src/protocols/types/index.ts +++ b/sdk/sdk-common/src/protocols/types/index.ts @@ -1,4 +1 @@ -export { type LendingPoolParameters, isLendingPoolParameters } from './LendingPoolParameters' -export { type PoolParameters } from './PoolParameters' export { PoolType } from './PoolType' -export { type ProtocolParameters } from './ProtocolParameters' diff --git a/sdk/sdk-server/package.json b/sdk/sdk-server/package.json index b8d62744d3..a41639e39f 100644 --- a/sdk/sdk-server/package.json +++ b/sdk/sdk-server/package.json @@ -37,8 +37,7 @@ "@summerfi/swap-common": "workspace:*", "@summerfi/swap-service": "workspace:*", "@trpc/server": "11.0.0-next-beta.264", - "superjson": "^1.13.3", - "zod": "^3.22.4" + "superjson": "^1.13.3" }, "devDependencies": { "@summerfi/eslint-config": "workspace:*", diff --git a/sdk/sdk-server/src/SDKAppRouter.ts b/sdk/sdk-server/src/SDKAppRouter.ts index 7100bee157..38f145024f 100644 --- a/sdk/sdk-server/src/SDKAppRouter.ts +++ b/sdk/sdk-server/src/SDKAppRouter.ts @@ -1,5 +1,5 @@ import { getPosition } from './handlers/getPosition' -import { getLendingPool } from './handlers/getPool' +import { getLendingPool } from './handlers/getLendingPool' import { getRefinanceSimulation } from './handlers/getRefinanceSimulation' import { buildOrder } from './handlers/buildOrder' import { getToken } from './handlers/getToken' @@ -7,15 +7,22 @@ import { getSwapDataExactInput } from './handlers/getSwapData' import { getSwapQuoteExactInput } from './handlers/getSwapQuote' import { router } from './TRPC' import { getImportSimulation } from './handlers/getImportSimulation' +import { getLendingPoolInfo } from './handlers/getLendingPoolInfo' /** * Server */ export const sdkAppRouter = router({ - getPosition: getPosition, - getLendingPool: getLendingPool, + protocols: { + getPosition: getPosition, + getLendingPool: getLendingPool, + getLendingPoolInfo: getLendingPoolInfo, + }, getToken: getToken, - simulation: { refinance: getRefinanceSimulation, import: getImportSimulation }, + simulation: { + refinance: getRefinanceSimulation, + import: getImportSimulation, + }, orders: { buildOrder: buildOrder, }, diff --git a/sdk/sdk-server/src/handlers/getLendingPool.ts b/sdk/sdk-server/src/handlers/getLendingPool.ts new file mode 100644 index 0000000000..86194aedfe --- /dev/null +++ b/sdk/sdk-server/src/handlers/getLendingPool.ts @@ -0,0 +1,9 @@ +import { publicProcedure } from '../TRPC' +import { PoolIdSchema } from '@summerfi/sdk-common/protocols' +import { z } from 'zod' + +export const getLendingPool = publicProcedure + .input(z.object({ poolId: PoolIdSchema })) + .query(async (opts) => { + return await opts.ctx.protocolManager.getLendingPool(opts.input.poolId) + }) diff --git a/sdk/sdk-server/src/handlers/getLendingPoolInfo.ts b/sdk/sdk-server/src/handlers/getLendingPoolInfo.ts new file mode 100644 index 0000000000..9d4c499de3 --- /dev/null +++ b/sdk/sdk-server/src/handlers/getLendingPoolInfo.ts @@ -0,0 +1,9 @@ +import { publicProcedure } from '../TRPC' +import { PoolIdSchema } from '@summerfi/sdk-common/protocols' +import { z } from 'zod' + +export const getLendingPoolInfo = publicProcedure + .input(z.object({ poolId: PoolIdSchema })) + .query(async (opts) => { + return await opts.ctx.protocolManager.getLendingPoolInfo(opts.input.poolId) + }) diff --git a/sdk/sdk-server/src/handlers/getPool.ts b/sdk/sdk-server/src/handlers/getPool.ts deleted file mode 100644 index 1042b108ad..0000000000 --- a/sdk/sdk-server/src/handlers/getPool.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { z } from 'zod' -import { publicProcedure } from '../TRPC' - -export const getLendingPool = publicProcedure - .input( - z.object({ - poolId: z.unknown(), - }), - ) - .query(async (opts) => { - const poolId = opts.input.poolId - return await opts.ctx.protocolManager.getLendingPool(poolId) - }) diff --git a/sdk/simulator-service/tests/mocks/contextMock.ts b/sdk/simulator-service/tests/mocks/contextMock.ts index 0bc0a0b2e6..c002357bad 100644 --- a/sdk/simulator-service/tests/mocks/contextMock.ts +++ b/sdk/simulator-service/tests/mocks/contextMock.ts @@ -9,9 +9,13 @@ import { Maybe, } from '@summerfi/sdk-common/common' import { ILendingPool } from '@summerfi/sdk-common/protocols' -import { testTargetLendingPool, testTargetLendingPoolRequiredSwaps } from './testSourcePosition' +import { + testTargetLendingPool, + testTargetLendingPoolInfo, + testTargetLendingPoolRequiredSwaps, +} from './testSourcePosition' import { SwapProviderType } from '@summerfi/sdk-common/swap' -import { IPosition, IPositionIdData } from '@summerfi/sdk-common' +import { ILendingPoolInfo, IPosition, IPositionIdData } from '@summerfi/sdk-common' import { IUser } from '@summerfi/sdk-common/user' import { IExternalPosition, IPositionsManager, TransactionInfo } from '@summerfi/sdk-common/orders' @@ -72,6 +76,11 @@ async function mockGetLendingPool(poolId: unknown): Promise { return testTargetLendingPool as ILendingPool } +/* eslint-disable @typescript-eslint/no-unused-vars */ +async function mockGetLendingPoolInfo(poolId: unknown): Promise { + return testTargetLendingPoolInfo as ILendingPoolInfo +} + async function mockGetLendingPoolRequiresSwaps(poolId: unknown): Promise { return testTargetLendingPoolRequiredSwaps as ILendingPool } @@ -92,6 +101,7 @@ export const mockRefinanceContext = { getSummerFee: mockGetFee, protocolManager: { getLendingPool: mockGetLendingPool, + getLendingPoolInfo: mockGetLendingPoolInfo, getPosition: mockGetPosition, getImportPositionTransaction: mockGetImportPositionTransaction, }, @@ -107,6 +117,7 @@ export const mockRefinanceContextRequiredSwaps = { ...mockRefinanceContext, protocolManager: { getLendingPool: mockGetLendingPoolRequiresSwaps, + getLendingPoolInfo: mockGetLendingPoolInfo, getPosition: mockGetPosition, getImportPositionTransaction: mockGetImportPositionTransaction, }, diff --git a/sdk/simulator-service/tests/mocks/testSourcePosition.ts b/sdk/simulator-service/tests/mocks/testSourcePosition.ts index 36adf86819..43e84a3bdf 100644 --- a/sdk/simulator-service/tests/mocks/testSourcePosition.ts +++ b/sdk/simulator-service/tests/mocks/testSourcePosition.ts @@ -1,6 +1,7 @@ import { Address, ChainInfo, + RiskRatioType, Token, TokenAmount, borrowFromPosition, @@ -9,10 +10,18 @@ import { } from '@summerfi/sdk-common/common' import { PoolType, ProtocolName } from '@summerfi/sdk-common/protocols' import { ILKType, MakerLendingPool } from '@summerfi/protocol-plugins/plugins/maker' -import { SparkLendingPool } from '@summerfi/protocol-plugins/plugins/spark' +import { SparkLendingPool, SparkLendingPoolInfo } from '@summerfi/protocol-plugins/plugins/spark' import { ISparkProtocolData } from 'node_modules/@summerfi/protocol-plugins/src/plugins/spark/interfaces/ISparkProtocol' import { EmodeType } from '@summerfi/protocol-plugins' import { IMakerProtocolData } from 'node_modules/@summerfi/protocol-plugins/src/plugins/maker/interfaces/IMakerProtocol' +import { + CollateralInfo, + CurrencySymbol, + DebtInfo, + Percentage, + Price, + RiskRatio, +} from '@summerfi/sdk-common' const testChain = ChainInfo.createFrom({ chainId: 1, name: 'test' }) @@ -95,3 +104,48 @@ export const testTargetLendingPoolRequiredSwaps = SparkLendingPool.createFrom({ emodeType: EmodeType.None, }, }) + +export const testTargetLendingPoolInfo = SparkLendingPoolInfo.createFrom({ + type: PoolType.Lending, + id: { + protocol: testTargetProtocol, + collateralToken: testCollateral, + debtToken: testDebt, + emodeType: EmodeType.None, + }, + collateral: CollateralInfo.createFrom({ + price: Price.createFrom({ + value: '100', + baseToken: testCollateral, + quoteToken: CurrencySymbol.USD, + }), + priceUSD: Price.createFrom({ + value: '200', + baseToken: testCollateral, + quoteToken: CurrencySymbol.USD, + }), + token: testCollateral, + tokensLocked: TokenAmount.createFrom({ token: testCollateral, amount: '10000' }), + liquidationPenalty: Percentage.createFrom({ value: 0.1 }), + liquidationThreshold: RiskRatio.createFrom({ + ratio: Percentage.createFrom({ value: 0.6 }), + type: RiskRatioType.LTV, + }), + maxSupply: TokenAmount.createFrom({ token: testCollateral, amount: '10000000' }), + }), + debt: DebtInfo.createFrom({ + price: Price.createFrom({ value: '300', baseToken: testDebt, quoteToken: CurrencySymbol.USD }), + priceUSD: Price.createFrom({ + value: '500', + baseToken: testDebt, + quoteToken: CurrencySymbol.USD, + }), + token: testDebt, + totalBorrowed: TokenAmount.createFrom({ token: testDebt, amount: '10000' }), + debtAvailable: TokenAmount.createFrom({ token: testDebt, amount: '50000' }), + debtCeiling: TokenAmount.createFrom({ token: testDebt, amount: '100000' }), + dustLimit: TokenAmount.createFrom({ token: testDebt, amount: '0.001' }), + interestRate: Percentage.createFrom({ value: 0.1 }), + originationFee: Percentage.createFrom({ value: 0.01 }), + }), +}) diff --git a/sdk/testing-utils/src/mocks/CollateralConfigMock.ts b/sdk/testing-utils/src/mocks/CollateralConfigMock.ts deleted file mode 100644 index d4584dcfff..0000000000 --- a/sdk/testing-utils/src/mocks/CollateralConfigMock.ts +++ /dev/null @@ -1,81 +0,0 @@ -import { RiskRatioType } from '@summerfi/sdk-common' -import { - CurrencySymbol, - Token, - Price, - RiskRatio, - TokenAmount, - ChainFamilyMap, - ChainInfo, - Percentage, - Address, -} from '@summerfi/sdk-common/common' -import { ICollateralConfig } from '@summerfi/sdk-common/protocols' - -const chainInfo: ChainInfo = ChainFamilyMap.Ethereum.Mainnet - -// TODO: Add getters/setters as required -export class CollateralConfigMock implements ICollateralConfig { - token: Token - price: Price - priceUSD: Price - liquidationThreshold: RiskRatio - maxSupply: TokenAmount - tokensLocked: TokenAmount - liquidationPenalty: Percentage - - constructor(params: Partial) { - const DAI = Token.createFrom({ - chainInfo, - address: Address.createFromEthereum({ value: '0x6B175474E89094C44Da98b954EedeAC495271d0F' }), - symbol: 'DAI', - name: 'Dai Stablecoin', - decimals: 18, - }) - const token = params.token ?? { - chainInfo, - address: Address.createFromEthereum({ value: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2' }), - symbol: 'WETH', - name: 'Wrapped Ether', - decimals: 18, - } - this.token = Token.createFrom(token) - this.price = params.price - ? Price.createFrom(params.price) - : Price.createFrom({ - baseToken: this.token, - quoteToken: DAI, - value: '0', - }) - this.priceUSD = Price.createFrom({ - baseToken: this.token, - quoteToken: CurrencySymbol.USD, - value: '0', - }) - - const liquidationThreshold = params.liquidationThreshold ?? { - type: RiskRatioType.LTV, - ratio: Percentage.createFrom({ - value: 0, - }), - } - this.liquidationThreshold = RiskRatio.createFrom(liquidationThreshold) - - const maxSupply = params.maxSupply ?? { - token: this.token, - amount: '0', - } - this.maxSupply = TokenAmount.createFrom(maxSupply) - - const tokensLocked = params.tokensLocked ?? { - token: this.token, - amount: '0', - } - this.tokensLocked = TokenAmount.createFrom(tokensLocked) - - const liquidationPenalty = params.liquidationPenalty ?? { - value: 0, - } - this.liquidationPenalty = Percentage.createFrom(liquidationPenalty) - } -} diff --git a/sdk/testing-utils/src/mocks/DebtConfigMock.ts b/sdk/testing-utils/src/mocks/DebtConfigMock.ts deleted file mode 100644 index 91bedebc6c..0000000000 --- a/sdk/testing-utils/src/mocks/DebtConfigMock.ts +++ /dev/null @@ -1,83 +0,0 @@ -import { - CurrencySymbol, - Token, - Price, - TokenAmount, - ChainFamilyMap, - ChainInfo, - Percentage, - Address, -} from '@summerfi/sdk-common/common' -import { IDebtConfig } from '@summerfi/sdk-common/protocols' - -const chainInfo: ChainInfo = ChainFamilyMap.Ethereum.Mainnet - -// TODO: Add getters/setters as required -export class DebtConfigMock implements IDebtConfig { - token: Token - price: Price - priceUSD: Price - rate: Percentage - totalBorrowed: TokenAmount - debtCeiling: TokenAmount - debtAvailable: TokenAmount - dustLimit: TokenAmount - originationFee: Percentage - - constructor(params: Partial) { - const token = params.token ?? { - chainInfo, - address: Address.createFromEthereum({ value: '0x6B175474E89094C44Da98b954EedeAC495271d0F' }), - symbol: 'DAI', - name: 'Dai Stablecoin', - decimals: 18, - } - this.token = Token.createFrom(token) - this.price = params.price - ? Price.createFrom(params.price) - : Price.createFrom({ - baseToken: this.token, - quoteToken: CurrencySymbol.USD, - value: '0', - }) - this.priceUSD = Price.createFrom({ - baseToken: this.token, - quoteToken: CurrencySymbol.USD, - value: '0', - }) - - const rate = params.rate ?? { - value: 0, - } - this.rate = Percentage.createFrom(rate) - - const totalBorrowed = params.totalBorrowed ?? { - token: this.token, - amount: '0', - } - this.totalBorrowed = TokenAmount.createFrom(totalBorrowed) - - const debtCeiling = params.debtCeiling ?? { - token: this.token, - amount: '0', - } - this.debtCeiling = TokenAmount.createFrom(debtCeiling) - - const debtAvailable = params.debtAvailable ?? { - token: this.token, - amount: '0', - } - this.debtAvailable = TokenAmount.createFrom(debtAvailable) - - const dustLimit = params.dustLimit ?? { - token: this.token, - amount: '0', - } - this.dustLimit = TokenAmount.createFrom(dustLimit) - - const originationFee = params.originationFee ?? { - value: 0, - } - this.originationFee = Percentage.createFrom(originationFee) - } -} diff --git a/sdk/testing-utils/src/mocks/index.ts b/sdk/testing-utils/src/mocks/index.ts index 8c18941024..c51bfc12f1 100644 --- a/sdk/testing-utils/src/mocks/index.ts +++ b/sdk/testing-utils/src/mocks/index.ts @@ -1,5 +1,3 @@ export { StepBuilderContextMock } from './StepBuilderContextMock' export { SwapManagerMock } from './SwapManagerMock' export { UserMock } from './UserMock' -export { CollateralConfigMock } from './CollateralConfigMock' -export { DebtConfigMock } from './DebtConfigMock' diff --git a/summerfi-api/sdk-router-function/package.json b/summerfi-api/sdk-router-function/package.json index b6f32dfa06..cf45e227c6 100644 --- a/summerfi-api/sdk-router-function/package.json +++ b/summerfi-api/sdk-router-function/package.json @@ -17,8 +17,7 @@ "@aws-lambda-powertools/tracer": "^1.18.1", "@summerfi/sdk-server": "workspace:*", "@trpc/server": "11.0.0-next-beta.264", - "superjson": "^1.13.3", - "zod": "^3.22.4" + "superjson": "^1.13.3" }, "devDependencies": { "@summerfi/eslint-config": "workspace:*", diff --git a/turbo.json b/turbo.json index fc28cc94ac..26f6edf3b2 100644 --- a/turbo.json +++ b/turbo.json @@ -69,7 +69,15 @@ "dependsOn": ["prebuild", "build", "^check-circular"] }, "cicheck": { - "dependsOn": ["prebuild", "build", "test", "lint", "check-circular", "format"] + "dependsOn": [ + "prebuild", + "build", + "test", + "test:integration", + "lint", + "check-circular", + "format" + ] }, "deploy:staging": { "dependsOn": ["cicheck", "^deploy:staging"] From 8bac2861bc04e6cdaa5339415b1f337dd4553298 Mon Sep 17 00:00:00 2001 From: Roberto Cano <3525807+robercano@users.noreply.github.com> Date: Thu, 2 May 2024 18:10:19 +0200 Subject: [PATCH 04/45] feat: add tokens service (#218) --- pnpm-lock.yaml | 11061 ++++------------ sdk/order-planner-service/package.json | 6 +- sdk/order-planner-service/src/index.ts | 2 + .../src/interfaces/index.ts | 2 +- .../src/interfaces/IProtocolPlugin.ts | 8 +- .../src/implementation/PriceService.ts | 12 +- .../AAVEv3LikeBaseProtocolPlugin.ts | 4 +- .../implementation/MakerProtocolPlugin.ts | 6 +- sdk/sdk-client/src/implementation/Chain.ts | 24 +- .../src/implementation/ChainsManager.ts | 17 +- ...lsManager.ts => ProtocolsManagerClient.ts} | 4 +- .../src/implementation/SDKManager.ts | 6 +- .../src/implementation/TokensManager.ts | 39 - .../src/implementation/TokensManagerClient.ts | 42 + sdk/sdk-client/src/index.ts | 8 +- sdk/sdk-client/src/interfaces/IChain.ts | 11 +- .../src/interfaces/IChainsManager.ts | 7 +- .../src/interfaces/IProtocolClient.ts | 1 + ...sManager.ts => IProtocolsManagerClient.ts} | 7 +- ...kensManager.ts => ITokensManagerClient.ts} | 20 +- sdk/sdk-client/src/mocks/mockToken.ts | 93 - .../queries/getTokenByAddress.subtest.ts | 53 + .../tests/queries/getTokenByName.subtest.ts | 56 + .../tests/queries/getTokenBySymbol.subtest.ts | 54 + .../tests/queries/queries.entrypoint.spec.ts | 6 + .../src/common/enums/CommonTokenSymbols.ts | 15 + .../src/common/enums/TokenSymbol.ts | 32 +- sdk/sdk-common/src/common/enums/index.ts | 18 +- sdk/sdk-common/src/index.ts | 1 + .../src/protocols/enums/ProtocolName.ts | 12 +- .../src/tokens/TokensProviderType.ts | 31 + sdk/sdk-common/src/tokens/index.ts | 1 + sdk/sdk-e2e/tests/importMakerPosition.test.ts | 10 +- ...refinanceMakerSparkAlreadyImported.test.ts | 10 +- .../tests/refinanceMakerSparkAnyPair.test.ts | 23 +- sdk/sdk-server/package.json | 2 + sdk/sdk-server/src/SDKAppRouter.ts | 10 +- sdk/sdk-server/src/context/Context.ts | 17 +- sdk/sdk-server/src/handlers/getToken.ts | 15 - .../src/handlers/getTokenByAddress.ts | 18 + sdk/sdk-server/src/handlers/getTokenByName.ts | 17 + .../src/handlers/getTokenBySymbol.ts | 17 + .../src/interfaces/ISwapProvider.ts | 4 + sdk/tokens-common/.eslintrc.cjs | 7 + sdk/tokens-common/jest.config.js | 7 + sdk/tokens-common/package.json | 27 + sdk/tokens-common/src/index.ts | 1 + .../src/interfaces/ITokensManager.ts | 41 + .../src/interfaces/ITokensProvider.ts | 55 + sdk/tokens-common/src/interfaces/index.ts | 2 + sdk/tokens-common/tsconfig.build.json | 8 + sdk/tokens-common/tsconfig.json | 10 + sdk/tokens-common/tsconfig.test.json | 12 + sdk/tokens-service/.eslintrc.cjs | 7 + sdk/tokens-service/jest.config.js | 9 + sdk/tokens-service/package.json | 33 + .../src/implementation/TokensManager.ts | 106 + .../implementation/TokensManagerFactory.ts | 53 + .../src/implementation/index.ts | 2 + .../implementation/static/StaticTokensList.ts | 257 + .../static/StaticTokensProvider.ts | 147 + .../src/implementation/static/TokensData.ts | 19 + .../implementation/static/TokensListData.ts | 25 + .../src/implementation/static/TokensMap.ts | 81 + .../src/implementation/static/index.ts | 1 + sdk/tokens-service/src/index.ts | 1 + sdk/tokens-service/tests/.gitkeep | 0 .../tests/StaticTokensProvider.spec.ts | 107 + .../tests/TokensManager.spec.ts | 108 + .../tests/TokensManagerFactory.spec.ts | 104 + .../tests/mocks/MockTokensProvider.ts | 62 + sdk/tokens-service/tsconfig.build.json | 10 + sdk/tokens-service/tsconfig.json | 10 + sdk/tokens-service/tsconfig.test.json | 20 + 74 files changed, 4702 insertions(+), 8432 deletions(-) create mode 100644 sdk/order-planner-service/src/index.ts rename sdk/sdk-client/src/implementation/{ProtocolsManager.ts => ProtocolsManagerClient.ts} (80%) delete mode 100644 sdk/sdk-client/src/implementation/TokensManager.ts create mode 100644 sdk/sdk-client/src/implementation/TokensManagerClient.ts rename sdk/sdk-client/src/interfaces/{IProtocolsManager.ts => IProtocolsManagerClient.ts} (67%) rename sdk/sdk-client/src/interfaces/{ITokensManager.ts => ITokensManagerClient.ts} (62%) delete mode 100644 sdk/sdk-client/src/mocks/mockToken.ts create mode 100644 sdk/sdk-client/tests/queries/getTokenByAddress.subtest.ts create mode 100644 sdk/sdk-client/tests/queries/getTokenByName.subtest.ts create mode 100644 sdk/sdk-client/tests/queries/getTokenBySymbol.subtest.ts create mode 100644 sdk/sdk-common/src/common/enums/CommonTokenSymbols.ts create mode 100644 sdk/sdk-common/src/tokens/TokensProviderType.ts create mode 100644 sdk/sdk-common/src/tokens/index.ts delete mode 100644 sdk/sdk-server/src/handlers/getToken.ts create mode 100644 sdk/sdk-server/src/handlers/getTokenByAddress.ts create mode 100644 sdk/sdk-server/src/handlers/getTokenByName.ts create mode 100644 sdk/sdk-server/src/handlers/getTokenBySymbol.ts create mode 100644 sdk/tokens-common/.eslintrc.cjs create mode 100644 sdk/tokens-common/jest.config.js create mode 100644 sdk/tokens-common/package.json create mode 100644 sdk/tokens-common/src/index.ts create mode 100644 sdk/tokens-common/src/interfaces/ITokensManager.ts create mode 100644 sdk/tokens-common/src/interfaces/ITokensProvider.ts create mode 100644 sdk/tokens-common/src/interfaces/index.ts create mode 100644 sdk/tokens-common/tsconfig.build.json create mode 100644 sdk/tokens-common/tsconfig.json create mode 100644 sdk/tokens-common/tsconfig.test.json create mode 100644 sdk/tokens-service/.eslintrc.cjs create mode 100644 sdk/tokens-service/jest.config.js create mode 100644 sdk/tokens-service/package.json create mode 100644 sdk/tokens-service/src/implementation/TokensManager.ts create mode 100644 sdk/tokens-service/src/implementation/TokensManagerFactory.ts create mode 100644 sdk/tokens-service/src/implementation/index.ts create mode 100644 sdk/tokens-service/src/implementation/static/StaticTokensList.ts create mode 100644 sdk/tokens-service/src/implementation/static/StaticTokensProvider.ts create mode 100644 sdk/tokens-service/src/implementation/static/TokensData.ts create mode 100644 sdk/tokens-service/src/implementation/static/TokensListData.ts create mode 100644 sdk/tokens-service/src/implementation/static/TokensMap.ts create mode 100644 sdk/tokens-service/src/implementation/static/index.ts create mode 100644 sdk/tokens-service/src/index.ts create mode 100644 sdk/tokens-service/tests/.gitkeep create mode 100644 sdk/tokens-service/tests/StaticTokensProvider.spec.ts create mode 100644 sdk/tokens-service/tests/TokensManager.spec.ts create mode 100644 sdk/tokens-service/tests/TokensManagerFactory.spec.ts create mode 100644 sdk/tokens-service/tests/mocks/MockTokensProvider.ts create mode 100644 sdk/tokens-service/tsconfig.build.json create mode 100644 sdk/tokens-service/tsconfig.json create mode 100644 sdk/tokens-service/tsconfig.test.json diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5e6b1f9718..d010b5f5b5 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,6 +5,7 @@ settings: excludeLinksFromLockfile: false importers: + .: dependencies: bignumber.js: @@ -1087,6 +1088,12 @@ importers: '@summerfi/swap-service': specifier: workspace:* version: link:../swap-service + '@summerfi/tokens-common': + specifier: workspace:* + version: link:../tokens-common + '@summerfi/tokens-service': + specifier: workspace:* + version: link:../tokens-service '@trpc/server': specifier: 11.0.0-next-beta.264 version: 11.0.0-next-beta.264 @@ -1228,6 +1235,47 @@ importers: specifier: ^17.7.2 version: 17.7.2 + sdk/tokens-common: + dependencies: + '@summerfi/sdk-common': + specifier: workspace:* + version: link:../sdk-common + devDependencies: + '@summerfi/eslint-config': + specifier: workspace:* + version: link:../../packages/eslint-config + '@summerfi/jest-config': + specifier: workspace:* + version: link:../../packages/jest-config + '@summerfi/typescript-config': + specifier: workspace:* + version: link:../../packages/typescript-config + + sdk/tokens-service: + dependencies: + '@summerfi/common': + specifier: workspace:* + version: link:../../packages/common + '@summerfi/configuration-provider': + specifier: workspace:* + version: link:../configuration-provider + '@summerfi/sdk-common': + specifier: workspace:* + version: link:../sdk-common + '@summerfi/tokens-common': + specifier: workspace:* + version: link:../tokens-common + devDependencies: + '@summerfi/eslint-config': + specifier: workspace:* + version: link:../../packages/eslint-config + '@summerfi/jest-config': + specifier: workspace:* + version: link:../../packages/jest-config + '@summerfi/typescript-config': + specifier: workspace:* + version: link:../../packages/typescript-config + summerfi-api/get-apy-function: dependencies: '@aws-lambda-powertools/logger': @@ -1622,54 +1670,37 @@ importers: version: 1.1.3 packages: + /@aashutoshrathi/word-wrap@1.2.6: - resolution: - { - integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} dev: true /@adraffy/ens-normalize@1.10.0: - resolution: - { - integrity: sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q==, - } + resolution: {integrity: sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q==} /@adraffy/ens-normalize@1.10.1: - resolution: - { - integrity: sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==, - } + resolution: {integrity: sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==} dev: true /@alcalzone/ansi-tokenize@0.1.3: - resolution: - { - integrity: sha512-3yWxPTq3UQ/FY9p1ErPxIyfT64elWaMvM9lIHnaqpyft63tkxodF5aUElYHrdisWve5cETkh1+KBw1yJuW0aRw==, - } - engines: { node: '>=14.13.1' } + resolution: {integrity: sha512-3yWxPTq3UQ/FY9p1ErPxIyfT64elWaMvM9lIHnaqpyft63tkxodF5aUElYHrdisWve5cETkh1+KBw1yJuW0aRw==} + engines: {node: '>=14.13.1'} dependencies: ansi-styles: 6.2.1 is-fullwidth-code-point: 4.0.0 dev: true /@ampproject/remapping@2.3.0: - resolution: - { - integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==, - } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} dependencies: '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 dev: true /@ardatan/relay-compiler@12.0.0(graphql@16.8.1): - resolution: - { - integrity: sha512-9anThAaj1dQr6IGmzBMcfzOQKTa5artjuPmw8NYK/fiGEMjADbSguBY2FMDykt+QhilR3wc9VA/3yVju7JHg7Q==, - } + resolution: {integrity: sha512-9anThAaj1dQr6IGmzBMcfzOQKTa5artjuPmw8NYK/fiGEMjADbSguBY2FMDykt+QhilR3wc9VA/3yVju7JHg7Q==} hasBin: true peerDependencies: graphql: '*' @@ -1698,11 +1729,8 @@ packages: dev: true /@ardatan/sync-fetch@0.0.1: - resolution: - { - integrity: sha512-xhlTqH0m31mnsG0tIP4ETgfSB6gXDaYYsUWTrlUV93fFQPI9dd8hE0Ot6MHLCtqgB32hwJAC3YZMWlXZw7AleA==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-xhlTqH0m31mnsG0tIP4ETgfSB6gXDaYYsUWTrlUV93fFQPI9dd8hE0Ot6MHLCtqgB32hwJAC3YZMWlXZw7AleA==} + engines: {node: '>=14'} dependencies: node-fetch: 2.7.0 transitivePeerDependencies: @@ -1710,32 +1738,20 @@ packages: dev: true /@aws-cdk/asset-awscli-v1@2.2.202: - resolution: - { - integrity: sha512-JqlF0D4+EVugnG5dAsNZMqhu3HW7ehOXm5SDMxMbXNDMdsF0pxtQKNHRl52z1U9igsHmaFpUgSGjbhAJ+0JONg==, - } + resolution: {integrity: sha512-JqlF0D4+EVugnG5dAsNZMqhu3HW7ehOXm5SDMxMbXNDMdsF0pxtQKNHRl52z1U9igsHmaFpUgSGjbhAJ+0JONg==} dev: true /@aws-cdk/asset-kubectl-v20@2.1.2: - resolution: - { - integrity: sha512-3M2tELJOxQv0apCIiuKQ4pAbncz9GuLwnKFqxifWfe77wuMxyTRPmxssYHs42ePqzap1LT6GDcPygGs+hHstLg==, - } + resolution: {integrity: sha512-3M2tELJOxQv0apCIiuKQ4pAbncz9GuLwnKFqxifWfe77wuMxyTRPmxssYHs42ePqzap1LT6GDcPygGs+hHstLg==} dev: true /@aws-cdk/asset-node-proxy-agent-v6@2.0.3: - resolution: - { - integrity: sha512-twhuEG+JPOYCYPx/xy5uH2+VUsIEhPTzDY0F1KuB+ocjWWB/KEDiOVL19nHvbPCB6fhWnkykXEMJ4HHcKvjtvg==, - } + resolution: {integrity: sha512-twhuEG+JPOYCYPx/xy5uH2+VUsIEhPTzDY0F1KuB+ocjWWB/KEDiOVL19nHvbPCB6fhWnkykXEMJ4HHcKvjtvg==} dev: true /@aws-cdk/aws-lambda-python-alpha@2.132.1-alpha.0(aws-cdk-lib@2.132.1)(constructs@10.3.0): - resolution: - { - integrity: sha512-YZNLRw4Yhxt615RfC2kzuvp6/7HdU6RQZHlz3+Cb1VGMcFFdKJhKB/TrMx7xNq2NMwp9CDgasLkdxYuF8Nmd4A==, - } - engines: { node: '>= 14.15.0' } + resolution: {integrity: sha512-YZNLRw4Yhxt615RfC2kzuvp6/7HdU6RQZHlz3+Cb1VGMcFFdKJhKB/TrMx7xNq2NMwp9CDgasLkdxYuF8Nmd4A==} + engines: {node: '>= 14.15.0'} peerDependencies: aws-cdk-lib: ^2.132.1 constructs: ^10.0.0 @@ -1745,32 +1761,23 @@ packages: dev: true /@aws-cdk/aws-service-spec@0.0.52: - resolution: - { - integrity: sha512-SJA4xtG2y5NpTmtKtFNbrYh6BaFgKEcr7ye8N+S4H3KByXIa0NLOh5bPTVBjvyXiRPDJ9q39Xu433vxC3BsDhg==, - } + resolution: {integrity: sha512-SJA4xtG2y5NpTmtKtFNbrYh6BaFgKEcr7ye8N+S4H3KByXIa0NLOh5bPTVBjvyXiRPDJ9q39Xu433vxC3BsDhg==} dependencies: '@aws-cdk/service-spec-types': 0.0.52 '@cdklabs/tskb': 0.0.3 dev: true /@aws-cdk/cloud-assembly-schema@2.132.1: - resolution: - { - integrity: sha512-PAusB9kKT9CELzbj8x5G3BpFl6Wjwk5ULn+8/uP21MIygWmAcktzOD2CVzkxMvljT7qU4KN1GEDCZXVqLzzomg==, - } - engines: { node: '>= 14.15.0' } + resolution: {integrity: sha512-PAusB9kKT9CELzbj8x5G3BpFl6Wjwk5ULn+8/uP21MIygWmAcktzOD2CVzkxMvljT7qU4KN1GEDCZXVqLzzomg==} + engines: {node: '>= 14.15.0'} dev: true bundledDependencies: - jsonschema - semver /@aws-cdk/cloudformation-diff@2.132.1: - resolution: - { - integrity: sha512-h93B/VC4lujT9gjeSgUCg3XaypDyydvggbpJ0jCbl2kagDK90SHInZm5yscPNof+FpT8Igvn+5yEUOLVnfFYYg==, - } - engines: { node: '>= 14.15.0' } + resolution: {integrity: sha512-h93B/VC4lujT9gjeSgUCg3XaypDyydvggbpJ0jCbl2kagDK90SHInZm5yscPNof+FpT8Igvn+5yEUOLVnfFYYg==} + engines: {node: '>= 14.15.0'} dependencies: '@aws-cdk/aws-service-spec': 0.0.52 '@aws-cdk/service-spec-types': 0.0.52 @@ -1782,11 +1789,8 @@ packages: dev: true /@aws-cdk/cx-api@2.132.1(@aws-cdk/cloud-assembly-schema@2.132.1): - resolution: - { - integrity: sha512-JWf9Xou9vtO7wMyDKvcbigjGLY6kPS31cYc+e+dJSMsCxWEbvpEdndAJOU7y9Y8/99SnvihYxEbgbpWGwcK/Xg==, - } - engines: { node: '>= 14.15.0' } + resolution: {integrity: sha512-JWf9Xou9vtO7wMyDKvcbigjGLY6kPS31cYc+e+dJSMsCxWEbvpEdndAJOU7y9Y8/99SnvihYxEbgbpWGwcK/Xg==} + engines: {node: '>= 14.15.0'} peerDependencies: '@aws-cdk/cloud-assembly-schema': 2.132.1 dependencies: @@ -1796,19 +1800,13 @@ packages: - semver /@aws-cdk/service-spec-types@0.0.52: - resolution: - { - integrity: sha512-vVoZPgEmkUPeTVJSQ9iyXTiwnb6GiBbntJdnsWTr6I9ao66TuU9HijEcAQHxkC7CxTkian+3KSX/NTl01Klm0A==, - } + resolution: {integrity: sha512-vVoZPgEmkUPeTVJSQ9iyXTiwnb6GiBbntJdnsWTr6I9ao66TuU9HijEcAQHxkC7CxTkian+3KSX/NTl01Klm0A==} dependencies: '@cdklabs/tskb': 0.0.3 dev: true /@aws-crypto/crc32@3.0.0: - resolution: - { - integrity: sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==, - } + resolution: {integrity: sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==} dependencies: '@aws-crypto/util': 3.0.0 '@aws-sdk/types': 3.535.0 @@ -1816,10 +1814,7 @@ packages: dev: true /@aws-crypto/crc32c@3.0.0: - resolution: - { - integrity: sha512-ENNPPManmnVJ4BTXlOjAgD7URidbAznURqD0KvfREyc4o20DPYdEldU1f5cQ7Jbj0CJJSPaMIk/9ZshdB3210w==, - } + resolution: {integrity: sha512-ENNPPManmnVJ4BTXlOjAgD7URidbAznURqD0KvfREyc4o20DPYdEldU1f5cQ7Jbj0CJJSPaMIk/9ZshdB3210w==} dependencies: '@aws-crypto/util': 3.0.0 '@aws-sdk/types': 3.535.0 @@ -1827,19 +1822,13 @@ packages: dev: true /@aws-crypto/ie11-detection@3.0.0: - resolution: - { - integrity: sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==, - } + resolution: {integrity: sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==} dependencies: tslib: 1.14.1 dev: true /@aws-crypto/sha1-browser@3.0.0: - resolution: - { - integrity: sha512-NJth5c997GLHs6nOYTzFKTbYdMNA6/1XlKVgnZoaZcQ7z7UJlOgj2JdbHE8tiYLS3fzXNCguct77SPGat2raSw==, - } + resolution: {integrity: sha512-NJth5c997GLHs6nOYTzFKTbYdMNA6/1XlKVgnZoaZcQ7z7UJlOgj2JdbHE8tiYLS3fzXNCguct77SPGat2raSw==} dependencies: '@aws-crypto/ie11-detection': 3.0.0 '@aws-crypto/supports-web-crypto': 3.0.0 @@ -1851,10 +1840,7 @@ packages: dev: true /@aws-crypto/sha256-browser@3.0.0: - resolution: - { - integrity: sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==, - } + resolution: {integrity: sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==} dependencies: '@aws-crypto/ie11-detection': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -1867,10 +1853,7 @@ packages: dev: true /@aws-crypto/sha256-js@3.0.0: - resolution: - { - integrity: sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==, - } + resolution: {integrity: sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==} dependencies: '@aws-crypto/util': 3.0.0 '@aws-sdk/types': 3.535.0 @@ -1878,11 +1861,8 @@ packages: dev: true /@aws-crypto/sha256-js@5.2.0: - resolution: - { - integrity: sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==, - } - engines: { node: '>=16.0.0' } + resolution: {integrity: sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==} + engines: {node: '>=16.0.0'} dependencies: '@aws-crypto/util': 5.2.0 '@aws-sdk/types': 3.535.0 @@ -1890,19 +1870,13 @@ packages: dev: true /@aws-crypto/supports-web-crypto@3.0.0: - resolution: - { - integrity: sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==, - } + resolution: {integrity: sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==} dependencies: tslib: 1.14.1 dev: true /@aws-crypto/util@3.0.0: - resolution: - { - integrity: sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==, - } + resolution: {integrity: sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==} dependencies: '@aws-sdk/types': 3.535.0 '@aws-sdk/util-utf8-browser': 3.259.0 @@ -1910,10 +1884,7 @@ packages: dev: true /@aws-crypto/util@5.2.0: - resolution: - { - integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==, - } + resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/util-utf8': 2.3.0 @@ -1921,24 +1892,15 @@ packages: dev: true /@aws-lambda-powertools/commons@1.18.1: - resolution: - { - integrity: sha512-gFRgQ2GJDghKvf+fXvT0kQVftgOT05W+hCa7RkfZj6HSjVAO+9DZZeJL3JK1HcsLAjWRj7W9ra0/MqB3Abf+PQ==, - } + resolution: {integrity: sha512-gFRgQ2GJDghKvf+fXvT0kQVftgOT05W+hCa7RkfZj6HSjVAO+9DZZeJL3JK1HcsLAjWRj7W9ra0/MqB3Abf+PQ==} dev: false /@aws-lambda-powertools/commons@2.0.4: - resolution: - { - integrity: sha512-6tH27airGDbK+hNltrb33qdsbbrql34KcSBLmKnZYGZam7nWc5giTEtDh1Zyw2N3bQ0BnZ6SahgO9eY46WaiRA==, - } + resolution: {integrity: sha512-6tH27airGDbK+hNltrb33qdsbbrql34KcSBLmKnZYGZam7nWc5giTEtDh1Zyw2N3bQ0BnZ6SahgO9eY46WaiRA==} dev: false /@aws-lambda-powertools/logger@1.18.1: - resolution: - { - integrity: sha512-GsSMqaFXCSz+llSOn2CVNMoN+j/jNsS6JP2Opy9myU0tvg7PeuU3+rN24vKyibUwpxM466IzWFBSJkYdm0bqVw==, - } + resolution: {integrity: sha512-GsSMqaFXCSz+llSOn2CVNMoN+j/jNsS6JP2Opy9myU0tvg7PeuU3+rN24vKyibUwpxM466IzWFBSJkYdm0bqVw==} peerDependencies: '@middy/core': '>=3.x' peerDependenciesMeta: @@ -1950,10 +1912,7 @@ packages: dev: false /@aws-lambda-powertools/logger@2.0.4: - resolution: - { - integrity: sha512-KzBw7oUtSTKxY5Ulck4ZKelr4jX3erhlcuscvihZvu4OJv5TdZ1GrIT+wkySaLp8nKidOHjhTJAlNXCFjNiINQ==, - } + resolution: {integrity: sha512-KzBw7oUtSTKxY5Ulck4ZKelr4jX3erhlcuscvihZvu4OJv5TdZ1GrIT+wkySaLp8nKidOHjhTJAlNXCFjNiINQ==} peerDependencies: '@middy/core': '>=3.x' peerDependenciesMeta: @@ -1965,10 +1924,7 @@ packages: dev: false /@aws-lambda-powertools/metrics@1.18.1: - resolution: - { - integrity: sha512-ebojjuoOlm0bOtZ6H5fyTnC5B0owVX1nNqDUPEQSejkeiiBW0m6DVzy6hFWuKmGtBtm2WNnWwTE//WtF+CD6Ug==, - } + resolution: {integrity: sha512-ebojjuoOlm0bOtZ6H5fyTnC5B0owVX1nNqDUPEQSejkeiiBW0m6DVzy6hFWuKmGtBtm2WNnWwTE//WtF+CD6Ug==} peerDependencies: '@middy/core': '>=3.x' peerDependenciesMeta: @@ -1979,10 +1935,7 @@ packages: dev: false /@aws-lambda-powertools/metrics@2.0.4: - resolution: - { - integrity: sha512-w9kaRtqH1xPe2SLny5hF1z2c2rQDlgYtbVGm0YtQ48nIxHMNh+yV8dLd4o7fdjl2p6yuhXlHCiD+HoMi5aOPCg==, - } + resolution: {integrity: sha512-w9kaRtqH1xPe2SLny5hF1z2c2rQDlgYtbVGm0YtQ48nIxHMNh+yV8dLd4o7fdjl2p6yuhXlHCiD+HoMi5aOPCg==} peerDependencies: '@middy/core': '>=3.x' peerDependenciesMeta: @@ -1993,10 +1946,7 @@ packages: dev: false /@aws-lambda-powertools/tracer@1.18.1: - resolution: - { - integrity: sha512-bMLBtdEFNmLUR9RJvBULR6XJD0XopUhhS1mlpeQlm2BCPIN3gLbqAlJK8dMXyAw8GCpLpHaziCo2+7a/AIh7lA==, - } + resolution: {integrity: sha512-bMLBtdEFNmLUR9RJvBULR6XJD0XopUhhS1mlpeQlm2BCPIN3gLbqAlJK8dMXyAw8GCpLpHaziCo2+7a/AIh7lA==} peerDependencies: '@middy/core': '>=3.x' peerDependenciesMeta: @@ -2008,10 +1958,7 @@ packages: dev: false /@aws-lambda-powertools/tracer@2.0.4: - resolution: - { - integrity: sha512-Alc/oy8JnEMlM33zYVuiutyYjxen10AaOdKBuwyxwzCJPpkwO5ks+6RxLBTHjFVrvCt7CwPd9G1lDvruDvcxKQ==, - } + resolution: {integrity: sha512-Alc/oy8JnEMlM33zYVuiutyYjxen10AaOdKBuwyxwzCJPpkwO5ks+6RxLBTHjFVrvCt7CwPd9G1lDvruDvcxKQ==} peerDependencies: '@middy/core': '>=3.x' peerDependenciesMeta: @@ -2023,11 +1970,8 @@ packages: dev: false /@aws-sdk/client-cloudformation@3.555.0: - resolution: - { - integrity: sha512-gm+qteiSwG/Y25lrIdjiP/GQkYSCdxhTAcHHUGmC85pDTLRsZbTXUm79rhvT3SfoLX3/Hh4JHoVSiFL+wxKeww==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-gm+qteiSwG/Y25lrIdjiP/GQkYSCdxhTAcHHUGmC85pDTLRsZbTXUm79rhvT3SfoLX3/Hh4JHoVSiFL+wxKeww==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -2076,11 +2020,8 @@ packages: dev: true /@aws-sdk/client-cognito-identity@3.554.0: - resolution: - { - integrity: sha512-/rFufn75nrCj5gTpTLIlDxjGoPeAj+gC3JLVqS2Tlpqx3YhqHiz+jYaHYJbkvrcLMEdDFqaoO3DI7y/GcD59Mg==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-/rFufn75nrCj5gTpTLIlDxjGoPeAj+gC3JLVqS2Tlpqx3YhqHiz+jYaHYJbkvrcLMEdDFqaoO3DI7y/GcD59Mg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -2127,11 +2068,8 @@ packages: dev: true /@aws-sdk/client-ecs@3.554.0: - resolution: - { - integrity: sha512-JyGbk0ulTtz8rjvVCWKqf+1Lobk6TDB+bPpfhMa3Z+ACyNsS+qU3W+XcDUXkgn+VGFd+nMfFoJOotSsT03ilFw==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-JyGbk0ulTtz8rjvVCWKqf+1Lobk6TDB+bPpfhMa3Z+ACyNsS+qU3W+XcDUXkgn+VGFd+nMfFoJOotSsT03ilFw==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -2180,11 +2118,8 @@ packages: dev: true /@aws-sdk/client-eventbridge@3.554.0: - resolution: - { - integrity: sha512-rO5jYUaYsHFmjfXkgtCN1Tb3O9Or0ro61f6vzZB/+XLZvgTSP8OLJcH+1BHMj26L2ntuTkZ4zPikO+2Bg4urDg==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-rO5jYUaYsHFmjfXkgtCN1Tb3O9Or0ro61f6vzZB/+XLZvgTSP8OLJcH+1BHMj26L2ntuTkZ4zPikO+2Bg4urDg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -2231,11 +2166,8 @@ packages: dev: true /@aws-sdk/client-iam@3.554.0: - resolution: - { - integrity: sha512-Q+8PTBdZ1e3hzWRZGnIE5P+7jbxQx9Gas3ayOfzdHx538apqk4z8+Q4PoymECttPSPwv1KoYphFZvRyH7lrDKA==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-Q+8PTBdZ1e3hzWRZGnIE5P+7jbxQx9Gas3ayOfzdHx538apqk4z8+Q4PoymECttPSPwv1KoYphFZvRyH7lrDKA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -2283,11 +2215,8 @@ packages: dev: true /@aws-sdk/client-iot-data-plane@3.554.0: - resolution: - { - integrity: sha512-2xtMWKlJ1wOq+8mQe1XddfqOkskfIV/AgkGTueZUqO7FvVxHtWOlXpafN7naRZUBtzzu9/oeK8gfvYhpW+kqGw==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-2xtMWKlJ1wOq+8mQe1XddfqOkskfIV/AgkGTueZUqO7FvVxHtWOlXpafN7naRZUBtzzu9/oeK8gfvYhpW+kqGw==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -2335,11 +2264,8 @@ packages: dev: true /@aws-sdk/client-iot@3.554.0: - resolution: - { - integrity: sha512-3mr5Ik3hVa3WS0F2N88sSKAwOVdRtoRN8xY1bqpT+I/tjAgt+07uItHrkJErEh4Xq3EnhJfKiPR/KbcRK2oQuQ==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-3mr5Ik3hVa3WS0F2N88sSKAwOVdRtoRN8xY1bqpT+I/tjAgt+07uItHrkJErEh4Xq3EnhJfKiPR/KbcRK2oQuQ==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -2387,11 +2313,8 @@ packages: dev: true /@aws-sdk/client-lambda@3.554.0: - resolution: - { - integrity: sha512-KNUAAZKcsCdUOB2/rbWpc96jsSM/ahw3hK5/Ru4RTLfNP27GitxqF0v+mzrVk9lTuj2ChJ3JDV+UfdGsqvZgpw==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-KNUAAZKcsCdUOB2/rbWpc96jsSM/ahw3hK5/Ru4RTLfNP27GitxqF0v+mzrVk9lTuj2ChJ3JDV+UfdGsqvZgpw==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -2443,11 +2366,8 @@ packages: dev: true /@aws-sdk/client-rds-data@3.554.0: - resolution: - { - integrity: sha512-pJq/RhBuSngWik5y7M385hm0qLidgPBWNff4+h3UGPDvFUvHTvSCMrPbU5lhMTcrVw+aralLSi3DwCqsUjHKBA==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-pJq/RhBuSngWik5y7M385hm0qLidgPBWNff4+h3UGPDvFUvHTvSCMrPbU5lhMTcrVw+aralLSi3DwCqsUjHKBA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -2494,11 +2414,8 @@ packages: dev: true /@aws-sdk/client-s3@3.554.0: - resolution: - { - integrity: sha512-d5TKKtGWhN0vl9QovUFrf3UsM7jgFQkowDPx1O+E/yeQUj1FBDOoRfDCcQOKW/9ghloI6k7f0bBpNxdd+x0oKA==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-d5TKKtGWhN0vl9QovUFrf3UsM7jgFQkowDPx1O+E/yeQUj1FBDOoRfDCcQOKW/9ghloI6k7f0bBpNxdd+x0oKA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha1-browser': 3.0.0 '@aws-crypto/sha256-browser': 3.0.0 @@ -2562,11 +2479,8 @@ packages: dev: true /@aws-sdk/client-ssm@3.554.0: - resolution: - { - integrity: sha512-zqc5Pyb0agJ3erp1x2ILoll7mG6atQTD2AFWA5UBFhNa7R0+w+TLvSNnX813X4bv4OySqBYYEtAokoTvV66UZw==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-zqc5Pyb0agJ3erp1x2ILoll7mG6atQTD2AFWA5UBFhNa7R0+w+TLvSNnX813X4bv4OySqBYYEtAokoTvV66UZw==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -2615,11 +2529,8 @@ packages: dev: true /@aws-sdk/client-sso-oidc@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: - { - integrity: sha512-M86rkiRqbZBF5VyfTQ/vttry9VSoQkZ1oCqYF+SAGlXmD0Of8587yRSj2M4rYe0Uj7nRQIfSnhDYp1UzsZeRfQ==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-M86rkiRqbZBF5VyfTQ/vttry9VSoQkZ1oCqYF+SAGlXmD0Of8587yRSj2M4rYe0Uj7nRQIfSnhDYp1UzsZeRfQ==} + engines: {node: '>=14.0.0'} peerDependencies: '@aws-sdk/credential-provider-node': ^3.554.0 dependencies: @@ -2668,11 +2579,8 @@ packages: dev: true /@aws-sdk/client-sso@3.554.0: - resolution: - { - integrity: sha512-yj6CgIxCT3UwMumEO481KH4QvwArkAPzD7Xvwe1QKgJATc9bKNEo/FxV8LfnWIJ7nOtMDxbNxYLMXH/Fs1qGaQ==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-yj6CgIxCT3UwMumEO481KH4QvwArkAPzD7Xvwe1QKgJATc9bKNEo/FxV8LfnWIJ7nOtMDxbNxYLMXH/Fs1qGaQ==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -2717,11 +2625,8 @@ packages: dev: true /@aws-sdk/client-sts@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: - { - integrity: sha512-EhaA6T0M0DNg5M8TCF1a7XJI5D/ZxAF3dgVIchyF98iNzjYgl/7U8K6hJay2A11aFvVu70g46xYMpz3Meky4wQ==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-EhaA6T0M0DNg5M8TCF1a7XJI5D/ZxAF3dgVIchyF98iNzjYgl/7U8K6hJay2A11aFvVu70g46xYMpz3Meky4wQ==} + engines: {node: '>=14.0.0'} peerDependencies: '@aws-sdk/credential-provider-node': ^3.554.0 dependencies: @@ -2769,11 +2674,8 @@ packages: dev: true /@aws-sdk/config-resolver@3.374.0: - resolution: - { - integrity: sha512-eTSbmpcgZ97o7PuFls8pH1344OS03nfqq1NO9HxxvoYoZ6DFfUO7kqKeNUhP9LxOF7slyHXajDT7eoPclGnTuw==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-eTSbmpcgZ97o7PuFls8pH1344OS03nfqq1NO9HxxvoYoZ6DFfUO7kqKeNUhP9LxOF7slyHXajDT7eoPclGnTuw==} + engines: {node: '>=14.0.0'} deprecated: This package has moved to @smithy/config-resolver dependencies: '@smithy/config-resolver': 1.1.0 @@ -2781,11 +2683,8 @@ packages: dev: true /@aws-sdk/core@3.554.0: - resolution: - { - integrity: sha512-JrG7ToTLeNf+/S3IiCUPVw9jEDB0DXl5ho8n/HwOa946mv+QyCepCuV2U/8f/1KAX0mD8Ufm/E4/cbCbFHgbSg==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-JrG7ToTLeNf+/S3IiCUPVw9jEDB0DXl5ho8n/HwOa946mv+QyCepCuV2U/8f/1KAX0mD8Ufm/E4/cbCbFHgbSg==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/core': 1.4.2 '@smithy/protocol-http': 3.3.0 @@ -2797,11 +2696,8 @@ packages: dev: true /@aws-sdk/credential-provider-cognito-identity@3.554.0: - resolution: - { - integrity: sha512-soF84soy9rTAfzsH1ODP0AnJt5JlsJI8k1aWtC08/Al0CZjLkxDRHzaB1wxubFyT2Ql6bpxbDfU6KDFXsQIpdA==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-soF84soy9rTAfzsH1ODP0AnJt5JlsJI8k1aWtC08/Al0CZjLkxDRHzaB1wxubFyT2Ql6bpxbDfU6KDFXsQIpdA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/client-cognito-identity': 3.554.0 '@aws-sdk/types': 3.535.0 @@ -2813,11 +2709,8 @@ packages: dev: true /@aws-sdk/credential-provider-env@3.535.0: - resolution: - { - integrity: sha512-XppwO8c0GCGSAvdzyJOhbtktSEaShg14VJKg8mpMa1XcgqzmcqqHQjtDWbx5rZheY1VdpXZhpEzJkB6LpQejpA==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-XppwO8c0GCGSAvdzyJOhbtktSEaShg14VJKg8mpMa1XcgqzmcqqHQjtDWbx5rZheY1VdpXZhpEzJkB6LpQejpA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/property-provider': 2.2.0 @@ -2826,11 +2719,8 @@ packages: dev: true /@aws-sdk/credential-provider-http@3.552.0: - resolution: - { - integrity: sha512-vsmu7Cz1i45pFEqzVb4JcFmAmVnWFNLsGheZc8SCptlqCO5voETrZZILHYIl4cjKkSDk3pblBOf0PhyjqWW6WQ==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-vsmu7Cz1i45pFEqzVb4JcFmAmVnWFNLsGheZc8SCptlqCO5voETrZZILHYIl4cjKkSDk3pblBOf0PhyjqWW6WQ==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/fetch-http-handler': 2.5.0 @@ -2844,11 +2734,8 @@ packages: dev: true /@aws-sdk/credential-provider-ini@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: - { - integrity: sha512-BQenhg43S6TMJHxrdjDVdVF+HH5tA1op9ZYLyJrvV5nn7CCO4kyAkkOuSAv1NkL+RZsIkW0/vHTXwQOQw3cUsg==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-BQenhg43S6TMJHxrdjDVdVF+HH5tA1op9ZYLyJrvV5nn7CCO4kyAkkOuSAv1NkL+RZsIkW0/vHTXwQOQw3cUsg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) '@aws-sdk/credential-provider-env': 3.535.0 @@ -2867,11 +2754,8 @@ packages: dev: true /@aws-sdk/credential-provider-node@3.554.0: - resolution: - { - integrity: sha512-poX/+2OE3oxqp4f5MiaJh251p8l+bzcFwgcDBwz0e2rcpvMSYl9jw4AvGnCiG2bmf9yhNJdftBiS1A+KjxV0qA==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-poX/+2OE3oxqp4f5MiaJh251p8l+bzcFwgcDBwz0e2rcpvMSYl9jw4AvGnCiG2bmf9yhNJdftBiS1A+KjxV0qA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/credential-provider-env': 3.535.0 '@aws-sdk/credential-provider-http': 3.552.0 @@ -2890,11 +2774,8 @@ packages: dev: true /@aws-sdk/credential-provider-process@3.535.0: - resolution: - { - integrity: sha512-9O1OaprGCnlb/kYl8RwmH7Mlg8JREZctB8r9sa1KhSsWFq/SWO0AuJTyowxD7zL5PkeS4eTvzFFHWCa3OO5epA==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-9O1OaprGCnlb/kYl8RwmH7Mlg8JREZctB8r9sa1KhSsWFq/SWO0AuJTyowxD7zL5PkeS4eTvzFFHWCa3OO5epA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/property-provider': 2.2.0 @@ -2904,11 +2785,8 @@ packages: dev: true /@aws-sdk/credential-provider-sso@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: - { - integrity: sha512-8QPpwBA31i/fZ7lDZJC4FA9EdxLg5SJ8sPB2qLSjp5UTGTYL2HRl0Eznkb7DXyp/wImsR/HFR1NxuFCCVotLCg==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-8QPpwBA31i/fZ7lDZJC4FA9EdxLg5SJ8sPB2qLSjp5UTGTYL2HRl0Eznkb7DXyp/wImsR/HFR1NxuFCCVotLCg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/client-sso': 3.554.0 '@aws-sdk/token-providers': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) @@ -2923,11 +2801,8 @@ packages: dev: true /@aws-sdk/credential-provider-web-identity@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: - { - integrity: sha512-HN54DzLjepw5ZWSF9ycGevhFTyg6pjLuLKy5Y8t/f1jFDComzYdGEDe0cdV9YO653W3+PQwZZGz09YVygGYBLg==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-HN54DzLjepw5ZWSF9ycGevhFTyg6pjLuLKy5Y8t/f1jFDComzYdGEDe0cdV9YO653W3+PQwZZGz09YVygGYBLg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) '@aws-sdk/types': 3.535.0 @@ -2940,11 +2815,8 @@ packages: dev: true /@aws-sdk/credential-providers@3.554.0: - resolution: - { - integrity: sha512-UMmJ4M7RknSz1p0981t57QUw6DibPEo/GG8+env6Q8dHrEc3pnRL206f1zxLcqzT5RI50XstH/bDtnyC7uRYiw==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-UMmJ4M7RknSz1p0981t57QUw6DibPEo/GG8+env6Q8dHrEc3pnRL206f1zxLcqzT5RI50XstH/bDtnyC7uRYiw==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/client-cognito-identity': 3.554.0 '@aws-sdk/client-sso': 3.554.0 @@ -2967,11 +2839,8 @@ packages: dev: true /@aws-sdk/middleware-bucket-endpoint@3.535.0: - resolution: - { - integrity: sha512-7sijlfQsc4UO9Fsl11mU26Y5f9E7g6UoNg/iJUBpC5pgvvmdBRO5UEhbB/gnqvOEPsBXyhmfzbstebq23Qdz7A==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-7sijlfQsc4UO9Fsl11mU26Y5f9E7g6UoNg/iJUBpC5pgvvmdBRO5UEhbB/gnqvOEPsBXyhmfzbstebq23Qdz7A==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@aws-sdk/util-arn-parser': 3.535.0 @@ -2983,11 +2852,8 @@ packages: dev: true /@aws-sdk/middleware-expect-continue@3.535.0: - resolution: - { - integrity: sha512-hFKyqUBky0NWCVku8iZ9+PACehx0p6vuMw5YnZf8FVgHP0fode0b/NwQY6UY7oor/GftvRsAlRUAWGNFEGUpwA==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-hFKyqUBky0NWCVku8iZ9+PACehx0p6vuMw5YnZf8FVgHP0fode0b/NwQY6UY7oor/GftvRsAlRUAWGNFEGUpwA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/protocol-http': 3.3.0 @@ -2996,11 +2862,8 @@ packages: dev: true /@aws-sdk/middleware-flexible-checksums@3.535.0: - resolution: - { - integrity: sha512-rBIzldY9jjRATxICDX7t77aW6ctqmVDgnuAOgbVT5xgHftt4o7PGWKoMvl/45hYqoQgxVFnCBof9bxkqSBebVA==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-rBIzldY9jjRATxICDX7t77aW6ctqmVDgnuAOgbVT5xgHftt4o7PGWKoMvl/45hYqoQgxVFnCBof9bxkqSBebVA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/crc32': 3.0.0 '@aws-crypto/crc32c': 3.0.0 @@ -3013,11 +2876,8 @@ packages: dev: true /@aws-sdk/middleware-host-header@3.535.0: - resolution: - { - integrity: sha512-0h6TWjBWtDaYwHMQJI9ulafeS4lLaw1vIxRjbpH0svFRt6Eve+Sy8NlVhECfTU2hNz/fLubvrUxsXoThaLBIew==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-0h6TWjBWtDaYwHMQJI9ulafeS4lLaw1vIxRjbpH0svFRt6Eve+Sy8NlVhECfTU2hNz/fLubvrUxsXoThaLBIew==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/protocol-http': 3.3.0 @@ -3026,11 +2886,8 @@ packages: dev: true /@aws-sdk/middleware-location-constraint@3.535.0: - resolution: - { - integrity: sha512-SxfS9wfidUZZ+WnlKRTCRn3h+XTsymXRXPJj8VV6hNRNeOwzNweoG3YhQbTowuuNfXf89m9v6meYkBBtkdacKw==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-SxfS9wfidUZZ+WnlKRTCRn3h+XTsymXRXPJj8VV6hNRNeOwzNweoG3YhQbTowuuNfXf89m9v6meYkBBtkdacKw==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -3038,11 +2895,8 @@ packages: dev: true /@aws-sdk/middleware-logger@3.535.0: - resolution: - { - integrity: sha512-huNHpONOrEDrdRTvSQr1cJiRMNf0S52NDXtaPzdxiubTkP+vni2MohmZANMOai/qT0olmEVX01LhZ0ZAOgmg6A==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-huNHpONOrEDrdRTvSQr1cJiRMNf0S52NDXtaPzdxiubTkP+vni2MohmZANMOai/qT0olmEVX01LhZ0ZAOgmg6A==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -3050,11 +2904,8 @@ packages: dev: true /@aws-sdk/middleware-recursion-detection@3.535.0: - resolution: - { - integrity: sha512-am2qgGs+gwqmR4wHLWpzlZ8PWhm4ktj5bYSgDrsOfjhdBlWNxvPoID9/pDAz5RWL48+oH7I6SQzMqxXsFDikrw==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-am2qgGs+gwqmR4wHLWpzlZ8PWhm4ktj5bYSgDrsOfjhdBlWNxvPoID9/pDAz5RWL48+oH7I6SQzMqxXsFDikrw==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/protocol-http': 3.3.0 @@ -3063,11 +2914,8 @@ packages: dev: true /@aws-sdk/middleware-retry@3.374.0: - resolution: - { - integrity: sha512-ZnT84qnT+Zmelv7y6hAqgAEaZgpGlrvf/+rchNWT0oG4duxI5bLWcRi9U88Jz7G8JgNQcGKJqPfC6oogCd7p8w==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-ZnT84qnT+Zmelv7y6hAqgAEaZgpGlrvf/+rchNWT0oG4duxI5bLWcRi9U88Jz7G8JgNQcGKJqPfC6oogCd7p8w==} + engines: {node: '>=14.0.0'} deprecated: This package has moved to @smithy/middleware-retry dependencies: '@smithy/middleware-retry': 1.1.0 @@ -3076,11 +2924,8 @@ packages: dev: true /@aws-sdk/middleware-sdk-s3@3.552.0: - resolution: - { - integrity: sha512-9KzOqsbwJJuQcpmrpkkIftjPahB1bsrcWalYzcVqKCgHCylhkSHW2tX+uGHRnvAl9iobQD5D7LUrS+cv0NeQ/Q==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-9KzOqsbwJJuQcpmrpkkIftjPahB1bsrcWalYzcVqKCgHCylhkSHW2tX+uGHRnvAl9iobQD5D7LUrS+cv0NeQ/Q==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@aws-sdk/util-arn-parser': 3.535.0 @@ -3094,11 +2939,8 @@ packages: dev: true /@aws-sdk/middleware-signing@3.552.0: - resolution: - { - integrity: sha512-ZjOrlEmwjhbmkINa4Zx9LJh+xb/kgEiUrcfud2kq/r8ath1Nv1/4zalI9jHnou1J+R+yS+FQlXLXHSZ7vqyFbA==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-ZjOrlEmwjhbmkINa4Zx9LJh+xb/kgEiUrcfud2kq/r8ath1Nv1/4zalI9jHnou1J+R+yS+FQlXLXHSZ7vqyFbA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/property-provider': 2.2.0 @@ -3110,11 +2952,8 @@ packages: dev: true /@aws-sdk/middleware-ssec@3.537.0: - resolution: - { - integrity: sha512-2QWMrbwd5eBy5KCYn9a15JEWBgrK2qFEKQN2lqb/6z0bhtevIOxIRfC99tzvRuPt6nixFQ+ynKuBjcfT4ZFrdQ==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-2QWMrbwd5eBy5KCYn9a15JEWBgrK2qFEKQN2lqb/6z0bhtevIOxIRfC99tzvRuPt6nixFQ+ynKuBjcfT4ZFrdQ==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -3122,11 +2961,8 @@ packages: dev: true /@aws-sdk/middleware-user-agent@3.540.0: - resolution: - { - integrity: sha512-8Rd6wPeXDnOYzWj1XCmOKcx/Q87L0K1/EHqOBocGjLVbN3gmRxBvpmR1pRTjf7IsWfnnzN5btqtcAkfDPYQUMQ==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-8Rd6wPeXDnOYzWj1XCmOKcx/Q87L0K1/EHqOBocGjLVbN3gmRxBvpmR1pRTjf7IsWfnnzN5btqtcAkfDPYQUMQ==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@aws-sdk/util-endpoints': 3.540.0 @@ -3136,11 +2972,8 @@ packages: dev: true /@aws-sdk/region-config-resolver@3.535.0: - resolution: - { - integrity: sha512-IXOznDiaItBjsQy4Fil0kzX/J3HxIOknEphqHbOfUf+LpA5ugcsxuQQONrbEQusCBnfJyymrldBvBhFmtlU9Wg==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-IXOznDiaItBjsQy4Fil0kzX/J3HxIOknEphqHbOfUf+LpA5ugcsxuQQONrbEQusCBnfJyymrldBvBhFmtlU9Wg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/node-config-provider': 2.3.0 @@ -3151,11 +2984,8 @@ packages: dev: true /@aws-sdk/signature-v4-crt@3.552.0: - resolution: - { - integrity: sha512-5Dy4E2RtHw3hFCx5L+OsRN2n1OW3yoX06xDPqJ5xe38Pd9H8ZPYxiCEOdyw/TIJUwRjDMgsa2uPKyM/Nwr9cMg==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-5Dy4E2RtHw3hFCx5L+OsRN2n1OW3yoX06xDPqJ5xe38Pd9H8ZPYxiCEOdyw/TIJUwRjDMgsa2uPKyM/Nwr9cMg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/signature-v4-multi-region': 3.552.0 '@aws-sdk/types': 3.535.0 @@ -3174,11 +3004,8 @@ packages: dev: true /@aws-sdk/signature-v4-multi-region@3.552.0: - resolution: - { - integrity: sha512-cC11/5ahp+LaBCq7cR+51AM2ftf6m9diRd2oWkbEpjSiEKQzZRAltUPZAJM6NXGypmDODQDJphLGt45tvS+8kg==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-cC11/5ahp+LaBCq7cR+51AM2ftf6m9diRd2oWkbEpjSiEKQzZRAltUPZAJM6NXGypmDODQDJphLGt45tvS+8kg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/middleware-sdk-s3': 3.552.0 '@aws-sdk/types': 3.535.0 @@ -3189,11 +3016,8 @@ packages: dev: true /@aws-sdk/smithy-client@3.374.0: - resolution: - { - integrity: sha512-YQBdO/Nv5EXBg/qfMF4GgYYLNN3Y/06MyuVBYILC1TKAnMoLy2FV0VOYyediagepAcWPdJqyUq4MCNNBy0CPRg==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-YQBdO/Nv5EXBg/qfMF4GgYYLNN3Y/06MyuVBYILC1TKAnMoLy2FV0VOYyediagepAcWPdJqyUq4MCNNBy0CPRg==} + engines: {node: '>=14.0.0'} deprecated: This package has moved to @smithy/smithy-client dependencies: '@smithy/smithy-client': 1.1.0 @@ -3201,11 +3025,8 @@ packages: dev: true /@aws-sdk/token-providers@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: - { - integrity: sha512-KMMQ5Cw0FUPL9H8g69Lp08xtzRo7r/MK+lBV6LznWBbCP/NwtZ8awVHaPy2P31z00cWtu9MYkUTviWPqJTaBvg==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-KMMQ5Cw0FUPL9H8g69Lp08xtzRo7r/MK+lBV6LznWBbCP/NwtZ8awVHaPy2P31z00cWtu9MYkUTviWPqJTaBvg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/client-sso-oidc': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) '@aws-sdk/types': 3.535.0 @@ -3219,31 +3040,22 @@ packages: dev: true /@aws-sdk/types@3.535.0: - resolution: - { - integrity: sha512-aY4MYfduNj+sRR37U7XxYR8wemfbKP6lx00ze2M2uubn7mZotuVrWYAafbMSXrdEMSToE5JDhr28vArSOoLcSg==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-aY4MYfduNj+sRR37U7XxYR8wemfbKP6lx00ze2M2uubn7mZotuVrWYAafbMSXrdEMSToE5JDhr28vArSOoLcSg==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 /@aws-sdk/util-arn-parser@3.535.0: - resolution: - { - integrity: sha512-smVo29nUPAOprp8Z5Y3GHuhiOtw6c8/EtLCm5AVMtRsTPw4V414ZXL2H66tzmb5kEeSzQlbfBSBEdIFZoxO9kg==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-smVo29nUPAOprp8Z5Y3GHuhiOtw6c8/EtLCm5AVMtRsTPw4V414ZXL2H66tzmb5kEeSzQlbfBSBEdIFZoxO9kg==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@aws-sdk/util-endpoints@3.540.0: - resolution: - { - integrity: sha512-1kMyQFAWx6f8alaI6UT65/5YW/7pDWAKAdNwL6vuJLea03KrZRX3PMoONOSJpAS5m3Ot7HlWZvf3wZDNTLELZw==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-1kMyQFAWx6f8alaI6UT65/5YW/7pDWAKAdNwL6vuJLea03KrZRX3PMoONOSJpAS5m3Ot7HlWZvf3wZDNTLELZw==} + engines: {node: '>=14.0.0'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -3252,20 +3064,14 @@ packages: dev: true /@aws-sdk/util-locate-window@3.535.0: - resolution: - { - integrity: sha512-PHJ3SL6d2jpcgbqdgiPxkXpu7Drc2PYViwxSIqvvMKhDwzSB1W3mMvtpzwKM4IE7zLFodZo0GKjJ9AsoXndXhA==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-PHJ3SL6d2jpcgbqdgiPxkXpu7Drc2PYViwxSIqvvMKhDwzSB1W3mMvtpzwKM4IE7zLFodZo0GKjJ9AsoXndXhA==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@aws-sdk/util-user-agent-browser@3.535.0: - resolution: - { - integrity: sha512-RWMcF/xV5n+nhaA/Ff5P3yNP3Kur/I+VNZngog4TEs92oB/nwOdAg/2JL8bVAhUbMrjTjpwm7PItziYFQoqyig==, - } + resolution: {integrity: sha512-RWMcF/xV5n+nhaA/Ff5P3yNP3Kur/I+VNZngog4TEs92oB/nwOdAg/2JL8bVAhUbMrjTjpwm7PItziYFQoqyig==} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 @@ -3274,11 +3080,8 @@ packages: dev: true /@aws-sdk/util-user-agent-node@3.535.0(aws-crt@1.21.2): - resolution: - { - integrity: sha512-dRek0zUuIT25wOWJlsRm97nTkUlh1NDcLsQZIN2Y8KxhwoXXWtJs5vaDPT+qAg+OpcNj80i1zLR/CirqlFg/TQ==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-dRek0zUuIT25wOWJlsRm97nTkUlh1NDcLsQZIN2Y8KxhwoXXWtJs5vaDPT+qAg+OpcNj80i1zLR/CirqlFg/TQ==} + engines: {node: '>=14.0.0'} peerDependencies: aws-crt: '>=1.0.0' peerDependenciesMeta: @@ -3293,50 +3096,35 @@ packages: dev: true /@aws-sdk/util-utf8-browser@3.259.0: - resolution: - { - integrity: sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==, - } + resolution: {integrity: sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==} dependencies: tslib: 2.6.2 dev: true /@aws-sdk/xml-builder@3.535.0: - resolution: - { - integrity: sha512-VXAq/Jz8KIrU84+HqsOJhIKZqG0PNTdi6n6PFQ4xJf44ZQHD/5C7ouH4qCFX5XgZXcgbRIcMVVYGC6Jye0dRng==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-VXAq/Jz8KIrU84+HqsOJhIKZqG0PNTdi6n6PFQ4xJf44ZQHD/5C7ouH4qCFX5XgZXcgbRIcMVVYGC6Jye0dRng==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@babel/code-frame@7.24.2: - resolution: - { - integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} + engines: {node: '>=6.9.0'} dependencies: '@babel/highlight': 7.24.2 picocolors: 1.0.0 dev: true /@babel/compat-data@7.24.4: - resolution: - { - integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==} + engines: {node: '>=6.9.0'} dev: true /@babel/core@7.24.4: - resolution: - { - integrity: sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==} + engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.24.2 @@ -3358,11 +3146,8 @@ packages: dev: true /@babel/eslint-parser@7.24.1(@babel/core@7.24.4)(eslint@8.57.0): - resolution: - { - integrity: sha512-d5guuzMlPeDfZIbpQ8+g1NaCNuAGBBGNECh0HVqz1sjOeVLh2CEaifuOysCH18URW6R7pqXINvf5PaR/dC6jLQ==, - } - engines: { node: ^10.13.0 || ^12.13.0 || >=14.0.0 } + resolution: {integrity: sha512-d5guuzMlPeDfZIbpQ8+g1NaCNuAGBBGNECh0HVqz1sjOeVLh2CEaifuOysCH18URW6R7pqXINvf5PaR/dC6jLQ==} + engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} peerDependencies: '@babel/core': ^7.11.0 eslint: ^7.5.0 || ^8.0.0 @@ -3375,11 +3160,8 @@ packages: dev: true /@babel/generator@7.24.4: - resolution: - { - integrity: sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 '@jridgewell/gen-mapping': 0.3.5 @@ -3388,21 +3170,15 @@ packages: dev: true /@babel/helper-annotate-as-pure@7.22.5: - resolution: - { - integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-compilation-targets@7.23.6: - resolution: - { - integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} + engines: {node: '>=6.9.0'} dependencies: '@babel/compat-data': 7.24.4 '@babel/helper-validator-option': 7.23.5 @@ -3412,11 +3188,8 @@ packages: dev: true /@babel/helper-create-class-features-plugin@7.24.4(@babel/core@7.24.4): - resolution: - { - integrity: sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -3433,60 +3206,42 @@ packages: dev: true /@babel/helper-environment-visitor@7.22.20: - resolution: - { - integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} + engines: {node: '>=6.9.0'} dev: true /@babel/helper-function-name@7.23.0: - resolution: - { - integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.24.0 '@babel/types': 7.24.0 dev: true /@babel/helper-hoist-variables@7.22.5: - resolution: - { - integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-member-expression-to-functions@7.23.0: - resolution: - { - integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-module-imports@7.24.3: - resolution: - { - integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.4): - resolution: - { - integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -3499,29 +3254,20 @@ packages: dev: true /@babel/helper-optimise-call-expression@7.22.5: - resolution: - { - integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-plugin-utils@7.24.0: - resolution: - { - integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==} + engines: {node: '>=6.9.0'} dev: true /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.4): - resolution: - { - integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -3532,65 +3278,44 @@ packages: dev: true /@babel/helper-simple-access@7.22.5: - resolution: - { - integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-skip-transparent-expression-wrappers@7.22.5: - resolution: - { - integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-split-export-declaration@7.22.6: - resolution: - { - integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.24.0 dev: true /@babel/helper-string-parser@7.24.1: - resolution: - { - integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==} + engines: {node: '>=6.9.0'} dev: true /@babel/helper-validator-identifier@7.22.20: - resolution: - { - integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} dev: true /@babel/helper-validator-option@7.23.5: - resolution: - { - integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} + engines: {node: '>=6.9.0'} dev: true /@babel/helpers@7.24.4: - resolution: - { - integrity: sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==} + engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.24.0 '@babel/traverse': 7.24.1 @@ -3600,11 +3325,8 @@ packages: dev: true /@babel/highlight@7.24.2: - resolution: - { - integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} + engines: {node: '>=6.9.0'} dependencies: '@babel/helper-validator-identifier': 7.22.20 chalk: 2.4.2 @@ -3613,25 +3335,17 @@ packages: dev: true /@babel/parser@7.24.4: - resolution: - { - integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==, - } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==} + engines: {node: '>=6.0.0'} hasBin: true dependencies: '@babel/types': 7.24.0 dev: true /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.24.4): - resolution: - { - integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==, - } - engines: { node: '>=6.9.0' } - deprecated: - This proposal has been merged to the ECMAScript standard and thus this plugin is no longer - maintained. Please use @babel/plugin-transform-class-properties instead. + resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3641,14 +3355,9 @@ packages: dev: true /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.24.4): - resolution: - { - integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==, - } - engines: { node: '>=6.9.0' } - deprecated: - This proposal has been merged to the ECMAScript standard and thus this plugin is no longer - maintained. Please use @babel/plugin-transform-object-rest-spread instead. + resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3661,10 +3370,7 @@ packages: dev: true /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.4): - resolution: - { - integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==, - } + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3673,10 +3379,7 @@ packages: dev: true /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.4): - resolution: - { - integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==, - } + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3685,10 +3388,7 @@ packages: dev: true /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.4): - resolution: - { - integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==, - } + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3697,11 +3397,8 @@ packages: dev: true /@babel/plugin-syntax-flow@7.24.1(@babel/core@7.24.4): - resolution: - { - integrity: sha512-sxi2kLTI5DeW5vDtMUsk4mTPwvlUDbjOnoWayhynCwrw4QXRld4QEYwqzY8JmQXaJUtgUuCIurtSRH5sn4c7mA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-sxi2kLTI5DeW5vDtMUsk4mTPwvlUDbjOnoWayhynCwrw4QXRld4QEYwqzY8JmQXaJUtgUuCIurtSRH5sn4c7mA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3710,11 +3407,8 @@ packages: dev: true /@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.4): - resolution: - { - integrity: sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3723,10 +3417,7 @@ packages: dev: true /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.4): - resolution: - { - integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==, - } + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3735,10 +3426,7 @@ packages: dev: true /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.4): - resolution: - { - integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==, - } + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3747,11 +3435,8 @@ packages: dev: true /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.4): - resolution: - { - integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3760,10 +3445,7 @@ packages: dev: true /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.4): - resolution: - { - integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==, - } + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3772,10 +3454,7 @@ packages: dev: true /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.4): - resolution: - { - integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==, - } + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3784,10 +3463,7 @@ packages: dev: true /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.4): - resolution: - { - integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==, - } + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3796,10 +3472,7 @@ packages: dev: true /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.4): - resolution: - { - integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==, - } + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3808,10 +3481,7 @@ packages: dev: true /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.4): - resolution: - { - integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==, - } + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3820,10 +3490,7 @@ packages: dev: true /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.4): - resolution: - { - integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==, - } + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3832,11 +3499,8 @@ packages: dev: true /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.4): - resolution: - { - integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3845,11 +3509,8 @@ packages: dev: true /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.4): - resolution: - { - integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3858,11 +3519,8 @@ packages: dev: true /@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.4): - resolution: - { - integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3871,11 +3529,8 @@ packages: dev: true /@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.4): - resolution: - { - integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3884,11 +3539,8 @@ packages: dev: true /@babel/plugin-transform-block-scoping@7.24.4(@babel/core@7.24.4): - resolution: - { - integrity: sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3897,11 +3549,8 @@ packages: dev: true /@babel/plugin-transform-classes@7.24.1(@babel/core@7.24.4): - resolution: - { - integrity: sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3917,11 +3566,8 @@ packages: dev: true /@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.4): - resolution: - { - integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3931,11 +3577,8 @@ packages: dev: true /@babel/plugin-transform-destructuring@7.24.1(@babel/core@7.24.4): - resolution: - { - integrity: sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3944,11 +3587,8 @@ packages: dev: true /@babel/plugin-transform-flow-strip-types@7.24.1(@babel/core@7.24.4): - resolution: - { - integrity: sha512-iIYPIWt3dUmUKKE10s3W+jsQ3icFkw0JyRVyY1B7G4yK/nngAOHLVx8xlhA6b/Jzl/Y0nis8gjqhqKtRDQqHWQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-iIYPIWt3dUmUKKE10s3W+jsQ3icFkw0JyRVyY1B7G4yK/nngAOHLVx8xlhA6b/Jzl/Y0nis8gjqhqKtRDQqHWQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3958,11 +3598,8 @@ packages: dev: true /@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.4): - resolution: - { - integrity: sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3972,11 +3609,8 @@ packages: dev: true /@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.4): - resolution: - { - integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -3987,11 +3621,8 @@ packages: dev: true /@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.4): - resolution: - { - integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -4000,11 +3631,8 @@ packages: dev: true /@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.4): - resolution: - { - integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -4013,11 +3641,8 @@ packages: dev: true /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.4): - resolution: - { - integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -4028,11 +3653,8 @@ packages: dev: true /@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.4): - resolution: - { - integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -4042,11 +3664,8 @@ packages: dev: true /@babel/plugin-transform-parameters@7.24.1(@babel/core@7.24.4): - resolution: - { - integrity: sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -4055,11 +3674,8 @@ packages: dev: true /@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.4): - resolution: - { - integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -4068,11 +3684,8 @@ packages: dev: true /@babel/plugin-transform-react-display-name@7.24.1(@babel/core@7.24.4): - resolution: - { - integrity: sha512-mvoQg2f9p2qlpDQRBC7M3c3XTr0k7cp/0+kFKKO/7Gtu0LSw16eKB+Fabe2bDT/UpsyasTBBkAnbdsLrkD5XMw==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-mvoQg2f9p2qlpDQRBC7M3c3XTr0k7cp/0+kFKKO/7Gtu0LSw16eKB+Fabe2bDT/UpsyasTBBkAnbdsLrkD5XMw==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -4081,11 +3694,8 @@ packages: dev: true /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.4): - resolution: - { - integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -4098,11 +3708,8 @@ packages: dev: true /@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.4): - resolution: - { - integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -4111,11 +3718,8 @@ packages: dev: true /@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.4): - resolution: - { - integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -4125,11 +3729,8 @@ packages: dev: true /@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.4): - resolution: - { - integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==} + engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: @@ -4138,21 +3739,15 @@ packages: dev: true /@babel/runtime@7.24.4: - resolution: - { - integrity: sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==} + engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.14.1 dev: true /@babel/template@7.24.0: - resolution: - { - integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} + engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.24.2 '@babel/parser': 7.24.4 @@ -4160,11 +3755,8 @@ packages: dev: true /@babel/traverse@7.24.1: - resolution: - { - integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==} + engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.24.2 '@babel/generator': 7.24.4 @@ -4181,11 +3773,8 @@ packages: dev: true /@babel/types@7.24.0: - resolution: - { - integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} + engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.24.1 '@babel/helper-validator-identifier': 7.22.20 @@ -4193,64 +3782,43 @@ packages: dev: true /@bcoe/v8-coverage@0.2.3: - resolution: - { - integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==, - } + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} dev: true /@cdklabs/tskb@0.0.3: - resolution: - { - integrity: sha512-JR+MuD4awAXvutu7HArephXfZm09GPTaSAQUqNcJB5+ZENRm4kV+L6vJL6Tn1xHjCcHksO+HAqj3gYtm5K94vA==, - } + resolution: {integrity: sha512-JR+MuD4awAXvutu7HArephXfZm09GPTaSAQUqNcJB5+ZENRm4kV+L6vJL6Tn1xHjCcHksO+HAqj3gYtm5K94vA==} dev: true /@cspotcode/source-map-support@0.8.1: - resolution: - { - integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} dependencies: '@jridgewell/trace-mapping': 0.3.9 dev: true /@dependents/detective-less@4.1.0: - resolution: - { - integrity: sha512-KrkT6qO5NxqNfy68sBl6CTSoJ4SNDIS5iQArkibhlbGU4LaDukZ3q2HIkh8aUKDio6o4itU4xDR7t82Y2eP1Bg==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-KrkT6qO5NxqNfy68sBl6CTSoJ4SNDIS5iQArkibhlbGU4LaDukZ3q2HIkh8aUKDio6o4itU4xDR7t82Y2eP1Bg==} + engines: {node: '>=14'} dependencies: gonzales-pe: 4.3.0 node-source-walk: 6.0.2 dev: true /@envelop/core@3.0.6: - resolution: - { - integrity: sha512-06t1xCPXq6QFN7W1JUEf68aCwYN0OUDNAIoJe7bAqhaoa2vn7NCcuX1VHkJ/OWpmElUgCsRO6RiBbIru1in0Ig==, - } + resolution: {integrity: sha512-06t1xCPXq6QFN7W1JUEf68aCwYN0OUDNAIoJe7bAqhaoa2vn7NCcuX1VHkJ/OWpmElUgCsRO6RiBbIru1in0Ig==} dependencies: '@envelop/types': 3.0.2 tslib: 2.6.2 dev: true /@envelop/types@3.0.2: - resolution: - { - integrity: sha512-pOFea9ha0EkURWxJ/35axoH9fDGP5S2cUu/5Mmo9pb8zUf+TaEot8vB670XXihFEn/92759BMjLJNWBKmNhyng==, - } + resolution: {integrity: sha512-pOFea9ha0EkURWxJ/35axoH9fDGP5S2cUu/5Mmo9pb8zUf+TaEot8vB670XXihFEn/92759BMjLJNWBKmNhyng==} dependencies: tslib: 2.6.2 dev: true /@envelop/validation-cache@5.1.3(@envelop/core@3.0.6)(graphql@16.8.1): - resolution: - { - integrity: sha512-MkzcScQHJJQ/9YCAPdWShEi3xZv4F4neTs+NszzSrZOdlU8z/THuRt7gZ0sO0y2be+sx+SKjHQP8Gq3VXXcTTg==, - } + resolution: {integrity: sha512-MkzcScQHJJQ/9YCAPdWShEi3xZv4F4neTs+NszzSrZOdlU8z/THuRt7gZ0sO0y2be+sx+SKjHQP8Gq3VXXcTTg==} peerDependencies: '@envelop/core': ^3.0.6 graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 @@ -4263,11 +3831,8 @@ packages: dev: true /@esbuild/aix-ppc64@0.19.12: - resolution: - { - integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} + engines: {node: '>=12'} cpu: [ppc64] os: [aix] requiresBuild: true @@ -4275,11 +3840,8 @@ packages: optional: true /@esbuild/aix-ppc64@0.20.2: - resolution: - { - integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} + engines: {node: '>=12'} cpu: [ppc64] os: [aix] requiresBuild: true @@ -4287,11 +3849,8 @@ packages: optional: true /@esbuild/android-arm64@0.18.13: - resolution: - { - integrity: sha512-j7NhycJUoUAG5kAzGf4fPWfd17N6SM3o1X6MlXVqfHvs2buFraCJzos9vbeWjLxOyBKHyPOnuCuipbhvbYtTAg==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-j7NhycJUoUAG5kAzGf4fPWfd17N6SM3o1X6MlXVqfHvs2buFraCJzos9vbeWjLxOyBKHyPOnuCuipbhvbYtTAg==} + engines: {node: '>=12'} cpu: [arm64] os: [android] requiresBuild: true @@ -4299,11 +3858,8 @@ packages: optional: true /@esbuild/android-arm64@0.19.12: - resolution: - { - integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} + engines: {node: '>=12'} cpu: [arm64] os: [android] requiresBuild: true @@ -4311,11 +3867,8 @@ packages: optional: true /@esbuild/android-arm64@0.20.2: - resolution: - { - integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} + engines: {node: '>=12'} cpu: [arm64] os: [android] requiresBuild: true @@ -4323,11 +3876,8 @@ packages: optional: true /@esbuild/android-arm@0.18.13: - resolution: - { - integrity: sha512-KwqFhxRFMKZINHzCqf8eKxE0XqWlAVPRxwy6rc7CbVFxzUWB2sA/s3hbMZeemPdhN3fKBkqOaFhTbS8xJXYIWQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-KwqFhxRFMKZINHzCqf8eKxE0XqWlAVPRxwy6rc7CbVFxzUWB2sA/s3hbMZeemPdhN3fKBkqOaFhTbS8xJXYIWQ==} + engines: {node: '>=12'} cpu: [arm] os: [android] requiresBuild: true @@ -4335,11 +3885,8 @@ packages: optional: true /@esbuild/android-arm@0.19.12: - resolution: - { - integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} + engines: {node: '>=12'} cpu: [arm] os: [android] requiresBuild: true @@ -4347,11 +3894,8 @@ packages: optional: true /@esbuild/android-arm@0.20.2: - resolution: - { - integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} + engines: {node: '>=12'} cpu: [arm] os: [android] requiresBuild: true @@ -4359,11 +3903,8 @@ packages: optional: true /@esbuild/android-x64@0.18.13: - resolution: - { - integrity: sha512-M2eZkRxR6WnWfVELHmv6MUoHbOqnzoTVSIxgtsyhm/NsgmL+uTmag/VVzdXvmahak1I6sOb1K/2movco5ikDJg==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-M2eZkRxR6WnWfVELHmv6MUoHbOqnzoTVSIxgtsyhm/NsgmL+uTmag/VVzdXvmahak1I6sOb1K/2movco5ikDJg==} + engines: {node: '>=12'} cpu: [x64] os: [android] requiresBuild: true @@ -4371,11 +3912,8 @@ packages: optional: true /@esbuild/android-x64@0.19.12: - resolution: - { - integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} + engines: {node: '>=12'} cpu: [x64] os: [android] requiresBuild: true @@ -4383,11 +3921,8 @@ packages: optional: true /@esbuild/android-x64@0.20.2: - resolution: - { - integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} + engines: {node: '>=12'} cpu: [x64] os: [android] requiresBuild: true @@ -4395,11 +3930,8 @@ packages: optional: true /@esbuild/darwin-arm64@0.18.13: - resolution: - { - integrity: sha512-f5goG30YgR1GU+fxtaBRdSW3SBG9pZW834Mmhxa6terzcboz7P2R0k4lDxlkP7NYRIIdBbWp+VgwQbmMH4yV7w==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-f5goG30YgR1GU+fxtaBRdSW3SBG9pZW834Mmhxa6terzcboz7P2R0k4lDxlkP7NYRIIdBbWp+VgwQbmMH4yV7w==} + engines: {node: '>=12'} cpu: [arm64] os: [darwin] requiresBuild: true @@ -4407,11 +3939,8 @@ packages: optional: true /@esbuild/darwin-arm64@0.19.12: - resolution: - { - integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} + engines: {node: '>=12'} cpu: [arm64] os: [darwin] requiresBuild: true @@ -4419,11 +3948,8 @@ packages: optional: true /@esbuild/darwin-arm64@0.20.2: - resolution: - { - integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} + engines: {node: '>=12'} cpu: [arm64] os: [darwin] requiresBuild: true @@ -4431,11 +3957,8 @@ packages: optional: true /@esbuild/darwin-x64@0.18.13: - resolution: - { - integrity: sha512-RIrxoKH5Eo+yE5BtaAIMZaiKutPhZjw+j0OCh8WdvKEKJQteacq0myZvBDLU+hOzQOZWJeDnuQ2xgSScKf1Ovw==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-RIrxoKH5Eo+yE5BtaAIMZaiKutPhZjw+j0OCh8WdvKEKJQteacq0myZvBDLU+hOzQOZWJeDnuQ2xgSScKf1Ovw==} + engines: {node: '>=12'} cpu: [x64] os: [darwin] requiresBuild: true @@ -4443,11 +3966,8 @@ packages: optional: true /@esbuild/darwin-x64@0.19.12: - resolution: - { - integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} + engines: {node: '>=12'} cpu: [x64] os: [darwin] requiresBuild: true @@ -4455,11 +3975,8 @@ packages: optional: true /@esbuild/darwin-x64@0.20.2: - resolution: - { - integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} + engines: {node: '>=12'} cpu: [x64] os: [darwin] requiresBuild: true @@ -4467,11 +3984,8 @@ packages: optional: true /@esbuild/freebsd-arm64@0.18.13: - resolution: - { - integrity: sha512-AfRPhHWmj9jGyLgW/2FkYERKmYR+IjYxf2rtSLmhOrPGFh0KCETFzSjx/JX/HJnvIqHt/DRQD/KAaVsUKoI3Xg==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-AfRPhHWmj9jGyLgW/2FkYERKmYR+IjYxf2rtSLmhOrPGFh0KCETFzSjx/JX/HJnvIqHt/DRQD/KAaVsUKoI3Xg==} + engines: {node: '>=12'} cpu: [arm64] os: [freebsd] requiresBuild: true @@ -4479,11 +3993,8 @@ packages: optional: true /@esbuild/freebsd-arm64@0.19.12: - resolution: - { - integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} + engines: {node: '>=12'} cpu: [arm64] os: [freebsd] requiresBuild: true @@ -4491,11 +4002,8 @@ packages: optional: true /@esbuild/freebsd-arm64@0.20.2: - resolution: - { - integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} + engines: {node: '>=12'} cpu: [arm64] os: [freebsd] requiresBuild: true @@ -4503,11 +4011,8 @@ packages: optional: true /@esbuild/freebsd-x64@0.18.13: - resolution: - { - integrity: sha512-pGzWWZJBInhIgdEwzn8VHUBang8UvFKsvjDkeJ2oyY5gZtAM6BaxK0QLCuZY+qoj/nx/lIaItH425rm/hloETA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-pGzWWZJBInhIgdEwzn8VHUBang8UvFKsvjDkeJ2oyY5gZtAM6BaxK0QLCuZY+qoj/nx/lIaItH425rm/hloETA==} + engines: {node: '>=12'} cpu: [x64] os: [freebsd] requiresBuild: true @@ -4515,11 +4020,8 @@ packages: optional: true /@esbuild/freebsd-x64@0.19.12: - resolution: - { - integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} + engines: {node: '>=12'} cpu: [x64] os: [freebsd] requiresBuild: true @@ -4527,11 +4029,8 @@ packages: optional: true /@esbuild/freebsd-x64@0.20.2: - resolution: - { - integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} + engines: {node: '>=12'} cpu: [x64] os: [freebsd] requiresBuild: true @@ -4539,11 +4038,8 @@ packages: optional: true /@esbuild/linux-arm64@0.18.13: - resolution: - { - integrity: sha512-hCzZbVJEHV7QM77fHPv2qgBcWxgglGFGCxk6KfQx6PsVIdi1u09X7IvgE9QKqm38OpkzaAkPnnPqwRsltvLkIQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-hCzZbVJEHV7QM77fHPv2qgBcWxgglGFGCxk6KfQx6PsVIdi1u09X7IvgE9QKqm38OpkzaAkPnnPqwRsltvLkIQ==} + engines: {node: '>=12'} cpu: [arm64] os: [linux] requiresBuild: true @@ -4551,11 +4047,8 @@ packages: optional: true /@esbuild/linux-arm64@0.19.12: - resolution: - { - integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} + engines: {node: '>=12'} cpu: [arm64] os: [linux] requiresBuild: true @@ -4563,11 +4056,8 @@ packages: optional: true /@esbuild/linux-arm64@0.20.2: - resolution: - { - integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} + engines: {node: '>=12'} cpu: [arm64] os: [linux] requiresBuild: true @@ -4575,11 +4065,8 @@ packages: optional: true /@esbuild/linux-arm@0.18.13: - resolution: - { - integrity: sha512-4iMxLRMCxGyk7lEvkkvrxw4aJeC93YIIrfbBlUJ062kilUUnAiMb81eEkVvCVoh3ON283ans7+OQkuy1uHW+Hw==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-4iMxLRMCxGyk7lEvkkvrxw4aJeC93YIIrfbBlUJ062kilUUnAiMb81eEkVvCVoh3ON283ans7+OQkuy1uHW+Hw==} + engines: {node: '>=12'} cpu: [arm] os: [linux] requiresBuild: true @@ -4587,11 +4074,8 @@ packages: optional: true /@esbuild/linux-arm@0.19.12: - resolution: - { - integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} + engines: {node: '>=12'} cpu: [arm] os: [linux] requiresBuild: true @@ -4599,11 +4083,8 @@ packages: optional: true /@esbuild/linux-arm@0.20.2: - resolution: - { - integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} + engines: {node: '>=12'} cpu: [arm] os: [linux] requiresBuild: true @@ -4611,11 +4092,8 @@ packages: optional: true /@esbuild/linux-ia32@0.18.13: - resolution: - { - integrity: sha512-I3OKGbynl3AAIO6onXNrup/ttToE6Rv2XYfFgLK/wnr2J+1g+7k4asLrE+n7VMhaqX+BUnyWkCu27rl+62Adug==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-I3OKGbynl3AAIO6onXNrup/ttToE6Rv2XYfFgLK/wnr2J+1g+7k4asLrE+n7VMhaqX+BUnyWkCu27rl+62Adug==} + engines: {node: '>=12'} cpu: [ia32] os: [linux] requiresBuild: true @@ -4623,11 +4101,8 @@ packages: optional: true /@esbuild/linux-ia32@0.19.12: - resolution: - { - integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} + engines: {node: '>=12'} cpu: [ia32] os: [linux] requiresBuild: true @@ -4635,11 +4110,8 @@ packages: optional: true /@esbuild/linux-ia32@0.20.2: - resolution: - { - integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} + engines: {node: '>=12'} cpu: [ia32] os: [linux] requiresBuild: true @@ -4647,11 +4119,8 @@ packages: optional: true /@esbuild/linux-loong64@0.18.13: - resolution: - { - integrity: sha512-8pcKDApAsKc6WW51ZEVidSGwGbebYw2qKnO1VyD8xd6JN0RN6EUXfhXmDk9Vc4/U3Y4AoFTexQewQDJGsBXBpg==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-8pcKDApAsKc6WW51ZEVidSGwGbebYw2qKnO1VyD8xd6JN0RN6EUXfhXmDk9Vc4/U3Y4AoFTexQewQDJGsBXBpg==} + engines: {node: '>=12'} cpu: [loong64] os: [linux] requiresBuild: true @@ -4659,11 +4128,8 @@ packages: optional: true /@esbuild/linux-loong64@0.19.12: - resolution: - { - integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} + engines: {node: '>=12'} cpu: [loong64] os: [linux] requiresBuild: true @@ -4671,11 +4137,8 @@ packages: optional: true /@esbuild/linux-loong64@0.20.2: - resolution: - { - integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} + engines: {node: '>=12'} cpu: [loong64] os: [linux] requiresBuild: true @@ -4683,11 +4146,8 @@ packages: optional: true /@esbuild/linux-mips64el@0.18.13: - resolution: - { - integrity: sha512-6GU+J1PLiVqWx8yoCK4Z0GnfKyCGIH5L2KQipxOtbNPBs+qNDcMJr9euxnyJ6FkRPyMwaSkjejzPSISD9hb+gg==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-6GU+J1PLiVqWx8yoCK4Z0GnfKyCGIH5L2KQipxOtbNPBs+qNDcMJr9euxnyJ6FkRPyMwaSkjejzPSISD9hb+gg==} + engines: {node: '>=12'} cpu: [mips64el] os: [linux] requiresBuild: true @@ -4695,11 +4155,8 @@ packages: optional: true /@esbuild/linux-mips64el@0.19.12: - resolution: - { - integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} + engines: {node: '>=12'} cpu: [mips64el] os: [linux] requiresBuild: true @@ -4707,11 +4164,8 @@ packages: optional: true /@esbuild/linux-mips64el@0.20.2: - resolution: - { - integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} + engines: {node: '>=12'} cpu: [mips64el] os: [linux] requiresBuild: true @@ -4719,11 +4173,8 @@ packages: optional: true /@esbuild/linux-ppc64@0.18.13: - resolution: - { - integrity: sha512-pfn/OGZ8tyR8YCV7MlLl5hAit2cmS+j/ZZg9DdH0uxdCoJpV7+5DbuXrR+es4ayRVKIcfS9TTMCs60vqQDmh+w==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-pfn/OGZ8tyR8YCV7MlLl5hAit2cmS+j/ZZg9DdH0uxdCoJpV7+5DbuXrR+es4ayRVKIcfS9TTMCs60vqQDmh+w==} + engines: {node: '>=12'} cpu: [ppc64] os: [linux] requiresBuild: true @@ -4731,11 +4182,8 @@ packages: optional: true /@esbuild/linux-ppc64@0.19.12: - resolution: - { - integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} + engines: {node: '>=12'} cpu: [ppc64] os: [linux] requiresBuild: true @@ -4743,11 +4191,8 @@ packages: optional: true /@esbuild/linux-ppc64@0.20.2: - resolution: - { - integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} + engines: {node: '>=12'} cpu: [ppc64] os: [linux] requiresBuild: true @@ -4755,11 +4200,8 @@ packages: optional: true /@esbuild/linux-riscv64@0.18.13: - resolution: - { - integrity: sha512-aIbhU3LPg0lOSCfVeGHbmGYIqOtW6+yzO+Nfv57YblEK01oj0mFMtvDJlOaeAZ6z0FZ9D13oahi5aIl9JFphGg==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-aIbhU3LPg0lOSCfVeGHbmGYIqOtW6+yzO+Nfv57YblEK01oj0mFMtvDJlOaeAZ6z0FZ9D13oahi5aIl9JFphGg==} + engines: {node: '>=12'} cpu: [riscv64] os: [linux] requiresBuild: true @@ -4767,11 +4209,8 @@ packages: optional: true /@esbuild/linux-riscv64@0.19.12: - resolution: - { - integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} + engines: {node: '>=12'} cpu: [riscv64] os: [linux] requiresBuild: true @@ -4779,11 +4218,8 @@ packages: optional: true /@esbuild/linux-riscv64@0.20.2: - resolution: - { - integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} + engines: {node: '>=12'} cpu: [riscv64] os: [linux] requiresBuild: true @@ -4791,11 +4227,8 @@ packages: optional: true /@esbuild/linux-s390x@0.18.13: - resolution: - { - integrity: sha512-Pct1QwF2sp+5LVi4Iu5Y+6JsGaV2Z2vm4O9Dd7XZ5tKYxEHjFtb140fiMcl5HM1iuv6xXO8O1Vrb1iJxHlv8UA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-Pct1QwF2sp+5LVi4Iu5Y+6JsGaV2Z2vm4O9Dd7XZ5tKYxEHjFtb140fiMcl5HM1iuv6xXO8O1Vrb1iJxHlv8UA==} + engines: {node: '>=12'} cpu: [s390x] os: [linux] requiresBuild: true @@ -4803,11 +4236,8 @@ packages: optional: true /@esbuild/linux-s390x@0.19.12: - resolution: - { - integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} + engines: {node: '>=12'} cpu: [s390x] os: [linux] requiresBuild: true @@ -4815,11 +4245,8 @@ packages: optional: true /@esbuild/linux-s390x@0.20.2: - resolution: - { - integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} + engines: {node: '>=12'} cpu: [s390x] os: [linux] requiresBuild: true @@ -4827,11 +4254,8 @@ packages: optional: true /@esbuild/linux-x64@0.18.13: - resolution: - { - integrity: sha512-zTrIP0KzYP7O0+3ZnmzvUKgGtUvf4+piY8PIO3V8/GfmVd3ZyHJGz7Ht0np3P1wz+I8qJ4rjwJKqqEAbIEPngA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-zTrIP0KzYP7O0+3ZnmzvUKgGtUvf4+piY8PIO3V8/GfmVd3ZyHJGz7Ht0np3P1wz+I8qJ4rjwJKqqEAbIEPngA==} + engines: {node: '>=12'} cpu: [x64] os: [linux] requiresBuild: true @@ -4839,11 +4263,8 @@ packages: optional: true /@esbuild/linux-x64@0.19.12: - resolution: - { - integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} + engines: {node: '>=12'} cpu: [x64] os: [linux] requiresBuild: true @@ -4851,11 +4272,8 @@ packages: optional: true /@esbuild/linux-x64@0.20.2: - resolution: - { - integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} + engines: {node: '>=12'} cpu: [x64] os: [linux] requiresBuild: true @@ -4863,11 +4281,8 @@ packages: optional: true /@esbuild/netbsd-x64@0.18.13: - resolution: - { - integrity: sha512-I6zs10TZeaHDYoGxENuksxE1sxqZpCp+agYeW039yqFwh3MgVvdmXL5NMveImOC6AtpLvE4xG5ujVic4NWFIDQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-I6zs10TZeaHDYoGxENuksxE1sxqZpCp+agYeW039yqFwh3MgVvdmXL5NMveImOC6AtpLvE4xG5ujVic4NWFIDQ==} + engines: {node: '>=12'} cpu: [x64] os: [netbsd] requiresBuild: true @@ -4875,11 +4290,8 @@ packages: optional: true /@esbuild/netbsd-x64@0.19.12: - resolution: - { - integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} + engines: {node: '>=12'} cpu: [x64] os: [netbsd] requiresBuild: true @@ -4887,11 +4299,8 @@ packages: optional: true /@esbuild/netbsd-x64@0.20.2: - resolution: - { - integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} + engines: {node: '>=12'} cpu: [x64] os: [netbsd] requiresBuild: true @@ -4899,11 +4308,8 @@ packages: optional: true /@esbuild/openbsd-x64@0.18.13: - resolution: - { - integrity: sha512-W5C5nczhrt1y1xPG5bV+0M12p2vetOGlvs43LH8SopQ3z2AseIROu09VgRqydx5qFN7y9qCbpgHLx0kb0TcW7g==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-W5C5nczhrt1y1xPG5bV+0M12p2vetOGlvs43LH8SopQ3z2AseIROu09VgRqydx5qFN7y9qCbpgHLx0kb0TcW7g==} + engines: {node: '>=12'} cpu: [x64] os: [openbsd] requiresBuild: true @@ -4911,11 +4317,8 @@ packages: optional: true /@esbuild/openbsd-x64@0.19.12: - resolution: - { - integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} + engines: {node: '>=12'} cpu: [x64] os: [openbsd] requiresBuild: true @@ -4923,11 +4326,8 @@ packages: optional: true /@esbuild/openbsd-x64@0.20.2: - resolution: - { - integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} + engines: {node: '>=12'} cpu: [x64] os: [openbsd] requiresBuild: true @@ -4935,11 +4335,8 @@ packages: optional: true /@esbuild/sunos-x64@0.18.13: - resolution: - { - integrity: sha512-X/xzuw4Hzpo/yq3YsfBbIsipNgmsm8mE/QeWbdGdTTeZ77fjxI2K0KP3AlhZ6gU3zKTw1bKoZTuKLnqcJ537qw==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-X/xzuw4Hzpo/yq3YsfBbIsipNgmsm8mE/QeWbdGdTTeZ77fjxI2K0KP3AlhZ6gU3zKTw1bKoZTuKLnqcJ537qw==} + engines: {node: '>=12'} cpu: [x64] os: [sunos] requiresBuild: true @@ -4947,11 +4344,8 @@ packages: optional: true /@esbuild/sunos-x64@0.19.12: - resolution: - { - integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} + engines: {node: '>=12'} cpu: [x64] os: [sunos] requiresBuild: true @@ -4959,11 +4353,8 @@ packages: optional: true /@esbuild/sunos-x64@0.20.2: - resolution: - { - integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} + engines: {node: '>=12'} cpu: [x64] os: [sunos] requiresBuild: true @@ -4971,11 +4362,8 @@ packages: optional: true /@esbuild/win32-arm64@0.18.13: - resolution: - { - integrity: sha512-4CGYdRQT/ILd+yLLE5i4VApMPfGE0RPc/wFQhlluDQCK09+b4JDbxzzjpgQqTPrdnP7r5KUtGVGZYclYiPuHrw==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-4CGYdRQT/ILd+yLLE5i4VApMPfGE0RPc/wFQhlluDQCK09+b4JDbxzzjpgQqTPrdnP7r5KUtGVGZYclYiPuHrw==} + engines: {node: '>=12'} cpu: [arm64] os: [win32] requiresBuild: true @@ -4983,11 +4371,8 @@ packages: optional: true /@esbuild/win32-arm64@0.19.12: - resolution: - { - integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} + engines: {node: '>=12'} cpu: [arm64] os: [win32] requiresBuild: true @@ -4995,11 +4380,8 @@ packages: optional: true /@esbuild/win32-arm64@0.20.2: - resolution: - { - integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} + engines: {node: '>=12'} cpu: [arm64] os: [win32] requiresBuild: true @@ -5007,11 +4389,8 @@ packages: optional: true /@esbuild/win32-ia32@0.18.13: - resolution: - { - integrity: sha512-D+wKZaRhQI+MUGMH+DbEr4owC2D7XnF+uyGiZk38QbgzLcofFqIOwFs7ELmIeU45CQgfHNy9Q+LKW3cE8g37Kg==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-D+wKZaRhQI+MUGMH+DbEr4owC2D7XnF+uyGiZk38QbgzLcofFqIOwFs7ELmIeU45CQgfHNy9Q+LKW3cE8g37Kg==} + engines: {node: '>=12'} cpu: [ia32] os: [win32] requiresBuild: true @@ -5019,11 +4398,8 @@ packages: optional: true /@esbuild/win32-ia32@0.19.12: - resolution: - { - integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} + engines: {node: '>=12'} cpu: [ia32] os: [win32] requiresBuild: true @@ -5031,11 +4407,8 @@ packages: optional: true /@esbuild/win32-ia32@0.20.2: - resolution: - { - integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} + engines: {node: '>=12'} cpu: [ia32] os: [win32] requiresBuild: true @@ -5043,11 +4416,8 @@ packages: optional: true /@esbuild/win32-x64@0.18.13: - resolution: - { - integrity: sha512-iVl6lehAfJS+VmpF3exKpNQ8b0eucf5VWfzR8S7xFve64NBNz2jPUgx1X93/kfnkfgP737O+i1k54SVQS7uVZA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-iVl6lehAfJS+VmpF3exKpNQ8b0eucf5VWfzR8S7xFve64NBNz2jPUgx1X93/kfnkfgP737O+i1k54SVQS7uVZA==} + engines: {node: '>=12'} cpu: [x64] os: [win32] requiresBuild: true @@ -5055,11 +4425,8 @@ packages: optional: true /@esbuild/win32-x64@0.19.12: - resolution: - { - integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} + engines: {node: '>=12'} cpu: [x64] os: [win32] requiresBuild: true @@ -5067,11 +4434,8 @@ packages: optional: true /@esbuild/win32-x64@0.20.2: - resolution: - { - integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} + engines: {node: '>=12'} cpu: [x64] os: [win32] requiresBuild: true @@ -5079,11 +4443,8 @@ packages: optional: true /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): - resolution: - { - integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: @@ -5092,19 +4453,13 @@ packages: dev: true /@eslint-community/regexpp@4.10.0: - resolution: - { - integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==, - } - engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dev: true /@eslint/eslintrc@2.1.4: - resolution: - { - integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 debug: 4.3.4(supports-color@8.1.1) @@ -5120,28 +4475,19 @@ packages: dev: true /@eslint/js@8.57.0: - resolution: - { - integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true /@ethereumjs/rlp@4.0.1: - resolution: - { - integrity: sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==} + engines: {node: '>=14'} hasBin: true dev: true /@ethereumjs/util@8.1.0: - resolution: - { - integrity: sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==} + engines: {node: '>=14'} dependencies: '@ethereumjs/rlp': 4.0.1 ethereum-cryptography: 2.1.3 @@ -5149,10 +4495,7 @@ packages: dev: true /@ethersproject/abi@5.6.0: - resolution: - { - integrity: sha512-AhVByTwdXCc2YQ20v300w6KVHle9g2OFc28ZAFCPnJyEpkv1xKXjZcSTgWOlv1i+0dqlgF8RCF2Rn2KC1t+1Vg==, - } + resolution: {integrity: sha512-AhVByTwdXCc2YQ20v300w6KVHle9g2OFc28ZAFCPnJyEpkv1xKXjZcSTgWOlv1i+0dqlgF8RCF2Rn2KC1t+1Vg==} dependencies: '@ethersproject/address': 5.6.0 '@ethersproject/bignumber': 5.6.0 @@ -5166,10 +4509,7 @@ packages: dev: false /@ethersproject/abi@5.7.0: - resolution: - { - integrity: sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==, - } + resolution: {integrity: sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==} dependencies: '@ethersproject/address': 5.7.0 '@ethersproject/bignumber': 5.7.0 @@ -5182,10 +4522,7 @@ packages: '@ethersproject/strings': 5.7.0 /@ethersproject/abstract-provider@5.6.0: - resolution: - { - integrity: sha512-oPMFlKLN+g+y7a79cLK3WiLcjWFnZQtXWgnLAbHZcN3s7L4v90UHpTOrLk+m3yr0gt+/h9STTM6zrr7PM8uoRw==, - } + resolution: {integrity: sha512-oPMFlKLN+g+y7a79cLK3WiLcjWFnZQtXWgnLAbHZcN3s7L4v90UHpTOrLk+m3yr0gt+/h9STTM6zrr7PM8uoRw==} dependencies: '@ethersproject/bignumber': 5.6.0 '@ethersproject/bytes': 5.6.1 @@ -5197,10 +4534,7 @@ packages: dev: false /@ethersproject/abstract-provider@5.7.0: - resolution: - { - integrity: sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==, - } + resolution: {integrity: sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==} dependencies: '@ethersproject/bignumber': 5.7.0 '@ethersproject/bytes': 5.7.0 @@ -5211,10 +4545,7 @@ packages: '@ethersproject/web': 5.7.1 /@ethersproject/abstract-signer@5.6.0: - resolution: - { - integrity: sha512-WOqnG0NJKtI8n0wWZPReHtaLkDByPL67tn4nBaDAhmVq8sjHTPbCdz4DRhVu/cfTOvfy9w3iq5QZ7BX7zw56BQ==, - } + resolution: {integrity: sha512-WOqnG0NJKtI8n0wWZPReHtaLkDByPL67tn4nBaDAhmVq8sjHTPbCdz4DRhVu/cfTOvfy9w3iq5QZ7BX7zw56BQ==} dependencies: '@ethersproject/abstract-provider': 5.6.0 '@ethersproject/bignumber': 5.6.0 @@ -5224,10 +4555,7 @@ packages: dev: false /@ethersproject/abstract-signer@5.7.0: - resolution: - { - integrity: sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==, - } + resolution: {integrity: sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==} dependencies: '@ethersproject/abstract-provider': 5.7.0 '@ethersproject/bignumber': 5.7.0 @@ -5236,10 +4564,7 @@ packages: '@ethersproject/properties': 5.7.0 /@ethersproject/address@5.6.0: - resolution: - { - integrity: sha512-6nvhYXjbXsHPS+30sHZ+U4VMagFC/9zAk6Gd/h3S21YW4+yfb0WfRtaAIZ4kfM4rrVwqiy284LP0GtL5HXGLxQ==, - } + resolution: {integrity: sha512-6nvhYXjbXsHPS+30sHZ+U4VMagFC/9zAk6Gd/h3S21YW4+yfb0WfRtaAIZ4kfM4rrVwqiy284LP0GtL5HXGLxQ==} dependencies: '@ethersproject/bignumber': 5.6.0 '@ethersproject/bytes': 5.6.1 @@ -5249,10 +4574,7 @@ packages: dev: false /@ethersproject/address@5.7.0: - resolution: - { - integrity: sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==, - } + resolution: {integrity: sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==} dependencies: '@ethersproject/bignumber': 5.7.0 '@ethersproject/bytes': 5.7.0 @@ -5261,46 +4583,31 @@ packages: '@ethersproject/rlp': 5.7.0 /@ethersproject/base64@5.6.0: - resolution: - { - integrity: sha512-2Neq8wxJ9xHxCF9TUgmKeSh9BXJ6OAxWfeGWvbauPh8FuHEjamgHilllx8KkSd5ErxyHIX7Xv3Fkcud2kY9ezw==, - } + resolution: {integrity: sha512-2Neq8wxJ9xHxCF9TUgmKeSh9BXJ6OAxWfeGWvbauPh8FuHEjamgHilllx8KkSd5ErxyHIX7Xv3Fkcud2kY9ezw==} dependencies: '@ethersproject/bytes': 5.6.1 dev: false /@ethersproject/base64@5.7.0: - resolution: - { - integrity: sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==, - } + resolution: {integrity: sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==} dependencies: '@ethersproject/bytes': 5.7.0 /@ethersproject/basex@5.6.0: - resolution: - { - integrity: sha512-qN4T+hQd/Md32MoJpc69rOwLYRUXwjTlhHDIeUkUmiN/JyWkkLLMoG0TqvSQKNqZOMgN5stbUYN6ILC+eD7MEQ==, - } + resolution: {integrity: sha512-qN4T+hQd/Md32MoJpc69rOwLYRUXwjTlhHDIeUkUmiN/JyWkkLLMoG0TqvSQKNqZOMgN5stbUYN6ILC+eD7MEQ==} dependencies: '@ethersproject/bytes': 5.6.1 '@ethersproject/properties': 5.6.0 dev: false /@ethersproject/basex@5.7.0: - resolution: - { - integrity: sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==, - } + resolution: {integrity: sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==} dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/properties': 5.7.0 /@ethersproject/bignumber@5.6.0: - resolution: - { - integrity: sha512-VziMaXIUHQlHJmkv1dlcd6GY2PmT0khtAqaMctCIDogxkrarMzA9L94KN1NeXqqOfFD6r0sJT3vCTOFSmZ07DA==, - } + resolution: {integrity: sha512-VziMaXIUHQlHJmkv1dlcd6GY2PmT0khtAqaMctCIDogxkrarMzA9L94KN1NeXqqOfFD6r0sJT3vCTOFSmZ07DA==} dependencies: '@ethersproject/bytes': 5.6.1 '@ethersproject/logger': 5.6.0 @@ -5308,54 +4615,36 @@ packages: dev: false /@ethersproject/bignumber@5.7.0: - resolution: - { - integrity: sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==, - } + resolution: {integrity: sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==} dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/logger': 5.7.0 bn.js: 5.2.1 /@ethersproject/bytes@5.6.1: - resolution: - { - integrity: sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g==, - } + resolution: {integrity: sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g==} dependencies: '@ethersproject/logger': 5.6.0 dev: false /@ethersproject/bytes@5.7.0: - resolution: - { - integrity: sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==, - } + resolution: {integrity: sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==} dependencies: '@ethersproject/logger': 5.7.0 /@ethersproject/constants@5.6.0: - resolution: - { - integrity: sha512-SrdaJx2bK0WQl23nSpV/b1aq293Lh0sUaZT/yYKPDKn4tlAbkH96SPJwIhwSwTsoQQZxuh1jnqsKwyymoiBdWA==, - } + resolution: {integrity: sha512-SrdaJx2bK0WQl23nSpV/b1aq293Lh0sUaZT/yYKPDKn4tlAbkH96SPJwIhwSwTsoQQZxuh1jnqsKwyymoiBdWA==} dependencies: '@ethersproject/bignumber': 5.6.0 dev: false /@ethersproject/constants@5.7.0: - resolution: - { - integrity: sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==, - } + resolution: {integrity: sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==} dependencies: '@ethersproject/bignumber': 5.7.0 /@ethersproject/contracts@5.6.0: - resolution: - { - integrity: sha512-74Ge7iqTDom0NX+mux8KbRUeJgu1eHZ3iv6utv++sLJG80FVuU9HnHeKVPfjd9s3woFhaFoQGf3B3iH/FrQmgw==, - } + resolution: {integrity: sha512-74Ge7iqTDom0NX+mux8KbRUeJgu1eHZ3iv6utv++sLJG80FVuU9HnHeKVPfjd9s3woFhaFoQGf3B3iH/FrQmgw==} dependencies: '@ethersproject/abi': 5.6.0 '@ethersproject/abstract-provider': 5.6.0 @@ -5370,10 +4659,7 @@ packages: dev: false /@ethersproject/contracts@5.7.0: - resolution: - { - integrity: sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==, - } + resolution: {integrity: sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==} dependencies: '@ethersproject/abi': 5.7.0 '@ethersproject/abstract-provider': 5.7.0 @@ -5387,10 +4673,7 @@ packages: '@ethersproject/transactions': 5.7.0 /@ethersproject/hash@5.6.0: - resolution: - { - integrity: sha512-fFd+k9gtczqlr0/BruWLAu7UAOas1uRRJvOR84uDf4lNZ+bTkGl366qvniUZHKtlqxBRU65MkOobkmvmpHU+jA==, - } + resolution: {integrity: sha512-fFd+k9gtczqlr0/BruWLAu7UAOas1uRRJvOR84uDf4lNZ+bTkGl366qvniUZHKtlqxBRU65MkOobkmvmpHU+jA==} dependencies: '@ethersproject/abstract-signer': 5.6.0 '@ethersproject/address': 5.6.0 @@ -5403,10 +4686,7 @@ packages: dev: false /@ethersproject/hash@5.7.0: - resolution: - { - integrity: sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==, - } + resolution: {integrity: sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==} dependencies: '@ethersproject/abstract-signer': 5.7.0 '@ethersproject/address': 5.7.0 @@ -5419,10 +4699,7 @@ packages: '@ethersproject/strings': 5.7.0 /@ethersproject/hdnode@5.6.0: - resolution: - { - integrity: sha512-61g3Jp3nwDqJcL/p4nugSyLrpl/+ChXIOtCEM8UDmWeB3JCAt5FoLdOMXQc3WWkc0oM2C0aAn6GFqqMcS/mHTw==, - } + resolution: {integrity: sha512-61g3Jp3nwDqJcL/p4nugSyLrpl/+ChXIOtCEM8UDmWeB3JCAt5FoLdOMXQc3WWkc0oM2C0aAn6GFqqMcS/mHTw==} dependencies: '@ethersproject/abstract-signer': 5.6.0 '@ethersproject/basex': 5.6.0 @@ -5439,10 +4716,7 @@ packages: dev: false /@ethersproject/hdnode@5.7.0: - resolution: - { - integrity: sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==, - } + resolution: {integrity: sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==} dependencies: '@ethersproject/abstract-signer': 5.7.0 '@ethersproject/basex': 5.7.0 @@ -5458,10 +4732,7 @@ packages: '@ethersproject/wordlists': 5.7.0 /@ethersproject/json-wallets@5.6.0: - resolution: - { - integrity: sha512-fmh86jViB9r0ibWXTQipxpAGMiuxoqUf78oqJDlCAJXgnJF024hOOX7qVgqsjtbeoxmcLwpPsXNU0WEe/16qPQ==, - } + resolution: {integrity: sha512-fmh86jViB9r0ibWXTQipxpAGMiuxoqUf78oqJDlCAJXgnJF024hOOX7qVgqsjtbeoxmcLwpPsXNU0WEe/16qPQ==} dependencies: '@ethersproject/abstract-signer': 5.6.0 '@ethersproject/address': 5.6.0 @@ -5479,10 +4750,7 @@ packages: dev: false /@ethersproject/json-wallets@5.7.0: - resolution: - { - integrity: sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==, - } + resolution: {integrity: sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==} dependencies: '@ethersproject/abstract-signer': 5.7.0 '@ethersproject/address': 5.7.0 @@ -5499,95 +4767,62 @@ packages: scrypt-js: 3.0.1 /@ethersproject/keccak256@5.6.0: - resolution: - { - integrity: sha512-tk56BJ96mdj/ksi7HWZVWGjCq0WVl/QvfhFQNeL8fxhBlGoP+L80uDCiQcpJPd+2XxkivS3lwRm3E0CXTfol0w==, - } + resolution: {integrity: sha512-tk56BJ96mdj/ksi7HWZVWGjCq0WVl/QvfhFQNeL8fxhBlGoP+L80uDCiQcpJPd+2XxkivS3lwRm3E0CXTfol0w==} dependencies: '@ethersproject/bytes': 5.6.1 js-sha3: 0.8.0 dev: false /@ethersproject/keccak256@5.7.0: - resolution: - { - integrity: sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==, - } + resolution: {integrity: sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==} dependencies: '@ethersproject/bytes': 5.7.0 js-sha3: 0.8.0 /@ethersproject/logger@5.6.0: - resolution: - { - integrity: sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg==, - } + resolution: {integrity: sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg==} dev: false /@ethersproject/logger@5.7.0: - resolution: - { - integrity: sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==, - } + resolution: {integrity: sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==} /@ethersproject/networks@5.6.1: - resolution: - { - integrity: sha512-b2rrupf3kCTcc3jr9xOWBuHylSFtbpJf79Ga7QR98ienU2UqGimPGEsYMgbI29KHJfA5Us89XwGVmxrlxmSrMg==, - } + resolution: {integrity: sha512-b2rrupf3kCTcc3jr9xOWBuHylSFtbpJf79Ga7QR98ienU2UqGimPGEsYMgbI29KHJfA5Us89XwGVmxrlxmSrMg==} dependencies: '@ethersproject/logger': 5.6.0 dev: false /@ethersproject/networks@5.7.1: - resolution: - { - integrity: sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==, - } + resolution: {integrity: sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==} dependencies: '@ethersproject/logger': 5.7.0 /@ethersproject/pbkdf2@5.6.0: - resolution: - { - integrity: sha512-Wu1AxTgJo3T3H6MIu/eejLFok9TYoSdgwRr5oGY1LTLfmGesDoSx05pemsbrPT2gG4cQME+baTSCp5sEo2erZQ==, - } + resolution: {integrity: sha512-Wu1AxTgJo3T3H6MIu/eejLFok9TYoSdgwRr5oGY1LTLfmGesDoSx05pemsbrPT2gG4cQME+baTSCp5sEo2erZQ==} dependencies: '@ethersproject/bytes': 5.6.1 '@ethersproject/sha2': 5.6.0 dev: false /@ethersproject/pbkdf2@5.7.0: - resolution: - { - integrity: sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==, - } + resolution: {integrity: sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==} dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/sha2': 5.7.0 /@ethersproject/properties@5.6.0: - resolution: - { - integrity: sha512-szoOkHskajKePTJSZ46uHUWWkbv7TzP2ypdEK6jGMqJaEt2sb0jCgfBo0gH0m2HBpRixMuJ6TBRaQCF7a9DoCg==, - } + resolution: {integrity: sha512-szoOkHskajKePTJSZ46uHUWWkbv7TzP2ypdEK6jGMqJaEt2sb0jCgfBo0gH0m2HBpRixMuJ6TBRaQCF7a9DoCg==} dependencies: '@ethersproject/logger': 5.6.0 dev: false /@ethersproject/properties@5.7.0: - resolution: - { - integrity: sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==, - } + resolution: {integrity: sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==} dependencies: '@ethersproject/logger': 5.7.0 /@ethersproject/providers@5.6.2: - resolution: - { - integrity: sha512-6/EaFW/hNWz+224FXwl8+HdMRzVHt8DpPmu5MZaIQqx/K/ELnC9eY236SMV7mleCM3NnEArFwcAAxH5kUUgaRg==, - } + resolution: {integrity: sha512-6/EaFW/hNWz+224FXwl8+HdMRzVHt8DpPmu5MZaIQqx/K/ELnC9eY236SMV7mleCM3NnEArFwcAAxH5kUUgaRg==} dependencies: '@ethersproject/abstract-provider': 5.6.0 '@ethersproject/abstract-signer': 5.6.0 @@ -5614,10 +4849,7 @@ packages: dev: false /@ethersproject/providers@5.7.2: - resolution: - { - integrity: sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==, - } + resolution: {integrity: sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==} dependencies: '@ethersproject/abstract-provider': 5.7.0 '@ethersproject/abstract-signer': 5.7.0 @@ -5644,48 +4876,33 @@ packages: - utf-8-validate /@ethersproject/random@5.6.0: - resolution: - { - integrity: sha512-si0PLcLjq+NG/XHSZz90asNf+YfKEqJGVdxoEkSukzbnBgC8rydbgbUgBbBGLeHN4kAJwUFEKsu3sCXT93YMsw==, - } + resolution: {integrity: sha512-si0PLcLjq+NG/XHSZz90asNf+YfKEqJGVdxoEkSukzbnBgC8rydbgbUgBbBGLeHN4kAJwUFEKsu3sCXT93YMsw==} dependencies: '@ethersproject/bytes': 5.6.1 '@ethersproject/logger': 5.6.0 dev: false /@ethersproject/random@5.7.0: - resolution: - { - integrity: sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==, - } + resolution: {integrity: sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==} dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/logger': 5.7.0 /@ethersproject/rlp@5.6.0: - resolution: - { - integrity: sha512-dz9WR1xpcTL+9DtOT/aDO+YyxSSdO8YIS0jyZwHHSlAmnxA6cKU3TrTd4Xc/bHayctxTgGLYNuVVoiXE4tTq1g==, - } + resolution: {integrity: sha512-dz9WR1xpcTL+9DtOT/aDO+YyxSSdO8YIS0jyZwHHSlAmnxA6cKU3TrTd4Xc/bHayctxTgGLYNuVVoiXE4tTq1g==} dependencies: '@ethersproject/bytes': 5.6.1 '@ethersproject/logger': 5.6.0 dev: false /@ethersproject/rlp@5.7.0: - resolution: - { - integrity: sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==, - } + resolution: {integrity: sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==} dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/logger': 5.7.0 /@ethersproject/sha2@5.6.0: - resolution: - { - integrity: sha512-1tNWCPFLu1n3JM9t4/kytz35DkuF9MxqkGGEHNauEbaARdm2fafnOyw1s0tIQDPKF/7bkP1u3dbrmjpn5CelyA==, - } + resolution: {integrity: sha512-1tNWCPFLu1n3JM9t4/kytz35DkuF9MxqkGGEHNauEbaARdm2fafnOyw1s0tIQDPKF/7bkP1u3dbrmjpn5CelyA==} dependencies: '@ethersproject/bytes': 5.6.1 '@ethersproject/logger': 5.6.0 @@ -5693,20 +4910,14 @@ packages: dev: false /@ethersproject/sha2@5.7.0: - resolution: - { - integrity: sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==, - } + resolution: {integrity: sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==} dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/logger': 5.7.0 hash.js: 1.1.7 /@ethersproject/signing-key@5.6.0: - resolution: - { - integrity: sha512-S+njkhowmLeUu/r7ir8n78OUKx63kBdMCPssePS89So1TH4hZqnWFsThEd/GiXYp9qMxVrydf7KdM9MTGPFukA==, - } + resolution: {integrity: sha512-S+njkhowmLeUu/r7ir8n78OUKx63kBdMCPssePS89So1TH4hZqnWFsThEd/GiXYp9qMxVrydf7KdM9MTGPFukA==} dependencies: '@ethersproject/bytes': 5.6.1 '@ethersproject/logger': 5.6.0 @@ -5717,10 +4928,7 @@ packages: dev: false /@ethersproject/signing-key@5.7.0: - resolution: - { - integrity: sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==, - } + resolution: {integrity: sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==} dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/logger': 5.7.0 @@ -5730,10 +4938,7 @@ packages: hash.js: 1.1.7 /@ethersproject/solidity@5.6.0: - resolution: - { - integrity: sha512-YwF52vTNd50kjDzqKaoNNbC/r9kMDPq3YzDWmsjFTRBcIF1y4JCQJ8gB30wsTfHbaxgxelI5BfxQSxD/PbJOww==, - } + resolution: {integrity: sha512-YwF52vTNd50kjDzqKaoNNbC/r9kMDPq3YzDWmsjFTRBcIF1y4JCQJ8gB30wsTfHbaxgxelI5BfxQSxD/PbJOww==} dependencies: '@ethersproject/bignumber': 5.6.0 '@ethersproject/bytes': 5.6.1 @@ -5744,10 +4949,7 @@ packages: dev: false /@ethersproject/solidity@5.7.0: - resolution: - { - integrity: sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==, - } + resolution: {integrity: sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==} dependencies: '@ethersproject/bignumber': 5.7.0 '@ethersproject/bytes': 5.7.0 @@ -5757,10 +4959,7 @@ packages: '@ethersproject/strings': 5.7.0 /@ethersproject/strings@5.6.0: - resolution: - { - integrity: sha512-uv10vTtLTZqrJuqBZR862ZQjTIa724wGPWQqZrofaPI/kUsf53TBG0I0D+hQ1qyNtllbNzaW+PDPHHUI6/65Mg==, - } + resolution: {integrity: sha512-uv10vTtLTZqrJuqBZR862ZQjTIa724wGPWQqZrofaPI/kUsf53TBG0I0D+hQ1qyNtllbNzaW+PDPHHUI6/65Mg==} dependencies: '@ethersproject/bytes': 5.6.1 '@ethersproject/constants': 5.6.0 @@ -5768,20 +4967,14 @@ packages: dev: false /@ethersproject/strings@5.7.0: - resolution: - { - integrity: sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==, - } + resolution: {integrity: sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==} dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/constants': 5.7.0 '@ethersproject/logger': 5.7.0 /@ethersproject/transactions@5.6.0: - resolution: - { - integrity: sha512-4HX+VOhNjXHZyGzER6E/LVI2i6lf9ejYeWD6l4g50AdmimyuStKc39kvKf1bXWQMg7QNVh+uC7dYwtaZ02IXeg==, - } + resolution: {integrity: sha512-4HX+VOhNjXHZyGzER6E/LVI2i6lf9ejYeWD6l4g50AdmimyuStKc39kvKf1bXWQMg7QNVh+uC7dYwtaZ02IXeg==} dependencies: '@ethersproject/address': 5.6.0 '@ethersproject/bignumber': 5.6.0 @@ -5795,10 +4988,7 @@ packages: dev: false /@ethersproject/transactions@5.7.0: - resolution: - { - integrity: sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==, - } + resolution: {integrity: sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==} dependencies: '@ethersproject/address': 5.7.0 '@ethersproject/bignumber': 5.7.0 @@ -5811,10 +5001,7 @@ packages: '@ethersproject/signing-key': 5.7.0 /@ethersproject/units@5.6.0: - resolution: - { - integrity: sha512-tig9x0Qmh8qbo1w8/6tmtyrm/QQRviBh389EQ+d8fP4wDsBrJBf08oZfoiz1/uenKK9M78yAP4PoR7SsVoTjsw==, - } + resolution: {integrity: sha512-tig9x0Qmh8qbo1w8/6tmtyrm/QQRviBh389EQ+d8fP4wDsBrJBf08oZfoiz1/uenKK9M78yAP4PoR7SsVoTjsw==} dependencies: '@ethersproject/bignumber': 5.6.0 '@ethersproject/constants': 5.6.0 @@ -5822,20 +5009,14 @@ packages: dev: false /@ethersproject/units@5.7.0: - resolution: - { - integrity: sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==, - } + resolution: {integrity: sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==} dependencies: '@ethersproject/bignumber': 5.7.0 '@ethersproject/constants': 5.7.0 '@ethersproject/logger': 5.7.0 /@ethersproject/wallet@5.6.0: - resolution: - { - integrity: sha512-qMlSdOSTyp0MBeE+r7SUhr1jjDlC1zAXB8VD84hCnpijPQiSNbxr6GdiLXxpUs8UKzkDiNYYC5DRI3MZr+n+tg==, - } + resolution: {integrity: sha512-qMlSdOSTyp0MBeE+r7SUhr1jjDlC1zAXB8VD84hCnpijPQiSNbxr6GdiLXxpUs8UKzkDiNYYC5DRI3MZr+n+tg==} dependencies: '@ethersproject/abstract-provider': 5.6.0 '@ethersproject/abstract-signer': 5.6.0 @@ -5855,10 +5036,7 @@ packages: dev: false /@ethersproject/wallet@5.7.0: - resolution: - { - integrity: sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==, - } + resolution: {integrity: sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==} dependencies: '@ethersproject/abstract-provider': 5.7.0 '@ethersproject/abstract-signer': 5.7.0 @@ -5877,10 +5055,7 @@ packages: '@ethersproject/wordlists': 5.7.0 /@ethersproject/web@5.6.0: - resolution: - { - integrity: sha512-G/XHj0hV1FxI2teHRfCGvfBUHFmU+YOSbCxlAMqJklxSa7QMiHFQfAxvwY2PFqgvdkxEKwRNr/eCjfAPEm2Ctg==, - } + resolution: {integrity: sha512-G/XHj0hV1FxI2teHRfCGvfBUHFmU+YOSbCxlAMqJklxSa7QMiHFQfAxvwY2PFqgvdkxEKwRNr/eCjfAPEm2Ctg==} dependencies: '@ethersproject/base64': 5.6.0 '@ethersproject/bytes': 5.6.1 @@ -5890,10 +5065,7 @@ packages: dev: false /@ethersproject/web@5.7.1: - resolution: - { - integrity: sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==, - } + resolution: {integrity: sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==} dependencies: '@ethersproject/base64': 5.7.0 '@ethersproject/bytes': 5.7.0 @@ -5902,10 +5074,7 @@ packages: '@ethersproject/strings': 5.7.0 /@ethersproject/wordlists@5.6.0: - resolution: - { - integrity: sha512-q0bxNBfIX3fUuAo9OmjlEYxP40IB8ABgb7HjEZCL5IKubzV3j30CWi2rqQbjTS2HfoyQbfINoKcTVWP4ejwR7Q==, - } + resolution: {integrity: sha512-q0bxNBfIX3fUuAo9OmjlEYxP40IB8ABgb7HjEZCL5IKubzV3j30CWi2rqQbjTS2HfoyQbfINoKcTVWP4ejwR7Q==} dependencies: '@ethersproject/bytes': 5.6.1 '@ethersproject/hash': 5.6.0 @@ -5915,10 +5084,7 @@ packages: dev: false /@ethersproject/wordlists@5.7.0: - resolution: - { - integrity: sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==, - } + resolution: {integrity: sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==} dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/hash': 5.7.0 @@ -5927,22 +5093,14 @@ packages: '@ethersproject/strings': 5.7.0 /@fastify/busboy@2.1.1: - resolution: - { - integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} + engines: {node: '>=14'} dev: true /@graphql-codegen/add@5.0.2(graphql@16.8.1): - resolution: - { - integrity: sha512-ouBkSvMFUhda5VoKumo/ZvsZM9P5ZTyDsI8LW18VxSNWOjrTeLXBWHG8Gfaai0HwhflPtCYVABbriEcOmrRShQ==, - } + resolution: {integrity: sha512-ouBkSvMFUhda5VoKumo/ZvsZM9P5ZTyDsI8LW18VxSNWOjrTeLXBWHG8Gfaai0HwhflPtCYVABbriEcOmrRShQ==} peerDependencies: - graphql: - ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || - ^16.0.0 + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) graphql: 16.8.1 @@ -5950,16 +5108,11 @@ packages: dev: true /@graphql-codegen/cli@5.0.2(@types/node@20.12.7)(graphql@16.8.1)(typescript@5.4.5): - resolution: - { - integrity: sha512-MBIaFqDiLKuO4ojN6xxG9/xL9wmfD3ZjZ7RsPjwQnSHBCUXnEkdKvX+JVpx87Pq29Ycn8wTJUguXnTZ7Di0Mlw==, - } + resolution: {integrity: sha512-MBIaFqDiLKuO4ojN6xxG9/xL9wmfD3ZjZ7RsPjwQnSHBCUXnEkdKvX+JVpx87Pq29Ycn8wTJUguXnTZ7Di0Mlw==} hasBin: true peerDependencies: '@parcel/watcher': ^2.1.0 - graphql: - ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || - ^16.0.0 + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 peerDependenciesMeta: '@parcel/watcher': optional: true @@ -6012,14 +5165,9 @@ packages: dev: true /@graphql-codegen/client-preset@4.2.5(graphql@16.8.1): - resolution: - { - integrity: sha512-hAdB6HN8EDmkoBtr0bPUN/7NH6svzqbcTDMWBCRXPESXkl7y80po+IXrXUjsSrvhKG8xkNXgJNz/2mjwHzywcA==, - } + resolution: {integrity: sha512-hAdB6HN8EDmkoBtr0bPUN/7NH6svzqbcTDMWBCRXPESXkl7y80po+IXrXUjsSrvhKG8xkNXgJNz/2mjwHzywcA==} peerDependencies: - graphql: - ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || - ^16.0.0 + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: '@babel/helper-plugin-utils': 7.24.0 '@babel/template': 7.24.0 @@ -6041,14 +5189,9 @@ packages: dev: true /@graphql-codegen/core@4.0.2(graphql@16.8.1): - resolution: - { - integrity: sha512-IZbpkhwVqgizcjNiaVzNAzm/xbWT6YnGgeOLwVjm4KbJn3V2jchVtuzHH09G5/WkkLSk2wgbXNdwjM41JxO6Eg==, - } + resolution: {integrity: sha512-IZbpkhwVqgizcjNiaVzNAzm/xbWT6YnGgeOLwVjm4KbJn3V2jchVtuzHH09G5/WkkLSk2wgbXNdwjM41JxO6Eg==} peerDependencies: - graphql: - ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || - ^16.0.0 + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) '@graphql-tools/schema': 10.0.3(graphql@16.8.1) @@ -6058,14 +5201,9 @@ packages: dev: true /@graphql-codegen/gql-tag-operations@4.0.6(graphql@16.8.1): - resolution: - { - integrity: sha512-y6iXEDpDNjwNxJw3WZqX1/Znj0QHW7+y8O+t2V8qvbTT+3kb2lr9ntc8By7vCr6ctw9tXI4XKaJgpTstJDOwFA==, - } + resolution: {integrity: sha512-y6iXEDpDNjwNxJw3WZqX1/Znj0QHW7+y8O+t2V8qvbTT+3kb2lr9ntc8By7vCr6ctw9tXI4XKaJgpTstJDOwFA==} peerDependencies: - graphql: - ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || - ^16.0.0 + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) '@graphql-codegen/visitor-plugin-common': 5.1.0(graphql@16.8.1) @@ -6079,14 +5217,9 @@ packages: dev: true /@graphql-codegen/plugin-helpers@5.0.3(graphql@16.8.1): - resolution: - { - integrity: sha512-yZ1rpULIWKBZqCDlvGIJRSyj1B2utkEdGmXZTBT/GVayP4hyRYlkd36AJV/LfEsVD8dnsKL5rLz2VTYmRNlJ5Q==, - } + resolution: {integrity: sha512-yZ1rpULIWKBZqCDlvGIJRSyj1B2utkEdGmXZTBT/GVayP4hyRYlkd36AJV/LfEsVD8dnsKL5rLz2VTYmRNlJ5Q==} peerDependencies: - graphql: - ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || - ^16.0.0 + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: '@graphql-tools/utils': 10.1.3(graphql@16.8.1) change-case-all: 1.0.15 @@ -6098,14 +5231,9 @@ packages: dev: true /@graphql-codegen/schema-ast@4.0.2(graphql@16.8.1): - resolution: - { - integrity: sha512-5mVAOQQK3Oz7EtMl/l3vOQdc2aYClUzVDHHkMvZlunc+KlGgl81j8TLa+X7ANIllqU4fUEsQU3lJmk4hXP6K7Q==, - } + resolution: {integrity: sha512-5mVAOQQK3Oz7EtMl/l3vOQdc2aYClUzVDHHkMvZlunc+KlGgl81j8TLa+X7ANIllqU4fUEsQU3lJmk4hXP6K7Q==} peerDependencies: - graphql: - ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || - ^16.0.0 + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) '@graphql-tools/utils': 10.1.3(graphql@16.8.1) @@ -6114,14 +5242,9 @@ packages: dev: true /@graphql-codegen/typed-document-node@5.0.6(graphql@16.8.1): - resolution: - { - integrity: sha512-US0J95hOE2/W/h42w4oiY+DFKG7IetEN1mQMgXXeat1w6FAR5PlIz4JrRrEkiVfVetZ1g7K78SOwBD8/IJnDiA==, - } + resolution: {integrity: sha512-US0J95hOE2/W/h42w4oiY+DFKG7IetEN1mQMgXXeat1w6FAR5PlIz4JrRrEkiVfVetZ1g7K78SOwBD8/IJnDiA==} peerDependencies: - graphql: - ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || - ^16.0.0 + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) '@graphql-codegen/visitor-plugin-common': 5.1.0(graphql@16.8.1) @@ -6135,14 +5258,9 @@ packages: dev: true /@graphql-codegen/typescript-operations@4.2.0(graphql@16.8.1): - resolution: - { - integrity: sha512-lmuwYb03XC7LNRS8oo9M4/vlOrq/wOKmTLBHlltK2YJ1BO/4K/Q9Jdv/jDmJpNydHVR1fmeF4wAfsIp1f9JibA==, - } + resolution: {integrity: sha512-lmuwYb03XC7LNRS8oo9M4/vlOrq/wOKmTLBHlltK2YJ1BO/4K/Q9Jdv/jDmJpNydHVR1fmeF4wAfsIp1f9JibA==} peerDependencies: - graphql: - ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || - ^16.0.0 + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) '@graphql-codegen/typescript': 4.0.6(graphql@16.8.1) @@ -6156,10 +5274,7 @@ packages: dev: true /@graphql-codegen/typescript@4.0.6(graphql@16.8.1): - resolution: - { - integrity: sha512-IBG4N+Blv7KAL27bseruIoLTjORFCT3r+QYyMC3g11uY3/9TPpaUyjSdF70yBe5GIQ6dAgDU+ENUC1v7EPi0rw==, - } + resolution: {integrity: sha512-IBG4N+Blv7KAL27bseruIoLTjORFCT3r+QYyMC3g11uY3/9TPpaUyjSdF70yBe5GIQ6dAgDU+ENUC1v7EPi0rw==} peerDependencies: graphql: ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: @@ -6175,14 +5290,9 @@ packages: dev: true /@graphql-codegen/visitor-plugin-common@5.1.0(graphql@16.8.1): - resolution: - { - integrity: sha512-eamQxtA9bjJqI2lU5eYoA1GbdMIRT2X8m8vhWYsVQVWD3qM7sx/IqJU0kx0J3Vd4/CSd36BzL6RKwksibytDIg==, - } + resolution: {integrity: sha512-eamQxtA9bjJqI2lU5eYoA1GbdMIRT2X8m8vhWYsVQVWD3qM7sx/IqJU0kx0J3Vd4/CSd36BzL6RKwksibytDIg==} peerDependencies: - graphql: - ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || - ^16.0.0 + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) '@graphql-tools/optimize': 2.0.0(graphql@16.8.1) @@ -6201,11 +5311,8 @@ packages: dev: true /@graphql-tools/apollo-engine-loader@8.0.1(graphql@16.8.1): - resolution: - { - integrity: sha512-NaPeVjtrfbPXcl+MLQCJLWtqe2/E4bbAqcauEOQ+3sizw1Fc2CNmhHRF8a6W4D0ekvTRRXAMptXYgA2uConbrA==, - } - engines: { node: '>=16.0.0' } + resolution: {integrity: sha512-NaPeVjtrfbPXcl+MLQCJLWtqe2/E4bbAqcauEOQ+3sizw1Fc2CNmhHRF8a6W4D0ekvTRRXAMptXYgA2uConbrA==} + engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -6219,11 +5326,8 @@ packages: dev: true /@graphql-tools/batch-execute@9.0.4(graphql@16.8.1): - resolution: - { - integrity: sha512-kkebDLXgDrep5Y0gK1RN3DMUlLqNhg60OAz0lTCqrYeja6DshxLtLkj+zV4mVbBA4mQOEoBmw6g1LZs3dA84/w==, - } - engines: { node: '>=16.0.0' } + resolution: {integrity: sha512-kkebDLXgDrep5Y0gK1RN3DMUlLqNhg60OAz0lTCqrYeja6DshxLtLkj+zV4mVbBA4mQOEoBmw6g1LZs3dA84/w==} + engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -6235,11 +5339,8 @@ packages: dev: true /@graphql-tools/code-file-loader@8.1.1(graphql@16.8.1): - resolution: - { - integrity: sha512-q4KN25EPSUztc8rA8YUU3ufh721Yk12xXDbtUA+YstczWS7a1RJlghYMFEfR1HsHSYbF7cUqkbnTKSGM3o52bQ==, - } - engines: { node: '>=16.0.0' } + resolution: {integrity: sha512-q4KN25EPSUztc8rA8YUU3ufh721Yk12xXDbtUA+YstczWS7a1RJlghYMFEfR1HsHSYbF7cUqkbnTKSGM3o52bQ==} + engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -6254,11 +5355,8 @@ packages: dev: true /@graphql-tools/delegate@10.0.4(graphql@16.8.1): - resolution: - { - integrity: sha512-WswZRbQZMh/ebhc8zSomK9DIh6Pd5KbuiMsyiKkKz37TWTrlCOe+4C/fyrBFez30ksq6oFyCeSKMwfrCbeGo0Q==, - } - engines: { node: '>=16.0.0' } + resolution: {integrity: sha512-WswZRbQZMh/ebhc8zSomK9DIh6Pd5KbuiMsyiKkKz37TWTrlCOe+4C/fyrBFez30ksq6oFyCeSKMwfrCbeGo0Q==} + engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -6272,11 +5370,8 @@ packages: dev: true /@graphql-tools/documents@1.0.0(graphql@16.8.1): - resolution: - { - integrity: sha512-rHGjX1vg/nZ2DKqRGfDPNC55CWZBMldEVcH+91BThRa6JeT80NqXknffLLEZLRUxyikCfkwMsk6xR3UNMqG0Rg==, - } - engines: { node: '>=16.0.0' } + resolution: {integrity: sha512-rHGjX1vg/nZ2DKqRGfDPNC55CWZBMldEVcH+91BThRa6JeT80NqXknffLLEZLRUxyikCfkwMsk6xR3UNMqG0Rg==} + engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -6286,11 +5381,8 @@ packages: dev: true /@graphql-tools/executor-graphql-ws@1.1.2(graphql@16.8.1): - resolution: - { - integrity: sha512-+9ZK0rychTH1LUv4iZqJ4ESbmULJMTsv3XlFooPUngpxZkk00q6LqHKJRrsLErmQrVaC7cwQCaRBJa0teK17Lg==, - } - engines: { node: '>=16.0.0' } + resolution: {integrity: sha512-+9ZK0rychTH1LUv4iZqJ4ESbmULJMTsv3XlFooPUngpxZkk00q6LqHKJRrsLErmQrVaC7cwQCaRBJa0teK17Lg==} + engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -6307,11 +5399,8 @@ packages: dev: true /@graphql-tools/executor-http@1.0.9(@types/node@20.12.7)(graphql@16.8.1): - resolution: - { - integrity: sha512-+NXaZd2MWbbrWHqU4EhXcrDbogeiCDmEbrAN+rMn4Nu2okDjn2MTFDbTIab87oEubQCH4Te1wDkWPKrzXup7+Q==, - } - engines: { node: '>=16.0.0' } + resolution: {integrity: sha512-+NXaZd2MWbbrWHqU4EhXcrDbogeiCDmEbrAN+rMn4Nu2okDjn2MTFDbTIab87oEubQCH4Te1wDkWPKrzXup7+Q==} + engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -6328,11 +5417,8 @@ packages: dev: true /@graphql-tools/executor-legacy-ws@1.0.6(graphql@16.8.1): - resolution: - { - integrity: sha512-lDSxz9VyyquOrvSuCCnld3256Hmd+QI2lkmkEv7d4mdzkxkK4ddAWW1geQiWrQvWmdsmcnGGlZ7gDGbhEExwqg==, - } - engines: { node: '>=16.0.0' } + resolution: {integrity: sha512-lDSxz9VyyquOrvSuCCnld3256Hmd+QI2lkmkEv7d4mdzkxkK4ddAWW1geQiWrQvWmdsmcnGGlZ7gDGbhEExwqg==} + engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -6348,10 +5434,7 @@ packages: dev: true /@graphql-tools/executor@0.0.18(graphql@16.8.1): - resolution: - { - integrity: sha512-xZC0C+/npXoSHBB5bsJdwxDLgtl1Gu4fL9J2TPQmXoZC3L2N506KJoppf9LgWdHU/xK04luJrhP6WjhfkIN0pQ==, - } + resolution: {integrity: sha512-xZC0C+/npXoSHBB5bsJdwxDLgtl1Gu4fL9J2TPQmXoZC3L2N506KJoppf9LgWdHU/xK04luJrhP6WjhfkIN0pQ==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -6364,11 +5447,8 @@ packages: dev: true /@graphql-tools/executor@1.2.6(graphql@16.8.1): - resolution: - { - integrity: sha512-+1kjfqzM5T2R+dCw7F4vdJ3CqG+fY/LYJyhNiWEFtq0ToLwYzR/KKyD8YuzTirEjSxWTVlcBh7endkx5n5F6ew==, - } - engines: { node: '>=16.0.0' } + resolution: {integrity: sha512-+1kjfqzM5T2R+dCw7F4vdJ3CqG+fY/LYJyhNiWEFtq0ToLwYzR/KKyD8YuzTirEjSxWTVlcBh7endkx5n5F6ew==} + engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -6381,11 +5461,8 @@ packages: dev: true /@graphql-tools/git-loader@8.0.5(graphql@16.8.1): - resolution: - { - integrity: sha512-P97/1mhruDiA6D5WUmx3n/aeGPLWj2+4dpzDOxFGGU+z9NcI/JdygMkeFpGZNHeJfw+kHfxgPcMPnxHcyhAoVA==, - } - engines: { node: '>=16.0.0' } + resolution: {integrity: sha512-P97/1mhruDiA6D5WUmx3n/aeGPLWj2+4dpzDOxFGGU+z9NcI/JdygMkeFpGZNHeJfw+kHfxgPcMPnxHcyhAoVA==} + engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -6401,11 +5478,8 @@ packages: dev: true /@graphql-tools/github-loader@8.0.1(@types/node@20.12.7)(graphql@16.8.1): - resolution: - { - integrity: sha512-W4dFLQJ5GtKGltvh/u1apWRFKBQOsDzFxO9cJkOYZj1VzHCpRF43uLST4VbCfWve+AwBqOuKr7YgkHoxpRMkcg==, - } - engines: { node: '>=16.0.0' } + resolution: {integrity: sha512-W4dFLQJ5GtKGltvh/u1apWRFKBQOsDzFxO9cJkOYZj1VzHCpRF43uLST4VbCfWve+AwBqOuKr7YgkHoxpRMkcg==} + engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -6424,11 +5498,8 @@ packages: dev: true /@graphql-tools/graphql-file-loader@8.0.1(graphql@16.8.1): - resolution: - { - integrity: sha512-7gswMqWBabTSmqbaNyWSmRRpStWlcCkBc73E6NZNlh4YNuiyKOwbvSkOUYFOqFMfEL+cFsXgAvr87Vz4XrYSbA==, - } - engines: { node: '>=16.0.0' } + resolution: {integrity: sha512-7gswMqWBabTSmqbaNyWSmRRpStWlcCkBc73E6NZNlh4YNuiyKOwbvSkOUYFOqFMfEL+cFsXgAvr87Vz4XrYSbA==} + engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -6441,11 +5512,8 @@ packages: dev: true /@graphql-tools/graphql-tag-pluck@8.3.0(graphql@16.8.1): - resolution: - { - integrity: sha512-gNqukC+s7iHC7vQZmx1SEJQmLnOguBq+aqE2zV2+o1hxkExvKqyFli1SY/9gmukFIKpKutCIj+8yLOM+jARutw==, - } - engines: { node: '>=16.0.0' } + resolution: {integrity: sha512-gNqukC+s7iHC7vQZmx1SEJQmLnOguBq+aqE2zV2+o1hxkExvKqyFli1SY/9gmukFIKpKutCIj+8yLOM+jARutw==} + engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -6462,11 +5530,8 @@ packages: dev: true /@graphql-tools/import@7.0.1(graphql@16.8.1): - resolution: - { - integrity: sha512-935uAjAS8UAeXThqHfYVr4HEAp6nHJ2sximZKO1RzUTq5WoALMAhhGARl0+ecm6X+cqNUwIChJbjtaa6P/ML0w==, - } - engines: { node: '>=16.0.0' } + resolution: {integrity: sha512-935uAjAS8UAeXThqHfYVr4HEAp6nHJ2sximZKO1RzUTq5WoALMAhhGARl0+ecm6X+cqNUwIChJbjtaa6P/ML0w==} + engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -6477,11 +5542,8 @@ packages: dev: true /@graphql-tools/json-file-loader@8.0.1(graphql@16.8.1): - resolution: - { - integrity: sha512-lAy2VqxDAHjVyqeJonCP6TUemrpYdDuKt25a10X6zY2Yn3iFYGnuIDQ64cv3ytyGY6KPyPB+Kp+ZfOkNDG3FQA==, - } - engines: { node: '>=16.0.0' } + resolution: {integrity: sha512-lAy2VqxDAHjVyqeJonCP6TUemrpYdDuKt25a10X6zY2Yn3iFYGnuIDQ64cv3ytyGY6KPyPB+Kp+ZfOkNDG3FQA==} + engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -6493,11 +5555,8 @@ packages: dev: true /@graphql-tools/load@8.0.2(graphql@16.8.1): - resolution: - { - integrity: sha512-S+E/cmyVmJ3CuCNfDuNF2EyovTwdWfQScXv/2gmvJOti2rGD8jTt9GYVzXaxhblLivQR9sBUCNZu/w7j7aXUCA==, - } - engines: { node: '>=16.0.0' } + resolution: {integrity: sha512-S+E/cmyVmJ3CuCNfDuNF2EyovTwdWfQScXv/2gmvJOti2rGD8jTt9GYVzXaxhblLivQR9sBUCNZu/w7j7aXUCA==} + engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -6509,10 +5568,7 @@ packages: dev: true /@graphql-tools/merge@8.4.2(graphql@16.8.1): - resolution: - { - integrity: sha512-XbrHAaj8yDuINph+sAfuq3QCZ/tKblrTLOpirK0+CAgNlZUCHs0Fa+xtMUURgwCVThLle1AF7svJCxFizygLsw==, - } + resolution: {integrity: sha512-XbrHAaj8yDuINph+sAfuq3QCZ/tKblrTLOpirK0+CAgNlZUCHs0Fa+xtMUURgwCVThLle1AF7svJCxFizygLsw==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -6522,11 +5578,8 @@ packages: dev: true /@graphql-tools/merge@9.0.3(graphql@16.8.1): - resolution: - { - integrity: sha512-FeKv9lKLMwqDu0pQjPpF59GY3HReUkWXKsMIuMuJQOKh9BETu7zPEFUELvcw8w+lwZkl4ileJsHXC9+AnsT2Lw==, - } - engines: { node: '>=16.0.0' } + resolution: {integrity: sha512-FeKv9lKLMwqDu0pQjPpF59GY3HReUkWXKsMIuMuJQOKh9BETu7zPEFUELvcw8w+lwZkl4ileJsHXC9+AnsT2Lw==} + engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -6536,11 +5589,8 @@ packages: dev: true /@graphql-tools/optimize@2.0.0(graphql@16.8.1): - resolution: - { - integrity: sha512-nhdT+CRGDZ+bk68ic+Jw1OZ99YCDIKYA5AlVAnBHJvMawSx9YQqQAIj4refNc1/LRieGiuWvhbG3jvPVYho0Dg==, - } - engines: { node: '>=16.0.0' } + resolution: {integrity: sha512-nhdT+CRGDZ+bk68ic+Jw1OZ99YCDIKYA5AlVAnBHJvMawSx9YQqQAIj4refNc1/LRieGiuWvhbG3jvPVYho0Dg==} + engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -6549,11 +5599,8 @@ packages: dev: true /@graphql-tools/prisma-loader@8.0.3(@types/node@20.12.7)(graphql@16.8.1): - resolution: - { - integrity: sha512-oZhxnMr3Jw2WAW1h9FIhF27xWzIB7bXWM8olz4W12oII4NiZl7VRkFw9IT50zME2Bqi9LGh9pkmMWkjvbOpl+Q==, - } - engines: { node: '>=16.0.0' } + resolution: {integrity: sha512-oZhxnMr3Jw2WAW1h9FIhF27xWzIB7bXWM8olz4W12oII4NiZl7VRkFw9IT50zME2Bqi9LGh9pkmMWkjvbOpl+Q==} + engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -6585,11 +5632,8 @@ packages: dev: true /@graphql-tools/relay-operation-optimizer@7.0.1(graphql@16.8.1): - resolution: - { - integrity: sha512-y0ZrQ/iyqWZlsS/xrJfSir3TbVYJTYmMOu4TaSz6F4FRDTQ3ie43BlKkhf04rC28pnUOS4BO9pDcAo1D30l5+A==, - } - engines: { node: '>=16.0.0' } + resolution: {integrity: sha512-y0ZrQ/iyqWZlsS/xrJfSir3TbVYJTYmMOu4TaSz6F4FRDTQ3ie43BlKkhf04rC28pnUOS4BO9pDcAo1D30l5+A==} + engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -6603,11 +5647,8 @@ packages: dev: true /@graphql-tools/schema@10.0.3(graphql@16.8.1): - resolution: - { - integrity: sha512-p28Oh9EcOna6i0yLaCFOnkcBDQECVf3SCexT6ktb86QNj9idnkhI+tCxnwZDh58Qvjd2nURdkbevvoZkvxzCog==, - } - engines: { node: '>=16.0.0' } + resolution: {integrity: sha512-p28Oh9EcOna6i0yLaCFOnkcBDQECVf3SCexT6ktb86QNj9idnkhI+tCxnwZDh58Qvjd2nURdkbevvoZkvxzCog==} + engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -6619,10 +5660,7 @@ packages: dev: true /@graphql-tools/schema@9.0.19(graphql@16.8.1): - resolution: - { - integrity: sha512-oBRPoNBtCkk0zbUsyP4GaIzCt8C0aCI4ycIRUL67KK5pOHljKLBBtGT+Jr6hkzA74C8Gco8bpZPe7aWFjiaK2w==, - } + resolution: {integrity: sha512-oBRPoNBtCkk0zbUsyP4GaIzCt8C0aCI4ycIRUL67KK5pOHljKLBBtGT+Jr6hkzA74C8Gco8bpZPe7aWFjiaK2w==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -6634,11 +5672,8 @@ packages: dev: true /@graphql-tools/url-loader@8.0.2(@types/node@20.12.7)(graphql@16.8.1): - resolution: - { - integrity: sha512-1dKp2K8UuFn7DFo1qX5c1cyazQv2h2ICwA9esHblEqCYrgf69Nk8N7SODmsfWg94OEaI74IqMoM12t7eIGwFzQ==, - } - engines: { node: '>=16.0.0' } + resolution: {integrity: sha512-1dKp2K8UuFn7DFo1qX5c1cyazQv2h2ICwA9esHblEqCYrgf69Nk8N7SODmsfWg94OEaI74IqMoM12t7eIGwFzQ==} + engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -6664,11 +5699,8 @@ packages: dev: true /@graphql-tools/utils@10.1.3(graphql@16.8.1): - resolution: - { - integrity: sha512-loco2ctrrMQzdpSHbcOo6+Ecp21BV67cQ2pNGhuVKAexruu01RdLn3LgtK47B9BpLz3cUD6U0u1R0rur7xMOOg==, - } - engines: { node: '>=16.0.0' } + resolution: {integrity: sha512-loco2ctrrMQzdpSHbcOo6+Ecp21BV67cQ2pNGhuVKAexruu01RdLn3LgtK47B9BpLz3cUD6U0u1R0rur7xMOOg==} + engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -6680,10 +5712,7 @@ packages: dev: true /@graphql-tools/utils@9.2.1(graphql@16.8.1): - resolution: - { - integrity: sha512-WUw506Ql6xzmOORlriNrD6Ugx+HjVgYxt9KCXD9mHAak+eaXSwuGGPyE60hy9xaDEoXKBsG7SkG69ybitaVl6A==, - } + resolution: {integrity: sha512-WUw506Ql6xzmOORlriNrD6Ugx+HjVgYxt9KCXD9mHAak+eaXSwuGGPyE60hy9xaDEoXKBsG7SkG69ybitaVl6A==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -6693,11 +5722,8 @@ packages: dev: true /@graphql-tools/wrap@10.0.5(graphql@16.8.1): - resolution: - { - integrity: sha512-Cbr5aYjr3HkwdPvetZp1cpDWTGdD1Owgsb3z/ClzhmrboiK86EnQDxDvOJiQkDCPWE9lNBwj8Y4HfxroY0D9DQ==, - } - engines: { node: '>=16.0.0' } + resolution: {integrity: sha512-Cbr5aYjr3HkwdPvetZp1cpDWTGdD1Owgsb3z/ClzhmrboiK86EnQDxDvOJiQkDCPWE9lNBwj8Y4HfxroY0D9DQ==} + engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: @@ -6710,31 +5736,20 @@ packages: dev: true /@graphql-typed-document-node/core@3.2.0(graphql@16.8.1): - resolution: - { - integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==, - } + resolution: {integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==} peerDependencies: - graphql: - ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || - ^16.0.0 || ^17.0.0 + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: graphql: 16.8.1 /@graphql-yoga/logger@0.0.1: - resolution: - { - integrity: sha512-6npFz7eZz33mXgSm1waBLMjUNG0D5hTc/p5Hcs1mojkT3KsLpCOFokzTEKboNsBhKevYcaVa/xeA7WBj4UYMLg==, - } + resolution: {integrity: sha512-6npFz7eZz33mXgSm1waBLMjUNG0D5hTc/p5Hcs1mojkT3KsLpCOFokzTEKboNsBhKevYcaVa/xeA7WBj4UYMLg==} dependencies: tslib: 2.6.2 dev: true /@graphql-yoga/subscription@3.1.0: - resolution: - { - integrity: sha512-Vc9lh8KzIHyS3n4jBlCbz7zCjcbtQnOBpsymcRvHhFr2cuH+knmRn0EmzimMQ58jQ8kxoRXXC3KJS3RIxSdPIg==, - } + resolution: {integrity: sha512-Vc9lh8KzIHyS3n4jBlCbz7zCjcbtQnOBpsymcRvHhFr2cuH+knmRn0EmzimMQ58jQ8kxoRXXC3KJS3RIxSdPIg==} dependencies: '@graphql-yoga/typed-event-target': 1.0.0 '@repeaterjs/repeater': 3.0.5 @@ -6743,20 +5758,14 @@ packages: dev: true /@graphql-yoga/typed-event-target@1.0.0: - resolution: - { - integrity: sha512-Mqni6AEvl3VbpMtKw+TIjc9qS9a8hKhiAjFtqX488yq5oJtj9TkNlFTIacAVS3vnPiswNsmDiQqvwUOcJgi1DA==, - } + resolution: {integrity: sha512-Mqni6AEvl3VbpMtKw+TIjc9qS9a8hKhiAjFtqX488yq5oJtj9TkNlFTIacAVS3vnPiswNsmDiQqvwUOcJgi1DA==} dependencies: '@repeaterjs/repeater': 3.0.5 tslib: 2.6.2 dev: true /@httptoolkit/websocket-stream@6.0.1: - resolution: - { - integrity: sha512-A0NOZI+Glp3Xgcz6Na7i7o09+/+xm2m0UCU8gdtM2nIv6/cjLmhMZMqehSpTlgbx9omtLmV8LVqOskPEyWnmZQ==, - } + resolution: {integrity: sha512-A0NOZI+Glp3Xgcz6Na7i7o09+/+xm2m0UCU8gdtM2nIv6/cjLmhMZMqehSpTlgbx9omtLmV8LVqOskPEyWnmZQ==} dependencies: '@types/ws': 8.5.10 duplexify: 3.7.1 @@ -6772,11 +5781,8 @@ packages: dev: true /@humanwhocodes/config-array@0.11.14: - resolution: - { - integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==, - } - engines: { node: '>=10.10.0' } + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 2.0.3 debug: 4.3.4(supports-color@8.1.1) @@ -6786,26 +5792,17 @@ packages: dev: true /@humanwhocodes/module-importer@1.0.1: - resolution: - { - integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==, - } - engines: { node: '>=12.22' } + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} dev: true /@humanwhocodes/object-schema@2.0.3: - resolution: - { - integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==, - } + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} dev: true /@inquirer/checkbox@2.3.0: - resolution: - { - integrity: sha512-QE8k4cC00gQQghyRGz9DJ59hOqZ4YpCpr6p8o9H3H+WIxjEEi/3BsYSGWkYGel4v2VKLjph4ork9HGPoNcURKg==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-QE8k4cC00gQQghyRGz9DJ59hOqZ4YpCpr6p8o9H3H+WIxjEEi/3BsYSGWkYGel4v2VKLjph4ork9HGPoNcURKg==} + engines: {node: '>=18'} dependencies: '@inquirer/core': 8.0.0 '@inquirer/figures': 1.0.0 @@ -6815,22 +5812,16 @@ packages: dev: false /@inquirer/confirm@3.1.4: - resolution: - { - integrity: sha512-2z2RC0JyQCmggQfRxFnQitGp8YZgdM/AqcOuLaUtL0dZHFByk5jgtzxECX4z5MsH8aq2WzdLPI2AHmHOkh8eRA==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-2z2RC0JyQCmggQfRxFnQitGp8YZgdM/AqcOuLaUtL0dZHFByk5jgtzxECX4z5MsH8aq2WzdLPI2AHmHOkh8eRA==} + engines: {node: '>=18'} dependencies: '@inquirer/core': 8.0.0 '@inquirer/type': 1.3.0 dev: false /@inquirer/core@7.1.3: - resolution: - { - integrity: sha512-MbHUe32W0DRtuw3Hlt+vLWy3c0Vw7wVHSJyYZ16IGVXyxs31BTyo2MOFKzNnzBBAWhsqn+iHO1r84FXIzs39HQ==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-MbHUe32W0DRtuw3Hlt+vLWy3c0Vw7wVHSJyYZ16IGVXyxs31BTyo2MOFKzNnzBBAWhsqn+iHO1r84FXIzs39HQ==} + engines: {node: '>=18'} dependencies: '@inquirer/figures': 1.0.0 '@inquirer/type': 1.3.0 @@ -6848,11 +5839,8 @@ packages: dev: false /@inquirer/core@8.0.0: - resolution: - { - integrity: sha512-RAszmjXj+grbT9yQ9B+me40LskytwBYPhyl6yHI8h+J5BmL0gNI3pdvBBFD6S9LV0lzhzfCRMBMH5UvuUPYzZQ==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-RAszmjXj+grbT9yQ9B+me40LskytwBYPhyl6yHI8h+J5BmL0gNI3pdvBBFD6S9LV0lzhzfCRMBMH5UvuUPYzZQ==} + engines: {node: '>=18'} dependencies: '@inquirer/figures': 1.0.0 '@inquirer/type': 1.3.0 @@ -6870,11 +5858,8 @@ packages: dev: false /@inquirer/editor@2.1.4: - resolution: - { - integrity: sha512-bZ/YDEWNzQaKPhwyspy77Hntk9UjqXmQPMc3I3Cqn1pPBlPzliylgJDhgErxyIMFMtd92FpbDoOk5WWlaVpBMQ==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-bZ/YDEWNzQaKPhwyspy77Hntk9UjqXmQPMc3I3Cqn1pPBlPzliylgJDhgErxyIMFMtd92FpbDoOk5WWlaVpBMQ==} + engines: {node: '>=18'} dependencies: '@inquirer/core': 8.0.0 '@inquirer/type': 1.3.0 @@ -6882,11 +5867,8 @@ packages: dev: false /@inquirer/expand@2.1.4: - resolution: - { - integrity: sha512-dQeTV54ffbkR6epoue2NlbX8R62gS3M8e3OpXlzl3KxueSSQwlO5o3pAASzBnYje1rkTJ3lhX7fhS8Np0HDofA==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-dQeTV54ffbkR6epoue2NlbX8R62gS3M8e3OpXlzl3KxueSSQwlO5o3pAASzBnYje1rkTJ3lhX7fhS8Np0HDofA==} + engines: {node: '>=18'} dependencies: '@inquirer/core': 8.0.0 '@inquirer/type': 1.3.0 @@ -6894,30 +5876,21 @@ packages: dev: false /@inquirer/figures@1.0.0: - resolution: - { - integrity: sha512-3fw+7+77/duTnMJTeSS44wneszghI4tkr0m0xdIJabbYRe36ElzmsqyboMZ1nFRon6sT+ckVvYDVjwapKv+2sw==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-3fw+7+77/duTnMJTeSS44wneszghI4tkr0m0xdIJabbYRe36ElzmsqyboMZ1nFRon6sT+ckVvYDVjwapKv+2sw==} + engines: {node: '>=18'} dev: false /@inquirer/input@2.1.4: - resolution: - { - integrity: sha512-FnskIUMM0ogcYu9zHIuIx8McSnXC69CMm5qzBSo27joFATe/dbK2SXrq9/i/y2dCGFfETSaiYI6q5Rp7jhDbWg==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-FnskIUMM0ogcYu9zHIuIx8McSnXC69CMm5qzBSo27joFATe/dbK2SXrq9/i/y2dCGFfETSaiYI6q5Rp7jhDbWg==} + engines: {node: '>=18'} dependencies: '@inquirer/core': 8.0.0 '@inquirer/type': 1.3.0 dev: false /@inquirer/password@2.1.4: - resolution: - { - integrity: sha512-FK14dvubrLZi4B/OCelmtZngLIKe4AX3Iqwwp48YW1ciEDamoxirMrwV9WzhWnfannPfZFnPLZuqIoqhF9sglg==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-FK14dvubrLZi4B/OCelmtZngLIKe4AX3Iqwwp48YW1ciEDamoxirMrwV9WzhWnfannPfZFnPLZuqIoqhF9sglg==} + engines: {node: '>=18'} dependencies: '@inquirer/core': 8.0.0 '@inquirer/type': 1.3.0 @@ -6925,11 +5898,8 @@ packages: dev: false /@inquirer/prompts@4.3.3: - resolution: - { - integrity: sha512-QLn4tTeLKH3Foqlof0+dY0kLoCGQvvR4MDkHAooPI0rLGPOjUwoiVeEalcMtJTGulqJ76it2UW4++j88WO6KLQ==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-QLn4tTeLKH3Foqlof0+dY0kLoCGQvvR4MDkHAooPI0rLGPOjUwoiVeEalcMtJTGulqJ76it2UW4++j88WO6KLQ==} + engines: {node: '>=18'} dependencies: '@inquirer/checkbox': 2.3.0 '@inquirer/confirm': 3.1.4 @@ -6943,11 +5913,8 @@ packages: dev: false /@inquirer/rawlist@2.1.4: - resolution: - { - integrity: sha512-XtG9e/OYzGedsKsXfUw4tf26aNBN7o2gcYjYdYi7FuE4cOAg1fcFoIn2h0qRMr/+xLsJf4F+Hh+sRnC6yk3yxg==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-XtG9e/OYzGedsKsXfUw4tf26aNBN7o2gcYjYdYi7FuE4cOAg1fcFoIn2h0qRMr/+xLsJf4F+Hh+sRnC6yk3yxg==} + engines: {node: '>=18'} dependencies: '@inquirer/core': 8.0.0 '@inquirer/type': 1.3.0 @@ -6955,11 +5922,8 @@ packages: dev: false /@inquirer/select@2.3.0: - resolution: - { - integrity: sha512-FHZkDUIfGfENxzH/M4tskSWUgRnszKUXb/qlrqbvjwUeFFFSOaWztMkAg4sLwnw2nbT+bdi+WlBn98C/j0NOlQ==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-FHZkDUIfGfENxzH/M4tskSWUgRnszKUXb/qlrqbvjwUeFFFSOaWztMkAg4sLwnw2nbT+bdi+WlBn98C/j0NOlQ==} + engines: {node: '>=18'} dependencies: '@inquirer/core': 8.0.0 '@inquirer/figures': 1.0.0 @@ -6969,19 +5933,13 @@ packages: dev: false /@inquirer/type@1.3.0: - resolution: - { - integrity: sha512-RW4Zf6RCTnInRaOZuRHTqAUl+v6VJuQGglir7nW2BkT3OXOphMhkIFhvFRjorBx2l0VwtC/M4No8vYR65TdN9Q==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-RW4Zf6RCTnInRaOZuRHTqAUl+v6VJuQGglir7nW2BkT3OXOphMhkIFhvFRjorBx2l0VwtC/M4No8vYR65TdN9Q==} + engines: {node: '>=18'} dev: false /@isaacs/cliui@8.0.2: - resolution: - { - integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} dependencies: string-width: 5.1.2 string-width-cjs: /string-width@4.2.3 @@ -6992,11 +5950,8 @@ packages: dev: true /@istanbuljs/load-nyc-config@1.1.0: - resolution: - { - integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} + engines: {node: '>=8'} dependencies: camelcase: 5.3.1 find-up: 4.1.0 @@ -7006,19 +5961,13 @@ packages: dev: true /@istanbuljs/schema@0.1.3: - resolution: - { - integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} dev: true /@jest/console@29.7.0: - resolution: - { - integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 '@types/node': 20.12.7 @@ -7029,11 +5978,8 @@ packages: dev: true /@jest/core@29.7.0: - resolution: - { - integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: @@ -7075,11 +6021,8 @@ packages: dev: true /@jest/environment@29.7.0: - resolution: - { - integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 @@ -7088,21 +6031,15 @@ packages: dev: true /@jest/expect-utils@29.7.0: - resolution: - { - integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: jest-get-type: 29.6.3 dev: true /@jest/expect@29.7.0: - resolution: - { - integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: expect: 29.7.0 jest-snapshot: 29.7.0 @@ -7111,11 +6048,8 @@ packages: dev: true /@jest/fake-timers@29.7.0: - resolution: - { - integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 @@ -7126,11 +6060,8 @@ packages: dev: true /@jest/globals@29.7.0: - resolution: - { - integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/environment': 29.7.0 '@jest/expect': 29.7.0 @@ -7141,11 +6072,8 @@ packages: dev: true /@jest/reporters@29.7.0: - resolution: - { - integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: @@ -7181,21 +6109,15 @@ packages: dev: true /@jest/schemas@29.6.3: - resolution: - { - integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@sinclair/typebox': 0.27.8 dev: true /@jest/source-map@29.6.3: - resolution: - { - integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jridgewell/trace-mapping': 0.3.25 callsites: 3.1.0 @@ -7203,11 +6125,8 @@ packages: dev: true /@jest/test-result@29.7.0: - resolution: - { - integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/console': 29.7.0 '@jest/types': 29.6.3 @@ -7216,11 +6135,8 @@ packages: dev: true /@jest/test-sequencer@29.7.0: - resolution: - { - integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/test-result': 29.7.0 graceful-fs: 4.2.11 @@ -7229,11 +6145,8 @@ packages: dev: true /@jest/transform@29.7.0: - resolution: - { - integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/core': 7.24.4 '@jest/types': 29.6.3 @@ -7255,11 +6168,8 @@ packages: dev: true /@jest/types@29.6.3: - resolution: - { - integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 @@ -7270,11 +6180,8 @@ packages: dev: true /@jridgewell/gen-mapping@0.3.5: - resolution: - { - integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==, - } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} dependencies: '@jridgewell/set-array': 1.2.1 '@jridgewell/sourcemap-codec': 1.4.15 @@ -7282,69 +6189,45 @@ packages: dev: true /@jridgewell/resolve-uri@3.1.2: - resolution: - { - integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==, - } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} dev: true /@jridgewell/set-array@1.2.1: - resolution: - { - integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==, - } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} dev: true /@jridgewell/sourcemap-codec@1.4.15: - resolution: - { - integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==, - } + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} dev: true /@jridgewell/trace-mapping@0.3.25: - resolution: - { - integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==, - } + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} dependencies: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 dev: true /@jridgewell/trace-mapping@0.3.9: - resolution: - { - integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==, - } + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 dev: true /@kamilkisiela/fast-url-parser@1.1.4: - resolution: - { - integrity: sha512-gbkePEBupNydxCelHCESvFSFM8XPh1Zs/OAVRW/rKpEqPAl5PbOM90Si8mv9bvnR53uPD2s/FiRxdvSejpRJew==, - } + resolution: {integrity: sha512-gbkePEBupNydxCelHCESvFSFM8XPh1Zs/OAVRW/rKpEqPAl5PbOM90Si8mv9bvnR53uPD2s/FiRxdvSejpRJew==} dev: true /@lukeed/ms@2.0.2: - resolution: - { - integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==} + engines: {node: '>=8'} dev: true /@metamask/eth-sig-util@4.0.1: - resolution: - { - integrity: sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ==, - } - engines: { node: '>=12.0.0' } + resolution: {integrity: sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ==} + engines: {node: '>=12.0.0'} dependencies: ethereumjs-abi: 0.6.8 ethereumjs-util: 6.2.1 @@ -7354,10 +6237,7 @@ packages: dev: true /@microsoft/tsdoc-config@0.16.2: - resolution: - { - integrity: sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==, - } + resolution: {integrity: sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==} dependencies: '@microsoft/tsdoc': 0.14.2 ajv: 6.12.6 @@ -7366,110 +6246,71 @@ packages: dev: true /@microsoft/tsdoc@0.14.2: - resolution: - { - integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==, - } + resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==} dev: true /@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1: - resolution: - { - integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==, - } + resolution: {integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==} dependencies: eslint-scope: 5.1.1 dev: true /@noble/curves@1.2.0: - resolution: - { - integrity: sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==, - } + resolution: {integrity: sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==} dependencies: '@noble/hashes': 1.3.2 /@noble/curves@1.3.0: - resolution: - { - integrity: sha512-t01iSXPuN+Eqzb4eBX0S5oubSqXbK/xXa1Ne18Hj8f9pStxztHCE2gfboSp/dZRLSqfuLpRK2nDXDK+W9puocA==, - } + resolution: {integrity: sha512-t01iSXPuN+Eqzb4eBX0S5oubSqXbK/xXa1Ne18Hj8f9pStxztHCE2gfboSp/dZRLSqfuLpRK2nDXDK+W9puocA==} dependencies: '@noble/hashes': 1.3.3 dev: true /@noble/hashes@1.2.0: - resolution: - { - integrity: sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==, - } + resolution: {integrity: sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==} dev: true /@noble/hashes@1.3.2: - resolution: - { - integrity: sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==, - } - engines: { node: '>= 16' } + resolution: {integrity: sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==} + engines: {node: '>= 16'} /@noble/hashes@1.3.3: - resolution: - { - integrity: sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==, - } - engines: { node: '>= 16' } + resolution: {integrity: sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==} + engines: {node: '>= 16'} /@noble/hashes@1.4.0: - resolution: - { - integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==, - } - engines: { node: '>= 16' } + resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} + engines: {node: '>= 16'} dev: true /@noble/secp256k1@1.7.1: - resolution: - { - integrity: sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==, - } + resolution: {integrity: sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==} dev: true /@nodelib/fs.scandir@2.1.5: - resolution: - { - integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==, - } - engines: { node: '>= 8' } + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} dependencies: '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 dev: true /@nodelib/fs.stat@2.0.5: - resolution: - { - integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==, - } - engines: { node: '>= 8' } + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} dev: true /@nodelib/fs.walk@1.2.8: - resolution: - { - integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==, - } - engines: { node: '>= 8' } + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 dev: true /@nomicfoundation/edr-darwin-arm64@0.3.5: - resolution: - { - integrity: sha512-gIXUIiPMUy6roLHpNlxf15DumU7/YhffUf7XIB+WUjMecaySfTGyZsTGnCMJZqrDyiYqWPyPKwCV/2u/jqFAUg==, - } - engines: { node: '>= 18' } + resolution: {integrity: sha512-gIXUIiPMUy6roLHpNlxf15DumU7/YhffUf7XIB+WUjMecaySfTGyZsTGnCMJZqrDyiYqWPyPKwCV/2u/jqFAUg==} + engines: {node: '>= 18'} cpu: [arm64] os: [darwin] requiresBuild: true @@ -7477,11 +6318,8 @@ packages: optional: true /@nomicfoundation/edr-darwin-x64@0.3.5: - resolution: - { - integrity: sha512-0MrpOCXUK8gmplpYZ2Cy0holHEylvWoNeecFcrP2WJ5DLQzrB23U5JU2MvUzOJ7aL76Za1VXNBWi/UeTWdHM+w==, - } - engines: { node: '>= 18' } + resolution: {integrity: sha512-0MrpOCXUK8gmplpYZ2Cy0holHEylvWoNeecFcrP2WJ5DLQzrB23U5JU2MvUzOJ7aL76Za1VXNBWi/UeTWdHM+w==} + engines: {node: '>= 18'} cpu: [x64] os: [darwin] requiresBuild: true @@ -7489,11 +6327,8 @@ packages: optional: true /@nomicfoundation/edr-linux-arm64-gnu@0.3.5: - resolution: - { - integrity: sha512-aw9f7AZMiY1dZFNePJGKho2k+nEgFgzUAyyukiKfSqUIMXoFXMf1U3Ujv848czrSq9c5XGcdDa2xnEf3daU3xg==, - } - engines: { node: '>= 18' } + resolution: {integrity: sha512-aw9f7AZMiY1dZFNePJGKho2k+nEgFgzUAyyukiKfSqUIMXoFXMf1U3Ujv848czrSq9c5XGcdDa2xnEf3daU3xg==} + engines: {node: '>= 18'} cpu: [arm64] os: [linux] requiresBuild: true @@ -7501,11 +6336,8 @@ packages: optional: true /@nomicfoundation/edr-linux-arm64-musl@0.3.5: - resolution: - { - integrity: sha512-cVFRQjyABBlsbDj+XTczYBfrCHprZ6YNzN8gGGSqAh+UGIJkAIRomK6ar27GyJLNx3HkgbuDoi/9kA0zOo/95w==, - } - engines: { node: '>= 18' } + resolution: {integrity: sha512-cVFRQjyABBlsbDj+XTczYBfrCHprZ6YNzN8gGGSqAh+UGIJkAIRomK6ar27GyJLNx3HkgbuDoi/9kA0zOo/95w==} + engines: {node: '>= 18'} cpu: [arm64] os: [linux] requiresBuild: true @@ -7513,11 +6345,8 @@ packages: optional: true /@nomicfoundation/edr-linux-x64-gnu@0.3.5: - resolution: - { - integrity: sha512-CjOg85DfR1Vt0fQWn5U0qi26DATK9tVzo3YOZEyI0JBsnqvk43fUTPv3uUAWBrPIRg5O5kOc9xG13hSpCBBxBg==, - } - engines: { node: '>= 18' } + resolution: {integrity: sha512-CjOg85DfR1Vt0fQWn5U0qi26DATK9tVzo3YOZEyI0JBsnqvk43fUTPv3uUAWBrPIRg5O5kOc9xG13hSpCBBxBg==} + engines: {node: '>= 18'} cpu: [x64] os: [linux] requiresBuild: true @@ -7525,11 +6354,8 @@ packages: optional: true /@nomicfoundation/edr-linux-x64-musl@0.3.5: - resolution: - { - integrity: sha512-hvX8bBGpBydAVevzK8jsu2FlqVZK1RrCyTX6wGHnltgMuBaoGLHYtNHiFpteOaJw2byYMiORc2bvj+98LhJ0Ew==, - } - engines: { node: '>= 18' } + resolution: {integrity: sha512-hvX8bBGpBydAVevzK8jsu2FlqVZK1RrCyTX6wGHnltgMuBaoGLHYtNHiFpteOaJw2byYMiORc2bvj+98LhJ0Ew==} + engines: {node: '>= 18'} cpu: [x64] os: [linux] requiresBuild: true @@ -7537,11 +6363,8 @@ packages: optional: true /@nomicfoundation/edr-win32-x64-msvc@0.3.5: - resolution: - { - integrity: sha512-IJXjW13DY5UPsx/eG5DGfXtJ7Ydwrvw/BTZ2Y93lRLHzszVpSmeVmlxjZP5IW2afTSgMLaAAsqNw4NhppRGN8A==, - } - engines: { node: '>= 18' } + resolution: {integrity: sha512-IJXjW13DY5UPsx/eG5DGfXtJ7Ydwrvw/BTZ2Y93lRLHzszVpSmeVmlxjZP5IW2afTSgMLaAAsqNw4NhppRGN8A==} + engines: {node: '>= 18'} cpu: [x64] os: [win32] requiresBuild: true @@ -7549,11 +6372,8 @@ packages: optional: true /@nomicfoundation/edr@0.3.5: - resolution: - { - integrity: sha512-dPSM9DuI1sr71gqWUMgLo8MjHQWO4+WNDm3iWaT6P4vUFJReZX5qwA5X+3UwIPBry8GvNY084u7yWUvB3/8rqA==, - } - engines: { node: '>= 18' } + resolution: {integrity: sha512-dPSM9DuI1sr71gqWUMgLo8MjHQWO4+WNDm3iWaT6P4vUFJReZX5qwA5X+3UwIPBry8GvNY084u7yWUvB3/8rqA==} + engines: {node: '>= 18'} optionalDependencies: '@nomicfoundation/edr-darwin-arm64': 0.3.5 '@nomicfoundation/edr-darwin-x64': 0.3.5 @@ -7565,10 +6385,7 @@ packages: dev: true /@nomicfoundation/ethereumjs-common@4.0.4: - resolution: - { - integrity: sha512-9Rgb658lcWsjiicr5GzNCjI1llow/7r0k50dLL95OJ+6iZJcVbi15r3Y0xh2cIO+zgX0WIHcbzIu6FeQf9KPrg==, - } + resolution: {integrity: sha512-9Rgb658lcWsjiicr5GzNCjI1llow/7r0k50dLL95OJ+6iZJcVbi15r3Y0xh2cIO+zgX0WIHcbzIu6FeQf9KPrg==} dependencies: '@nomicfoundation/ethereumjs-util': 9.0.4 transitivePeerDependencies: @@ -7576,20 +6393,14 @@ packages: dev: true /@nomicfoundation/ethereumjs-rlp@5.0.4: - resolution: - { - integrity: sha512-8H1S3s8F6QueOc/X92SdrA4RDenpiAEqMg5vJH99kcQaCy/a3Q6fgseo75mgWlbanGJXSlAPtnCeG9jvfTYXlw==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-8H1S3s8F6QueOc/X92SdrA4RDenpiAEqMg5vJH99kcQaCy/a3Q6fgseo75mgWlbanGJXSlAPtnCeG9jvfTYXlw==} + engines: {node: '>=18'} hasBin: true dev: true /@nomicfoundation/ethereumjs-tx@5.0.4: - resolution: - { - integrity: sha512-Xjv8wAKJGMrP1f0n2PeyfFCCojHd7iS3s/Ab7qzF1S64kxZ8Z22LCMynArYsVqiFx6rzYy548HNVEyI+AYN/kw==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-Xjv8wAKJGMrP1f0n2PeyfFCCojHd7iS3s/Ab7qzF1S64kxZ8Z22LCMynArYsVqiFx6rzYy548HNVEyI+AYN/kw==} + engines: {node: '>=18'} peerDependencies: c-kzg: ^2.1.2 peerDependenciesMeta: @@ -7603,11 +6414,8 @@ packages: dev: true /@nomicfoundation/ethereumjs-util@9.0.4: - resolution: - { - integrity: sha512-sLOzjnSrlx9Bb9EFNtHzK/FJFsfg2re6bsGqinFinH1gCqVfz9YYlXiMWwDM4C/L4ywuHFCYwfKTVr/QHQcU0Q==, - } - engines: { node: '>=18' } + resolution: {integrity: sha512-sLOzjnSrlx9Bb9EFNtHzK/FJFsfg2re6bsGqinFinH1gCqVfz9YYlXiMWwDM4C/L4ywuHFCYwfKTVr/QHQcU0Q==} + engines: {node: '>=18'} peerDependencies: c-kzg: ^2.1.2 peerDependenciesMeta: @@ -7619,10 +6427,7 @@ packages: dev: true /@nomicfoundation/hardhat-network-helpers@1.0.10(hardhat@2.22.2): - resolution: - { - integrity: sha512-R35/BMBlx7tWN5V6d/8/19QCwEmIdbnA4ZrsuXgvs8i2qFx5i7h6mH5pBS4Pwi4WigLH+upl6faYusrNPuzMrQ==, - } + resolution: {integrity: sha512-R35/BMBlx7tWN5V6d/8/19QCwEmIdbnA4ZrsuXgvs8i2qFx5i7h6mH5pBS4Pwi4WigLH+upl6faYusrNPuzMrQ==} peerDependencies: hardhat: ^2.9.5 dependencies: @@ -7631,10 +6436,7 @@ packages: dev: true /@nomicfoundation/hardhat-toolbox-viem@2.0.0(@nomicfoundation/hardhat-network-helpers@1.0.10)(@nomicfoundation/hardhat-verify@2.0.5)(@nomicfoundation/hardhat-viem@1.0.4)(@types/chai-as-promised@7.1.8)(@types/chai@4.3.14)(@types/mocha@10.0.6)(@types/node@20.12.7)(chai@4.4.1)(hardhat-gas-reporter@1.0.10)(hardhat@2.22.2)(solidity-coverage@0.8.12)(ts-node@10.9.2)(typescript@5.0.4)(viem@1.21.4): - resolution: - { - integrity: sha512-1bxTaC+PcbdctwgP/AvmKJGQTeLoT2kJtAfaDvt5PbL3esZ1EO+pfoBkpliP3DJSNESLSqAjVN1yIFxoLJmiBg==, - } + resolution: {integrity: sha512-1bxTaC+PcbdctwgP/AvmKJGQTeLoT2kJtAfaDvt5PbL3esZ1EO+pfoBkpliP3DJSNESLSqAjVN1yIFxoLJmiBg==} peerDependencies: '@nomicfoundation/hardhat-network-helpers': ^1.0.0 '@nomicfoundation/hardhat-verify': ^2.0.0 @@ -7669,10 +6471,7 @@ packages: dev: true /@nomicfoundation/hardhat-verify@2.0.5(hardhat@2.22.2): - resolution: - { - integrity: sha512-Tg4zu8RkWpyADSFIgF4FlJIUEI4VkxcvELsmbJn2OokbvH2SnUrqKmw0BBfDrtvP0hhmx8wsnrRKP5DV/oTyTA==, - } + resolution: {integrity: sha512-Tg4zu8RkWpyADSFIgF4FlJIUEI4VkxcvELsmbJn2OokbvH2SnUrqKmw0BBfDrtvP0hhmx8wsnrRKP5DV/oTyTA==} peerDependencies: hardhat: ^2.0.4 dependencies: @@ -7691,10 +6490,7 @@ packages: dev: true /@nomicfoundation/hardhat-viem@1.0.4(hardhat@2.22.2)(typescript@5.0.4)(viem@1.21.4)(zod@3.22.4): - resolution: - { - integrity: sha512-6coot+y0y6d75DG33zAdgXlktNp1MRy2B3vDjqlRBaubqlocYak+BSyryiv76F9JuLLgNSxkxTIZCd24h9gKcQ==, - } + resolution: {integrity: sha512-6coot+y0y6d75DG33zAdgXlktNp1MRy2B3vDjqlRBaubqlocYak+BSyryiv76F9JuLLgNSxkxTIZCd24h9gKcQ==} peerDependencies: hardhat: ^2.17.0 typescript: ~5.0.0 @@ -7710,11 +6506,8 @@ packages: dev: true /@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.1: - resolution: - { - integrity: sha512-KcTodaQw8ivDZyF+D76FokN/HdpgGpfjc/gFCImdLUyqB6eSWVaZPazMbeAjmfhx3R0zm/NYVzxwAokFKgrc0w==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-KcTodaQw8ivDZyF+D76FokN/HdpgGpfjc/gFCImdLUyqB6eSWVaZPazMbeAjmfhx3R0zm/NYVzxwAokFKgrc0w==} + engines: {node: '>= 10'} cpu: [arm64] os: [darwin] requiresBuild: true @@ -7722,11 +6515,8 @@ packages: optional: true /@nomicfoundation/solidity-analyzer-darwin-x64@0.1.1: - resolution: - { - integrity: sha512-XhQG4BaJE6cIbjAVtzGOGbK3sn1BO9W29uhk9J8y8fZF1DYz0Doj8QDMfpMu+A6TjPDs61lbsmeYodIDnfveSA==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-XhQG4BaJE6cIbjAVtzGOGbK3sn1BO9W29uhk9J8y8fZF1DYz0Doj8QDMfpMu+A6TjPDs61lbsmeYodIDnfveSA==} + engines: {node: '>= 10'} cpu: [x64] os: [darwin] requiresBuild: true @@ -7734,11 +6524,8 @@ packages: optional: true /@nomicfoundation/solidity-analyzer-freebsd-x64@0.1.1: - resolution: - { - integrity: sha512-GHF1VKRdHW3G8CndkwdaeLkVBi5A9u2jwtlS7SLhBc8b5U/GcoL39Q+1CSO3hYqePNP+eV5YI7Zgm0ea6kMHoA==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-GHF1VKRdHW3G8CndkwdaeLkVBi5A9u2jwtlS7SLhBc8b5U/GcoL39Q+1CSO3hYqePNP+eV5YI7Zgm0ea6kMHoA==} + engines: {node: '>= 10'} cpu: [x64] os: [freebsd] requiresBuild: true @@ -7746,11 +6533,8 @@ packages: optional: true /@nomicfoundation/solidity-analyzer-linux-arm64-gnu@0.1.1: - resolution: - { - integrity: sha512-g4Cv2fO37ZsUENQ2vwPnZc2zRenHyAxHcyBjKcjaSmmkKrFr64yvzeNO8S3GBFCo90rfochLs99wFVGT/0owpg==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-g4Cv2fO37ZsUENQ2vwPnZc2zRenHyAxHcyBjKcjaSmmkKrFr64yvzeNO8S3GBFCo90rfochLs99wFVGT/0owpg==} + engines: {node: '>= 10'} cpu: [arm64] os: [linux] requiresBuild: true @@ -7758,11 +6542,8 @@ packages: optional: true /@nomicfoundation/solidity-analyzer-linux-arm64-musl@0.1.1: - resolution: - { - integrity: sha512-WJ3CE5Oek25OGE3WwzK7oaopY8xMw9Lhb0mlYuJl/maZVo+WtP36XoQTb7bW/i8aAdHW5Z+BqrHMux23pvxG3w==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-WJ3CE5Oek25OGE3WwzK7oaopY8xMw9Lhb0mlYuJl/maZVo+WtP36XoQTb7bW/i8aAdHW5Z+BqrHMux23pvxG3w==} + engines: {node: '>= 10'} cpu: [arm64] os: [linux] requiresBuild: true @@ -7770,11 +6551,8 @@ packages: optional: true /@nomicfoundation/solidity-analyzer-linux-x64-gnu@0.1.1: - resolution: - { - integrity: sha512-5WN7leSr5fkUBBjE4f3wKENUy9HQStu7HmWqbtknfXkkil+eNWiBV275IOlpXku7v3uLsXTOKpnnGHJYI2qsdA==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-5WN7leSr5fkUBBjE4f3wKENUy9HQStu7HmWqbtknfXkkil+eNWiBV275IOlpXku7v3uLsXTOKpnnGHJYI2qsdA==} + engines: {node: '>= 10'} cpu: [x64] os: [linux] requiresBuild: true @@ -7782,11 +6560,8 @@ packages: optional: true /@nomicfoundation/solidity-analyzer-linux-x64-musl@0.1.1: - resolution: - { - integrity: sha512-KdYMkJOq0SYPQMmErv/63CwGwMm5XHenEna9X9aB8mQmhDBrYrlAOSsIPgFCUSL0hjxE3xHP65/EPXR/InD2+w==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-KdYMkJOq0SYPQMmErv/63CwGwMm5XHenEna9X9aB8mQmhDBrYrlAOSsIPgFCUSL0hjxE3xHP65/EPXR/InD2+w==} + engines: {node: '>= 10'} cpu: [x64] os: [linux] requiresBuild: true @@ -7794,11 +6569,8 @@ packages: optional: true /@nomicfoundation/solidity-analyzer-win32-arm64-msvc@0.1.1: - resolution: - { - integrity: sha512-VFZASBfl4qiBYwW5xeY20exWhmv6ww9sWu/krWSesv3q5hA0o1JuzmPHR4LPN6SUZj5vcqci0O6JOL8BPw+APg==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-VFZASBfl4qiBYwW5xeY20exWhmv6ww9sWu/krWSesv3q5hA0o1JuzmPHR4LPN6SUZj5vcqci0O6JOL8BPw+APg==} + engines: {node: '>= 10'} cpu: [arm64] os: [win32] requiresBuild: true @@ -7806,11 +6578,8 @@ packages: optional: true /@nomicfoundation/solidity-analyzer-win32-ia32-msvc@0.1.1: - resolution: - { - integrity: sha512-JnFkYuyCSA70j6Si6cS1A9Gh1aHTEb8kOTBApp/c7NRTFGNMH8eaInKlyuuiIbvYFhlXW4LicqyYuWNNq9hkpQ==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-JnFkYuyCSA70j6Si6cS1A9Gh1aHTEb8kOTBApp/c7NRTFGNMH8eaInKlyuuiIbvYFhlXW4LicqyYuWNNq9hkpQ==} + engines: {node: '>= 10'} cpu: [ia32] os: [win32] requiresBuild: true @@ -7818,11 +6587,8 @@ packages: optional: true /@nomicfoundation/solidity-analyzer-win32-x64-msvc@0.1.1: - resolution: - { - integrity: sha512-HrVJr6+WjIXGnw3Q9u6KQcbZCtk0caVWhCdFADySvRyUxJ8PnzlaP+MhwNE8oyT8OZ6ejHBRrrgjSqDCFXGirw==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-HrVJr6+WjIXGnw3Q9u6KQcbZCtk0caVWhCdFADySvRyUxJ8PnzlaP+MhwNE8oyT8OZ6ejHBRrrgjSqDCFXGirw==} + engines: {node: '>= 10'} cpu: [x64] os: [win32] requiresBuild: true @@ -7830,11 +6596,8 @@ packages: optional: true /@nomicfoundation/solidity-analyzer@0.1.1: - resolution: - { - integrity: sha512-1LMtXj1puAxyFusBgUIy5pZk3073cNXYnXUpuNKFghHbIit/xZgbk0AokpUADbNm3gyD6bFWl3LRFh3dhVdREg==, - } - engines: { node: '>= 12' } + resolution: {integrity: sha512-1LMtXj1puAxyFusBgUIy5pZk3073cNXYnXUpuNKFghHbIit/xZgbk0AokpUADbNm3gyD6bFWl3LRFh3dhVdREg==} + engines: {node: '>= 12'} optionalDependencies: '@nomicfoundation/solidity-analyzer-darwin-arm64': 0.1.1 '@nomicfoundation/solidity-analyzer-darwin-x64': 0.1.1 @@ -7849,24 +6612,15 @@ packages: dev: true /@oasisdex/addresses@0.1.16-dma-v2-workers.11: - resolution: - { - integrity: sha512-eeILfQbJAKX+v0ArlWKEpF7MWMpcyl4U7v2Xu1pDEeZhOkZZbS1XyT9Vhvdyy95x04npGa8Dn1zAZSap0NYtkQ==, - } + resolution: {integrity: sha512-eeILfQbJAKX+v0ArlWKEpF7MWMpcyl4U7v2Xu1pDEeZhOkZZbS1XyT9Vhvdyy95x04npGa8Dn1zAZSap0NYtkQ==} dev: false /@oasisdex/addresses@0.1.60: - resolution: - { - integrity: sha512-UAmNodCG3ld4LK5w7sgtoA0ml4lMFfSE7Zp1vswW7/3823IZFmvEO6wy0Pd/vPnJjjKDYaLJdhsRRYGYHwYGSg==, - } + resolution: {integrity: sha512-UAmNodCG3ld4LK5w7sgtoA0ml4lMFfSE7Zp1vswW7/3823IZFmvEO6wy0Pd/vPnJjjKDYaLJdhsRRYGYHwYGSg==} dev: false /@oasisdex/automation@1.6.4-alpha.1: - resolution: - { - integrity: sha512-ecjaiNRXYf18LInzFHZmdC4X/b/D90Cig3H1KlfXai7yZGRlFx8vQozENbF67wofbrxxWSIyCWd0Zo4jm+i4FQ==, - } + resolution: {integrity: sha512-ecjaiNRXYf18LInzFHZmdC4X/b/D90Cig3H1KlfXai7yZGRlFx8vQozENbF67wofbrxxWSIyCWd0Zo4jm+i4FQ==} dependencies: ethers: 5.7.2 transitivePeerDependencies: @@ -7875,10 +6629,7 @@ packages: dev: false /@oasisdex/dma-library@0.5.21-dma-v2-workers.32-auto-withdraw-to-ltv: - resolution: - { - integrity: sha512-QzYuyAKadytHt78whVNMkQJXINf8Z7SVezLGRCfLdEDIqXARYyr9/UTJjuNaVyilU8bX4EdtvGsUryZob0JqRA==, - } + resolution: {integrity: sha512-QzYuyAKadytHt78whVNMkQJXINf8Z7SVezLGRCfLdEDIqXARYyr9/UTJjuNaVyilU8bX4EdtvGsUryZob0JqRA==} dependencies: bignumber.js: 9.0.1 ethers: 5.6.2 @@ -7888,17 +6639,11 @@ packages: dev: false /@openzeppelin/contracts@4.9.3: - resolution: - { - integrity: sha512-He3LieZ1pP2TNt5JbkPA4PNT9WC3gOTOlDcFGJW4Le4QKqwmiNJCRt44APfxMxvq7OugU/cqYuPcSBzOw38DAg==, - } + resolution: {integrity: sha512-He3LieZ1pP2TNt5JbkPA4PNT9WC3gOTOlDcFGJW4Le4QKqwmiNJCRt44APfxMxvq7OugU/cqYuPcSBzOw38DAg==} dev: true /@peculiar/asn1-schema@2.3.8: - resolution: - { - integrity: sha512-ULB1XqHKx1WBU/tTFIA+uARuRoBVZ4pNdOA878RDrRbBfBGcSzi5HBkdScC6ZbHn8z7L8gmKCgPC1LHRrP46tA==, - } + resolution: {integrity: sha512-ULB1XqHKx1WBU/tTFIA+uARuRoBVZ4pNdOA878RDrRbBfBGcSzi5HBkdScC6ZbHn8z7L8gmKCgPC1LHRrP46tA==} dependencies: asn1js: 3.0.5 pvtsutils: 1.3.5 @@ -7906,21 +6651,15 @@ packages: dev: true /@peculiar/json-schema@1.1.12: - resolution: - { - integrity: sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==, - } - engines: { node: '>=8.0.0' } + resolution: {integrity: sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==} + engines: {node: '>=8.0.0'} dependencies: tslib: 2.6.2 dev: true /@peculiar/webcrypto@1.4.6: - resolution: - { - integrity: sha512-YBcMfqNSwn3SujUJvAaySy5tlYbYm6tVt9SKoXu8BaTdKGROiJDgPR3TXpZdAKUfklzm3lRapJEAltiMQtBgZg==, - } - engines: { node: '>=10.12.0' } + resolution: {integrity: sha512-YBcMfqNSwn3SujUJvAaySy5tlYbYm6tVt9SKoXu8BaTdKGROiJDgPR3TXpZdAKUfklzm3lRapJEAltiMQtBgZg==} + engines: {node: '>=10.12.0'} dependencies: '@peculiar/asn1-schema': 2.3.8 '@peculiar/json-schema': 1.1.12 @@ -7930,28 +6669,19 @@ packages: dev: true /@pkgjs/parseargs@0.11.0: - resolution: - { - integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} requiresBuild: true dev: true optional: true /@pkgr/core@0.1.1: - resolution: - { - integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==, - } - engines: { node: ^12.20.0 || ^14.18.0 || >=16.0.0 } + resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} dev: true /@prb/math@2.5.0(@ethersproject/bignumber@5.7.0)(evm-bn@1.1.2)(mathjs@10.6.4): - resolution: - { - integrity: sha512-iSNQd4L3HaYuAIhJliLVa7WGsyjFiQHGpomrFgdj7FhYGHT6Yo8bBwbmwAPF1bHD3LN8gdg+ssKrRUPNaNPEVw==, - } + resolution: {integrity: sha512-iSNQd4L3HaYuAIhJliLVa7WGsyjFiQHGpomrFgdj7FhYGHT6Yo8bBwbmwAPF1bHD3LN8gdg+ssKrRUPNaNPEVw==} peerDependencies: '@ethersproject/bignumber': 5.x evm-bn: 1.x @@ -7964,10 +6694,7 @@ packages: dev: true /@redis/bloom@1.2.0(@redis/client@1.5.14): - resolution: - { - integrity: sha512-HG2DFjYKbpNmVXsa0keLHp/3leGJz1mjh09f2RLGGLQZzSHpkmZWuwJbAvo3QcRY8p80m5+ZdXZdYOSBLlp7Cg==, - } + resolution: {integrity: sha512-HG2DFjYKbpNmVXsa0keLHp/3leGJz1mjh09f2RLGGLQZzSHpkmZWuwJbAvo3QcRY8p80m5+ZdXZdYOSBLlp7Cg==} peerDependencies: '@redis/client': ^1.0.0 dependencies: @@ -7975,11 +6702,8 @@ packages: dev: false /@redis/client@1.5.14: - resolution: - { - integrity: sha512-YGn0GqsRBFUQxklhY7v562VMOP0DcmlrHHs3IV1mFE3cbxe31IITUkqhBcIhVSI/2JqtWAJXg5mjV4aU+zD0HA==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-YGn0GqsRBFUQxklhY7v562VMOP0DcmlrHHs3IV1mFE3cbxe31IITUkqhBcIhVSI/2JqtWAJXg5mjV4aU+zD0HA==} + engines: {node: '>=14'} dependencies: cluster-key-slot: 1.1.2 generic-pool: 3.9.0 @@ -7987,10 +6711,7 @@ packages: dev: false /@redis/graph@1.1.1(@redis/client@1.5.14): - resolution: - { - integrity: sha512-FEMTcTHZozZciLRl6GiiIB4zGm5z5F3F6a6FZCyrfxdKOhFlGkiAqlexWMBzCi4DcRoyiOsuLfW+cjlGWyExOw==, - } + resolution: {integrity: sha512-FEMTcTHZozZciLRl6GiiIB4zGm5z5F3F6a6FZCyrfxdKOhFlGkiAqlexWMBzCi4DcRoyiOsuLfW+cjlGWyExOw==} peerDependencies: '@redis/client': ^1.0.0 dependencies: @@ -7998,10 +6719,7 @@ packages: dev: false /@redis/json@1.0.6(@redis/client@1.5.14): - resolution: - { - integrity: sha512-rcZO3bfQbm2zPRpqo82XbW8zg4G/w4W3tI7X8Mqleq9goQjAGLL7q/1n1ZX4dXEAmORVZ4s1+uKLaUOg7LrUhw==, - } + resolution: {integrity: sha512-rcZO3bfQbm2zPRpqo82XbW8zg4G/w4W3tI7X8Mqleq9goQjAGLL7q/1n1ZX4dXEAmORVZ4s1+uKLaUOg7LrUhw==} peerDependencies: '@redis/client': ^1.0.0 dependencies: @@ -8009,10 +6727,7 @@ packages: dev: false /@redis/search@1.1.6(@redis/client@1.5.14): - resolution: - { - integrity: sha512-mZXCxbTYKBQ3M2lZnEddwEAks0Kc7nauire8q20oA0oA/LoA+E/b5Y5KZn232ztPb1FkIGqo12vh3Lf+Vw5iTw==, - } + resolution: {integrity: sha512-mZXCxbTYKBQ3M2lZnEddwEAks0Kc7nauire8q20oA0oA/LoA+E/b5Y5KZn232ztPb1FkIGqo12vh3Lf+Vw5iTw==} peerDependencies: '@redis/client': ^1.0.0 dependencies: @@ -8020,10 +6735,7 @@ packages: dev: false /@redis/time-series@1.0.5(@redis/client@1.5.14): - resolution: - { - integrity: sha512-IFjIgTusQym2B5IZJG3XKr5llka7ey84fw/NOYqESP5WUfQs9zz1ww/9+qoz4ka/S6KcGBodzlCeZ5UImKbscg==, - } + resolution: {integrity: sha512-IFjIgTusQym2B5IZJG3XKr5llka7ey84fw/NOYqESP5WUfQs9zz1ww/9+qoz4ka/S6KcGBodzlCeZ5UImKbscg==} peerDependencies: '@redis/client': ^1.0.0 dependencies: @@ -8031,37 +6743,22 @@ packages: dev: false /@repeaterjs/repeater@3.0.4: - resolution: - { - integrity: sha512-AW8PKd6iX3vAZ0vA43nOUOnbq/X5ihgU+mSXXqunMkeQADGiqw/PY0JNeYtD5sr0PAy51YPgAPbDoeapv9r8WA==, - } + resolution: {integrity: sha512-AW8PKd6iX3vAZ0vA43nOUOnbq/X5ihgU+mSXXqunMkeQADGiqw/PY0JNeYtD5sr0PAy51YPgAPbDoeapv9r8WA==} dev: true /@repeaterjs/repeater@3.0.5: - resolution: - { - integrity: sha512-l3YHBLAol6d/IKnB9LhpD0cEZWAoe3eFKUyTYWmFmCO2Q/WOckxLQAUyMZWwZV2M/m3+4vgRoaolFqaII82/TA==, - } + resolution: {integrity: sha512-l3YHBLAol6d/IKnB9LhpD0cEZWAoe3eFKUyTYWmFmCO2Q/WOckxLQAUyMZWwZV2M/m3+4vgRoaolFqaII82/TA==} dev: true /@rushstack/eslint-patch@1.10.2: - resolution: - { - integrity: sha512-hw437iINopmQuxWPSUEvqE56NCPsiU8N4AYtfHmJFckclktzK9YQJieD3XkDCDH4OjL+C7zgPUh73R/nrcHrqw==, - } + resolution: {integrity: sha512-hw437iINopmQuxWPSUEvqE56NCPsiU8N4AYtfHmJFckclktzK9YQJieD3XkDCDH4OjL+C7zgPUh73R/nrcHrqw==} dev: true /@scure/base@1.1.6: - resolution: - { - integrity: sha512-ok9AWwhcgYuGG3Zfhyqg+zwl+Wn5uE+dwC0NV/2qQkx4dABbb/bx96vWu8NSj+BNjjSjno+JRYRjle1jV08k3g==, - } + resolution: {integrity: sha512-ok9AWwhcgYuGG3Zfhyqg+zwl+Wn5uE+dwC0NV/2qQkx4dABbb/bx96vWu8NSj+BNjjSjno+JRYRjle1jV08k3g==} /@scure/bip32@1.1.5: - resolution: - { - integrity: sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==, - } + resolution: {integrity: sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==} dependencies: '@noble/hashes': 1.2.0 '@noble/secp256k1': 1.7.1 @@ -8069,20 +6766,14 @@ packages: dev: true /@scure/bip32@1.3.2: - resolution: - { - integrity: sha512-N1ZhksgwD3OBlwTv3R6KFEcPojl/W4ElJOeCZdi+vuI5QmTFwLq3OFf2zd2ROpKvxFdgZ6hUpb0dx9bVNEwYCA==, - } + resolution: {integrity: sha512-N1ZhksgwD3OBlwTv3R6KFEcPojl/W4ElJOeCZdi+vuI5QmTFwLq3OFf2zd2ROpKvxFdgZ6hUpb0dx9bVNEwYCA==} dependencies: '@noble/curves': 1.2.0 '@noble/hashes': 1.3.3 '@scure/base': 1.1.6 /@scure/bip32@1.3.3: - resolution: - { - integrity: sha512-LJaN3HwRbfQK0X1xFSi0Q9amqOgzQnnDngIt+ZlsBC3Bm7/nE7K0kwshZHyaru79yIVRv/e1mQAjZyuZG6jOFQ==, - } + resolution: {integrity: sha512-LJaN3HwRbfQK0X1xFSi0Q9amqOgzQnnDngIt+ZlsBC3Bm7/nE7K0kwshZHyaru79yIVRv/e1mQAjZyuZG6jOFQ==} dependencies: '@noble/curves': 1.3.0 '@noble/hashes': 1.3.3 @@ -8090,40 +6781,28 @@ packages: dev: true /@scure/bip39@1.1.1: - resolution: - { - integrity: sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg==, - } + resolution: {integrity: sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg==} dependencies: '@noble/hashes': 1.2.0 '@scure/base': 1.1.6 dev: true /@scure/bip39@1.2.1: - resolution: - { - integrity: sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==, - } + resolution: {integrity: sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==} dependencies: '@noble/hashes': 1.3.3 '@scure/base': 1.1.6 /@scure/bip39@1.2.2: - resolution: - { - integrity: sha512-HYf9TUXG80beW+hGAt3TRM8wU6pQoYur9iNypTROm42dorCGmLnFe3eWjz3gOq6G62H2WRh0FCzAR1PI+29zIA==, - } + resolution: {integrity: sha512-HYf9TUXG80beW+hGAt3TRM8wU6pQoYur9iNypTROm42dorCGmLnFe3eWjz3gOq6G62H2WRh0FCzAR1PI+29zIA==} dependencies: '@noble/hashes': 1.3.3 '@scure/base': 1.1.6 dev: true /@sentry/core@5.30.0: - resolution: - { - integrity: sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==} + engines: {node: '>=6'} dependencies: '@sentry/hub': 5.30.0 '@sentry/minimal': 5.30.0 @@ -8133,11 +6812,8 @@ packages: dev: true /@sentry/hub@5.30.0: - resolution: - { - integrity: sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==} + engines: {node: '>=6'} dependencies: '@sentry/types': 5.30.0 '@sentry/utils': 5.30.0 @@ -8145,11 +6821,8 @@ packages: dev: true /@sentry/minimal@5.30.0: - resolution: - { - integrity: sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==} + engines: {node: '>=6'} dependencies: '@sentry/hub': 5.30.0 '@sentry/types': 5.30.0 @@ -8157,11 +6830,8 @@ packages: dev: true /@sentry/node@5.30.0: - resolution: - { - integrity: sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==} + engines: {node: '>=6'} dependencies: '@sentry/core': 5.30.0 '@sentry/hub': 5.30.0 @@ -8177,11 +6847,8 @@ packages: dev: true /@sentry/tracing@5.30.0: - resolution: - { - integrity: sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==} + engines: {node: '>=6'} dependencies: '@sentry/hub': 5.30.0 '@sentry/minimal': 5.30.0 @@ -8191,96 +6858,66 @@ packages: dev: true /@sentry/types@5.30.0: - resolution: - { - integrity: sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==} + engines: {node: '>=6'} dev: true /@sentry/utils@5.30.0: - resolution: - { - integrity: sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==} + engines: {node: '>=6'} dependencies: '@sentry/types': 5.30.0 tslib: 1.14.1 dev: true /@sinclair/typebox@0.27.8: - resolution: - { - integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==, - } + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} dev: true /@sinonjs/commons@3.0.1: - resolution: - { - integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==, - } + resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} dependencies: type-detect: 4.0.8 dev: true /@sinonjs/fake-timers@10.3.0: - resolution: - { - integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==, - } + resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} dependencies: '@sinonjs/commons': 3.0.1 dev: true /@smithy/abort-controller@1.1.0: - resolution: - { - integrity: sha512-5imgGUlZL4dW4YWdMYAKLmal9ny/tlenM81QZY7xYyb76z9Z/QOg7oM5Ak9HQl8QfFTlGVWwcMXl+54jroRgEQ==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-5imgGUlZL4dW4YWdMYAKLmal9ny/tlenM81QZY7xYyb76z9Z/QOg7oM5Ak9HQl8QfFTlGVWwcMXl+54jroRgEQ==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 1.2.0 tslib: 2.6.2 dev: true /@smithy/abort-controller@2.2.0: - resolution: - { - integrity: sha512-wRlta7GuLWpTqtFfGo+nZyOO1vEvewdNR1R4rTxpC8XU6vG/NDyrFBhwLZsqg1NUoR1noVaXJPC/7ZK47QCySw==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-wRlta7GuLWpTqtFfGo+nZyOO1vEvewdNR1R4rTxpC8XU6vG/NDyrFBhwLZsqg1NUoR1noVaXJPC/7ZK47QCySw==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/chunked-blob-reader-native@2.2.0: - resolution: - { - integrity: sha512-VNB5+1oCgX3Fzs072yuRsUoC2N4Zg/LJ11DTxX3+Qu+Paa6AmbIF0E9sc2wthz9Psrk/zcOlTCyuposlIhPjZQ==, - } + resolution: {integrity: sha512-VNB5+1oCgX3Fzs072yuRsUoC2N4Zg/LJ11DTxX3+Qu+Paa6AmbIF0E9sc2wthz9Psrk/zcOlTCyuposlIhPjZQ==} dependencies: '@smithy/util-base64': 2.3.0 tslib: 2.6.2 dev: true /@smithy/chunked-blob-reader@2.2.0: - resolution: - { - integrity: sha512-3GJNvRwXBGdkDZZOGiziVYzDpn4j6zfyULHMDKAGIUo72yHALpE9CbhfQp/XcLNVoc1byfMpn6uW5H2BqPjgaQ==, - } + resolution: {integrity: sha512-3GJNvRwXBGdkDZZOGiziVYzDpn4j6zfyULHMDKAGIUo72yHALpE9CbhfQp/XcLNVoc1byfMpn6uW5H2BqPjgaQ==} dependencies: tslib: 2.6.2 dev: true /@smithy/config-resolver@1.1.0: - resolution: - { - integrity: sha512-7WD9eZHp46BxAjNGHJLmxhhyeiNWkBdVStd7SUJPUZqQGeIO/REtIrcIfKUfdiHTQ9jyu2SYoqvzqqaFc6987w==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-7WD9eZHp46BxAjNGHJLmxhhyeiNWkBdVStd7SUJPUZqQGeIO/REtIrcIfKUfdiHTQ9jyu2SYoqvzqqaFc6987w==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 1.2.0 '@smithy/util-config-provider': 1.1.0 @@ -8289,11 +6926,8 @@ packages: dev: true /@smithy/config-resolver@2.2.0: - resolution: - { - integrity: sha512-fsiMgd8toyUba6n1WRmr+qACzXltpdDkPTAaDqc8QqPBUzO+/JKwL6bUBseHVi8tu9l+3JOK+tSf7cay+4B3LA==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-fsiMgd8toyUba6n1WRmr+qACzXltpdDkPTAaDqc8QqPBUzO+/JKwL6bUBseHVi8tu9l+3JOK+tSf7cay+4B3LA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/node-config-provider': 2.3.0 '@smithy/types': 2.12.0 @@ -8303,11 +6937,8 @@ packages: dev: true /@smithy/core@1.4.2: - resolution: - { - integrity: sha512-2fek3I0KZHWJlRLvRTqxTEri+qV0GRHrJIoLFuBMZB4EMg4WgeBGfF0X6abnrNYpq55KJ6R4D6x4f0vLnhzinA==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-2fek3I0KZHWJlRLvRTqxTEri+qV0GRHrJIoLFuBMZB4EMg4WgeBGfF0X6abnrNYpq55KJ6R4D6x4f0vLnhzinA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/middleware-endpoint': 2.5.1 '@smithy/middleware-retry': 2.3.1 @@ -8320,11 +6951,8 @@ packages: dev: true /@smithy/credential-provider-imds@2.3.0: - resolution: - { - integrity: sha512-BWB9mIukO1wjEOo1Ojgl6LrG4avcaC7T/ZP6ptmAaW4xluhSIPZhY+/PI5YKzlk+jsm+4sQZB45Bt1OfMeQa3w==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-BWB9mIukO1wjEOo1Ojgl6LrG4avcaC7T/ZP6ptmAaW4xluhSIPZhY+/PI5YKzlk+jsm+4sQZB45Bt1OfMeQa3w==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/node-config-provider': 2.3.0 '@smithy/property-provider': 2.2.0 @@ -8334,10 +6962,7 @@ packages: dev: true /@smithy/eventstream-codec@2.2.0: - resolution: - { - integrity: sha512-8janZoJw85nJmQZc4L8TuePp2pk1nxLgkxIR0TUjKJ5Dkj5oelB9WtiSSGXCQvNsJl0VSTvK/2ueMXxvpa9GVw==, - } + resolution: {integrity: sha512-8janZoJw85nJmQZc4L8TuePp2pk1nxLgkxIR0TUjKJ5Dkj5oelB9WtiSSGXCQvNsJl0VSTvK/2ueMXxvpa9GVw==} dependencies: '@aws-crypto/crc32': 3.0.0 '@smithy/types': 2.12.0 @@ -8346,11 +6971,8 @@ packages: dev: true /@smithy/eventstream-serde-browser@2.2.0: - resolution: - { - integrity: sha512-UaPf8jKbcP71BGiO0CdeLmlg+RhWnlN8ipsMSdwvqBFigl5nil3rHOI/5GE3tfiuX8LvY5Z9N0meuU7Rab7jWw==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-UaPf8jKbcP71BGiO0CdeLmlg+RhWnlN8ipsMSdwvqBFigl5nil3rHOI/5GE3tfiuX8LvY5Z9N0meuU7Rab7jWw==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/eventstream-serde-universal': 2.2.0 '@smithy/types': 2.12.0 @@ -8358,22 +6980,16 @@ packages: dev: true /@smithy/eventstream-serde-config-resolver@2.2.0: - resolution: - { - integrity: sha512-RHhbTw/JW3+r8QQH7PrganjNCiuiEZmpi6fYUAetFfPLfZ6EkiA08uN3EFfcyKubXQxOwTeJRZSQmDDCdUshaA==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-RHhbTw/JW3+r8QQH7PrganjNCiuiEZmpi6fYUAetFfPLfZ6EkiA08uN3EFfcyKubXQxOwTeJRZSQmDDCdUshaA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/eventstream-serde-node@2.2.0: - resolution: - { - integrity: sha512-zpQMtJVqCUMn+pCSFcl9K/RPNtQE0NuMh8sKpCdEHafhwRsjP50Oq/4kMmvxSRy6d8Jslqd8BLvDngrUtmN9iA==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-zpQMtJVqCUMn+pCSFcl9K/RPNtQE0NuMh8sKpCdEHafhwRsjP50Oq/4kMmvxSRy6d8Jslqd8BLvDngrUtmN9iA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/eventstream-serde-universal': 2.2.0 '@smithy/types': 2.12.0 @@ -8381,11 +6997,8 @@ packages: dev: true /@smithy/eventstream-serde-universal@2.2.0: - resolution: - { - integrity: sha512-pvoe/vvJY0mOpuF84BEtyZoYfbehiFj8KKWk1ds2AT0mTLYFVs+7sBJZmioOFdBXKd48lfrx1vumdPdmGlCLxA==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-pvoe/vvJY0mOpuF84BEtyZoYfbehiFj8KKWk1ds2AT0mTLYFVs+7sBJZmioOFdBXKd48lfrx1vumdPdmGlCLxA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/eventstream-codec': 2.2.0 '@smithy/types': 2.12.0 @@ -8393,10 +7006,7 @@ packages: dev: true /@smithy/fetch-http-handler@1.1.0: - resolution: - { - integrity: sha512-N22C9R44u5WGlcY+Wuv8EXmCAq62wWwriRAuoczMEwAIjPbvHSthyPSLqI4S7kAST1j6niWg8kwpeJ3ReAv3xg==, - } + resolution: {integrity: sha512-N22C9R44u5WGlcY+Wuv8EXmCAq62wWwriRAuoczMEwAIjPbvHSthyPSLqI4S7kAST1j6niWg8kwpeJ3ReAv3xg==} dependencies: '@smithy/protocol-http': 1.2.0 '@smithy/querystring-builder': 1.1.0 @@ -8406,10 +7016,7 @@ packages: dev: true /@smithy/fetch-http-handler@2.5.0: - resolution: - { - integrity: sha512-BOWEBeppWhLn/no/JxUL/ghTfANTjT7kg3Ww2rPqTUY9R4yHPXxJ9JhMe3Z03LN3aPwiwlpDIUcVw1xDyHqEhw==, - } + resolution: {integrity: sha512-BOWEBeppWhLn/no/JxUL/ghTfANTjT7kg3Ww2rPqTUY9R4yHPXxJ9JhMe3Z03LN3aPwiwlpDIUcVw1xDyHqEhw==} dependencies: '@smithy/protocol-http': 3.3.0 '@smithy/querystring-builder': 2.2.0 @@ -8419,10 +7026,7 @@ packages: dev: true /@smithy/hash-blob-browser@2.2.0: - resolution: - { - integrity: sha512-SGPoVH8mdXBqrkVCJ1Hd1X7vh1zDXojNN1yZyZTZsCno99hVue9+IYzWDjq/EQDDXxmITB0gBmuyPh8oAZSTcg==, - } + resolution: {integrity: sha512-SGPoVH8mdXBqrkVCJ1Hd1X7vh1zDXojNN1yZyZTZsCno99hVue9+IYzWDjq/EQDDXxmITB0gBmuyPh8oAZSTcg==} dependencies: '@smithy/chunked-blob-reader': 2.2.0 '@smithy/chunked-blob-reader-native': 2.2.0 @@ -8431,11 +7035,8 @@ packages: dev: true /@smithy/hash-node@2.2.0: - resolution: - { - integrity: sha512-zLWaC/5aWpMrHKpoDF6nqpNtBhlAYKF/7+9yMN7GpdR8CzohnWfGtMznPybnwSS8saaXBMxIGwJqR4HmRp6b3g==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-zLWaC/5aWpMrHKpoDF6nqpNtBhlAYKF/7+9yMN7GpdR8CzohnWfGtMznPybnwSS8saaXBMxIGwJqR4HmRp6b3g==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 '@smithy/util-buffer-from': 2.2.0 @@ -8444,11 +7045,8 @@ packages: dev: true /@smithy/hash-stream-node@2.2.0: - resolution: - { - integrity: sha512-aT+HCATOSRMGpPI7bi7NSsTNVZE/La9IaxLXWoVAYMxHT5hGO3ZOGEMZQg8A6nNL+pdFGtZQtND1eoY084HgHQ==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-aT+HCATOSRMGpPI7bi7NSsTNVZE/La9IaxLXWoVAYMxHT5hGO3ZOGEMZQg8A6nNL+pdFGtZQtND1eoY084HgHQ==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 '@smithy/util-utf8': 2.3.0 @@ -8456,40 +7054,28 @@ packages: dev: true /@smithy/invalid-dependency@2.2.0: - resolution: - { - integrity: sha512-nEDASdbKFKPXN2O6lOlTgrEEOO9NHIeO+HVvZnkqc8h5U9g3BIhWsvzFo+UcUbliMHvKNPD/zVxDrkP1Sbgp8Q==, - } + resolution: {integrity: sha512-nEDASdbKFKPXN2O6lOlTgrEEOO9NHIeO+HVvZnkqc8h5U9g3BIhWsvzFo+UcUbliMHvKNPD/zVxDrkP1Sbgp8Q==} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/is-array-buffer@1.1.0: - resolution: - { - integrity: sha512-twpQ/n+3OWZJ7Z+xu43MJErmhB/WO/mMTnqR6PwWQShvSJ/emx5d1N59LQZk6ZpTAeuRWrc+eHhkzTp9NFjNRQ==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-twpQ/n+3OWZJ7Z+xu43MJErmhB/WO/mMTnqR6PwWQShvSJ/emx5d1N59LQZk6ZpTAeuRWrc+eHhkzTp9NFjNRQ==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@smithy/is-array-buffer@2.2.0: - resolution: - { - integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@smithy/md5-js@2.2.0: - resolution: - { - integrity: sha512-M26XTtt9IIusVMOWEAhIvFIr9jYj4ISPPGJROqw6vXngO3IYJCnVVSMFn4Tx1rUTG5BiKJNg9u2nxmBiZC5IlQ==, - } + resolution: {integrity: sha512-M26XTtt9IIusVMOWEAhIvFIr9jYj4ISPPGJROqw6vXngO3IYJCnVVSMFn4Tx1rUTG5BiKJNg9u2nxmBiZC5IlQ==} dependencies: '@smithy/types': 2.12.0 '@smithy/util-utf8': 2.3.0 @@ -8497,11 +7083,8 @@ packages: dev: true /@smithy/middleware-content-length@2.2.0: - resolution: - { - integrity: sha512-5bl2LG1Ah/7E5cMSC+q+h3IpVHMeOkG0yLRyQT1p2aMJkSrZG7RlXHPuAgb7EyaFeidKEnnd/fNaLLaKlHGzDQ==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-5bl2LG1Ah/7E5cMSC+q+h3IpVHMeOkG0yLRyQT1p2aMJkSrZG7RlXHPuAgb7EyaFeidKEnnd/fNaLLaKlHGzDQ==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/protocol-http': 3.3.0 '@smithy/types': 2.12.0 @@ -8509,11 +7092,8 @@ packages: dev: true /@smithy/middleware-endpoint@2.5.1: - resolution: - { - integrity: sha512-1/8kFp6Fl4OsSIVTWHnNjLnTL8IqpIb/D3sTSczrKFnrE9VMNWxnrRKNvpUHOJ6zpGD5f62TPm7+17ilTJpiCQ==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-1/8kFp6Fl4OsSIVTWHnNjLnTL8IqpIb/D3sTSczrKFnrE9VMNWxnrRKNvpUHOJ6zpGD5f62TPm7+17ilTJpiCQ==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/middleware-serde': 2.3.0 '@smithy/node-config-provider': 2.3.0 @@ -8525,11 +7105,8 @@ packages: dev: true /@smithy/middleware-retry@1.1.0: - resolution: - { - integrity: sha512-lINKYxIvT+W20YFOtHBKeGm7npuJg0/YCoShttU7fVpsmU+a2rdb9zrJn1MHqWfUL6DhTAWGa0tH2O7l4XrDcw==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-lINKYxIvT+W20YFOtHBKeGm7npuJg0/YCoShttU7fVpsmU+a2rdb9zrJn1MHqWfUL6DhTAWGa0tH2O7l4XrDcw==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/protocol-http': 1.2.0 '@smithy/service-error-classification': 1.1.0 @@ -8541,11 +7118,8 @@ packages: dev: true /@smithy/middleware-retry@2.3.1: - resolution: - { - integrity: sha512-P2bGufFpFdYcWvqpyqqmalRtwFUNUA8vHjJR5iGqbfR6mp65qKOLcUd6lTr4S9Gn/enynSrSf3p3FVgVAf6bXA==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-P2bGufFpFdYcWvqpyqqmalRtwFUNUA8vHjJR5iGqbfR6mp65qKOLcUd6lTr4S9Gn/enynSrSf3p3FVgVAf6bXA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/node-config-provider': 2.3.0 '@smithy/protocol-http': 3.3.0 @@ -8559,43 +7133,31 @@ packages: dev: true /@smithy/middleware-serde@2.3.0: - resolution: - { - integrity: sha512-sIADe7ojwqTyvEQBe1nc/GXB9wdHhi9UwyX0lTyttmUWDJLP655ZYE1WngnNyXREme8I27KCaUhyhZWRXL0q7Q==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-sIADe7ojwqTyvEQBe1nc/GXB9wdHhi9UwyX0lTyttmUWDJLP655ZYE1WngnNyXREme8I27KCaUhyhZWRXL0q7Q==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/middleware-stack@1.1.0: - resolution: - { - integrity: sha512-XynYiIvXNea2BbLcppvpNK0zu8o2woJqgnmxqYTn4FWagH/Hr2QIk8LOsUz7BIJ4tooFhmx8urHKCdlPbbPDCA==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-XynYiIvXNea2BbLcppvpNK0zu8o2woJqgnmxqYTn4FWagH/Hr2QIk8LOsUz7BIJ4tooFhmx8urHKCdlPbbPDCA==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@smithy/middleware-stack@2.2.0: - resolution: - { - integrity: sha512-Qntc3jrtwwrsAC+X8wms8zhrTr0sFXnyEGhZd9sLtsJ/6gGQKFzNB+wWbOcpJd7BR8ThNCoKt76BuQahfMvpeA==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-Qntc3jrtwwrsAC+X8wms8zhrTr0sFXnyEGhZd9sLtsJ/6gGQKFzNB+wWbOcpJd7BR8ThNCoKt76BuQahfMvpeA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/node-config-provider@2.3.0: - resolution: - { - integrity: sha512-0elK5/03a1JPWMDPaS726Iw6LpQg80gFut1tNpPfxFuChEEklo2yL823V94SpTZTxmKlXFtFgsP55uh3dErnIg==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-0elK5/03a1JPWMDPaS726Iw6LpQg80gFut1tNpPfxFuChEEklo2yL823V94SpTZTxmKlXFtFgsP55uh3dErnIg==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/property-provider': 2.2.0 '@smithy/shared-ini-file-loader': 2.4.0 @@ -8604,11 +7166,8 @@ packages: dev: true /@smithy/node-http-handler@1.1.0: - resolution: - { - integrity: sha512-d3kRriEgaIiGXLziAM8bjnaLn1fthCJeTLZIwEIpzQqe6yPX0a+yQoLCTyjb2fvdLwkMoG4p7THIIB5cj5lkbg==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-d3kRriEgaIiGXLziAM8bjnaLn1fthCJeTLZIwEIpzQqe6yPX0a+yQoLCTyjb2fvdLwkMoG4p7THIIB5cj5lkbg==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/abort-controller': 1.1.0 '@smithy/protocol-http': 1.2.0 @@ -8618,11 +7177,8 @@ packages: dev: true /@smithy/node-http-handler@2.5.0: - resolution: - { - integrity: sha512-mVGyPBzkkGQsPoxQUbxlEfRjrj6FPyA3u3u2VXGr9hT8wilsoQdZdvKpMBFMB8Crfhv5dNkKHIW0Yyuc7eABqA==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-mVGyPBzkkGQsPoxQUbxlEfRjrj6FPyA3u3u2VXGr9hT8wilsoQdZdvKpMBFMB8Crfhv5dNkKHIW0Yyuc7eABqA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/abort-controller': 2.2.0 '@smithy/protocol-http': 3.3.0 @@ -8632,44 +7188,32 @@ packages: dev: true /@smithy/property-provider@2.2.0: - resolution: - { - integrity: sha512-+xiil2lFhtTRzXkx8F053AV46QnIw6e7MV8od5Mi68E1ICOjCeCHw2XfLnDEUHnT9WGUIkwcqavXjfwuJbGlpg==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-+xiil2lFhtTRzXkx8F053AV46QnIw6e7MV8od5Mi68E1ICOjCeCHw2XfLnDEUHnT9WGUIkwcqavXjfwuJbGlpg==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/protocol-http@1.2.0: - resolution: - { - integrity: sha512-GfGfruksi3nXdFok5RhgtOnWe5f6BndzYfmEXISD+5gAGdayFGpjWu5pIqIweTudMtse20bGbc+7MFZXT1Tb8Q==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-GfGfruksi3nXdFok5RhgtOnWe5f6BndzYfmEXISD+5gAGdayFGpjWu5pIqIweTudMtse20bGbc+7MFZXT1Tb8Q==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 1.2.0 tslib: 2.6.2 dev: true /@smithy/protocol-http@3.3.0: - resolution: - { - integrity: sha512-Xy5XK1AFWW2nlY/biWZXu6/krgbaf2dg0q492D8M5qthsnU2H+UgFeZLbM76FnH7s6RO/xhQRkj+T6KBO3JzgQ==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-Xy5XK1AFWW2nlY/biWZXu6/krgbaf2dg0q492D8M5qthsnU2H+UgFeZLbM76FnH7s6RO/xhQRkj+T6KBO3JzgQ==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/querystring-builder@1.1.0: - resolution: - { - integrity: sha512-gDEi4LxIGLbdfjrjiY45QNbuDmpkwh9DX4xzrR2AzjjXpxwGyfSpbJaYhXARw9p17VH0h9UewnNQXNwaQyYMDA==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-gDEi4LxIGLbdfjrjiY45QNbuDmpkwh9DX4xzrR2AzjjXpxwGyfSpbJaYhXARw9p17VH0h9UewnNQXNwaQyYMDA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 1.2.0 '@smithy/util-uri-escape': 1.1.0 @@ -8677,11 +7221,8 @@ packages: dev: true /@smithy/querystring-builder@2.2.0: - resolution: - { - integrity: sha512-L1kSeviUWL+emq3CUVSgdogoM/D9QMFaqxL/dd0X7PCNWmPXqt+ExtrBjqT0V7HLN03Vs9SuiLrG3zy3JGnE5A==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-L1kSeviUWL+emq3CUVSgdogoM/D9QMFaqxL/dd0X7PCNWmPXqt+ExtrBjqT0V7HLN03Vs9SuiLrG3zy3JGnE5A==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 '@smithy/util-uri-escape': 2.2.0 @@ -8689,50 +7230,35 @@ packages: dev: true /@smithy/querystring-parser@2.2.0: - resolution: - { - integrity: sha512-BvHCDrKfbG5Yhbpj4vsbuPV2GgcpHiAkLeIlcA1LtfpMz3jrqizP1+OguSNSj1MwBHEiN+jwNisXLGdajGDQJA==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-BvHCDrKfbG5Yhbpj4vsbuPV2GgcpHiAkLeIlcA1LtfpMz3jrqizP1+OguSNSj1MwBHEiN+jwNisXLGdajGDQJA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/service-error-classification@1.1.0: - resolution: - { - integrity: sha512-OCTEeJ1igatd5kFrS2VDlYbainNNpf7Lj1siFOxnRWqYOP9oNvC5HOJBd3t+Z8MbrmehBtuDJ2QqeBsfeiNkww==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-OCTEeJ1igatd5kFrS2VDlYbainNNpf7Lj1siFOxnRWqYOP9oNvC5HOJBd3t+Z8MbrmehBtuDJ2QqeBsfeiNkww==} + engines: {node: '>=14.0.0'} dev: true /@smithy/service-error-classification@2.1.5: - resolution: - { - integrity: sha512-uBDTIBBEdAQryvHdc5W8sS5YX7RQzF683XrHePVdFmAgKiMofU15FLSM0/HU03hKTnazdNRFa0YHS7+ArwoUSQ==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-uBDTIBBEdAQryvHdc5W8sS5YX7RQzF683XrHePVdFmAgKiMofU15FLSM0/HU03hKTnazdNRFa0YHS7+ArwoUSQ==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 /@smithy/shared-ini-file-loader@2.4.0: - resolution: - { - integrity: sha512-WyujUJL8e1B6Z4PBfAqC/aGY1+C7T0w20Gih3yrvJSk97gpiVfB+y7c46T4Nunk+ZngLq0rOIdeVeIklk0R3OA==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-WyujUJL8e1B6Z4PBfAqC/aGY1+C7T0w20Gih3yrvJSk97gpiVfB+y7c46T4Nunk+ZngLq0rOIdeVeIklk0R3OA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/signature-v4@2.3.0: - resolution: - { - integrity: sha512-ui/NlpILU+6HAQBfJX8BBsDXuKSNrjTSuOYArRblcrErwKFutjrCNb/OExfVRyj9+26F9J+ZmfWT+fKWuDrH3Q==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-ui/NlpILU+6HAQBfJX8BBsDXuKSNrjTSuOYArRblcrErwKFutjrCNb/OExfVRyj9+26F9J+ZmfWT+fKWuDrH3Q==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/is-array-buffer': 2.2.0 '@smithy/types': 2.12.0 @@ -8744,11 +7270,8 @@ packages: dev: true /@smithy/smithy-client@1.1.0: - resolution: - { - integrity: sha512-j32SGgVhv2G9nBTmel9u3OXux8KG20ssxuFakJrEeDug3kqbl1qrGzVLCe+Eib402UDtA0Sp1a4NZ2SEXDBxag==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-j32SGgVhv2G9nBTmel9u3OXux8KG20ssxuFakJrEeDug3kqbl1qrGzVLCe+Eib402UDtA0Sp1a4NZ2SEXDBxag==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/middleware-stack': 1.1.0 '@smithy/types': 1.2.0 @@ -8757,11 +7280,8 @@ packages: dev: true /@smithy/smithy-client@2.5.1: - resolution: - { - integrity: sha512-jrbSQrYCho0yDaaf92qWgd+7nAeap5LtHTI51KXqmpIFCceKU3K9+vIVTUH72bOJngBMqa4kyu1VJhRcSrk/CQ==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-jrbSQrYCho0yDaaf92qWgd+7nAeap5LtHTI51KXqmpIFCceKU3K9+vIVTUH72bOJngBMqa4kyu1VJhRcSrk/CQ==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/middleware-endpoint': 2.5.1 '@smithy/middleware-stack': 2.2.0 @@ -8772,29 +7292,20 @@ packages: dev: true /@smithy/types@1.2.0: - resolution: - { - integrity: sha512-z1r00TvBqF3dh4aHhya7nz1HhvCg4TRmw51fjMrh5do3h+ngSstt/yKlNbHeb9QxJmFbmN8KEVSWgb1bRvfEoA==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-z1r00TvBqF3dh4aHhya7nz1HhvCg4TRmw51fjMrh5do3h+ngSstt/yKlNbHeb9QxJmFbmN8KEVSWgb1bRvfEoA==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@smithy/types@2.12.0: - resolution: - { - integrity: sha512-QwYgloJ0sVNBeBuBs65cIkTbfzV/Q6ZNPCJ99EICFEdJYG50nGIY/uYXp+TbsdJReIuPr0a0kXmCvren3MbRRw==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-QwYgloJ0sVNBeBuBs65cIkTbfzV/Q6ZNPCJ99EICFEdJYG50nGIY/uYXp+TbsdJReIuPr0a0kXmCvren3MbRRw==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 /@smithy/url-parser@2.2.0: - resolution: - { - integrity: sha512-hoA4zm61q1mNTpksiSWp2nEl1dt3j726HdRhiNgVJQMj7mLp7dprtF57mOB6JvEk/x9d2bsuL5hlqZbBuHQylQ==, - } + resolution: {integrity: sha512-hoA4zm61q1mNTpksiSWp2nEl1dt3j726HdRhiNgVJQMj7mLp7dprtF57mOB6JvEk/x9d2bsuL5hlqZbBuHQylQ==} dependencies: '@smithy/querystring-parser': 2.2.0 '@smithy/types': 2.12.0 @@ -8802,22 +7313,16 @@ packages: dev: true /@smithy/util-base64@1.1.0: - resolution: - { - integrity: sha512-FpYmDmVbOXAxqvoVCwqehUN0zXS+lN8V7VS9O7I8MKeVHdSTsZzlwiMEvGoyTNOXWn8luF4CTDYgNHnZViR30g==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-FpYmDmVbOXAxqvoVCwqehUN0zXS+lN8V7VS9O7I8MKeVHdSTsZzlwiMEvGoyTNOXWn8luF4CTDYgNHnZViR30g==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/util-buffer-from': 1.1.0 tslib: 2.6.2 dev: true /@smithy/util-base64@2.3.0: - resolution: - { - integrity: sha512-s3+eVwNeJuXUwuMbusncZNViuhv2LjVJ1nMwTqSA0XAC7gjKhqqxRdJPhR8+YrkoZ9IiIbFk/yK6ACe/xlF+hw==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-s3+eVwNeJuXUwuMbusncZNViuhv2LjVJ1nMwTqSA0XAC7gjKhqqxRdJPhR8+YrkoZ9IiIbFk/yK6ACe/xlF+hw==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/util-buffer-from': 2.2.0 '@smithy/util-utf8': 2.3.0 @@ -8825,72 +7330,51 @@ packages: dev: true /@smithy/util-body-length-browser@2.2.0: - resolution: - { - integrity: sha512-dtpw9uQP7W+n3vOtx0CfBD5EWd7EPdIdsQnWTDoFf77e3VUf05uA7R7TGipIo8e4WL2kuPdnsr3hMQn9ziYj5w==, - } + resolution: {integrity: sha512-dtpw9uQP7W+n3vOtx0CfBD5EWd7EPdIdsQnWTDoFf77e3VUf05uA7R7TGipIo8e4WL2kuPdnsr3hMQn9ziYj5w==} dependencies: tslib: 2.6.2 dev: true /@smithy/util-body-length-node@2.3.0: - resolution: - { - integrity: sha512-ITWT1Wqjubf2CJthb0BuT9+bpzBfXeMokH/AAa5EJQgbv9aPMVfnM76iFIZVFf50hYXGbtiV71BHAthNWd6+dw==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-ITWT1Wqjubf2CJthb0BuT9+bpzBfXeMokH/AAa5EJQgbv9aPMVfnM76iFIZVFf50hYXGbtiV71BHAthNWd6+dw==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@smithy/util-buffer-from@1.1.0: - resolution: - { - integrity: sha512-9m6NXE0ww+ra5HKHCHig20T+FAwxBAm7DIdwc/767uGWbRcY720ybgPacQNB96JMOI7xVr/CDa3oMzKmW4a+kw==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-9m6NXE0ww+ra5HKHCHig20T+FAwxBAm7DIdwc/767uGWbRcY720ybgPacQNB96JMOI7xVr/CDa3oMzKmW4a+kw==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/is-array-buffer': 1.1.0 tslib: 2.6.2 dev: true /@smithy/util-buffer-from@2.2.0: - resolution: - { - integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/is-array-buffer': 2.2.0 tslib: 2.6.2 dev: true /@smithy/util-config-provider@1.1.0: - resolution: - { - integrity: sha512-rQ47YpNmF6Is4I9GiE3T3+0xQ+r7RKRKbmHYyGSbyep/0cSf9kteKcI0ssJTvveJ1K4QvwrxXj1tEFp/G2UqxQ==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-rQ47YpNmF6Is4I9GiE3T3+0xQ+r7RKRKbmHYyGSbyep/0cSf9kteKcI0ssJTvveJ1K4QvwrxXj1tEFp/G2UqxQ==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@smithy/util-config-provider@2.3.0: - resolution: - { - integrity: sha512-HZkzrRcuFN1k70RLqlNK4FnPXKOpkik1+4JaBoHNJn+RnJGYqaa3c5/+XtLOXhlKzlRgNvyaLieHTW2VwGN0VQ==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-HZkzrRcuFN1k70RLqlNK4FnPXKOpkik1+4JaBoHNJn+RnJGYqaa3c5/+XtLOXhlKzlRgNvyaLieHTW2VwGN0VQ==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@smithy/util-defaults-mode-browser@2.2.1: - resolution: - { - integrity: sha512-RtKW+8j8skk17SYowucwRUjeh4mCtnm5odCL0Lm2NtHQBsYKrNW0od9Rhopu9wF1gHMfHeWF7i90NwBz/U22Kw==, - } - engines: { node: '>= 10.0.0' } + resolution: {integrity: sha512-RtKW+8j8skk17SYowucwRUjeh4mCtnm5odCL0Lm2NtHQBsYKrNW0od9Rhopu9wF1gHMfHeWF7i90NwBz/U22Kw==} + engines: {node: '>= 10.0.0'} dependencies: '@smithy/property-provider': 2.2.0 '@smithy/smithy-client': 2.5.1 @@ -8900,11 +7384,8 @@ packages: dev: true /@smithy/util-defaults-mode-node@2.3.1: - resolution: - { - integrity: sha512-vkMXHQ0BcLFysBMWgSBLSk3+leMpFSyyFj8zQtv5ZyUBx8/owVh1/pPEkzmW/DR/Gy/5c8vjLDD9gZjXNKbrpA==, - } - engines: { node: '>= 10.0.0' } + resolution: {integrity: sha512-vkMXHQ0BcLFysBMWgSBLSk3+leMpFSyyFj8zQtv5ZyUBx8/owVh1/pPEkzmW/DR/Gy/5c8vjLDD9gZjXNKbrpA==} + engines: {node: '>= 10.0.0'} dependencies: '@smithy/config-resolver': 2.2.0 '@smithy/credential-provider-imds': 2.3.0 @@ -8916,11 +7397,8 @@ packages: dev: true /@smithy/util-endpoints@1.2.0: - resolution: - { - integrity: sha512-BuDHv8zRjsE5zXd3PxFXFknzBG3owCpjq8G3FcsXW3CykYXuEqM3nTSsmLzw5q+T12ZYuDlVUZKBdpNbhVtlrQ==, - } - engines: { node: '>= 14.0.0' } + resolution: {integrity: sha512-BuDHv8zRjsE5zXd3PxFXFknzBG3owCpjq8G3FcsXW3CykYXuEqM3nTSsmLzw5q+T12ZYuDlVUZKBdpNbhVtlrQ==} + engines: {node: '>= 14.0.0'} dependencies: '@smithy/node-config-provider': 2.3.0 '@smithy/types': 2.12.0 @@ -8928,63 +7406,45 @@ packages: dev: true /@smithy/util-hex-encoding@1.1.0: - resolution: - { - integrity: sha512-7UtIE9eH0u41zpB60Jzr0oNCQ3hMJUabMcKRUVjmyHTXiWDE4vjSqN6qlih7rCNeKGbioS7f/y2Jgym4QZcKFg==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-7UtIE9eH0u41zpB60Jzr0oNCQ3hMJUabMcKRUVjmyHTXiWDE4vjSqN6qlih7rCNeKGbioS7f/y2Jgym4QZcKFg==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@smithy/util-hex-encoding@2.2.0: - resolution: - { - integrity: sha512-7iKXR+/4TpLK194pVjKiasIyqMtTYJsgKgM242Y9uzt5dhHnUDvMNb+3xIhRJ9QhvqGii/5cRUt4fJn3dtXNHQ==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-7iKXR+/4TpLK194pVjKiasIyqMtTYJsgKgM242Y9uzt5dhHnUDvMNb+3xIhRJ9QhvqGii/5cRUt4fJn3dtXNHQ==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@smithy/util-middleware@1.1.0: - resolution: - { - integrity: sha512-6hhckcBqVgjWAqLy2vqlPZ3rfxLDhFWEmM7oLh2POGvsi7j0tHkbN7w4DFhuBExVJAbJ/qqxqZdRY6Fu7/OezQ==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-6hhckcBqVgjWAqLy2vqlPZ3rfxLDhFWEmM7oLh2POGvsi7j0tHkbN7w4DFhuBExVJAbJ/qqxqZdRY6Fu7/OezQ==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@smithy/util-middleware@2.2.0: - resolution: - { - integrity: sha512-L1qpleXf9QD6LwLCJ5jddGkgWyuSvWBkJwWAZ6kFkdifdso+sk3L3O1HdmPvCdnCK3IS4qWyPxev01QMnfHSBw==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-L1qpleXf9QD6LwLCJ5jddGkgWyuSvWBkJwWAZ6kFkdifdso+sk3L3O1HdmPvCdnCK3IS4qWyPxev01QMnfHSBw==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true /@smithy/util-retry@1.1.0: - resolution: - { - integrity: sha512-ygQW5HBqYXpR3ua09UciS0sL7UGJzGiktrKkOuEJwARoUuzz40yaEGU6xd9Gs7KBmAaFC8gMfnghHtwZ2nyBCQ==, - } - engines: { node: '>= 14.0.0' } + resolution: {integrity: sha512-ygQW5HBqYXpR3ua09UciS0sL7UGJzGiktrKkOuEJwARoUuzz40yaEGU6xd9Gs7KBmAaFC8gMfnghHtwZ2nyBCQ==} + engines: {node: '>= 14.0.0'} dependencies: '@smithy/service-error-classification': 1.1.0 tslib: 2.6.2 dev: true /@smithy/util-retry@2.2.0: - resolution: - { - integrity: sha512-q9+pAFPTfftHXRytmZ7GzLFFrEGavqapFc06XxzZFcSIGERXMerXxCitjOG1prVDR9QdjqotF40SWvbqcCpf8g==, - } - engines: { node: '>= 14.0.0' } + resolution: {integrity: sha512-q9+pAFPTfftHXRytmZ7GzLFFrEGavqapFc06XxzZFcSIGERXMerXxCitjOG1prVDR9QdjqotF40SWvbqcCpf8g==} + engines: {node: '>= 14.0.0'} dependencies: '@smithy/service-error-classification': 2.1.5 '@smithy/types': 2.12.0 @@ -8992,11 +7452,8 @@ packages: dev: true /@smithy/util-stream@1.1.0: - resolution: - { - integrity: sha512-w3lsdGsntaLQIrwDWJkIFKrFscgZXwU/oxsse09aSTNv5TckPhDeYea3LhsDrU5MGAG3vprhVZAKr33S45coVA==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-w3lsdGsntaLQIrwDWJkIFKrFscgZXwU/oxsse09aSTNv5TckPhDeYea3LhsDrU5MGAG3vprhVZAKr33S45coVA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/fetch-http-handler': 1.1.0 '@smithy/node-http-handler': 1.1.0 @@ -9009,11 +7466,8 @@ packages: dev: true /@smithy/util-stream@2.2.0: - resolution: - { - integrity: sha512-17faEXbYWIRst1aU9SvPZyMdWmqIrduZjVOqCPMIsWFNxs5yQQgFrJL6b2SdiCzyW9mJoDjFtgi53xx7EH+BXA==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-17faEXbYWIRst1aU9SvPZyMdWmqIrduZjVOqCPMIsWFNxs5yQQgFrJL6b2SdiCzyW9mJoDjFtgi53xx7EH+BXA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/fetch-http-handler': 2.5.0 '@smithy/node-http-handler': 2.5.0 @@ -9026,53 +7480,38 @@ packages: dev: true /@smithy/util-uri-escape@1.1.0: - resolution: - { - integrity: sha512-/jL/V1xdVRt5XppwiaEU8Etp5WHZj609n0xMTuehmCqdoOFbId1M+aEeDWZsQ+8JbEB/BJ6ynY2SlYmOaKtt8w==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-/jL/V1xdVRt5XppwiaEU8Etp5WHZj609n0xMTuehmCqdoOFbId1M+aEeDWZsQ+8JbEB/BJ6ynY2SlYmOaKtt8w==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@smithy/util-uri-escape@2.2.0: - resolution: - { - integrity: sha512-jtmJMyt1xMD/d8OtbVJ2gFZOSKc+ueYJZPW20ULW1GOp/q/YIM0wNh+u8ZFao9UaIGz4WoPW8hC64qlWLIfoDA==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-jtmJMyt1xMD/d8OtbVJ2gFZOSKc+ueYJZPW20ULW1GOp/q/YIM0wNh+u8ZFao9UaIGz4WoPW8hC64qlWLIfoDA==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true /@smithy/util-utf8@1.1.0: - resolution: - { - integrity: sha512-p/MYV+JmqmPyjdgyN2UxAeYDj9cBqCjp0C/NsTWnnjoZUVqoeZ6IrW915L9CAKWVECgv9lVQGc4u/yz26/bI1A==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-p/MYV+JmqmPyjdgyN2UxAeYDj9cBqCjp0C/NsTWnnjoZUVqoeZ6IrW915L9CAKWVECgv9lVQGc4u/yz26/bI1A==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/util-buffer-from': 1.1.0 tslib: 2.6.2 dev: true /@smithy/util-utf8@2.3.0: - resolution: - { - integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/util-buffer-from': 2.2.0 tslib: 2.6.2 dev: true /@smithy/util-waiter@2.2.0: - resolution: - { - integrity: sha512-IHk53BVw6MPMi2Gsn+hCng8rFA3ZmR3Rk7GllxDUW9qFJl/hiSvskn7XldkECapQVkIg/1dHpMAxI9xSTaLLSA==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-IHk53BVw6MPMi2Gsn+hCng8rFA3ZmR3Rk7GllxDUW9qFJl/hiSvskn7XldkECapQVkIg/1dHpMAxI9xSTaLLSA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/abort-controller': 2.2.0 '@smithy/types': 2.12.0 @@ -9080,93 +7519,57 @@ packages: dev: true /@solidity-parser/parser@0.14.5: - resolution: - { - integrity: sha512-6dKnHZn7fg/iQATVEzqyUOyEidbn05q7YA2mQ9hC0MMXhhV3/JrsxmFSYZAcr7j1yUP700LLhTruvJ3MiQmjJg==, - } + resolution: {integrity: sha512-6dKnHZn7fg/iQATVEzqyUOyEidbn05q7YA2mQ9hC0MMXhhV3/JrsxmFSYZAcr7j1yUP700LLhTruvJ3MiQmjJg==} dependencies: antlr4ts: 0.5.0-alpha.4 dev: true /@solidity-parser/parser@0.18.0: - resolution: - { - integrity: sha512-yfORGUIPgLck41qyN7nbwJRAx17/jAIXCTanHOJZhB6PJ1iAk/84b/xlsVKFSyNyLXIj0dhppoE0+CRws7wlzA==, - } + resolution: {integrity: sha512-yfORGUIPgLck41qyN7nbwJRAx17/jAIXCTanHOJZhB6PJ1iAk/84b/xlsVKFSyNyLXIj0dhppoE0+CRws7wlzA==} dev: true /@trpc/client@11.0.0-next-beta.264(@trpc/server@11.0.0-next-beta.264): - resolution: - { - integrity: sha512-He/kE++/rDq/yZr7xCkQmOC+1S3auulLVjBuo6LvuYuFQL+Slf2ObRftbNVWa92GVd/llxV+eNlbzR9mTVPCPg==, - } + resolution: {integrity: sha512-He/kE++/rDq/yZr7xCkQmOC+1S3auulLVjBuo6LvuYuFQL+Slf2ObRftbNVWa92GVd/llxV+eNlbzR9mTVPCPg==} peerDependencies: '@trpc/server': 11.0.0-next-beta.264+f5f08f35d dependencies: '@trpc/server': 11.0.0-next-beta.264 /@trpc/server@11.0.0-next-beta.264: - resolution: - { - integrity: sha512-h6RJX+C+VgFQusxGVtw3n1PZPLt27ZG70U8cPR5pwmsnE2E3vREijOgEo5MRKoiUhVrjbw8e6gnGVeKzl7uZXg==, - } + resolution: {integrity: sha512-h6RJX+C+VgFQusxGVtw3n1PZPLt27ZG70U8cPR5pwmsnE2E3vREijOgEo5MRKoiUhVrjbw8e6gnGVeKzl7uZXg==} /@trpc/server@9.16.0: - resolution: - { - integrity: sha512-IENsJs41ZR4oeFUJhsNNTSgEOtuRN0m9u7ec4u3eG/qOc7bIoo1nDoYtx4bl6OJJSQYEytG9tlcVz9G8OAaHbg==, - } + resolution: {integrity: sha512-IENsJs41ZR4oeFUJhsNNTSgEOtuRN0m9u7ec4u3eG/qOc7bIoo1nDoYtx4bl6OJJSQYEytG9tlcVz9G8OAaHbg==} dependencies: tslib: 2.6.2 dev: true /@tsconfig/node10@1.0.11: - resolution: - { - integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==, - } + resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} dev: true /@tsconfig/node12@1.0.11: - resolution: - { - integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==, - } + resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} dev: true /@tsconfig/node14@1.0.3: - resolution: - { - integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==, - } + resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} dev: true /@tsconfig/node16@1.0.4: - resolution: - { - integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==, - } + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} dev: true /@tsconfig/node20@20.1.4: - resolution: - { - integrity: sha512-sqgsT69YFeLWf5NtJ4Xq/xAF8p4ZQHlmGW74Nu2tD4+g5fAsposc4ZfaaPixVu4y01BEiDCWLRDCvDM5JOsRxg==, - } + resolution: {integrity: sha512-sqgsT69YFeLWf5NtJ4Xq/xAF8p4ZQHlmGW74Nu2tD4+g5fAsposc4ZfaaPixVu4y01BEiDCWLRDCvDM5JOsRxg==} dev: true /@types/aws-lambda@8.10.137: - resolution: - { - integrity: sha512-YNFwzVarXAOXkjuFxONyDw1vgRNzyH8AuyN19s0bM+ChSu/bzxb5XPxYFLXoqoM+tvgzwR3k7fXcEOW125yJxg==, - } + resolution: {integrity: sha512-YNFwzVarXAOXkjuFxONyDw1vgRNzyH8AuyN19s0bM+ChSu/bzxb5XPxYFLXoqoM+tvgzwR3k7fXcEOW125yJxg==} dev: true /@types/babel__core@7.20.5: - resolution: - { - integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==, - } + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} dependencies: '@babel/parser': 7.24.4 '@babel/types': 7.24.0 @@ -9176,99 +7579,66 @@ packages: dev: true /@types/babel__generator@7.6.8: - resolution: - { - integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==, - } + resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} dependencies: '@babel/types': 7.24.0 dev: true /@types/babel__template@7.4.4: - resolution: - { - integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==, - } + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} dependencies: '@babel/parser': 7.24.4 '@babel/types': 7.24.0 dev: true /@types/babel__traverse@7.20.5: - resolution: - { - integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==, - } + resolution: {integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==} dependencies: '@babel/types': 7.24.0 dev: true /@types/bn.js@4.11.6: - resolution: - { - integrity: sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==, - } + resolution: {integrity: sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==} dependencies: '@types/node': 20.12.7 dev: true /@types/bn.js@5.1.5: - resolution: - { - integrity: sha512-V46N0zwKRF5Q00AZ6hWtN0T8gGmDUaUzLWQvHFo5yThtVwK/VCenFY3wXVbOvNfajEpsTfQM4IN9k/d6gUVX3A==, - } + resolution: {integrity: sha512-V46N0zwKRF5Q00AZ6hWtN0T8gGmDUaUzLWQvHFo5yThtVwK/VCenFY3wXVbOvNfajEpsTfQM4IN9k/d6gUVX3A==} dependencies: '@types/node': 20.12.7 dev: true /@types/chai-as-promised@7.1.8: - resolution: - { - integrity: sha512-ThlRVIJhr69FLlh6IctTXFkmhtP3NpMZ2QGq69StYLyKZFp/HOp1VdKZj7RvfNWYYcJ1xlbLGLLWj1UvP5u/Gw==, - } + resolution: {integrity: sha512-ThlRVIJhr69FLlh6IctTXFkmhtP3NpMZ2QGq69StYLyKZFp/HOp1VdKZj7RvfNWYYcJ1xlbLGLLWj1UvP5u/Gw==} dependencies: '@types/chai': 4.3.14 dev: true /@types/chai@4.3.14: - resolution: - { - integrity: sha512-Wj71sXE4Q4AkGdG9Tvq1u/fquNz9EdG4LIJMwVVII7ashjD/8cf8fyIfJAjRr6YcsXnSE8cOGQPq1gqeR8z+3w==, - } + resolution: {integrity: sha512-Wj71sXE4Q4AkGdG9Tvq1u/fquNz9EdG4LIJMwVVII7ashjD/8cf8fyIfJAjRr6YcsXnSE8cOGQPq1gqeR8z+3w==} dev: true /@types/cls-hooked@4.3.8: - resolution: - { - integrity: sha512-tf/7H883gFA6MPlWI15EQtfNZ+oPL0gLKkOlx9UHFrun1fC/FkuyNBpTKq1B5E3T4fbvjId6WifHUdSGsMMuPg==, - } + resolution: {integrity: sha512-tf/7H883gFA6MPlWI15EQtfNZ+oPL0gLKkOlx9UHFrun1fC/FkuyNBpTKq1B5E3T4fbvjId6WifHUdSGsMMuPg==} dependencies: '@types/node': 20.12.7 dev: false /@types/concat-stream@1.6.1: - resolution: - { - integrity: sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==, - } + resolution: {integrity: sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==} dependencies: '@types/node': 20.12.7 dev: true /@types/form-data@0.0.33: - resolution: - { - integrity: sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==, - } + resolution: {integrity: sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==} dependencies: '@types/node': 20.12.7 dev: true /@types/fs-extra@11.0.4: - resolution: - { - integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==, - } + resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} requiresBuild: true dependencies: '@types/jsonfile': 6.1.4 @@ -9277,92 +7647,59 @@ packages: optional: true /@types/glob@7.2.0: - resolution: - { - integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==, - } + resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 '@types/node': 20.12.7 dev: true /@types/graceful-fs@4.1.9: - resolution: - { - integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==, - } + resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} dependencies: '@types/node': 20.12.7 dev: true /@types/istanbul-lib-coverage@2.0.6: - resolution: - { - integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==, - } + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} dev: true /@types/istanbul-lib-report@3.0.3: - resolution: - { - integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==, - } + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} dependencies: '@types/istanbul-lib-coverage': 2.0.6 dev: true /@types/istanbul-reports@3.0.4: - resolution: - { - integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==, - } + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} dependencies: '@types/istanbul-lib-report': 3.0.3 dev: true /@types/jest@29.5.12: - resolution: - { - integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==, - } + resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} dependencies: expect: 29.7.0 pretty-format: 29.7.0 dev: true /@types/js-yaml@4.0.9: - resolution: - { - integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==, - } + resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==} dev: true /@types/json-schema@7.0.15: - resolution: - { - integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==, - } + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} dev: true /@types/json-stable-stringify@1.0.36: - resolution: - { - integrity: sha512-b7bq23s4fgBB76n34m2b3RBf6M369B0Z9uRR8aHTMd8kZISRkmDEpPD8hhpYvDFzr3bJCPES96cm3Q6qRNDbQw==, - } + resolution: {integrity: sha512-b7bq23s4fgBB76n34m2b3RBf6M369B0Z9uRR8aHTMd8kZISRkmDEpPD8hhpYvDFzr3bJCPES96cm3Q6qRNDbQw==} dev: true /@types/json5@0.0.29: - resolution: - { - integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==, - } + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} dev: true /@types/jsonfile@6.1.4: - resolution: - { - integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==, - } + resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==} requiresBuild: true dependencies: '@types/node': 20.12.7 @@ -9370,158 +7707,98 @@ packages: optional: true /@types/lru-cache@5.1.1: - resolution: - { - integrity: sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==, - } + resolution: {integrity: sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==} dev: true /@types/minimatch@5.1.2: - resolution: - { - integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==, - } + resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} dev: true /@types/mocha@10.0.6: - resolution: - { - integrity: sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==, - } + resolution: {integrity: sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==} dev: true /@types/mute-stream@0.0.4: - resolution: - { - integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==, - } + resolution: {integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==} dependencies: '@types/node': 20.12.7 dev: false /@types/node-fetch@2.6.11: - resolution: - { - integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==, - } + resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==} dependencies: '@types/node': 20.12.7 form-data: 4.0.0 dev: false /@types/node@10.17.60: - resolution: - { - integrity: sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==, - } + resolution: {integrity: sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==} dev: true /@types/node@18.15.13: - resolution: - { - integrity: sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==, - } + resolution: {integrity: sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==} dev: true /@types/node@20.12.7: - resolution: - { - integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==, - } + resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==} dependencies: undici-types: 5.26.5 /@types/node@8.10.66: - resolution: - { - integrity: sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==, - } + resolution: {integrity: sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==} dev: true /@types/normalize-package-data@2.4.4: - resolution: - { - integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==, - } + resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} dev: true /@types/pbkdf2@3.1.2: - resolution: - { - integrity: sha512-uRwJqmiXmh9++aSu1VNEn3iIxWOhd8AHXNSdlaLfdAAdSTY9jYVeGWnzejM3dvrkbqE3/hyQkQQ29IFATEGlew==, - } + resolution: {integrity: sha512-uRwJqmiXmh9++aSu1VNEn3iIxWOhd8AHXNSdlaLfdAAdSTY9jYVeGWnzejM3dvrkbqE3/hyQkQQ29IFATEGlew==} dependencies: '@types/node': 20.12.7 dev: true /@types/qs@6.9.15: - resolution: - { - integrity: sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==, - } + resolution: {integrity: sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==} dev: true /@types/secp256k1@4.0.6: - resolution: - { - integrity: sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ==, - } + resolution: {integrity: sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ==} dependencies: '@types/node': 20.12.7 dev: true /@types/semver@7.5.8: - resolution: - { - integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==, - } + resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} dev: true /@types/stack-utils@2.0.3: - resolution: - { - integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==, - } + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} dev: true /@types/wrap-ansi@3.0.0: - resolution: - { - integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==, - } + resolution: {integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==} dev: false /@types/ws@8.5.10: - resolution: - { - integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==, - } + resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} dependencies: '@types/node': 20.12.7 dev: true /@types/yargs-parser@21.0.3: - resolution: - { - integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==, - } + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} dev: true /@types/yargs@17.0.32: - resolution: - { - integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==, - } + resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} dependencies: '@types/yargs-parser': 21.0.3 dev: true /@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.4.5): - resolution: - { - integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==, - } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha eslint: ^7.0.0 || ^8.0.0 @@ -9549,11 +7826,8 @@ packages: dev: true /@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5): - resolution: - { - integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==, - } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 typescript: '*' @@ -9573,33 +7847,24 @@ packages: dev: true /@typescript-eslint/scope-manager@5.62.0: - resolution: - { - integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 dev: true /@typescript-eslint/scope-manager@6.21.0: - resolution: - { - integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==, - } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} + engines: {node: ^16.0.0 || >=18.0.0} dependencies: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0 dev: true /@typescript-eslint/type-utils@6.21.0(eslint@8.57.0)(typescript@5.4.5): - resolution: - { - integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==, - } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 typescript: '*' @@ -9618,27 +7883,18 @@ packages: dev: true /@typescript-eslint/types@5.62.0: - resolution: - { - integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true /@typescript-eslint/types@6.21.0: - resolution: - { - integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==, - } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} + engines: {node: ^16.0.0 || >=18.0.0} dev: true /@typescript-eslint/typescript-estree@5.62.0(typescript@5.4.5): - resolution: - { - integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -9658,11 +7914,8 @@ packages: dev: true /@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.5): - resolution: - { - integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==, - } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -9683,11 +7936,8 @@ packages: dev: true /@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.4.5): - resolution: - { - integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: @@ -9706,11 +7956,8 @@ packages: dev: true /@typescript-eslint/utils@6.21.0(eslint@8.57.0)(typescript@5.4.5): - resolution: - { - integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==, - } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} + engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: eslint: ^7.0.0 || ^8.0.0 dependencies: @@ -9728,40 +7975,28 @@ packages: dev: true /@typescript-eslint/visitor-keys@5.62.0: - resolution: - { - integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: '@typescript-eslint/types': 5.62.0 eslint-visitor-keys: 3.4.3 dev: true /@typescript-eslint/visitor-keys@6.21.0: - resolution: - { - integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==, - } - engines: { node: ^16.0.0 || >=18.0.0 } + resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} + engines: {node: ^16.0.0 || >=18.0.0} dependencies: '@typescript-eslint/types': 6.21.0 eslint-visitor-keys: 3.4.3 dev: true /@ungap/structured-clone@1.2.0: - resolution: - { - integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==, - } + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} dev: true /@vercel/style-guide@5.2.0(eslint@8.57.0)(jest@29.7.0)(prettier@3.2.5)(typescript@5.4.5): - resolution: - { - integrity: sha512-fNSKEaZvSkiBoF6XEefs8CcgAV9K9e+MbcsDZjUsktHycKdA0jvjAzQi1W/FzLS+Nr5zZ6oejCwq/97dHUKe0g==, - } - engines: { node: '>=16' } + resolution: {integrity: sha512-fNSKEaZvSkiBoF6XEefs8CcgAV9K9e+MbcsDZjUsktHycKdA0jvjAzQi1W/FzLS+Nr5zZ6oejCwq/97dHUKe0g==} + engines: {node: '>=16'} peerDependencies: '@next/eslint-plugin-next': '>=12.3.0 <15' eslint: '>=8.48.0 <9' @@ -9807,32 +8042,20 @@ packages: dev: true /@whatwg-node/events@0.0.2: - resolution: - { - integrity: sha512-WKj/lI4QjnLuPrim0cfO7i+HsDSXHxNv1y0CrJhdntuO3hxWZmnXCwNDnwOvry11OjRin6cgWNF+j/9Pn8TN4w==, - } + resolution: {integrity: sha512-WKj/lI4QjnLuPrim0cfO7i+HsDSXHxNv1y0CrJhdntuO3hxWZmnXCwNDnwOvry11OjRin6cgWNF+j/9Pn8TN4w==} dev: true /@whatwg-node/events@0.0.3: - resolution: - { - integrity: sha512-IqnKIDWfXBJkvy/k6tzskWTc2NK3LcqHlb+KHGCrjOCH4jfQckRX0NAiIcC/vIqQkzLYw2r2CTSwAxcrtcD6lA==, - } + resolution: {integrity: sha512-IqnKIDWfXBJkvy/k6tzskWTc2NK3LcqHlb+KHGCrjOCH4jfQckRX0NAiIcC/vIqQkzLYw2r2CTSwAxcrtcD6lA==} dev: true /@whatwg-node/events@0.1.1: - resolution: - { - integrity: sha512-AyQEn5hIPV7Ze+xFoXVU3QTHXVbWPrzaOkxtENMPMuNL6VVHrp4hHfDt9nrQpjO7BgvuM95dMtkycX5M/DZR3w==, - } - engines: { node: '>=16.0.0' } + resolution: {integrity: sha512-AyQEn5hIPV7Ze+xFoXVU3QTHXVbWPrzaOkxtENMPMuNL6VVHrp4hHfDt9nrQpjO7BgvuM95dMtkycX5M/DZR3w==} + engines: {node: '>=16.0.0'} dev: true /@whatwg-node/fetch@0.8.8: - resolution: - { - integrity: sha512-CdcjGC2vdKhc13KKxgsc6/616BQ7ooDIgPeTuAiE8qfCnS0mGzcfCOoZXypQSz73nxI+GWc7ZReIAVhxoE1KCg==, - } + resolution: {integrity: sha512-CdcjGC2vdKhc13KKxgsc6/616BQ7ooDIgPeTuAiE8qfCnS0mGzcfCOoZXypQSz73nxI+GWc7ZReIAVhxoE1KCg==} dependencies: '@peculiar/webcrypto': 1.4.6 '@whatwg-node/node-fetch': 0.3.6 @@ -9842,21 +8065,15 @@ packages: dev: true /@whatwg-node/fetch@0.9.17: - resolution: - { - integrity: sha512-TDYP3CpCrxwxpiNY0UMNf096H5Ihf67BK1iKGegQl5u9SlpEDYrvnV71gWBGJm+Xm31qOy8ATgma9rm8Pe7/5Q==, - } - engines: { node: '>=16.0.0' } + resolution: {integrity: sha512-TDYP3CpCrxwxpiNY0UMNf096H5Ihf67BK1iKGegQl5u9SlpEDYrvnV71gWBGJm+Xm31qOy8ATgma9rm8Pe7/5Q==} + engines: {node: '>=16.0.0'} dependencies: '@whatwg-node/node-fetch': 0.5.10 urlpattern-polyfill: 10.0.0 dev: true /@whatwg-node/node-fetch@0.3.6: - resolution: - { - integrity: sha512-w9wKgDO4C95qnXZRwZTfCmLWqyRnooGjcIwG0wADWjw9/HN0p7dtvtgSvItZtUyNteEvgTrd8QojNEqV6DAGTA==, - } + resolution: {integrity: sha512-w9wKgDO4C95qnXZRwZTfCmLWqyRnooGjcIwG0wADWjw9/HN0p7dtvtgSvItZtUyNteEvgTrd8QojNEqV6DAGTA==} dependencies: '@whatwg-node/events': 0.0.3 busboy: 1.6.0 @@ -9866,11 +8083,8 @@ packages: dev: true /@whatwg-node/node-fetch@0.5.10: - resolution: - { - integrity: sha512-KIAHepie/T1PRkUfze4t+bPlyvpxlWiXTPtcGlbIZ0vWkBJMdRmCg4ZrJ2y4XaO1eTPo1HlWYUuj1WvoIpumqg==, - } - engines: { node: '>=16.0.0' } + resolution: {integrity: sha512-KIAHepie/T1PRkUfze4t+bPlyvpxlWiXTPtcGlbIZ0vWkBJMdRmCg4ZrJ2y4XaO1eTPo1HlWYUuj1WvoIpumqg==} + engines: {node: '>=16.0.0'} dependencies: '@kamilkisiela/fast-url-parser': 1.1.4 '@whatwg-node/events': 0.1.1 @@ -9880,27 +8094,18 @@ packages: dev: true /@whatwg-node/server@0.7.7: - resolution: - { - integrity: sha512-aHURgNDFm/48WVV3vhTMfnEKCYwYgdaRdRhZsQZx4UVFjGGkGay7Ys0+AYu9QT/jpoImv2oONkstoTMUprDofg==, - } + resolution: {integrity: sha512-aHURgNDFm/48WVV3vhTMfnEKCYwYgdaRdRhZsQZx4UVFjGGkGay7Ys0+AYu9QT/jpoImv2oONkstoTMUprDofg==} dependencies: '@whatwg-node/fetch': 0.8.8 tslib: 2.6.2 dev: true /abbrev@1.0.9: - resolution: - { - integrity: sha512-LEyx4aLEC3x6T0UguF6YILf+ntvmOaWsVfENmIW0E9H09vKlLDGelMjjSm0jkDHALj8A8quZ/HapKNigzwge+Q==, - } + resolution: {integrity: sha512-LEyx4aLEC3x6T0UguF6YILf+ntvmOaWsVfENmIW0E9H09vKlLDGelMjjSm0jkDHALj8A8quZ/HapKNigzwge+Q==} dev: true /abitype@0.9.10(typescript@5.0.4)(zod@3.22.4): - resolution: - { - integrity: sha512-FIS7U4n7qwAT58KibwYig5iFG4K61rbhAqaQh/UWj8v1Y8mjX3F8TC9gd8cz9yT1TYel9f8nS5NO5kZp2RW0jQ==, - } + resolution: {integrity: sha512-FIS7U4n7qwAT58KibwYig5iFG4K61rbhAqaQh/UWj8v1Y8mjX3F8TC9gd8cz9yT1TYel9f8nS5NO5kZp2RW0jQ==} peerDependencies: typescript: '>=5.0.4' zod: ^3 >=3.22.0 @@ -9915,10 +8120,7 @@ packages: dev: true /abitype@0.9.8(typescript@5.0.4)(zod@3.22.4): - resolution: - { - integrity: sha512-puLifILdm+8sjyss4S+fsUN09obiT1g2YW6CtcQF+QDzxR0euzgEB29MZujC6zMk2a6SVmtttq1fc6+YFA7WYQ==, - } + resolution: {integrity: sha512-puLifILdm+8sjyss4S+fsUN09obiT1g2YW6CtcQF+QDzxR0euzgEB29MZujC6zMk2a6SVmtttq1fc6+YFA7WYQ==} peerDependencies: typescript: '>=5.0.4' zod: ^3 >=3.19.1 @@ -9933,10 +8135,7 @@ packages: dev: true /abitype@0.9.8(typescript@5.4.5)(zod@3.22.4): - resolution: - { - integrity: sha512-puLifILdm+8sjyss4S+fsUN09obiT1g2YW6CtcQF+QDzxR0euzgEB29MZujC6zMk2a6SVmtttq1fc6+YFA7WYQ==, - } + resolution: {integrity: sha512-puLifILdm+8sjyss4S+fsUN09obiT1g2YW6CtcQF+QDzxR0euzgEB29MZujC6zMk2a6SVmtttq1fc6+YFA7WYQ==} peerDependencies: typescript: '>=5.0.4' zod: ^3 >=3.19.1 @@ -9951,10 +8150,7 @@ packages: dev: false /abitype@1.0.0(typescript@5.4.5)(zod@3.22.4): - resolution: - { - integrity: sha512-NMeMah//6bJ56H5XRj8QCV4AwuW6hB6zqz2LnhhLdcWVQOsXki6/Pn3APeqxCma62nXIcmZWdu1DlHWS74umVQ==, - } + resolution: {integrity: sha512-NMeMah//6bJ56H5XRj8QCV4AwuW6hB6zqz2LnhhLdcWVQOsXki6/Pn3APeqxCma62nXIcmZWdu1DlHWS74umVQ==} peerDependencies: typescript: '>=5.0.4' zod: ^3 >=3.22.0 @@ -9969,10 +8165,7 @@ packages: dev: false /abitype@1.0.2(typescript@5.4.5)(zod@3.22.4): - resolution: - { - integrity: sha512-aFt4k2H+eiAKy/zxtnORa9iIb10BMBeWL18l8v4+QuwYEBXPxxjSB1bFZCzQmKPoj8m7j68K705l3uY+E2gAjg==, - } + resolution: {integrity: sha512-aFt4k2H+eiAKy/zxtnORa9iIb10BMBeWL18l8v4+QuwYEBXPxxjSB1bFZCzQmKPoj8m7j68K705l3uY+E2gAjg==} peerDependencies: typescript: '>=5.0.4' zod: ^3 >=3.22.0 @@ -9987,21 +8180,15 @@ packages: dev: false /accepts@1.3.8: - resolution: - { - integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} dependencies: mime-types: 2.1.35 negotiator: 0.6.3 dev: true /acorn-jsx@5.3.2(acorn@8.11.3): - resolution: - { - integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==, - } + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: @@ -10009,57 +8196,36 @@ packages: dev: true /acorn-walk@8.3.2: - resolution: - { - integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==, - } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} + engines: {node: '>=0.4.0'} dev: true /acorn@8.11.3: - resolution: - { - integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==, - } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + engines: {node: '>=0.4.0'} hasBin: true dev: true /adm-zip@0.4.16: - resolution: - { - integrity: sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==, - } - engines: { node: '>=0.3.0' } + resolution: {integrity: sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==} + engines: {node: '>=0.3.0'} dev: true /adm-zip@0.5.12: - resolution: - { - integrity: sha512-6TVU49mK6KZb4qG6xWaaM4C7sA/sgUMLy/JYMOzkcp3BvVLpW0fXDFQiIzAuxFCt/2+xD7fNIiPFAoLZPhVNLQ==, - } - engines: { node: '>=6.0' } + resolution: {integrity: sha512-6TVU49mK6KZb4qG6xWaaM4C7sA/sgUMLy/JYMOzkcp3BvVLpW0fXDFQiIzAuxFCt/2+xD7fNIiPFAoLZPhVNLQ==} + engines: {node: '>=6.0'} dev: true /aes-js@3.0.0: - resolution: - { - integrity: sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==, - } + resolution: {integrity: sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==} /aes-js@4.0.0-beta.5: - resolution: - { - integrity: sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==, - } + resolution: {integrity: sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==} dev: true /agent-base@6.0.2: - resolution: - { - integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==, - } - engines: { node: '>= 6.0.0' } + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} dependencies: debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: @@ -10067,11 +8233,8 @@ packages: dev: true /agent-base@7.1.1: - resolution: - { - integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==, - } - engines: { node: '>= 14' } + resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} + engines: {node: '>= 14'} dependencies: debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: @@ -10079,21 +8242,15 @@ packages: dev: true /aggregate-error@3.1.0: - resolution: - { - integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} dependencies: clean-stack: 2.2.0 indent-string: 4.0.0 dev: true /ajv-formats@2.1.1(ajv@8.12.0): - resolution: - { - integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==, - } + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} peerDependencies: ajv: ^8.0.0 peerDependenciesMeta: @@ -10104,10 +8261,7 @@ packages: dev: true /ajv@6.12.6: - resolution: - { - integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==, - } + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} dependencies: fast-deep-equal: 3.1.3 fast-json-stable-stringify: 2.1.0 @@ -10116,10 +8270,7 @@ packages: dev: true /ajv@8.12.0: - resolution: - { - integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==, - } + resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} dependencies: fast-deep-equal: 3.1.3 json-schema-traverse: 1.0.0 @@ -10128,153 +8279,99 @@ packages: dev: true /amdefine@1.0.1: - resolution: - { - integrity: sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==, - } - engines: { node: '>=0.4.2' } + resolution: {integrity: sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==} + engines: {node: '>=0.4.2'} requiresBuild: true dev: true optional: true /ansi-align@3.0.1: - resolution: - { - integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==, - } + resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} dependencies: string-width: 4.2.3 dev: true /ansi-colors@4.1.1: - resolution: - { - integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==} + engines: {node: '>=6'} dev: true /ansi-colors@4.1.3: - resolution: - { - integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} dev: true /ansi-escapes@4.3.2: - resolution: - { - integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} dependencies: type-fest: 0.21.3 /ansi-escapes@6.2.1: - resolution: - { - integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==, - } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==} + engines: {node: '>=14.16'} dev: true /ansi-regex@3.0.1: - resolution: - { - integrity: sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==} + engines: {node: '>=4'} dev: true /ansi-regex@5.0.1: - resolution: - { - integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} /ansi-regex@6.0.1: - resolution: - { - integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} dev: true /ansi-styles@3.2.1: - resolution: - { - integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} dependencies: color-convert: 1.9.3 dev: true /ansi-styles@4.3.0: - resolution: - { - integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} dependencies: color-convert: 2.0.1 /ansi-styles@5.2.0: - resolution: - { - integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} dev: true /ansi-styles@6.2.1: - resolution: - { - integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} dev: true /antlr4ts@0.5.0-alpha.4: - resolution: - { - integrity: sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ==, - } + resolution: {integrity: sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ==} dev: true /any-promise@1.3.0: - resolution: - { - integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==, - } + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} dev: true /anymatch@3.1.3: - resolution: - { - integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==, - } - engines: { node: '>= 8' } + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} dependencies: normalize-path: 3.0.0 picomatch: 2.3.1 dev: true /app-module-path@2.2.0: - resolution: - { - integrity: sha512-gkco+qxENJV+8vFcDiiFhuoSvRXb2a/QPqpSoWhVz829VNJfOTnELbBmPmNKFxf3xdNnw4DWCkzkDaavcX/1YQ==, - } + resolution: {integrity: sha512-gkco+qxENJV+8vFcDiiFhuoSvRXb2a/QPqpSoWhVz829VNJfOTnELbBmPmNKFxf3xdNnw4DWCkzkDaavcX/1YQ==} dev: true /archiver-utils@2.1.0: - resolution: - { - integrity: sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==} + engines: {node: '>= 6'} dependencies: glob: 7.2.3 graceful-fs: 4.2.11 @@ -10289,11 +8386,8 @@ packages: dev: true /archiver-utils@3.0.4: - resolution: - { - integrity: sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==} + engines: {node: '>= 10'} dependencies: glob: 7.2.3 graceful-fs: 4.2.11 @@ -10308,11 +8402,8 @@ packages: dev: true /archiver@5.3.2: - resolution: - { - integrity: sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==} + engines: {node: '>= 10'} dependencies: archiver-utils: 2.1.0 async: 3.2.5 @@ -10324,61 +8415,40 @@ packages: dev: true /arg@4.1.3: - resolution: - { - integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==, - } + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} dev: true /argparse@1.0.10: - resolution: - { - integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==, - } + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} dependencies: sprintf-js: 1.0.3 dev: true /argparse@2.0.1: - resolution: - { - integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==, - } + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} dev: true /aria-query@5.3.0: - resolution: - { - integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==, - } + resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} dependencies: dequal: 2.0.3 dev: true /array-buffer-byte-length@1.0.1: - resolution: - { - integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 is-array-buffer: 3.0.4 dev: true /array-flatten@1.1.1: - resolution: - { - integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==, - } + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} dev: true /array-includes@3.1.8: - resolution: - { - integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -10389,27 +8459,18 @@ packages: dev: true /array-union@2.1.0: - resolution: - { - integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} dev: true /array-uniq@1.0.3: - resolution: - { - integrity: sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==} + engines: {node: '>=0.10.0'} dev: true /array.prototype.findlast@1.2.5: - resolution: - { - integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -10420,11 +8481,8 @@ packages: dev: true /array.prototype.findlastindex@1.2.5: - resolution: - { - integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -10435,11 +8493,8 @@ packages: dev: true /array.prototype.flat@1.3.2: - resolution: - { - integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -10448,11 +8503,8 @@ packages: dev: true /array.prototype.flatmap@1.3.2: - resolution: - { - integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -10461,10 +8513,7 @@ packages: dev: true /array.prototype.toreversed@1.1.2: - resolution: - { - integrity: sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==, - } + resolution: {integrity: sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -10473,10 +8522,7 @@ packages: dev: true /array.prototype.tosorted@1.1.3: - resolution: - { - integrity: sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==, - } + resolution: {integrity: sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -10486,11 +8532,8 @@ packages: dev: true /arraybuffer.prototype.slice@1.0.3: - resolution: - { - integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} + engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.1 call-bind: 1.0.7 @@ -10503,17 +8546,11 @@ packages: dev: true /asap@2.0.6: - resolution: - { - integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==, - } + resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} dev: true /asn1.js@5.4.1: - resolution: - { - integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==, - } + resolution: {integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==} dependencies: bn.js: 4.12.0 inherits: 2.0.4 @@ -10522,11 +8559,8 @@ packages: dev: true /asn1js@3.0.5: - resolution: - { - integrity: sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==, - } - engines: { node: '>=12.0.0' } + resolution: {integrity: sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==} + engines: {node: '>=12.0.0'} dependencies: pvtsutils: 1.3.5 pvutils: 1.1.3 @@ -10534,127 +8568,79 @@ packages: dev: true /assertion-error@1.1.0: - resolution: - { - integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==, - } + resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} dev: true /ast-module-types@5.0.0: - resolution: - { - integrity: sha512-JvqziE0Wc0rXQfma0HZC/aY7URXHFuZV84fJRtP8u+lhp0JYCNd5wJzVXP45t0PH0Mej3ynlzvdyITYIu0G4LQ==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-JvqziE0Wc0rXQfma0HZC/aY7URXHFuZV84fJRtP8u+lhp0JYCNd5wJzVXP45t0PH0Mej3ynlzvdyITYIu0G4LQ==} + engines: {node: '>=14'} dev: true /ast-types-flow@0.0.8: - resolution: - { - integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==, - } + resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} dev: true /astral-regex@2.0.0: - resolution: - { - integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} + engines: {node: '>=8'} dev: true /async-hook-jl@1.7.6: - resolution: - { - integrity: sha512-gFaHkFfSxTjvoxDMYqDuGHlcRyUuamF8s+ZTtJdDzqjws4mCt7v0vuV79/E2Wr2/riMQgtG4/yUtXWs1gZ7JMg==, - } - engines: { node: ^4.7 || >=6.9 || >=7.3 } + resolution: {integrity: sha512-gFaHkFfSxTjvoxDMYqDuGHlcRyUuamF8s+ZTtJdDzqjws4mCt7v0vuV79/E2Wr2/riMQgtG4/yUtXWs1gZ7JMg==} + engines: {node: ^4.7 || >=6.9 || >=7.3} dependencies: stack-chain: 1.3.7 dev: false /async-limiter@1.0.1: - resolution: - { - integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==, - } + resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==} dev: true /async@1.5.2: - resolution: - { - integrity: sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==, - } + resolution: {integrity: sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==} dev: true /async@3.2.5: - resolution: - { - integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==, - } + resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} dev: true /asynckit@0.4.0: - resolution: - { - integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==, - } + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} /at-least-node@1.0.0: - resolution: - { - integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==, - } - engines: { node: '>= 4.0.0' } + resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} + engines: {node: '>= 4.0.0'} dev: true /atomic-batcher@1.0.2: - resolution: - { - integrity: sha512-EFGCRj4kLX1dHv1cDzTk+xbjBFj1GnJDpui52YmEcxxHHEWjYyT6l51U7n6WQ28osZH4S9gSybxe56Vm7vB61Q==, - } + resolution: {integrity: sha512-EFGCRj4kLX1dHv1cDzTk+xbjBFj1GnJDpui52YmEcxxHHEWjYyT6l51U7n6WQ28osZH4S9gSybxe56Vm7vB61Q==} dev: false /atomically@1.7.0: - resolution: - { - integrity: sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w==, - } - engines: { node: '>=10.12.0' } + resolution: {integrity: sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w==} + engines: {node: '>=10.12.0'} dev: true /auto-bind@4.0.0: - resolution: - { - integrity: sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ==} + engines: {node: '>=8'} dev: true /auto-bind@5.0.1: - resolution: - { - integrity: sha512-ooviqdwwgfIfNmDwo94wlshcdzfO64XV0Cg6oDsDYBJfITDz1EngD2z7DkbvCWn+XIMsIqW27sEVF6qcpJrRcg==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-ooviqdwwgfIfNmDwo94wlshcdzfO64XV0Cg6oDsDYBJfITDz1EngD2z7DkbvCWn+XIMsIqW27sEVF6qcpJrRcg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true /available-typed-arrays@1.0.7: - resolution: - { - integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} dependencies: possible-typed-array-names: 1.0.0 dev: true /aws-cdk-lib@2.132.1(constructs@10.3.0): - resolution: - { - integrity: sha512-VheC7WcvmxiteNaZPucS9J9haGQZwbUtwNiNqsbTaEiru6ETUhf/yIOIamLto1kOKEPxCw2bfLkgYrWoCzwOpw==, - } - engines: { node: '>= 14.15.0' } + resolution: {integrity: sha512-VheC7WcvmxiteNaZPucS9J9haGQZwbUtwNiNqsbTaEiru6ETUhf/yIOIamLto1kOKEPxCw2bfLkgYrWoCzwOpw==} + engines: {node: '>= 14.15.0'} peerDependencies: constructs: ^10.0.0 dependencies: @@ -10677,10 +8663,7 @@ packages: - mime-types /aws-crt@1.21.2: - resolution: - { - integrity: sha512-/jq5yJwdethIaC+HyqCrgW2ZqxjUURBo/6CIfnD0HbpIE+vLIPQxENW/pp3Atu20Hm2WkjM9diJD4zJycK+olA==, - } + resolution: {integrity: sha512-/jq5yJwdethIaC+HyqCrgW2ZqxjUURBo/6CIfnD0HbpIE+vLIPQxENW/pp3Atu20Hm2WkjM9diJD4zJycK+olA==} requiresBuild: true dependencies: '@aws-sdk/util-utf8-browser': 3.259.0 @@ -10698,11 +8681,8 @@ packages: dev: true /aws-iot-device-sdk@2.2.13: - resolution: - { - integrity: sha512-rUR68vJxna5q0HSvBFy70QD0kFa91H8mQU2Jdor0JpNxmfNaOhQoiGCcgrZAxR69xY1kGHs+JzWOqqVtAfL0+A==, - } - engines: { node: '>=4.0.0' } + resolution: {integrity: sha512-rUR68vJxna5q0HSvBFy70QD0kFa91H8mQU2Jdor0JpNxmfNaOhQoiGCcgrZAxR69xY1kGHs+JzWOqqVtAfL0+A==} + engines: {node: '>=4.0.0'} dependencies: crypto-js: 4.2.0 minimist: 1.2.6 @@ -10715,11 +8695,8 @@ packages: dev: true /aws-sdk@2.1599.0: - resolution: - { - integrity: sha512-jPb1LAN+s1TLTK+VR3TTJLr//sb3AhhT60Bm9jxB5G/fVeeRczXtBtixNpQ00gksQdkstILYLc9S6MuKMsksxA==, - } - engines: { node: '>= 10.0.0' } + resolution: {integrity: sha512-jPb1LAN+s1TLTK+VR3TTJLr//sb3AhhT60Bm9jxB5G/fVeeRczXtBtixNpQ00gksQdkstILYLc9S6MuKMsksxA==} + engines: {node: '>= 10.0.0'} requiresBuild: true dependencies: buffer: 4.9.2 @@ -10735,11 +8712,8 @@ packages: dev: true /aws-xray-sdk-core@3.6.0: - resolution: - { - integrity: sha512-+UnYmVEni9NNJvE6aFY1dbvMtFquXSYAj+HYfm+90icoGKYvvLD71R7PHyFFnYct5of4NFpEXJtUJrWMv8e4mQ==, - } - engines: { node: '>= 14.x' } + resolution: {integrity: sha512-+UnYmVEni9NNJvE6aFY1dbvMtFquXSYAj+HYfm+90icoGKYvvLD71R7PHyFFnYct5of4NFpEXJtUJrWMv8e4mQ==} + engines: {node: '>= 14.x'} dependencies: '@aws-sdk/types': 3.535.0 '@smithy/service-error-classification': 2.1.5 @@ -10750,18 +8724,12 @@ packages: dev: false /axe-core@4.7.0: - resolution: - { - integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==} + engines: {node: '>=4'} dev: true /axios@1.6.8: - resolution: - { - integrity: sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==, - } + resolution: {integrity: sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==} dependencies: follow-redirects: 1.15.6(debug@4.3.4) form-data: 4.0.0 @@ -10771,20 +8739,14 @@ packages: dev: true /axobject-query@3.2.1: - resolution: - { - integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==, - } + resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} dependencies: dequal: 2.0.3 dev: true /babel-jest@29.7.0(@babel/core@7.24.4): - resolution: - { - integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.8.0 dependencies: @@ -10801,11 +8763,8 @@ packages: dev: true /babel-plugin-istanbul@6.1.1: - resolution: - { - integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} + engines: {node: '>=8'} dependencies: '@babel/helper-plugin-utils': 7.24.0 '@istanbuljs/load-nyc-config': 1.1.0 @@ -10817,11 +8776,8 @@ packages: dev: true /babel-plugin-jest-hoist@29.6.3: - resolution: - { - integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/template': 7.24.0 '@babel/types': 7.24.0 @@ -10830,17 +8786,11 @@ packages: dev: true /babel-plugin-syntax-trailing-function-commas@7.0.0-beta.0: - resolution: - { - integrity: sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==, - } + resolution: {integrity: sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==} dev: true /babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.4): - resolution: - { - integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==, - } + resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -10860,10 +8810,7 @@ packages: dev: true /babel-preset-fbjs@3.4.0(@babel/core@7.24.4): - resolution: - { - integrity: sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==, - } + resolution: {integrity: sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -10898,11 +8845,8 @@ packages: dev: true /babel-preset-jest@29.6.3(@babel/core@7.24.4): - resolution: - { - integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.0.0 dependencies: @@ -10912,61 +8856,37 @@ packages: dev: true /balanced-match@1.0.2: - resolution: - { - integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==, - } + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} dev: true /base-x@3.0.9: - resolution: - { - integrity: sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==, - } + resolution: {integrity: sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==} dependencies: safe-buffer: 5.2.1 dev: true /base64-js@1.5.1: - resolution: - { - integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==, - } + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} dev: true /bech32@1.1.4: - resolution: - { - integrity: sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==, - } + resolution: {integrity: sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==} /bignumber.js@9.0.1: - resolution: - { - integrity: sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA==, - } + resolution: {integrity: sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA==} dev: false /bignumber.js@9.1.2: - resolution: - { - integrity: sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==, - } + resolution: {integrity: sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==} dev: false /binary-extensions@2.3.0: - resolution: - { - integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} dev: true /bl@4.1.0: - resolution: - { - integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==, - } + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} dependencies: buffer: 5.7.1 inherits: 2.0.4 @@ -10974,10 +8894,7 @@ packages: dev: true /bl@5.1.0: - resolution: - { - integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==, - } + resolution: {integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==} dependencies: buffer: 6.0.3 inherits: 2.0.4 @@ -10985,37 +8902,22 @@ packages: dev: true /blakejs@1.2.1: - resolution: - { - integrity: sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==, - } + resolution: {integrity: sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==} dev: true /bn.js@4.11.6: - resolution: - { - integrity: sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==, - } + resolution: {integrity: sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==} dev: true /bn.js@4.12.0: - resolution: - { - integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==, - } + resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==} /bn.js@5.2.1: - resolution: - { - integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==, - } + resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} /body-parser@1.20.2: - resolution: - { - integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==, - } - engines: { node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16 } + resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} dependencies: bytes: 3.1.2 content-type: 1.0.5 @@ -11034,18 +8936,12 @@ packages: dev: true /bowser@2.11.0: - resolution: - { - integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==, - } + resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==} dev: true /boxen@5.1.2: - resolution: - { - integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==} + engines: {node: '>=10'} dependencies: ansi-align: 3.0.1 camelcase: 6.3.0 @@ -11058,52 +8954,34 @@ packages: dev: true /brace-expansion@1.1.11: - resolution: - { - integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==, - } + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 dev: true /brace-expansion@2.0.1: - resolution: - { - integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==, - } + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} dependencies: balanced-match: 1.0.2 dev: true /braces@3.0.2: - resolution: - { - integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} dependencies: fill-range: 7.0.1 dev: true /brorand@1.1.0: - resolution: - { - integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==, - } + resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} /browser-stdout@1.3.1: - resolution: - { - integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==, - } + resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} dev: true /browserify-aes@1.2.0: - resolution: - { - integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==, - } + resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} dependencies: buffer-xor: 1.0.3 cipher-base: 1.0.4 @@ -11114,11 +8992,8 @@ packages: dev: true /browserslist@4.23.0: - resolution: - { - integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==, - } - engines: { node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7 } + resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: caniuse-lite: 1.0.30001610 @@ -11128,29 +9003,20 @@ packages: dev: true /bs-logger@0.2.6: - resolution: - { - integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} + engines: {node: '>= 6'} dependencies: fast-json-stable-stringify: 2.1.0 dev: true /bs58@4.0.1: - resolution: - { - integrity: sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==, - } + resolution: {integrity: sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==} dependencies: base-x: 3.0.9 dev: true /bs58check@2.1.2: - resolution: - { - integrity: sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==, - } + resolution: {integrity: sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==} dependencies: bs58: 4.0.1 create-hash: 1.2.0 @@ -11158,40 +9024,25 @@ packages: dev: true /bser@2.1.1: - resolution: - { - integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==, - } + resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} dependencies: node-int64: 0.4.0 dev: true /buffer-crc32@0.2.13: - resolution: - { - integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==, - } + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} dev: true /buffer-from@1.1.2: - resolution: - { - integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==, - } + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} dev: true /buffer-xor@1.0.3: - resolution: - { - integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==, - } + resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} dev: true /buffer@4.9.2: - resolution: - { - integrity: sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==, - } + resolution: {integrity: sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==} dependencies: base64-js: 1.5.1 ieee754: 1.1.13 @@ -11199,65 +9050,44 @@ packages: dev: true /buffer@5.7.1: - resolution: - { - integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==, - } + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} dependencies: base64-js: 1.5.1 ieee754: 1.2.1 dev: true /buffer@6.0.3: - resolution: - { - integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==, - } + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} dependencies: base64-js: 1.5.1 ieee754: 1.2.1 dev: true /builtin-modules@3.2.0: - resolution: - { - integrity: sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==} + engines: {node: '>=6'} dev: true /builtin-modules@3.3.0: - resolution: - { - integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} + engines: {node: '>=6'} dev: true /busboy@1.6.0: - resolution: - { - integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==, - } - engines: { node: '>=10.16.0' } + resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} + engines: {node: '>=10.16.0'} dependencies: streamsearch: 1.1.0 dev: true /bytes@3.1.2: - resolution: - { - integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} dev: true /call-bind@1.0.7: - resolution: - { - integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} + engines: {node: '>= 0.4'} dependencies: es-define-property: 1.0.0 es-errors: 1.3.0 @@ -11267,51 +9097,33 @@ packages: dev: true /callsites@3.1.0: - resolution: - { - integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} dev: true /camel-case@4.1.2: - resolution: - { - integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==, - } + resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} dependencies: pascal-case: 3.1.2 tslib: 2.6.2 dev: true /camelcase@5.3.1: - resolution: - { - integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} dev: true /camelcase@6.3.0: - resolution: - { - integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} dev: true /caniuse-lite@1.0.30001610: - resolution: - { - integrity: sha512-QFutAY4NgaelojVMjY63o6XlZyORPaLfyMnsl3HgnWdJUcX6K0oaJymHjH8PT5Gk7sTm8rvC/c5COUQKXqmOMA==, - } + resolution: {integrity: sha512-QFutAY4NgaelojVMjY63o6XlZyORPaLfyMnsl3HgnWdJUcX6K0oaJymHjH8PT5Gk7sTm8rvC/c5COUQKXqmOMA==} dev: true /capital-case@1.0.4: - resolution: - { - integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==, - } + resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} dependencies: no-case: 3.0.4 tslib: 2.6.2 @@ -11319,28 +9131,19 @@ packages: dev: true /caseless@0.12.0: - resolution: - { - integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==, - } + resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} dev: true /cbor@8.1.0: - resolution: - { - integrity: sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==, - } - engines: { node: '>=12.19' } + resolution: {integrity: sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==} + engines: {node: '>=12.19'} dependencies: nofilter: 3.1.0 dev: true /cdk-assets@2.132.1: - resolution: - { - integrity: sha512-npaa5DTO9GMdnErCk5mguR6XpaLZv1R36T3kJPgSuJDcD2T5gk7BzuMyJWQM0QHMLNw3fMOOjG1D7Wi39LJ3cQ==, - } - engines: { node: '>= 14.15.0' } + resolution: {integrity: sha512-npaa5DTO9GMdnErCk5mguR6XpaLZv1R36T3kJPgSuJDcD2T5gk7BzuMyJWQM0QHMLNw3fMOOjG1D7Wi39LJ3cQ==} + engines: {node: '>= 14.15.0'} hasBin: true dependencies: '@aws-cdk/cloud-assembly-schema': 2.132.1 @@ -11353,10 +9156,7 @@ packages: dev: true /chai-as-promised@7.1.1(chai@4.4.1): - resolution: - { - integrity: sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==, - } + resolution: {integrity: sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==} peerDependencies: chai: '>= 2.1.2 < 5' dependencies: @@ -11365,11 +9165,8 @@ packages: dev: true /chai@4.4.1: - resolution: - { - integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} + engines: {node: '>=4'} dependencies: assertion-error: 1.1.0 check-error: 1.0.3 @@ -11381,11 +9178,8 @@ packages: dev: true /chalk@2.4.2: - resolution: - { - integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} dependencies: ansi-styles: 3.2.1 escape-string-regexp: 1.0.5 @@ -11393,28 +9187,19 @@ packages: dev: true /chalk@4.1.2: - resolution: - { - integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 /chalk@5.3.0: - resolution: - { - integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==, - } - engines: { node: ^12.17.0 || ^14.13 || >=16.0.0 } + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} dev: true /change-case-all@1.0.15: - resolution: - { - integrity: sha512-3+GIFhk3sNuvFAJKU46o26OdzudQlPNBCu1ZQi3cMeMHhty1bhDxu2WrEilVNYaGvqUtR1VSigFcJOiS13dRhQ==, - } + resolution: {integrity: sha512-3+GIFhk3sNuvFAJKU46o26OdzudQlPNBCu1ZQi3cMeMHhty1bhDxu2WrEilVNYaGvqUtR1VSigFcJOiS13dRhQ==} dependencies: change-case: 4.1.2 is-lower-case: 2.0.2 @@ -11429,10 +9214,7 @@ packages: dev: true /change-case@4.1.2: - resolution: - { - integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==, - } + resolution: {integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==} dependencies: camel-case: 4.1.2 capital-case: 1.0.4 @@ -11449,41 +9231,26 @@ packages: dev: true /char-regex@1.0.2: - resolution: - { - integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} dev: true /chardet@0.7.0: - resolution: - { - integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==, - } + resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} /charenc@0.0.2: - resolution: - { - integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==, - } + resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==} dev: true /check-error@1.0.3: - resolution: - { - integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==, - } + resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} dependencies: get-func-name: 2.0.2 dev: true /chokidar@3.5.3: - resolution: - { - integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==, - } - engines: { node: '>= 8.10.0' } + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} dependencies: anymatch: 3.1.3 braces: 3.0.2 @@ -11497,11 +9264,8 @@ packages: dev: true /chokidar@3.6.0: - resolution: - { - integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==, - } - engines: { node: '>= 8.10.0' } + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} dependencies: anymatch: 3.1.3 braces: 3.0.2 @@ -11515,104 +9279,68 @@ packages: dev: true /ci-info@2.0.0: - resolution: - { - integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==, - } + resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} dev: true /ci-info@3.9.0: - resolution: - { - integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} dev: true /cipher-base@1.0.4: - resolution: - { - integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==, - } + resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==} dependencies: inherits: 2.0.4 safe-buffer: 5.2.1 dev: true /cjs-module-lexer@1.2.3: - resolution: - { - integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==, - } + resolution: {integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==} dev: true /clean-regexp@1.0.0: - resolution: - { - integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} + engines: {node: '>=4'} dependencies: escape-string-regexp: 1.0.5 dev: true /clean-stack@2.2.0: - resolution: - { - integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} dev: true /cli-boxes@2.2.1: - resolution: - { - integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} + engines: {node: '>=6'} dev: true /cli-boxes@3.0.0: - resolution: - { - integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} + engines: {node: '>=10'} dev: true /cli-cursor@3.1.0: - resolution: - { - integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} dependencies: restore-cursor: 3.1.0 dev: true /cli-cursor@4.0.0: - resolution: - { - integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: restore-cursor: 4.0.0 dev: true /cli-spinners@2.9.2: - resolution: - { - integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} + engines: {node: '>=6'} /cli-table3@0.5.1: - resolution: - { - integrity: sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==} + engines: {node: '>=6'} dependencies: object-assign: 4.1.1 string-width: 2.1.1 @@ -11621,48 +9349,33 @@ packages: dev: true /cli-truncate@2.1.0: - resolution: - { - integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} + engines: {node: '>=8'} dependencies: slice-ansi: 3.0.0 string-width: 4.2.3 dev: true /cli-truncate@3.1.0: - resolution: - { - integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: slice-ansi: 5.0.0 string-width: 5.1.2 dev: true /cli-width@3.0.0: - resolution: - { - integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} + engines: {node: '>= 10'} dev: true /cli-width@4.1.0: - resolution: - { - integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==, - } - engines: { node: '>= 12' } + resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} + engines: {node: '>= 12'} dev: false /cliui@6.0.0: - resolution: - { - integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==, - } + resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 @@ -11670,10 +9383,7 @@ packages: dev: true /cliui@7.0.4: - resolution: - { - integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==, - } + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 @@ -11681,11 +9391,8 @@ packages: dev: true /cliui@8.0.1: - resolution: - { - integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 @@ -11693,19 +9400,13 @@ packages: dev: true /clone@1.0.4: - resolution: - { - integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==, - } - engines: { node: '>=0.8' } + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} dev: true /cls-hooked@4.2.2: - resolution: - { - integrity: sha512-J4Xj5f5wq/4jAvcdgoGsL3G103BtWpZrMo8NEinRltN+xpTZdI+M38pyQqhuFU/P792xkMFvnKSf+Lm81U1bxw==, - } - engines: { node: ^4.7 || >=6.9 || >=7.3 || >=8.2.1 } + resolution: {integrity: sha512-J4Xj5f5wq/4jAvcdgoGsL3G103BtWpZrMo8NEinRltN+xpTZdI+M38pyQqhuFU/P792xkMFvnKSf+Lm81U1bxw==} + engines: {node: ^4.7 || >=6.9 || >=7.3 || >=8.2.1} dependencies: async-hook-jl: 1.7.6 emitter-listener: 1.1.2 @@ -11713,169 +9414,106 @@ packages: dev: false /cluster-key-slot@1.1.2: - resolution: - { - integrity: sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==} + engines: {node: '>=0.10.0'} dev: false /co@4.6.0: - resolution: - { - integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==, - } - engines: { iojs: '>= 1.0.0', node: '>= 0.12.0' } + resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} dev: true /code-excerpt@4.0.0: - resolution: - { - integrity: sha512-xxodCmBen3iy2i0WtAK8FlFNrRzjUqjRsMfho58xT/wvZU1YTM3fCnRjcy1gJPMepaRlgm/0e6w8SpWHpn3/cA==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-xxodCmBen3iy2i0WtAK8FlFNrRzjUqjRsMfho58xT/wvZU1YTM3fCnRjcy1gJPMepaRlgm/0e6w8SpWHpn3/cA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: convert-to-spaces: 2.0.1 dev: true /collect-v8-coverage@1.0.2: - resolution: - { - integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==, - } + resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} dev: true /color-convert@1.9.3: - resolution: - { - integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==, - } + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: color-name: 1.1.3 dev: true /color-convert@2.0.1: - resolution: - { - integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==, - } - engines: { node: '>=7.0.0' } + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} dependencies: color-name: 1.1.4 /color-name@1.1.3: - resolution: - { - integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==, - } + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} dev: true /color-name@1.1.4: - resolution: - { - integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, - } + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} /colorette@2.0.20: - resolution: - { - integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==, - } + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} dev: true /colors@1.4.0: - resolution: - { - integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==, - } - engines: { node: '>=0.1.90' } + resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} + engines: {node: '>=0.1.90'} dev: true /combined-stream@1.0.8: - resolution: - { - integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} dependencies: delayed-stream: 1.0.0 /command-exists@1.2.9: - resolution: - { - integrity: sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==, - } + resolution: {integrity: sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==} dev: true /commander@10.0.1: - resolution: - { - integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} dev: true /commander@3.0.2: - resolution: - { - integrity: sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==, - } + resolution: {integrity: sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==} dev: true /commander@7.2.0: - resolution: - { - integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} dev: true /commander@9.5.0: - resolution: - { - integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==, - } - engines: { node: ^12.20.0 || >=14 } + resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} + engines: {node: ^12.20.0 || >=14} dev: true /commist@1.1.0: - resolution: - { - integrity: sha512-rraC8NXWOEjhADbZe9QBNzLAN5Q3fsTPQtBV+fEVj6xKIgDgNiEVE6ZNfHpZOqfQ21YUzfVNUXLOEZquYvQPPg==, - } + resolution: {integrity: sha512-rraC8NXWOEjhADbZe9QBNzLAN5Q3fsTPQtBV+fEVj6xKIgDgNiEVE6ZNfHpZOqfQ21YUzfVNUXLOEZquYvQPPg==} dependencies: leven: 2.1.0 minimist: 1.2.6 dev: true /common-tags@1.8.2: - resolution: - { - integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==, - } - engines: { node: '>=4.0.0' } + resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} + engines: {node: '>=4.0.0'} dev: true /commondir@1.0.1: - resolution: - { - integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==, - } + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} dev: true /complex.js@2.1.1: - resolution: - { - integrity: sha512-8njCHOTtFFLtegk6zQo0kkVX1rngygb/KQI6z1qZxlFI3scluC+LVTCFbrkWjBv4vvLlbQ9t88IPMC6k95VTTg==, - } + resolution: {integrity: sha512-8njCHOTtFFLtegk6zQo0kkVX1rngygb/KQI6z1qZxlFI3scluC+LVTCFbrkWjBv4vvLlbQ9t88IPMC6k95VTTg==} dev: true /compress-commons@4.1.2: - resolution: - { - integrity: sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==} + engines: {node: '>= 10'} dependencies: buffer-crc32: 0.2.13 crc32-stream: 4.0.3 @@ -11884,18 +9522,12 @@ packages: dev: true /concat-map@0.0.1: - resolution: - { - integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==, - } + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} dev: true /concat-stream@1.6.2: - resolution: - { - integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==, - } - engines: { '0': node >= 0.8 } + resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} + engines: {'0': node >= 0.8} dependencies: buffer-from: 1.1.2 inherits: 2.0.4 @@ -11904,11 +9536,8 @@ packages: dev: true /concat-stream@2.0.0: - resolution: - { - integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==, - } - engines: { '0': node >= 6.0 } + resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==} + engines: {'0': node >= 6.0} dependencies: buffer-from: 1.1.2 inherits: 2.0.4 @@ -11917,11 +9546,8 @@ packages: dev: true /conf@10.2.0: - resolution: - { - integrity: sha512-8fLl9F04EJqjSqH+QjITQfJF8BrOVaYr1jewVgSRAEWePfxT0sku4w2hrGQ60BC/TNLGQ2pgxNlTbWQmMPFvXg==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-8fLl9F04EJqjSqH+QjITQfJF8BrOVaYr1jewVgSRAEWePfxT0sku4w2hrGQ60BC/TNLGQ2pgxNlTbWQmMPFvXg==} + engines: {node: '>=12'} dependencies: ajv: 8.12.0 ajv-formats: 2.1.1(ajv@8.12.0) @@ -11936,10 +9562,7 @@ packages: dev: true /constant-case@3.0.4: - resolution: - { - integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==, - } + resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==} dependencies: no-case: 3.0.4 tslib: 2.6.2 @@ -11947,92 +9570,59 @@ packages: dev: true /constructs@10.3.0: - resolution: - { - integrity: sha512-vbK8i3rIb/xwZxSpTjz3SagHn1qq9BChLEfy5Hf6fB3/2eFbrwt2n9kHwQcS0CPTRBesreeAcsJfMq2229FnbQ==, - } - engines: { node: '>= 16.14.0' } + resolution: {integrity: sha512-vbK8i3rIb/xwZxSpTjz3SagHn1qq9BChLEfy5Hf6fB3/2eFbrwt2n9kHwQcS0CPTRBesreeAcsJfMq2229FnbQ==} + engines: {node: '>= 16.14.0'} dev: true /content-disposition@0.5.4: - resolution: - { - integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} dependencies: safe-buffer: 5.2.1 dev: true /content-type@1.0.5: - resolution: - { - integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} dev: true /convert-source-map@2.0.0: - resolution: - { - integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==, - } + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} dev: true /convert-to-spaces@2.0.1: - resolution: - { - integrity: sha512-rcQ1bsQO9799wq24uE5AM2tAILy4gXGIK/njFWcVQkGNZ96edlpY+A7bjwvzjYvLDyzmG1MmMLZhpcsb+klNMQ==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-rcQ1bsQO9799wq24uE5AM2tAILy4gXGIK/njFWcVQkGNZ96edlpY+A7bjwvzjYvLDyzmG1MmMLZhpcsb+klNMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true /cookie-signature@1.0.6: - resolution: - { - integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==, - } + resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} dev: true /cookie@0.4.2: - resolution: - { - integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} + engines: {node: '>= 0.6'} dev: true /cookie@0.6.0: - resolution: - { - integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} + engines: {node: '>= 0.6'} dev: true /copy-anything@3.0.5: - resolution: - { - integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==, - } - engines: { node: '>=12.13' } + resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==} + engines: {node: '>=12.13'} dependencies: is-what: 4.1.16 dev: false /core-util-is@1.0.3: - resolution: - { - integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==, - } + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} dev: true /cosmiconfig@8.3.6(typescript@5.4.5): - resolution: - { - integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} + engines: {node: '>=14'} peerDependencies: typescript: '>=4.9.5' peerDependenciesMeta: @@ -12047,30 +9637,21 @@ packages: dev: true /crc-32@1.2.2: - resolution: - { - integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==, - } - engines: { node: '>=0.8' } + resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} + engines: {node: '>=0.8'} hasBin: true dev: true /crc32-stream@4.0.3: - resolution: - { - integrity: sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==} + engines: {node: '>= 10'} dependencies: crc-32: 1.2.2 readable-stream: 3.6.2 dev: true /create-hash@1.2.0: - resolution: - { - integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==, - } + resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} dependencies: cipher-base: 1.0.4 inherits: 2.0.4 @@ -12080,10 +9661,7 @@ packages: dev: true /create-hmac@1.1.7: - resolution: - { - integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==, - } + resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} dependencies: cipher-base: 1.0.4 create-hash: 1.2.0 @@ -12094,11 +9672,8 @@ packages: dev: true /create-jest@29.7.0(@types/node@20.12.7): - resolution: - { - integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true dependencies: '@jest/types': 29.6.3 @@ -12116,38 +9691,26 @@ packages: dev: true /create-require@1.1.1: - resolution: - { - integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==, - } + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} dev: true /cross-fetch@3.1.8: - resolution: - { - integrity: sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==, - } + resolution: {integrity: sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==} dependencies: node-fetch: 2.7.0 transitivePeerDependencies: - encoding /cross-inspect@1.0.0: - resolution: - { - integrity: sha512-4PFfn4b5ZN6FMNGSZlyb7wUhuN8wvj8t/VQHZdM4JsDcruGJ8L2kf9zao98QIrBPFCpdk27qst/AGTl7pL3ypQ==, - } - engines: { node: '>=16.0.0' } + resolution: {integrity: sha512-4PFfn4b5ZN6FMNGSZlyb7wUhuN8wvj8t/VQHZdM4JsDcruGJ8L2kf9zao98QIrBPFCpdk27qst/AGTl7pL3ypQ==} + engines: {node: '>=16.0.0'} dependencies: tslib: 2.6.2 dev: true /cross-spawn@7.0.3: - resolution: - { - integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==, - } - engines: { node: '>= 8' } + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} dependencies: path-key: 3.1.1 shebang-command: 2.0.0 @@ -12155,40 +9718,25 @@ packages: dev: true /crypt@0.0.2: - resolution: - { - integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==, - } + resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==} dev: true /crypto-js@4.2.0: - resolution: - { - integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==, - } + resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==} dev: true /damerau-levenshtein@1.0.8: - resolution: - { - integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==, - } + resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} dev: true /data-uri-to-buffer@4.0.1: - resolution: - { - integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==, - } - engines: { node: '>= 12' } + resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} + engines: {node: '>= 12'} dev: false /data-view-buffer@1.0.1: - resolution: - { - integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 es-errors: 1.3.0 @@ -12196,11 +9744,8 @@ packages: dev: true /data-view-byte-length@1.0.1: - resolution: - { - integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 es-errors: 1.3.0 @@ -12208,11 +9753,8 @@ packages: dev: true /data-view-byte-offset@1.0.0: - resolution: - { - integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 es-errors: 1.3.0 @@ -12220,41 +9762,26 @@ packages: dev: true /dataloader@2.2.2: - resolution: - { - integrity: sha512-8YnDaaf7N3k/q5HnTJVuzSyLETjoZjVmHc4AeKAzOvKHEFQKcn64OKBfzHYtE9zGjctNM7V9I0MfnUVLpi7M5g==, - } + resolution: {integrity: sha512-8YnDaaf7N3k/q5HnTJVuzSyLETjoZjVmHc4AeKAzOvKHEFQKcn64OKBfzHYtE9zGjctNM7V9I0MfnUVLpi7M5g==} dev: true /death@1.1.0: - resolution: - { - integrity: sha512-vsV6S4KVHvTGxbEcij7hkWRv0It+sGGWVOM67dQde/o5Xjnr+KmLjxWJii2uEObIrt1CcM9w0Yaovx+iOlIL+w==, - } + resolution: {integrity: sha512-vsV6S4KVHvTGxbEcij7hkWRv0It+sGGWVOM67dQde/o5Xjnr+KmLjxWJii2uEObIrt1CcM9w0Yaovx+iOlIL+w==} dev: true /debounce-fn@4.0.0: - resolution: - { - integrity: sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ==} + engines: {node: '>=10'} dependencies: mimic-fn: 3.1.0 dev: true /debounce@1.2.1: - resolution: - { - integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==, - } + resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} dev: true /debug@2.6.9: - resolution: - { - integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==, - } + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -12265,10 +9792,7 @@ packages: dev: true /debug@3.2.7: - resolution: - { - integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==, - } + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -12279,11 +9803,8 @@ packages: dev: true /debug@4.3.4(supports-color@8.1.1): - resolution: - { - integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==, - } - engines: { node: '>=6.0' } + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} peerDependencies: supports-color: '*' peerDependenciesMeta: @@ -12295,33 +9816,21 @@ packages: dev: true /decamelize@1.2.0: - resolution: - { - integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} dev: true /decamelize@4.0.0: - resolution: - { - integrity: sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==} + engines: {node: '>=10'} dev: true /decimal.js@10.4.3: - resolution: - { - integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==, - } + resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} dev: true /dedent@1.5.3: - resolution: - { - integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==, - } + resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} peerDependencies: babel-plugin-macros: ^3.1.0 peerDependenciesMeta: @@ -12330,53 +9839,35 @@ packages: dev: true /deep-eql@4.1.3: - resolution: - { - integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} + engines: {node: '>=6'} dependencies: type-detect: 4.0.8 dev: true /deep-extend@0.6.0: - resolution: - { - integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==, - } - engines: { node: '>=4.0.0' } + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} dev: true /deep-is@0.1.4: - resolution: - { - integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==, - } + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} dev: true /deepmerge@4.3.1: - resolution: - { - integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} dev: true /defaults@1.0.4: - resolution: - { - integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==, - } + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} dependencies: clone: 1.0.4 dev: true /define-data-property@1.1.4: - resolution: - { - integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} dependencies: es-define-property: 1.0.0 es-errors: 1.3.0 @@ -12384,11 +9875,8 @@ packages: dev: true /define-properties@1.2.1: - resolution: - { - integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} dependencies: define-data-property: 1.1.4 has-property-descriptors: 1.0.2 @@ -12396,18 +9884,12 @@ packages: dev: true /delayed-stream@1.0.0: - resolution: - { - integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==, - } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} /delete-empty@3.0.0: - resolution: - { - integrity: sha512-ZUyiwo76W+DYnKsL3Kim6M/UOavPdBJgDYWOmuQhYaZvJH0AXAHbUNyEDtRbBra8wqqr686+63/0azfEk1ebUQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-ZUyiwo76W+DYnKsL3Kim6M/UOavPdBJgDYWOmuQhYaZvJH0AXAHbUNyEDtRbBra8wqqr686+63/0azfEk1ebUQ==} + engines: {node: '>=10'} hasBin: true dependencies: ansi-colors: 4.1.3 @@ -12417,11 +9899,8 @@ packages: dev: true /dendriform-immer-patch-optimiser@2.1.3(immer@9.0.21): - resolution: - { - integrity: sha512-QG2IegUCdlhycVwsBOJ7SNd18PgzyWPxBivTzuF0E1KFxaU47fHy/frud74A9E66a4WXyFFp9FLLC2XQDkVj7g==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-QG2IegUCdlhycVwsBOJ7SNd18PgzyWPxBivTzuF0E1KFxaU47fHy/frud74A9E66a4WXyFFp9FLLC2XQDkVj7g==} + engines: {node: '>=10'} peerDependencies: immer: '9' dependencies: @@ -12429,27 +9908,18 @@ packages: dev: true /depd@2.0.0: - resolution: - { - integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} dev: true /dependency-graph@0.11.0: - resolution: - { - integrity: sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==, - } - engines: { node: '>= 0.6.0' } + resolution: {integrity: sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==} + engines: {node: '>= 0.6.0'} dev: true /dependency-tree@10.0.9: - resolution: - { - integrity: sha512-dwc59FRIsht+HfnTVM0BCjJaEWxdq2YAvEDy4/Hn6CwS3CBWMtFnL3aZGAkQn3XCYxk/YcTDE4jX2Q7bFTwCjA==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-dwc59FRIsht+HfnTVM0BCjJaEWxdq2YAvEDy4/Hn6CwS3CBWMtFnL3aZGAkQn3XCYxk/YcTDE4jX2Q7bFTwCjA==} + engines: {node: '>=14'} hasBin: true dependencies: commander: 10.0.1 @@ -12461,59 +9931,38 @@ packages: dev: true /dequal@2.0.3: - resolution: - { - integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} dev: true /destroy@1.2.0: - resolution: - { - integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==, - } - engines: { node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16 } + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} dev: true /detect-indent@6.1.0: - resolution: - { - integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} + engines: {node: '>=8'} dev: true /detect-indent@7.0.1: - resolution: - { - integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==, - } - engines: { node: '>=12.20' } + resolution: {integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==} + engines: {node: '>=12.20'} dev: true /detect-newline@3.1.0: - resolution: - { - integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} + engines: {node: '>=8'} dev: true /detect-newline@4.0.1: - resolution: - { - integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true /detective-amd@5.0.2: - resolution: - { - integrity: sha512-XFd/VEQ76HSpym80zxM68ieB77unNuoMwopU2TFT/ErUk5n4KvUTwW4beafAVUugrjV48l4BmmR0rh2MglBaiA==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-XFd/VEQ76HSpym80zxM68ieB77unNuoMwopU2TFT/ErUk5n4KvUTwW4beafAVUugrjV48l4BmmR0rh2MglBaiA==} + engines: {node: '>=14'} hasBin: true dependencies: ast-module-types: 5.0.0 @@ -12523,32 +9972,23 @@ packages: dev: true /detective-cjs@5.0.1: - resolution: - { - integrity: sha512-6nTvAZtpomyz/2pmEmGX1sXNjaqgMplhQkskq2MLrar0ZAIkHMrDhLXkRiK2mvbu9wSWr0V5/IfiTrZqAQMrmQ==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-6nTvAZtpomyz/2pmEmGX1sXNjaqgMplhQkskq2MLrar0ZAIkHMrDhLXkRiK2mvbu9wSWr0V5/IfiTrZqAQMrmQ==} + engines: {node: '>=14'} dependencies: ast-module-types: 5.0.0 node-source-walk: 6.0.2 dev: true /detective-es6@4.0.1: - resolution: - { - integrity: sha512-k3Z5tB4LQ8UVHkuMrFOlvb3GgFWdJ9NqAa2YLUU/jTaWJIm+JJnEh4PsMc+6dfT223Y8ACKOaC0qcj7diIhBKw==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-k3Z5tB4LQ8UVHkuMrFOlvb3GgFWdJ9NqAa2YLUU/jTaWJIm+JJnEh4PsMc+6dfT223Y8ACKOaC0qcj7diIhBKw==} + engines: {node: '>=14'} dependencies: node-source-walk: 6.0.2 dev: true /detective-postcss@6.1.3: - resolution: - { - integrity: sha512-7BRVvE5pPEvk2ukUWNQ+H2XOq43xENWbH0LcdCE14mwgTBEAMoAx+Fc1rdp76SmyZ4Sp48HlV7VedUnP6GA1Tw==, - } - engines: { node: ^12.0.0 || ^14.0.0 || >=16.0.0 } + resolution: {integrity: sha512-7BRVvE5pPEvk2ukUWNQ+H2XOq43xENWbH0LcdCE14mwgTBEAMoAx+Fc1rdp76SmyZ4Sp48HlV7VedUnP6GA1Tw==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dependencies: is-url: 1.2.4 postcss: 8.4.38 @@ -12556,41 +9996,29 @@ packages: dev: true /detective-sass@5.0.3: - resolution: - { - integrity: sha512-YsYT2WuA8YIafp2RVF5CEfGhhyIVdPzlwQgxSjK+TUm3JoHP+Tcorbk3SfG0cNZ7D7+cYWa0ZBcvOaR0O8+LlA==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-YsYT2WuA8YIafp2RVF5CEfGhhyIVdPzlwQgxSjK+TUm3JoHP+Tcorbk3SfG0cNZ7D7+cYWa0ZBcvOaR0O8+LlA==} + engines: {node: '>=14'} dependencies: gonzales-pe: 4.3.0 node-source-walk: 6.0.2 dev: true /detective-scss@4.0.3: - resolution: - { - integrity: sha512-VYI6cHcD0fLokwqqPFFtDQhhSnlFWvU614J42eY6G0s8c+MBhi9QAWycLwIOGxlmD8I/XvGSOUV1kIDhJ70ZPg==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-VYI6cHcD0fLokwqqPFFtDQhhSnlFWvU614J42eY6G0s8c+MBhi9QAWycLwIOGxlmD8I/XvGSOUV1kIDhJ70ZPg==} + engines: {node: '>=14'} dependencies: gonzales-pe: 4.3.0 node-source-walk: 6.0.2 dev: true /detective-stylus@4.0.0: - resolution: - { - integrity: sha512-TfPotjhszKLgFBzBhTOxNHDsutIxx9GTWjrL5Wh7Qx/ydxKhwUrlSFeLIn+ZaHPF+h0siVBkAQSuy6CADyTxgQ==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-TfPotjhszKLgFBzBhTOxNHDsutIxx9GTWjrL5Wh7Qx/ydxKhwUrlSFeLIn+ZaHPF+h0siVBkAQSuy6CADyTxgQ==} + engines: {node: '>=14'} dev: true /detective-typescript@11.2.0: - resolution: - { - integrity: sha512-ARFxjzizOhPqs1fYC/2NMC3N4jrQ6HvVflnXBTRqNEqJuXwyKLRr9CrJwkRcV/SnZt1sNXgsF6FPm0x57Tq0rw==, - } - engines: { node: ^14.14.0 || >=16.0.0 } + resolution: {integrity: sha512-ARFxjzizOhPqs1fYC/2NMC3N4jrQ6HvVflnXBTRqNEqJuXwyKLRr9CrJwkRcV/SnZt1sNXgsF6FPm0x57Tq0rw==} + engines: {node: ^14.14.0 || >=16.0.0} dependencies: '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.5) ast-module-types: 5.0.0 @@ -12601,125 +10029,83 @@ packages: dev: true /diff-sequences@29.6.3: - resolution: - { - integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true /diff@4.0.2: - resolution: - { - integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==, - } - engines: { node: '>=0.3.1' } + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} dev: true /diff@5.0.0: - resolution: - { - integrity: sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==, - } - engines: { node: '>=0.3.1' } + resolution: {integrity: sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==} + engines: {node: '>=0.3.1'} dev: true /diff@5.2.0: - resolution: - { - integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==, - } - engines: { node: '>=0.3.1' } + resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} + engines: {node: '>=0.3.1'} dev: true /difflib@0.2.4: - resolution: - { - integrity: sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w==, - } + resolution: {integrity: sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w==} dependencies: heap: 0.2.7 dev: true /dir-glob@3.0.1: - resolution: - { - integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} dependencies: path-type: 4.0.0 dev: true /doctrine@2.1.0: - resolution: - { - integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} dependencies: esutils: 2.0.3 dev: true /doctrine@3.0.0: - resolution: - { - integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==, - } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} dependencies: esutils: 2.0.3 dev: true /dot-case@3.0.4: - resolution: - { - integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==, - } + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} dependencies: no-case: 3.0.4 tslib: 2.6.2 dev: true /dot-prop@6.0.1: - resolution: - { - integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} + engines: {node: '>=10'} dependencies: is-obj: 2.0.0 dev: true /dotenv@16.0.3: - resolution: - { - integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} + engines: {node: '>=12'} dev: true /dotenv@16.4.5: - resolution: - { - integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} + engines: {node: '>=12'} dev: true /dset@3.1.3: - resolution: - { - integrity: sha512-20TuZZHCEZ2O71q9/+8BwKwZ0QtD9D8ObhrihJPr+vLLYlSuAU3/zL4cSlgbfeoGHTjCSJBa7NGcrF9/Bx/WJQ==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-20TuZZHCEZ2O71q9/+8BwKwZ0QtD9D8ObhrihJPr+vLLYlSuAU3/zL4cSlgbfeoGHTjCSJBa7NGcrF9/Bx/WJQ==} + engines: {node: '>=4'} dev: true /duplexify@3.7.1: - resolution: - { - integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==, - } + resolution: {integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==} dependencies: end-of-stream: 1.4.4 inherits: 2.0.4 @@ -12728,10 +10114,7 @@ packages: dev: true /duplexify@4.1.3: - resolution: - { - integrity: sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA==, - } + resolution: {integrity: sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA==} dependencies: end-of-stream: 1.4.4 inherits: 2.0.4 @@ -12740,40 +10123,25 @@ packages: dev: true /eastasianwidth@0.2.0: - resolution: - { - integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==, - } + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} dev: true /ecdsa-sig-formatter@1.0.11: - resolution: - { - integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==, - } + resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} dependencies: safe-buffer: 5.2.1 dev: true /ee-first@1.1.1: - resolution: - { - integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==, - } + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} dev: true /electron-to-chromium@1.4.737: - resolution: - { - integrity: sha512-QvLTxaLHKdy5YxvixAw/FfHq2eWLUL9KvsPjp0aHK1gI5d3EDuDgITkvj0nFO2c6zUY3ZqVAJQiBYyQP9tQpfw==, - } + resolution: {integrity: sha512-QvLTxaLHKdy5YxvixAw/FfHq2eWLUL9KvsPjp0aHK1gI5d3EDuDgITkvj0nFO2c6zUY3ZqVAJQiBYyQP9tQpfw==} dev: true /elliptic@6.5.4: - resolution: - { - integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==, - } + resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==} dependencies: bn.js: 4.12.0 brorand: 1.1.0 @@ -12784,10 +10152,7 @@ packages: minimalistic-crypto-utils: 1.0.1 /elliptic@6.5.5: - resolution: - { - integrity: sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw==, - } + resolution: {integrity: sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw==} dependencies: bn.js: 4.12.0 brorand: 1.1.0 @@ -12799,97 +10164,64 @@ packages: dev: true /emitter-listener@1.1.2: - resolution: - { - integrity: sha512-Bt1sBAGFHY9DKY+4/2cV6izcKJUf5T7/gkdmkxzX/qv9CcGH8xSwVRW5mtX03SWJtRTWSOpzCuWN9rBFYZepZQ==, - } + resolution: {integrity: sha512-Bt1sBAGFHY9DKY+4/2cV6izcKJUf5T7/gkdmkxzX/qv9CcGH8xSwVRW5mtX03SWJtRTWSOpzCuWN9rBFYZepZQ==} dependencies: shimmer: 1.2.1 dev: false /emittery@0.13.1: - resolution: - { - integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} + engines: {node: '>=12'} dev: true /emoji-regex@8.0.0: - resolution: - { - integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==, - } + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} /emoji-regex@9.2.2: - resolution: - { - integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==, - } + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} dev: true /encodeurl@1.0.2: - resolution: - { - integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} dev: true /end-of-stream@1.4.4: - resolution: - { - integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==, - } + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} dependencies: once: 1.4.0 dev: true /enhanced-resolve@5.16.0: - resolution: - { - integrity: sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==, - } - engines: { node: '>=10.13.0' } + resolution: {integrity: sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==} + engines: {node: '>=10.13.0'} dependencies: graceful-fs: 4.2.11 tapable: 2.2.1 dev: true /enquirer@2.4.1: - resolution: - { - integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==, - } - engines: { node: '>=8.6' } + resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} + engines: {node: '>=8.6'} dependencies: ansi-colors: 4.1.3 strip-ansi: 6.0.1 dev: true /env-paths@2.2.1: - resolution: - { - integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} dev: true /error-ex@1.3.2: - resolution: - { - integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==, - } + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: is-arrayish: 0.2.1 dev: true /es-abstract@1.23.3: - resolution: - { - integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} + engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.1 arraybuffer.prototype.slice: 1.0.3 @@ -12940,29 +10272,20 @@ packages: dev: true /es-define-property@1.0.0: - resolution: - { - integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + engines: {node: '>= 0.4'} dependencies: get-intrinsic: 1.2.4 dev: true /es-errors@1.3.0: - resolution: - { - integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} dev: true /es-iterator-helpers@1.0.18: - resolution: - { - integrity: sha512-scxAJaewsahbqTYrGKJihhViaM6DDZDDoucfvzNbK0pOren1g/daDQ3IAhzn+1G14rBG7w+i5N+qul60++zlKA==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-scxAJaewsahbqTYrGKJihhViaM6DDZDDoucfvzNbK0pOren1g/daDQ3IAhzn+1G14rBG7w+i5N+qul60++zlKA==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -12981,21 +10304,15 @@ packages: dev: true /es-object-atoms@1.0.0: - resolution: - { - integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} + engines: {node: '>= 0.4'} dependencies: es-errors: 1.3.0 dev: true /es-set-tostringtag@2.0.3: - resolution: - { - integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} + engines: {node: '>= 0.4'} dependencies: get-intrinsic: 1.2.4 has-tostringtag: 1.0.2 @@ -13003,20 +10320,14 @@ packages: dev: true /es-shim-unscopables@1.0.2: - resolution: - { - integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==, - } + resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} dependencies: hasown: 2.0.2 dev: true /es-to-primitive@1.2.1: - resolution: - { - integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} dependencies: is-callable: 1.2.7 is-date-object: 1.0.5 @@ -13024,11 +10335,8 @@ packages: dev: true /esbuild@0.18.13: - resolution: - { - integrity: sha512-vhg/WR/Oiu4oUIkVhmfcc23G6/zWuEQKFS+yiosSHe4aN6+DQRXIfeloYGibIfVhkr4wyfuVsGNLr+sQU1rWWw==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-vhg/WR/Oiu4oUIkVhmfcc23G6/zWuEQKFS+yiosSHe4aN6+DQRXIfeloYGibIfVhkr4wyfuVsGNLr+sQU1rWWw==} + engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: @@ -13057,11 +10365,8 @@ packages: dev: true /esbuild@0.19.12: - resolution: - { - integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} + engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: @@ -13091,11 +10396,8 @@ packages: dev: true /esbuild@0.20.2: - resolution: - { - integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} + engines: {node: '>=12'} hasBin: true requiresBuild: true optionalDependencies: @@ -13125,57 +10427,36 @@ packages: dev: true /escalade@3.1.2: - resolution: - { - integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + engines: {node: '>=6'} dev: true /escape-html@1.0.3: - resolution: - { - integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==, - } + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} dev: true /escape-latex@1.2.0: - resolution: - { - integrity: sha512-nV5aVWW1K0wEiUIEdZ4erkGGH8mDxGyxSeqPzRNtWP7ataw+/olFObw7hujFWlVjNsaDFw5VZ5NzVSIqRgfTiw==, - } + resolution: {integrity: sha512-nV5aVWW1K0wEiUIEdZ4erkGGH8mDxGyxSeqPzRNtWP7ataw+/olFObw7hujFWlVjNsaDFw5VZ5NzVSIqRgfTiw==} dev: true /escape-string-regexp@1.0.5: - resolution: - { - integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==, - } - engines: { node: '>=0.8.0' } + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} dev: true /escape-string-regexp@2.0.0: - resolution: - { - integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} dev: true /escape-string-regexp@4.0.0: - resolution: - { - integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} dev: true /escodegen@1.8.1: - resolution: - { - integrity: sha512-yhi5S+mNTOuRvyW4gWlg5W1byMaQGWWSYHXsuFZ7GBo7tpyOwi2EdzMP/QWxh9hwkD2m+wDVHJsxhRIj+v/b/A==, - } - engines: { node: '>=0.12.0' } + resolution: {integrity: sha512-yhi5S+mNTOuRvyW4gWlg5W1byMaQGWWSYHXsuFZ7GBo7tpyOwi2EdzMP/QWxh9hwkD2m+wDVHJsxhRIj+v/b/A==} + engines: {node: '>=0.12.0'} hasBin: true dependencies: esprima: 2.7.3 @@ -13187,11 +10468,8 @@ packages: dev: true /escodegen@2.1.0: - resolution: - { - integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==, - } - engines: { node: '>=6.0' } + resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} + engines: {node: '>=6.0'} hasBin: true dependencies: esprima: 4.0.1 @@ -13202,10 +10480,7 @@ packages: dev: true /eslint-config-prettier@9.1.0(eslint@8.57.0): - resolution: - { - integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==, - } + resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} hasBin: true peerDependencies: eslint: '>=7.0.0' @@ -13214,10 +10489,7 @@ packages: dev: true /eslint-config-turbo@1.13.2(eslint@8.57.0): - resolution: - { - integrity: sha512-TzvsMwNJx/P4JYw79iFqbyQApnyT050gW7dBxnNeNVl3pVMnT2rwaFo9Q3Hc49Tp5NANxEwYN9RStF50P/IwGA==, - } + resolution: {integrity: sha512-TzvsMwNJx/P4JYw79iFqbyQApnyT050gW7dBxnNeNVl3pVMnT2rwaFo9Q3Hc49Tp5NANxEwYN9RStF50P/IwGA==} peerDependencies: eslint: '>6.6.0' dependencies: @@ -13226,11 +10498,8 @@ packages: dev: true /eslint-import-resolver-alias@1.1.2(eslint-plugin-import@2.29.1): - resolution: - { - integrity: sha512-WdviM1Eu834zsfjHtcGHtGfcu+F30Od3V7I9Fi57uhBEwPkjDcii7/yW8jAT+gOhn4P/vOxxNAXbFAKsrrc15w==, - } - engines: { node: '>= 4' } + resolution: {integrity: sha512-WdviM1Eu834zsfjHtcGHtGfcu+F30Od3V7I9Fi57uhBEwPkjDcii7/yW8jAT+gOhn4P/vOxxNAXbFAKsrrc15w==} + engines: {node: '>= 4'} peerDependencies: eslint-plugin-import: '>=1.4.0' dependencies: @@ -13238,10 +10507,7 @@ packages: dev: true /eslint-import-resolver-node@0.3.9: - resolution: - { - integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==, - } + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} dependencies: debug: 3.2.7 is-core-module: 2.13.1 @@ -13251,11 +10517,8 @@ packages: dev: true /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0): - resolution: - { - integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==, - } - engines: { node: ^14.18.0 || >=16.0.0 } + resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} + engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: eslint: '*' eslint-plugin-import: '*' @@ -13277,11 +10540,8 @@ packages: dev: true /eslint-module-utils@2.8.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): - resolution: - { - integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==} + engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' eslint: '*' @@ -13310,11 +10570,8 @@ packages: dev: true /eslint-plugin-eslint-comments@3.2.0(eslint@8.57.0): - resolution: - { - integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==, - } - engines: { node: '>=6.5.0' } + resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==} + engines: {node: '>=6.5.0'} peerDependencies: eslint: '>=4.19.1' dependencies: @@ -13324,11 +10581,8 @@ packages: dev: true /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): - resolution: - { - integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} + engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 @@ -13362,11 +10616,8 @@ packages: dev: true /eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.5): - resolution: - { - integrity: sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@typescript-eslint/eslint-plugin': ^5.0.0 || ^6.0.0 || ^7.0.0 eslint: ^7.0.0 || ^8.0.0 @@ -13387,11 +10638,8 @@ packages: dev: true /eslint-plugin-jsx-a11y@6.8.0(eslint@8.57.0): - resolution: - { - integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==, - } - engines: { node: '>=4.0' } + resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==} + engines: {node: '>=4.0'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 dependencies: @@ -13415,10 +10663,7 @@ packages: dev: true /eslint-plugin-playwright@0.16.0(eslint-plugin-jest@27.9.0)(eslint@8.57.0): - resolution: - { - integrity: sha512-DcHpF0SLbNeh9MT4pMzUGuUSnJ7q5MWbP8sSEFIMS6j7Ggnduq8ghNlfhURgty4c1YFny7Ge9xYTO1FSAoV2Vw==, - } + resolution: {integrity: sha512-DcHpF0SLbNeh9MT4pMzUGuUSnJ7q5MWbP8sSEFIMS6j7Ggnduq8ghNlfhURgty4c1YFny7Ge9xYTO1FSAoV2Vw==} peerDependencies: eslint: '>=7' eslint-plugin-jest: '>=25' @@ -13431,11 +10676,8 @@ packages: dev: true /eslint-plugin-react-hooks@4.6.0(eslint@8.57.0): - resolution: - { - integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} + engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 dependencies: @@ -13443,11 +10685,8 @@ packages: dev: true /eslint-plugin-react@7.34.1(eslint@8.57.0): - resolution: - { - integrity: sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==} + engines: {node: '>=4'} peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 dependencies: @@ -13473,11 +10712,8 @@ packages: dev: true /eslint-plugin-testing-library@6.2.2(eslint@8.57.0)(typescript@5.4.5): - resolution: - { - integrity: sha512-1E94YOTUDnOjSLyvOwmbVDzQi/WkKm3WVrMXu6SmBr6DN95xTGZmI6HJ/eOkSXh/DlheRsxaPsJvZByDBhWLVQ==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6' } + resolution: {integrity: sha512-1E94YOTUDnOjSLyvOwmbVDzQi/WkKm3WVrMXu6SmBr6DN95xTGZmI6HJ/eOkSXh/DlheRsxaPsJvZByDBhWLVQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6'} peerDependencies: eslint: ^7.5.0 || ^8.0.0 dependencies: @@ -13489,20 +10725,14 @@ packages: dev: true /eslint-plugin-tsdoc@0.2.17: - resolution: - { - integrity: sha512-xRmVi7Zx44lOBuYqG8vzTXuL6IdGOeF9nHX17bjJ8+VE6fsxpdGem0/SBTmAwgYMKYB1WBkqRJVQ+n8GK041pA==, - } + resolution: {integrity: sha512-xRmVi7Zx44lOBuYqG8vzTXuL6IdGOeF9nHX17bjJ8+VE6fsxpdGem0/SBTmAwgYMKYB1WBkqRJVQ+n8GK041pA==} dependencies: '@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc-config': 0.16.2 dev: true /eslint-plugin-turbo@1.13.2(eslint@8.57.0): - resolution: - { - integrity: sha512-QNaihF0hTRjfOBd1SLHrftm8V3pOU35CNS/C0/Z6qY1xxdL1PSv4IctEIldSMX7/A1jOPYwMPO7wYwPXgjgp/g==, - } + resolution: {integrity: sha512-QNaihF0hTRjfOBd1SLHrftm8V3pOU35CNS/C0/Z6qY1xxdL1PSv4IctEIldSMX7/A1jOPYwMPO7wYwPXgjgp/g==} peerDependencies: eslint: '>6.6.0' dependencies: @@ -13511,11 +10741,8 @@ packages: dev: true /eslint-plugin-unicorn@48.0.1(eslint@8.57.0): - resolution: - { - integrity: sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw==, - } - engines: { node: '>=16' } + resolution: {integrity: sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw==} + engines: {node: '>=16'} peerDependencies: eslint: '>=8.44.0' dependencies: @@ -13538,11 +10765,8 @@ packages: dev: true /eslint-plugin-unused-imports@3.1.0(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.57.0): - resolution: - { - integrity: sha512-9l1YFCzXKkw1qtAru1RWUtG2EVDZY0a0eChKXcL+EZ5jitG7qxdctu4RnvhOJHv4xfmUf7h+JJPINlVpGhZMrw==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-9l1YFCzXKkw1qtAru1RWUtG2EVDZY0a0eChKXcL+EZ5jitG7qxdctu4RnvhOJHv4xfmUf7h+JJPINlVpGhZMrw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/eslint-plugin': 6 - 7 eslint: '8' @@ -13556,57 +10780,39 @@ packages: dev: true /eslint-rule-composer@0.3.0: - resolution: - { - integrity: sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==, - } - engines: { node: '>=4.0.0' } + resolution: {integrity: sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==} + engines: {node: '>=4.0.0'} dev: true /eslint-scope@5.1.1: - resolution: - { - integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==, - } - engines: { node: '>=8.0.0' } + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} dependencies: esrecurse: 4.3.0 estraverse: 4.3.0 dev: true /eslint-scope@7.2.2: - resolution: - { - integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 dev: true /eslint-visitor-keys@2.1.0: - resolution: - { - integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} + engines: {node: '>=10'} dev: true /eslint-visitor-keys@3.4.3: - resolution: - { - integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dev: true /eslint@8.57.0: - resolution: - { - integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} hasBin: true dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) @@ -13652,11 +10858,8 @@ packages: dev: true /espree@9.6.1: - resolution: - { - integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==, - } - engines: { node: ^12.22.0 || ^14.17.0 || >=16.0.0 } + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: acorn: 8.11.3 acorn-jsx: 5.3.2(acorn@8.11.3) @@ -13664,88 +10867,58 @@ packages: dev: true /esprima@2.7.3: - resolution: - { - integrity: sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A==} + engines: {node: '>=0.10.0'} hasBin: true dev: true /esprima@4.0.1: - resolution: - { - integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} hasBin: true dev: true /esquery@1.5.0: - resolution: - { - integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==, - } - engines: { node: '>=0.10' } + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} dependencies: estraverse: 5.3.0 dev: true /esrecurse@4.3.0: - resolution: - { - integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==, - } - engines: { node: '>=4.0' } + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} dependencies: estraverse: 5.3.0 dev: true /estraverse@1.9.3: - resolution: - { - integrity: sha512-25w1fMXQrGdoquWnScXZGckOv+Wes+JDnuN/+7ex3SauFRS72r2lFDec0EKPt2YD1wUJ/IrfEex+9yp4hfSOJA==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-25w1fMXQrGdoquWnScXZGckOv+Wes+JDnuN/+7ex3SauFRS72r2lFDec0EKPt2YD1wUJ/IrfEex+9yp4hfSOJA==} + engines: {node: '>=0.10.0'} dev: true /estraverse@4.3.0: - resolution: - { - integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==, - } - engines: { node: '>=4.0' } + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} dev: true /estraverse@5.3.0: - resolution: - { - integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==, - } - engines: { node: '>=4.0' } + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} dev: true /esutils@2.0.3: - resolution: - { - integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} dev: true /etag@1.8.1: - resolution: - { - integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} dev: true /eth-gas-reporter@0.2.27: - resolution: - { - integrity: sha512-femhvoAM7wL0GcI8ozTdxfuBtBFJ9qsyIAsmKVjlWAHUbdnnXHt+lKzz/kmldM5lA9jLuNHGwuIxorNpLbR1Zw==, - } + resolution: {integrity: sha512-femhvoAM7wL0GcI8ozTdxfuBtBFJ9qsyIAsmKVjlWAHUbdnnXHt+lKzz/kmldM5lA9jLuNHGwuIxorNpLbR1Zw==} peerDependencies: '@codechecks/client': ^0.1.0 peerDependenciesMeta: @@ -13772,19 +10945,13 @@ packages: dev: true /ethereum-bloom-filters@1.1.0: - resolution: - { - integrity: sha512-J1gDRkLpuGNvWYzWslBQR9cDV4nd4kfvVTE/Wy4Kkm4yb3EYRSlyi0eB/inTsSTTVyA0+HyzHgbr95Fn/Z1fSw==, - } + resolution: {integrity: sha512-J1gDRkLpuGNvWYzWslBQR9cDV4nd4kfvVTE/Wy4Kkm4yb3EYRSlyi0eB/inTsSTTVyA0+HyzHgbr95Fn/Z1fSw==} dependencies: '@noble/hashes': 1.4.0 dev: true /ethereum-cryptography@0.1.3: - resolution: - { - integrity: sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==, - } + resolution: {integrity: sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==} dependencies: '@types/pbkdf2': 3.1.2 '@types/secp256k1': 4.0.6 @@ -13804,10 +10971,7 @@ packages: dev: true /ethereum-cryptography@1.2.0: - resolution: - { - integrity: sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw==, - } + resolution: {integrity: sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw==} dependencies: '@noble/hashes': 1.2.0 '@noble/secp256k1': 1.7.1 @@ -13816,10 +10980,7 @@ packages: dev: true /ethereum-cryptography@2.1.3: - resolution: - { - integrity: sha512-BlwbIL7/P45W8FGW2r7LGuvoEZ+7PWsniMvQ4p5s2xCyw9tmaDlpfsN9HjAucbF+t/qpVHwZUisgfK24TCW8aA==, - } + resolution: {integrity: sha512-BlwbIL7/P45W8FGW2r7LGuvoEZ+7PWsniMvQ4p5s2xCyw9tmaDlpfsN9HjAucbF+t/qpVHwZUisgfK24TCW8aA==} dependencies: '@noble/curves': 1.3.0 '@noble/hashes': 1.3.3 @@ -13828,20 +10989,14 @@ packages: dev: true /ethereumjs-abi@0.6.8: - resolution: - { - integrity: sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==, - } + resolution: {integrity: sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==} dependencies: bn.js: 4.12.0 ethereumjs-util: 6.2.1 dev: true /ethereumjs-util@6.2.1: - resolution: - { - integrity: sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==, - } + resolution: {integrity: sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==} dependencies: '@types/bn.js': 4.11.6 bn.js: 4.12.0 @@ -13853,11 +11008,8 @@ packages: dev: true /ethereumjs-util@7.1.5: - resolution: - { - integrity: sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==, - } - engines: { node: '>=10.0.0' } + resolution: {integrity: sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==} + engines: {node: '>=10.0.0'} dependencies: '@types/bn.js': 5.1.5 bn.js: 5.2.1 @@ -13867,10 +11019,7 @@ packages: dev: true /ethers@5.6.2: - resolution: - { - integrity: sha512-EzGCbns24/Yluu7+ToWnMca3SXJ1Jk1BvWB7CCmVNxyOeM4LLvw2OLuIHhlkhQk1dtOcj9UMsdkxUh8RiG1dxQ==, - } + resolution: {integrity: sha512-EzGCbns24/Yluu7+ToWnMca3SXJ1Jk1BvWB7CCmVNxyOeM4LLvw2OLuIHhlkhQk1dtOcj9UMsdkxUh8RiG1dxQ==} dependencies: '@ethersproject/abi': 5.6.0 '@ethersproject/abstract-provider': 5.6.0 @@ -13908,10 +11057,7 @@ packages: dev: false /ethers@5.7.2: - resolution: - { - integrity: sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==, - } + resolution: {integrity: sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==} dependencies: '@ethersproject/abi': 5.7.0 '@ethersproject/abstract-provider': 5.7.0 @@ -13948,11 +11094,8 @@ packages: - utf-8-validate /ethers@6.11.1: - resolution: - { - integrity: sha512-mxTAE6wqJQAbp5QAe/+o+rXOID7Nw91OZXvgpjDa1r4fAbq2Nu314oEZSbjoRLacuCzs7kUC3clEvkCQowffGg==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-mxTAE6wqJQAbp5QAe/+o+rXOID7Nw91OZXvgpjDa1r4fAbq2Nu314oEZSbjoRLacuCzs7kUC3clEvkCQowffGg==} + engines: {node: '>=14.0.0'} dependencies: '@adraffy/ens-normalize': 1.10.1 '@noble/curves': 1.2.0 @@ -13967,40 +11110,28 @@ packages: dev: true /ethjs-unit@0.1.6: - resolution: - { - integrity: sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==, - } - engines: { node: '>=6.5.0', npm: '>=3' } + resolution: {integrity: sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==} + engines: {node: '>=6.5.0', npm: '>=3'} dependencies: bn.js: 4.11.6 number-to-bn: 1.7.0 dev: true /ethjs-util@0.1.6: - resolution: - { - integrity: sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==, - } - engines: { node: '>=6.5.0', npm: '>=3' } + resolution: {integrity: sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==} + engines: {node: '>=6.5.0', npm: '>=3'} dependencies: is-hex-prefixed: 1.0.0 strip-hex-prefix: 1.0.0 dev: true /events@1.1.1: - resolution: - { - integrity: sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==, - } - engines: { node: '>=0.4.x' } + resolution: {integrity: sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==} + engines: {node: '>=0.4.x'} dev: true /evm-bn@1.1.2(@ethersproject/bignumber@5.7.0): - resolution: - { - integrity: sha512-Lq8CT1EAjSeN+Yk0h1hpSwnZyMA4Xir6fQD4vlStljAuW2xr7qLOEGDLGsTa9sU2e40EYIumA4wYhMC/e+lyKw==, - } + resolution: {integrity: sha512-Lq8CT1EAjSeN+Yk0h1hpSwnZyMA4Xir6fQD4vlStljAuW2xr7qLOEGDLGsTa9sU2e40EYIumA4wYhMC/e+lyKw==} peerDependencies: '@ethersproject/bignumber': 5.x dependencies: @@ -14009,21 +11140,15 @@ packages: dev: true /evp_bytestokey@1.0.3: - resolution: - { - integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==, - } + resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} dependencies: md5.js: 1.3.5 safe-buffer: 5.2.1 dev: true /execa@5.1.1: - resolution: - { - integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} dependencies: cross-spawn: 7.0.3 get-stream: 6.0.1 @@ -14037,19 +11162,13 @@ packages: dev: true /exit@0.1.2: - resolution: - { - integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==, - } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} + engines: {node: '>= 0.8.0'} dev: true /expect@29.7.0: - resolution: - { - integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/expect-utils': 29.7.0 jest-get-type: 29.6.3 @@ -14059,11 +11178,8 @@ packages: dev: true /express@4.19.2: - resolution: - { - integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==, - } - engines: { node: '>= 0.10.0' } + resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==} + engines: {node: '>= 0.10.0'} dependencies: accepts: 1.3.8 array-flatten: 1.1.1 @@ -14101,44 +11217,29 @@ packages: dev: true /external-editor@3.1.0: - resolution: - { - integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} + engines: {node: '>=4'} dependencies: chardet: 0.7.0 iconv-lite: 0.4.24 tmp: 0.0.33 /extract-files@11.0.0: - resolution: - { - integrity: sha512-FuoE1qtbJ4bBVvv94CC7s0oTnKUGvQs+Rjf1L2SJFfS+HTVVjhPFtehPdQ0JiGPqVNfSSZvL5yzHHQq2Z4WNhQ==, - } - engines: { node: ^12.20 || >= 14.13 } + resolution: {integrity: sha512-FuoE1qtbJ4bBVvv94CC7s0oTnKUGvQs+Rjf1L2SJFfS+HTVVjhPFtehPdQ0JiGPqVNfSSZvL5yzHHQq2Z4WNhQ==} + engines: {node: ^12.20 || >= 14.13} dev: true /fast-decode-uri-component@1.0.1: - resolution: - { - integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==, - } + resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==} dev: true /fast-deep-equal@3.1.3: - resolution: - { - integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==, - } + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} dev: true /fast-glob@3.3.2: - resolution: - { - integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==, - } - engines: { node: '>=8.6.0' } + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 @@ -14148,18 +11249,12 @@ packages: dev: true /fast-json-stable-stringify@2.1.0: - resolution: - { - integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==, - } + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} dev: true /fast-jwt@3.3.3: - resolution: - { - integrity: sha512-oS3P8bRI24oPLJUePt2OgF64FBQib5TlgHLFQxYNoHYEEZe0gU3cKjJAVqpB5XKV/zjxmq4Hzbk3fgfW/wRz8Q==, - } - engines: { node: '>=16 <22' } + resolution: {integrity: sha512-oS3P8bRI24oPLJUePt2OgF64FBQib5TlgHLFQxYNoHYEEZe0gU3cKjJAVqpB5XKV/zjxmq4Hzbk3fgfW/wRz8Q==} + engines: {node: '>=16 <22'} dependencies: '@lukeed/ms': 2.0.2 asn1.js: 5.4.1 @@ -14168,70 +11263,46 @@ packages: dev: true /fast-levenshtein@2.0.6: - resolution: - { - integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==, - } + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} dev: true /fast-querystring@1.1.2: - resolution: - { - integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==, - } + resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} dependencies: fast-decode-uri-component: 1.0.1 dev: true /fast-url-parser@1.1.3: - resolution: - { - integrity: sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==, - } + resolution: {integrity: sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==} dependencies: punycode: 1.4.1 dev: true /fast-xml-parser@4.2.5: - resolution: - { - integrity: sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==, - } + resolution: {integrity: sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==} hasBin: true dependencies: strnum: 1.0.5 dev: true /fastq@1.17.1: - resolution: - { - integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==, - } + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} dependencies: reusify: 1.0.4 dev: true /fb-watchman@2.0.2: - resolution: - { - integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==, - } + resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} dependencies: bser: 2.1.1 dev: true /fbjs-css-vars@1.0.2: - resolution: - { - integrity: sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==, - } + resolution: {integrity: sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==} dev: true /fbjs@3.0.5: - resolution: - { - integrity: sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==, - } + resolution: {integrity: sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==} dependencies: cross-fetch: 3.1.8 fbjs-css-vars: 1.0.2 @@ -14245,42 +11316,30 @@ packages: dev: true /fetch-blob@3.2.0: - resolution: - { - integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==, - } - engines: { node: ^12.20 || >= 14.13 } + resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} + engines: {node: ^12.20 || >= 14.13} dependencies: node-domexception: 1.0.0 web-streams-polyfill: 3.3.3 dev: false /figures@3.2.0: - resolution: - { - integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} + engines: {node: '>=8'} dependencies: escape-string-regexp: 1.0.5 dev: true /file-entry-cache@6.0.1: - resolution: - { - integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==, - } - engines: { node: ^10.12.0 || >=12.0.0 } + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} dependencies: flat-cache: 3.2.0 dev: true /filing-cabinet@4.2.0: - resolution: - { - integrity: sha512-YZ21ryzRcyqxpyKggdYSoXx//d3sCJzM3lsYoaeg/FyXdADGJrUl+BW1KIglaVLJN5BBcMtWylkygY8zBp2MrQ==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-YZ21ryzRcyqxpyKggdYSoXx//d3sCJzM3lsYoaeg/FyXdADGJrUl+BW1KIglaVLJN5BBcMtWylkygY8zBp2MrQ==} + engines: {node: '>=14'} hasBin: true dependencies: app-module-path: 2.2.0 @@ -14298,21 +11357,15 @@ packages: dev: true /fill-range@7.0.1: - resolution: - { - integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 dev: true /finalhandler@1.2.0: - resolution: - { - integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} + engines: {node: '>= 0.8'} dependencies: debug: 2.6.9 encodeurl: 1.0.2 @@ -14326,53 +11379,38 @@ packages: dev: true /find-up@2.1.0: - resolution: - { - integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==} + engines: {node: '>=4'} dependencies: locate-path: 2.0.0 dev: true /find-up@3.0.0: - resolution: - { - integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} + engines: {node: '>=6'} dependencies: locate-path: 3.0.0 dev: true /find-up@4.1.0: - resolution: - { - integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} dependencies: locate-path: 5.0.0 path-exists: 4.0.0 dev: true /find-up@5.0.0: - resolution: - { - integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} dependencies: locate-path: 6.0.0 path-exists: 4.0.0 dev: true /flat-cache@3.2.0: - resolution: - { - integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==, - } - engines: { node: ^10.12.0 || >=12.0.0 } + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} dependencies: flatted: 3.3.1 keyv: 4.5.4 @@ -14380,26 +11418,17 @@ packages: dev: true /flat@5.0.2: - resolution: - { - integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==, - } + resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} hasBin: true dev: true /flatted@3.3.1: - resolution: - { - integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==, - } + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} dev: true /follow-redirects@1.15.6(debug@4.3.4): - resolution: - { - integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==, - } - engines: { node: '>=4.0' } + resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} + engines: {node: '>=4.0'} peerDependencies: debug: '*' peerDependenciesMeta: @@ -14410,31 +11439,22 @@ packages: dev: true /for-each@0.3.3: - resolution: - { - integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==, - } + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} dependencies: is-callable: 1.2.7 dev: true /foreground-child@3.1.1: - resolution: - { - integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + engines: {node: '>=14'} dependencies: cross-spawn: 7.0.3 signal-exit: 4.1.0 dev: true /form-data@2.5.1: - resolution: - { - integrity: sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==, - } - engines: { node: '>= 0.12' } + resolution: {integrity: sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==} + engines: {node: '>= 0.12'} dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 @@ -14442,75 +11462,48 @@ packages: dev: true /form-data@4.0.0: - resolution: - { - integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 mime-types: 2.1.35 /formdata-polyfill@4.0.10: - resolution: - { - integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==, - } - engines: { node: '>=12.20.0' } + resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} + engines: {node: '>=12.20.0'} dependencies: fetch-blob: 3.2.0 dev: false /forwarded@0.2.0: - resolution: - { - integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} dev: true /fp-ts@1.19.3: - resolution: - { - integrity: sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==, - } + resolution: {integrity: sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==} dev: true /fraction.js@4.3.7: - resolution: - { - integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==, - } + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} dev: true /fresh@0.5.2: - resolution: - { - integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} dev: true /from-exponential@1.1.1: - resolution: - { - integrity: sha512-VBE7f5OVnYwdgB3LHa+Qo29h8qVpxhVO9Trlc+AWm+/XNAgks1tAwMFHb33mjeiof77GglsJzeYF7OqXrROP/A==, - } + resolution: {integrity: sha512-VBE7f5OVnYwdgB3LHa+Qo29h8qVpxhVO9Trlc+AWm+/XNAgks1tAwMFHb33mjeiof77GglsJzeYF7OqXrROP/A==} dev: true /fs-constants@1.0.0: - resolution: - { - integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==, - } + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} dev: true /fs-extra@0.30.0: - resolution: - { - integrity: sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA==, - } + resolution: {integrity: sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA==} dependencies: graceful-fs: 4.2.11 jsonfile: 2.4.0 @@ -14520,11 +11513,8 @@ packages: dev: true /fs-extra@7.0.1: - resolution: - { - integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==, - } - engines: { node: '>=6 <7 || >=8' } + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} + engines: {node: '>=6 <7 || >=8'} dependencies: graceful-fs: 4.2.11 jsonfile: 4.0.0 @@ -14532,11 +11522,8 @@ packages: dev: true /fs-extra@8.1.0: - resolution: - { - integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==, - } - engines: { node: '>=6 <7 || >=8' } + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} dependencies: graceful-fs: 4.2.11 jsonfile: 4.0.0 @@ -14544,11 +11531,8 @@ packages: dev: true /fs-extra@9.1.0: - resolution: - { - integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + engines: {node: '>=10'} dependencies: at-least-node: 1.0.0 graceful-fs: 4.2.11 @@ -14557,53 +11541,35 @@ packages: dev: true /fs-readdir-recursive@1.1.0: - resolution: - { - integrity: sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==, - } + resolution: {integrity: sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==} dev: true /fs.realpath@1.0.0: - resolution: - { - integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==, - } + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: true /fsevents@2.3.2: - resolution: - { - integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==, - } - engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] requiresBuild: true dev: true optional: true /fsevents@2.3.3: - resolution: - { - integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==, - } - engines: { node: ^8.16.0 || ^10.6.0 || >=11.0.0 } + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} os: [darwin] requiresBuild: true dev: true optional: true /function-bind@1.1.2: - resolution: - { - integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==, - } + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} /function.prototype.name@1.1.6: - resolution: - { - integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -14612,60 +11578,39 @@ packages: dev: true /functions-have-names@1.2.3: - resolution: - { - integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==, - } + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} dev: true /generic-pool@3.9.0: - resolution: - { - integrity: sha512-hymDOu5B53XvN4QT9dBmZxPX4CWhBPPLguTZ9MMFeFa/Kg0xWVfylOVNlJji/E7yTZWFd/q9GO5TxDLq156D7g==, - } - engines: { node: '>= 4' } + resolution: {integrity: sha512-hymDOu5B53XvN4QT9dBmZxPX4CWhBPPLguTZ9MMFeFa/Kg0xWVfylOVNlJji/E7yTZWFd/q9GO5TxDLq156D7g==} + engines: {node: '>= 4'} dev: false /gensync@1.0.0-beta.2: - resolution: - { - integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==, - } - engines: { node: '>=6.9.0' } + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} dev: true /get-amd-module-type@5.0.1: - resolution: - { - integrity: sha512-jb65zDeHyDjFR1loOVk0HQGM5WNwoGB8aLWy3LKCieMKol0/ProHkhO2X1JxojuN10vbz1qNn09MJ7tNp7qMzw==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-jb65zDeHyDjFR1loOVk0HQGM5WNwoGB8aLWy3LKCieMKol0/ProHkhO2X1JxojuN10vbz1qNn09MJ7tNp7qMzw==} + engines: {node: '>=14'} dependencies: ast-module-types: 5.0.0 node-source-walk: 6.0.2 dev: true /get-caller-file@2.0.5: - resolution: - { - integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==, - } - engines: { node: 6.* || 8.* || >= 10.* } + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} dev: true /get-func-name@2.0.2: - resolution: - { - integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==, - } + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} dev: true /get-intrinsic@1.2.4: - resolution: - { - integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + engines: {node: '>= 0.4'} dependencies: es-errors: 1.3.0 function-bind: 1.1.2 @@ -14675,58 +11620,37 @@ packages: dev: true /get-own-enumerable-property-symbols@3.0.2: - resolution: - { - integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==, - } + resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} dev: true /get-package-type@0.1.0: - resolution: - { - integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==, - } - engines: { node: '>=8.0.0' } + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} dev: true /get-port@3.2.0: - resolution: - { - integrity: sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==} + engines: {node: '>=4'} dev: true /get-port@6.1.2: - resolution: - { - integrity: sha512-BrGGraKm2uPqurfGVj/z97/zv8dPleC6x9JBNRTrDNtCkkRF4rPwrQXFgL7+I+q8QSdU4ntLQX2D7KIxSy8nGw==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-BrGGraKm2uPqurfGVj/z97/zv8dPleC6x9JBNRTrDNtCkkRF4rPwrQXFgL7+I+q8QSdU4ntLQX2D7KIxSy8nGw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true /get-stdin@9.0.0: - resolution: - { - integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==} + engines: {node: '>=12'} dev: true /get-stream@6.0.1: - resolution: - { - integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} dev: true /get-symbol-description@1.0.2: - resolution: - { - integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 es-errors: 1.3.0 @@ -14734,19 +11658,13 @@ packages: dev: true /get-tsconfig@4.7.3: - resolution: - { - integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==, - } + resolution: {integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==} dependencies: resolve-pkg-maps: 1.0.0 dev: true /ghost-testrpc@0.0.2: - resolution: - { - integrity: sha512-i08dAEgJ2g8z5buJIrCTduwPIhih3DP+hOCTyyryikfV8T0bNvHnGXO67i0DD1H4GBDETTclPy9njZbfluQYrQ==, - } + resolution: {integrity: sha512-i08dAEgJ2g8z5buJIrCTduwPIhih3DP+hOCTyyryikfV8T0bNvHnGXO67i0DD1H4GBDETTclPy9njZbfluQYrQ==} hasBin: true dependencies: chalk: 2.4.2 @@ -14754,38 +11672,26 @@ packages: dev: true /git-hooks-list@3.1.0: - resolution: - { - integrity: sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA==, - } + resolution: {integrity: sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA==} dev: true /glob-parent@5.1.2: - resolution: - { - integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} dependencies: is-glob: 4.0.3 dev: true /glob-parent@6.0.2: - resolution: - { - integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==, - } - engines: { node: '>=10.13.0' } + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} dependencies: is-glob: 4.0.3 dev: true /glob@10.3.12: - resolution: - { - integrity: sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==, - } - engines: { node: '>=16 || 14 >=14.17' } + resolution: {integrity: sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==} + engines: {node: '>=16 || 14 >=14.17'} hasBin: true dependencies: foreground-child: 3.1.1 @@ -14796,10 +11702,7 @@ packages: dev: true /glob@5.0.15: - resolution: - { - integrity: sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==, - } + resolution: {integrity: sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==} dependencies: inflight: 1.0.6 inherits: 2.0.4 @@ -14809,10 +11712,7 @@ packages: dev: true /glob@7.2.0: - resolution: - { - integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==, - } + resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==} dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -14823,10 +11723,7 @@ packages: dev: true /glob@7.2.3: - resolution: - { - integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==, - } + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -14837,11 +11734,8 @@ packages: dev: true /glob@8.1.0: - resolution: - { - integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -14851,21 +11745,15 @@ packages: dev: true /global-modules@2.0.0: - resolution: - { - integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==} + engines: {node: '>=6'} dependencies: global-prefix: 3.0.0 dev: true /global-prefix@3.0.0: - resolution: - { - integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==} + engines: {node: '>=6'} dependencies: ini: 1.3.8 kind-of: 6.0.3 @@ -14873,39 +11761,27 @@ packages: dev: true /globals@11.12.0: - resolution: - { - integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} dev: true /globals@13.24.0: - resolution: - { - integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} dependencies: type-fest: 0.20.2 dev: true /globalthis@1.0.3: - resolution: - { - integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + engines: {node: '>= 0.4'} dependencies: define-properties: 1.2.1 dev: true /globby@10.0.2: - resolution: - { - integrity: sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==} + engines: {node: '>=8'} dependencies: '@types/glob': 7.2.0 array-union: 2.1.0 @@ -14918,11 +11794,8 @@ packages: dev: true /globby@11.1.0: - resolution: - { - integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} dependencies: array-union: 2.1.0 dir-glob: 3.0.1 @@ -14933,11 +11806,8 @@ packages: dev: true /globby@13.2.2: - resolution: - { - integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: dir-glob: 3.0.1 fast-glob: 3.3.2 @@ -14947,45 +11817,30 @@ packages: dev: true /gonzales-pe@4.3.0: - resolution: - { - integrity: sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==, - } - engines: { node: '>=0.6.0' } + resolution: {integrity: sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==} + engines: {node: '>=0.6.0'} hasBin: true dependencies: minimist: 1.2.8 dev: true /gopd@1.0.1: - resolution: - { - integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==, - } + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: get-intrinsic: 1.2.4 dev: true /graceful-fs@4.2.11: - resolution: - { - integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==, - } + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} dev: true /graphemer@1.4.0: - resolution: - { - integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==, - } + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} dev: true /graphql-config@5.0.3(@types/node@20.12.7)(graphql@16.8.1)(typescript@5.4.5): - resolution: - { - integrity: sha512-BNGZaoxIBkv9yy6Y7omvsaBUHOzfFcII3UN++tpH8MGOKFPFkCPZuwx09ggANMt8FgyWP1Od8SWPmrUEZca4NQ==, - } - engines: { node: '>= 16.0.0' } + resolution: {integrity: sha512-BNGZaoxIBkv9yy6Y7omvsaBUHOzfFcII3UN++tpH8MGOKFPFkCPZuwx09ggANMt8FgyWP1Od8SWPmrUEZca4NQ==} + engines: {node: '>= 16.0.0'} peerDependencies: cosmiconfig-toml-loader: ^1.0.0 graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 @@ -15014,10 +11869,7 @@ packages: dev: true /graphql-request@6.1.0(graphql@16.8.1): - resolution: - { - integrity: sha512-p+XPfS4q7aIpKVcgmnZKhMNqhltk20hfXtkaIkTfjjmiKMJ5xrt5c743cL03y/K7y1rg3WrIC49xGiEQ4mxdNw==, - } + resolution: {integrity: sha512-p+XPfS4q7aIpKVcgmnZKhMNqhltk20hfXtkaIkTfjjmiKMJ5xrt5c743cL03y/K7y1rg3WrIC49xGiEQ4mxdNw==} peerDependencies: graphql: 14 - 16 dependencies: @@ -15028,11 +11880,8 @@ packages: - encoding /graphql-tag@2.12.6(graphql@16.8.1): - resolution: - { - integrity: sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==} + engines: {node: '>=10'} peerDependencies: graphql: ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: @@ -15041,11 +11890,8 @@ packages: dev: true /graphql-ws@5.16.0(graphql@16.8.1): - resolution: - { - integrity: sha512-Ju2RCU2dQMgSKtArPbEtsK5gNLnsQyTNIo/T7cZNp96niC1x0KdJNZV0TIoilceBPQwfb5itrGl8pkFeOUMl4A==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-Ju2RCU2dQMgSKtArPbEtsK5gNLnsQyTNIo/T7cZNp96niC1x0KdJNZV0TIoilceBPQwfb5itrGl8pkFeOUMl4A==} + engines: {node: '>=10'} peerDependencies: graphql: '>=0.11 <=16' dependencies: @@ -15053,10 +11899,7 @@ packages: dev: true /graphql-yoga@3.9.1(graphql@16.8.1): - resolution: - { - integrity: sha512-BB6EkN64VBTXWmf9Kym2OsVZFzBC0mAsQNo9eNB5xIr3t+x7qepQ34xW5A353NWol3Js3xpzxwIKFVF6l9VsPg==, - } + resolution: {integrity: sha512-BB6EkN64VBTXWmf9Kym2OsVZFzBC0mAsQNo9eNB5xIr3t+x7qepQ34xW5A353NWol3Js3xpzxwIKFVF6l9VsPg==} peerDependencies: graphql: ^15.2.0 || ^16.0.0 dependencies: @@ -15076,18 +11919,12 @@ packages: dev: true /graphql@16.8.1: - resolution: - { - integrity: sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==, - } - engines: { node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0 } + resolution: {integrity: sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==} + engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} /handlebars@4.7.8: - resolution: - { - integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==, - } - engines: { node: '>=0.4.7' } + resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} + engines: {node: '>=0.4.7'} hasBin: true dependencies: minimist: 1.2.8 @@ -15099,11 +11936,8 @@ packages: dev: true /hardhat-abi-exporter@2.10.1(hardhat@2.22.2): - resolution: - { - integrity: sha512-X8GRxUTtebMAd2k4fcPyVnCdPa6dYK4lBsrwzKP5yiSq4i+WadWPIumaLfce53TUf/o2TnLpLOduyO1ylE2NHQ==, - } - engines: { node: '>=14.14.0' } + resolution: {integrity: sha512-X8GRxUTtebMAd2k4fcPyVnCdPa6dYK4lBsrwzKP5yiSq4i+WadWPIumaLfce53TUf/o2TnLpLOduyO1ylE2NHQ==} + engines: {node: '>=14.14.0'} peerDependencies: hardhat: ^2.0.0 dependencies: @@ -15113,10 +11947,7 @@ packages: dev: true /hardhat-gas-reporter@1.0.10(hardhat@2.22.2): - resolution: - { - integrity: sha512-02N4+So/fZrzJ88ci54GqwVA3Zrf0C9duuTyGt0CFRIh/CdNwbnTgkXkRfojOMLBQ+6t+lBIkgbsOtqMvNwikA==, - } + resolution: {integrity: sha512-02N4+So/fZrzJ88ci54GqwVA3Zrf0C9duuTyGt0CFRIh/CdNwbnTgkXkRfojOMLBQ+6t+lBIkgbsOtqMvNwikA==} peerDependencies: hardhat: ^2.0.2 dependencies: @@ -15132,10 +11963,7 @@ packages: dev: true /hardhat@2.22.2(ts-node@10.9.2)(typescript@5.0.4): - resolution: - { - integrity: sha512-0xZ7MdCZ5sJem4MrvpQWLR3R3zGDoHw5lsR+pBFimqwagimIOn3bWuZv69KA+veXClwI1s/zpqgwPwiFrd4Dxw==, - } + resolution: {integrity: sha512-0xZ7MdCZ5sJem4MrvpQWLR3R3zGDoHw5lsR+pBFimqwagimIOn3bWuZv69KA+veXClwI1s/zpqgwPwiFrd4Dxw==} hasBin: true peerDependencies: ts-node: '*' @@ -15199,76 +12027,49 @@ packages: dev: true /has-bigints@1.0.2: - resolution: - { - integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==, - } + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} dev: true /has-flag@1.0.0: - resolution: - { - integrity: sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==} + engines: {node: '>=0.10.0'} dev: true /has-flag@3.0.0: - resolution: - { - integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} dev: true /has-flag@4.0.0: - resolution: - { - integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} /has-property-descriptors@1.0.2: - resolution: - { - integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==, - } + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} dependencies: es-define-property: 1.0.0 dev: true /has-proto@1.0.3: - resolution: - { - integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} + engines: {node: '>= 0.4'} dev: true /has-symbols@1.0.3: - resolution: - { - integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} dev: true /has-tostringtag@1.0.2: - resolution: - { - integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.3 dev: true /hash-base@3.1.0: - resolution: - { - integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} + engines: {node: '>=4'} dependencies: inherits: 2.0.4 readable-stream: 3.6.2 @@ -15276,95 +12077,62 @@ packages: dev: true /hash-it@6.0.0: - resolution: - { - integrity: sha512-KHzmSFx1KwyMPw0kXeeUD752q/Kfbzhy6dAZrjXV9kAIXGqzGvv8vhkUqj+2MGZldTo0IBpw6v7iWE7uxsvH0w==, - } + resolution: {integrity: sha512-KHzmSFx1KwyMPw0kXeeUD752q/Kfbzhy6dAZrjXV9kAIXGqzGvv8vhkUqj+2MGZldTo0IBpw6v7iWE7uxsvH0w==} dev: true /hash.js@1.1.7: - resolution: - { - integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==, - } + resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} dependencies: inherits: 2.0.4 minimalistic-assert: 1.0.1 /hasown@2.0.2: - resolution: - { - integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} dependencies: function-bind: 1.1.2 /he@1.2.0: - resolution: - { - integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==, - } + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} hasBin: true dev: true /header-case@2.0.4: - resolution: - { - integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==, - } + resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} dependencies: capital-case: 1.0.4 tslib: 2.6.2 dev: true /heap@0.2.7: - resolution: - { - integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==, - } + resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==} dev: true /help-me@3.0.0: - resolution: - { - integrity: sha512-hx73jClhyk910sidBB7ERlnhMlFsJJIBqSVMFDwPN8o2v9nmp5KgLq1Xz1Bf1fCMMZ6mPrX159iG0VLy/fPMtQ==, - } + resolution: {integrity: sha512-hx73jClhyk910sidBB7ERlnhMlFsJJIBqSVMFDwPN8o2v9nmp5KgLq1Xz1Bf1fCMMZ6mPrX159iG0VLy/fPMtQ==} dependencies: glob: 7.2.3 readable-stream: 3.6.2 dev: true /hmac-drbg@1.0.1: - resolution: - { - integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==, - } + resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} dependencies: hash.js: 1.1.7 minimalistic-assert: 1.0.1 minimalistic-crypto-utils: 1.0.1 /hosted-git-info@2.8.9: - resolution: - { - integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==, - } + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} dev: true /html-escaper@2.0.2: - resolution: - { - integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==, - } + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} dev: true /http-basic@8.1.3: - resolution: - { - integrity: sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==, - } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==} + engines: {node: '>=6.0.0'} dependencies: caseless: 0.12.0 concat-stream: 1.6.2 @@ -15373,11 +12141,8 @@ packages: dev: true /http-errors@2.0.0: - resolution: - { - integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} dependencies: depd: 2.0.0 inherits: 2.0.4 @@ -15387,11 +12152,8 @@ packages: dev: true /http-proxy-agent@7.0.2: - resolution: - { - integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==, - } - engines: { node: '>= 14' } + resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} + engines: {node: '>= 14'} dependencies: agent-base: 7.1.1 debug: 4.3.4(supports-color@8.1.1) @@ -15400,20 +12162,14 @@ packages: dev: true /http-response-object@3.0.2: - resolution: - { - integrity: sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==, - } + resolution: {integrity: sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==} dependencies: '@types/node': 10.17.60 dev: true /https-proxy-agent@5.0.1: - resolution: - { - integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} dependencies: agent-base: 6.0.2 debug: 4.3.4(supports-color@8.1.1) @@ -15422,11 +12178,8 @@ packages: dev: true /https-proxy-agent@7.0.4: - resolution: - { - integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==, - } - engines: { node: '>= 14' } + resolution: {integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==} + engines: {node: '>= 14'} dependencies: agent-base: 7.1.1 debug: 4.3.4(supports-color@8.1.1) @@ -15435,91 +12188,58 @@ packages: dev: true /human-signals@2.1.0: - resolution: - { - integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==, - } - engines: { node: '>=10.17.0' } + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} dev: true /iconv-lite@0.4.24: - resolution: - { - integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 /ieee754@1.1.13: - resolution: - { - integrity: sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==, - } + resolution: {integrity: sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==} dev: true /ieee754@1.2.1: - resolution: - { - integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==, - } + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} dev: true /ignore@5.3.1: - resolution: - { - integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==, - } - engines: { node: '>= 4' } + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} dev: true /immer@9.0.21: - resolution: - { - integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==, - } + resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==} dev: true /immutable@3.7.6: - resolution: - { - integrity: sha512-AizQPcaofEtO11RZhPPHBOJRdo/20MKQF9mBLnVkBoyHi1/zXK8fzVdnEpSV9gxqtnh6Qomfp3F0xT5qP/vThw==, - } - engines: { node: '>=0.8.0' } + resolution: {integrity: sha512-AizQPcaofEtO11RZhPPHBOJRdo/20MKQF9mBLnVkBoyHi1/zXK8fzVdnEpSV9gxqtnh6Qomfp3F0xT5qP/vThw==} + engines: {node: '>=0.8.0'} dev: true /immutable@4.3.5: - resolution: - { - integrity: sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==, - } + resolution: {integrity: sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==} dev: true /import-fresh@3.3.0: - resolution: - { - integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 dev: true /import-from@4.0.0: - resolution: - { - integrity: sha512-P9J71vT5nLlDeV8FHs5nNxaLbrpfAV5cF5srvbZfpwpcJoM/xZR3hiv+q+SAnuSmuGbXMWud063iIMx/V/EWZQ==, - } - engines: { node: '>=12.2' } + resolution: {integrity: sha512-P9J71vT5nLlDeV8FHs5nNxaLbrpfAV5cF5srvbZfpwpcJoM/xZR3hiv+q+SAnuSmuGbXMWud063iIMx/V/EWZQ==} + engines: {node: '>=12.2'} dev: true /import-local@3.1.0: - resolution: - { - integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} + engines: {node: '>=8'} hasBin: true dependencies: pkg-dir: 4.2.0 @@ -15527,58 +12247,37 @@ packages: dev: true /imurmurhash@0.1.4: - resolution: - { - integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==, - } - engines: { node: '>=0.8.19' } + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} dev: true /indent-string@4.0.0: - resolution: - { - integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} dev: true /indent-string@5.0.0: - resolution: - { - integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} + engines: {node: '>=12'} dev: true /inflight@1.0.6: - resolution: - { - integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==, - } + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} dependencies: once: 1.4.0 wrappy: 1.0.2 dev: true /inherits@2.0.4: - resolution: - { - integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, - } + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} /ini@1.3.8: - resolution: - { - integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==, - } + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} dev: true /ink-spinner@5.0.0(ink@4.4.1)(react@18.2.0): - resolution: - { - integrity: sha512-EYEasbEjkqLGyPOUc8hBJZNuC5GvXGMLu0w5gdTNskPc7Izc5vO3tdQEYnzvshucyGCBXc86ig0ujXPMWaQCdA==, - } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-EYEasbEjkqLGyPOUc8hBJZNuC5GvXGMLu0w5gdTNskPc7Izc5vO3tdQEYnzvshucyGCBXc86ig0ujXPMWaQCdA==} + engines: {node: '>=14.16'} peerDependencies: ink: '>=4.0.0' react: '>=18.0.0' @@ -15589,11 +12288,8 @@ packages: dev: true /ink@4.4.1(react@18.2.0): - resolution: - { - integrity: sha512-rXckvqPBB0Krifk5rn/5LvQGmyXwCUpBfmTwbkQNBY9JY8RSl3b8OftBNEYxg4+SWUhEKcPifgope28uL9inlA==, - } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-rXckvqPBB0Krifk5rn/5LvQGmyXwCUpBfmTwbkQNBY9JY8RSl3b8OftBNEYxg4+SWUhEKcPifgope28uL9inlA==} + engines: {node: '>=14.16'} peerDependencies: '@types/react': '>=18.0.0' react: '>=18.0.0' @@ -15636,11 +12332,8 @@ packages: dev: true /inquirer@8.2.6: - resolution: - { - integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==, - } - engines: { node: '>=12.0.0' } + resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==} + engines: {node: '>=12.0.0'} dependencies: ansi-escapes: 4.3.2 chalk: 4.1.2 @@ -15660,11 +12353,8 @@ packages: dev: true /internal-slot@1.0.7: - resolution: - { - integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} + engines: {node: '>= 0.4'} dependencies: es-errors: 1.3.0 hasown: 2.0.2 @@ -15672,562 +12362,370 @@ packages: dev: true /interpret@1.4.0: - resolution: - { - integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==, - } - engines: { node: '>= 0.10' } + resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} + engines: {node: '>= 0.10'} dev: true /invariant@2.2.4: - resolution: - { - integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==, - } + resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} dependencies: loose-envify: 1.4.0 dev: true /io-ts@1.10.4: - resolution: - { - integrity: sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==, - } + resolution: {integrity: sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==} dependencies: fp-ts: 1.19.3 dev: true /ipaddr.js@1.9.1: - resolution: - { - integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==, - } - engines: { node: '>= 0.10' } + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} dev: true /is-absolute@1.0.0: - resolution: - { - integrity: sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==} + engines: {node: '>=0.10.0'} dependencies: is-relative: 1.0.0 is-windows: 1.0.2 dev: true /is-arguments@1.1.1: - resolution: - { - integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 has-tostringtag: 1.0.2 dev: true /is-array-buffer@3.0.4: - resolution: - { - integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 get-intrinsic: 1.2.4 dev: true /is-arrayish@0.2.1: - resolution: - { - integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==, - } + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} dev: true /is-async-function@2.0.0: - resolution: - { - integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} + engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.2 dev: true /is-bigint@1.0.4: - resolution: - { - integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==, - } + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} dependencies: has-bigints: 1.0.2 dev: true /is-binary-path@2.1.0: - resolution: - { - integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} dependencies: binary-extensions: 2.3.0 dev: true /is-boolean-object@1.1.2: - resolution: - { - integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 has-tostringtag: 1.0.2 dev: true /is-builtin-module@3.2.1: - resolution: - { - integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} + engines: {node: '>=6'} dependencies: builtin-modules: 3.3.0 dev: true /is-callable@1.2.7: - resolution: - { - integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} dev: true /is-ci@3.0.1: - resolution: - { - integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==, - } + resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} hasBin: true dependencies: ci-info: 3.9.0 dev: true /is-core-module@2.13.1: - resolution: - { - integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==, - } + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} dependencies: hasown: 2.0.2 /is-data-view@1.0.1: - resolution: - { - integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} + engines: {node: '>= 0.4'} dependencies: is-typed-array: 1.1.13 dev: true /is-date-object@1.0.5: - resolution: - { - integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.2 dev: true /is-extglob@2.1.1: - resolution: - { - integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} dev: true /is-finalizationregistry@1.0.2: - resolution: - { - integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==, - } + resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} dependencies: call-bind: 1.0.7 dev: true /is-fullwidth-code-point@2.0.0: - resolution: - { - integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==} + engines: {node: '>=4'} dev: true /is-fullwidth-code-point@3.0.0: - resolution: - { - integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} /is-fullwidth-code-point@4.0.0: - resolution: - { - integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} + engines: {node: '>=12'} dev: true /is-generator-fn@2.1.0: - resolution: - { - integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} + engines: {node: '>=6'} dev: true /is-generator-function@1.0.10: - resolution: - { - integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} + engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.2 dev: true /is-glob@4.0.3: - resolution: - { - integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} dependencies: is-extglob: 2.1.1 dev: true /is-hex-prefixed@1.0.0: - resolution: - { - integrity: sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==, - } - engines: { node: '>=6.5.0', npm: '>=3' } + resolution: {integrity: sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==} + engines: {node: '>=6.5.0', npm: '>=3'} dev: true /is-interactive@1.0.0: - resolution: - { - integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} + engines: {node: '>=8'} dev: true /is-interactive@2.0.0: - resolution: - { - integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} + engines: {node: '>=12'} dev: true /is-lower-case@2.0.2: - resolution: - { - integrity: sha512-bVcMJy4X5Og6VZfdOZstSexlEy20Sr0k/p/b2IlQJlfdKAQuMpiv5w2Ccxb8sKdRUNAG1PnHVHjFSdRDVS6NlQ==, - } + resolution: {integrity: sha512-bVcMJy4X5Og6VZfdOZstSexlEy20Sr0k/p/b2IlQJlfdKAQuMpiv5w2Ccxb8sKdRUNAG1PnHVHjFSdRDVS6NlQ==} dependencies: tslib: 2.6.2 dev: true /is-map@2.0.3: - resolution: - { - integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} + engines: {node: '>= 0.4'} dev: true /is-negative-zero@2.0.3: - resolution: - { - integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} + engines: {node: '>= 0.4'} dev: true /is-number-object@1.0.7: - resolution: - { - integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.2 dev: true /is-number@7.0.0: - resolution: - { - integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==, - } - engines: { node: '>=0.12.0' } + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} dev: true /is-obj@1.0.1: - resolution: - { - integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} + engines: {node: '>=0.10.0'} dev: true /is-obj@2.0.0: - resolution: - { - integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} + engines: {node: '>=8'} dev: true /is-path-inside@3.0.3: - resolution: - { - integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} dev: true /is-plain-obj@2.1.0: - resolution: - { - integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} + engines: {node: '>=8'} dev: true /is-plain-obj@4.1.0: - resolution: - { - integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} dev: true /is-regex@1.1.4: - resolution: - { - integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 has-tostringtag: 1.0.2 dev: true /is-regexp@1.0.0: - resolution: - { - integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} + engines: {node: '>=0.10.0'} dev: true /is-relative-path@1.0.2: - resolution: - { - integrity: sha512-i1h+y50g+0hRbBD+dbnInl3JlJ702aar58snAeX+MxBAPvzXGej7sYoPMhlnykabt0ZzCJNBEyzMlekuQZN7fA==, - } + resolution: {integrity: sha512-i1h+y50g+0hRbBD+dbnInl3JlJ702aar58snAeX+MxBAPvzXGej7sYoPMhlnykabt0ZzCJNBEyzMlekuQZN7fA==} dev: true /is-relative@1.0.0: - resolution: - { - integrity: sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==} + engines: {node: '>=0.10.0'} dependencies: is-unc-path: 1.0.0 dev: true /is-set@2.0.3: - resolution: - { - integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} + engines: {node: '>= 0.4'} dev: true /is-shared-array-buffer@1.0.3: - resolution: - { - integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 dev: true /is-stream@2.0.1: - resolution: - { - integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} dev: true /is-string@1.0.7: - resolution: - { - integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.2 dev: true /is-symbol@1.0.4: - resolution: - { - integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.3 dev: true /is-typed-array@1.1.13: - resolution: - { - integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} + engines: {node: '>= 0.4'} dependencies: which-typed-array: 1.1.15 dev: true /is-unc-path@1.0.0: - resolution: - { - integrity: sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==} + engines: {node: '>=0.10.0'} dependencies: unc-path-regex: 0.1.2 dev: true /is-unicode-supported@0.1.0: - resolution: - { - integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} dev: true /is-unicode-supported@1.3.0: - resolution: - { - integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} + engines: {node: '>=12'} dev: true /is-upper-case@2.0.2: - resolution: - { - integrity: sha512-44pxmxAvnnAOwBg4tHPnkfvgjPwbc5QIsSstNU+YcJ1ovxVzCWpSGosPJOZh/a1tdl81fbgnLc9LLv+x2ywbPQ==, - } + resolution: {integrity: sha512-44pxmxAvnnAOwBg4tHPnkfvgjPwbc5QIsSstNU+YcJ1ovxVzCWpSGosPJOZh/a1tdl81fbgnLc9LLv+x2ywbPQ==} dependencies: tslib: 2.6.2 dev: true /is-url-superb@4.0.0: - resolution: - { - integrity: sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA==} + engines: {node: '>=10'} dev: true /is-url@1.2.4: - resolution: - { - integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==, - } + resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} dev: true /is-weakmap@2.0.2: - resolution: - { - integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} + engines: {node: '>= 0.4'} dev: true /is-weakref@1.0.2: - resolution: - { - integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==, - } + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} dependencies: call-bind: 1.0.7 dev: true /is-weakset@2.0.3: - resolution: - { - integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 get-intrinsic: 1.2.4 dev: true /is-what@4.1.16: - resolution: - { - integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==, - } - engines: { node: '>=12.13' } + resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} + engines: {node: '>=12.13'} dev: false /is-windows@1.0.2: - resolution: - { - integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} dev: true /isarray@1.0.0: - resolution: - { - integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==, - } + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} dev: true /isarray@2.0.5: - resolution: - { - integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==, - } + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} dev: true /isexe@2.0.0: - resolution: - { - integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==, - } + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} dev: true /isomorphic-ws@4.0.1(ws@8.16.0): - resolution: - { - integrity: sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==, - } + resolution: {integrity: sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==} peerDependencies: ws: '*' dependencies: @@ -16235,10 +12733,7 @@ packages: dev: true /isomorphic-ws@5.0.0(ws@8.16.0): - resolution: - { - integrity: sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==, - } + resolution: {integrity: sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==} peerDependencies: ws: '*' dependencies: @@ -16246,29 +12741,20 @@ packages: dev: true /isows@1.0.3(ws@8.13.0): - resolution: - { - integrity: sha512-2cKei4vlmg2cxEjm3wVSqn8pcoRF/LX/wpifuuNquFO4SQmPwarClT+SUCA2lt+l581tTeZIPIZuIDo2jWN1fg==, - } + resolution: {integrity: sha512-2cKei4vlmg2cxEjm3wVSqn8pcoRF/LX/wpifuuNquFO4SQmPwarClT+SUCA2lt+l581tTeZIPIZuIDo2jWN1fg==} peerDependencies: ws: '*' dependencies: ws: 8.13.0 /istanbul-lib-coverage@3.2.2: - resolution: - { - integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} dev: true /istanbul-lib-instrument@5.2.1: - resolution: - { - integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} + engines: {node: '>=8'} dependencies: '@babel/core': 7.24.4 '@babel/parser': 7.24.4 @@ -16280,11 +12766,8 @@ packages: dev: true /istanbul-lib-instrument@6.0.2: - resolution: - { - integrity: sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==} + engines: {node: '>=10'} dependencies: '@babel/core': 7.24.4 '@babel/parser': 7.24.4 @@ -16296,11 +12779,8 @@ packages: dev: true /istanbul-lib-report@3.0.1: - resolution: - { - integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} dependencies: istanbul-lib-coverage: 3.2.2 make-dir: 4.0.0 @@ -16308,11 +12788,8 @@ packages: dev: true /istanbul-lib-source-maps@4.0.1: - resolution: - { - integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + engines: {node: '>=10'} dependencies: debug: 4.3.4(supports-color@8.1.1) istanbul-lib-coverage: 3.2.2 @@ -16322,21 +12799,15 @@ packages: dev: true /istanbul-reports@3.1.7: - resolution: - { - integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} + engines: {node: '>=8'} dependencies: html-escaper: 2.0.2 istanbul-lib-report: 3.0.1 dev: true /iterator.prototype@1.1.2: - resolution: - { - integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==, - } + resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} dependencies: define-properties: 1.2.1 get-intrinsic: 1.2.4 @@ -16346,11 +12817,8 @@ packages: dev: true /jackspeak@2.3.6: - resolution: - { - integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} + engines: {node: '>=14'} dependencies: '@isaacs/cliui': 8.0.2 optionalDependencies: @@ -16358,18 +12826,12 @@ packages: dev: true /javascript-natural-sort@0.7.1: - resolution: - { - integrity: sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==, - } + resolution: {integrity: sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==} dev: true /jest-changed-files@29.7.0: - resolution: - { - integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: execa: 5.1.1 jest-util: 29.7.0 @@ -16377,11 +12839,8 @@ packages: dev: true /jest-circus@29.7.0: - resolution: - { - integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/environment': 29.7.0 '@jest/expect': 29.7.0 @@ -16409,11 +12868,8 @@ packages: dev: true /jest-cli@29.7.0(@types/node@20.12.7): - resolution: - { - integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 @@ -16440,11 +12896,8 @@ packages: dev: true /jest-config@29.7.0(@types/node@20.12.7): - resolution: - { - integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@types/node': '*' ts-node: '>=9.0.0' @@ -16483,11 +12936,8 @@ packages: dev: true /jest-diff@29.7.0: - resolution: - { - integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: chalk: 4.1.2 diff-sequences: 29.6.3 @@ -16496,21 +12946,15 @@ packages: dev: true /jest-docblock@29.7.0: - resolution: - { - integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: detect-newline: 3.1.0 dev: true /jest-each@29.7.0: - resolution: - { - integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 @@ -16520,11 +12964,8 @@ packages: dev: true /jest-environment-node@29.7.0: - resolution: - { - integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 @@ -16535,18 +12976,12 @@ packages: dev: true /jest-expect-message@1.1.3: - resolution: - { - integrity: sha512-bTK77T4P+zto+XepAX3low8XVQxDgaEqh3jSTQOG8qvPpD69LsIdyJTa+RmnJh3HNSzJng62/44RPPc7OIlFxg==, - } + resolution: {integrity: sha512-bTK77T4P+zto+XepAX3low8XVQxDgaEqh3jSTQOG8qvPpD69LsIdyJTa+RmnJh3HNSzJng62/44RPPc7OIlFxg==} dev: true /jest-extended@4.0.2(jest@29.7.0): - resolution: - { - integrity: sha512-FH7aaPgtGYHc9mRjriS0ZEHYM5/W69tLrFTIdzm+yJgeoCmmrSB/luSfMSqWP9O29QWHPEmJ4qmU6EwsZideog==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-FH7aaPgtGYHc9mRjriS0ZEHYM5/W69tLrFTIdzm+yJgeoCmmrSB/luSfMSqWP9O29QWHPEmJ4qmU6EwsZideog==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: jest: '>=27.2.5' peerDependenciesMeta: @@ -16559,19 +12994,13 @@ packages: dev: true /jest-get-type@29.6.3: - resolution: - { - integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true /jest-haste-map@29.7.0: - resolution: - { - integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 @@ -16589,22 +13018,16 @@ packages: dev: true /jest-leak-detector@29.7.0: - resolution: - { - integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: jest-get-type: 29.6.3 pretty-format: 29.7.0 dev: true /jest-matcher-utils@29.7.0: - resolution: - { - integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: chalk: 4.1.2 jest-diff: 29.7.0 @@ -16613,11 +13036,8 @@ packages: dev: true /jest-message-util@29.7.0: - resolution: - { - integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/code-frame': 7.24.2 '@jest/types': 29.6.3 @@ -16631,11 +13051,8 @@ packages: dev: true /jest-mock@29.7.0: - resolution: - { - integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 '@types/node': 20.12.7 @@ -16643,11 +13060,8 @@ packages: dev: true /jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): - resolution: - { - integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} + engines: {node: '>=6'} peerDependencies: jest-resolve: '*' peerDependenciesMeta: @@ -16658,19 +13072,13 @@ packages: dev: true /jest-regex-util@29.6.3: - resolution: - { - integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dev: true /jest-resolve-dependencies@29.7.0: - resolution: - { - integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: jest-regex-util: 29.6.3 jest-snapshot: 29.7.0 @@ -16679,11 +13087,8 @@ packages: dev: true /jest-resolve@29.7.0: - resolution: - { - integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: chalk: 4.1.2 graceful-fs: 4.2.11 @@ -16697,11 +13102,8 @@ packages: dev: true /jest-runner@29.7.0: - resolution: - { - integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/console': 29.7.0 '@jest/environment': 29.7.0 @@ -16729,11 +13131,8 @@ packages: dev: true /jest-runtime@29.7.0: - resolution: - { - integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 @@ -16762,11 +13161,8 @@ packages: dev: true /jest-snapshot@29.7.0: - resolution: - { - integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/core': 7.24.4 '@babel/generator': 7.24.4 @@ -16793,11 +13189,8 @@ packages: dev: true /jest-util@29.7.0: - resolution: - { - integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 '@types/node': 20.12.7 @@ -16808,11 +13201,8 @@ packages: dev: true /jest-validate@29.7.0: - resolution: - { - integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 camelcase: 6.3.0 @@ -16823,11 +13213,8 @@ packages: dev: true /jest-watcher@29.7.0: - resolution: - { - integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 @@ -16840,11 +13227,8 @@ packages: dev: true /jest-worker@29.7.0: - resolution: - { - integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@types/node': 20.12.7 jest-util: 29.7.0 @@ -16853,11 +13237,8 @@ packages: dev: true /jest@29.7.0(@types/node@20.12.7): - resolution: - { - integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 @@ -16877,67 +13258,40 @@ packages: dev: true /jiti@1.21.0: - resolution: - { - integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==, - } + resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} hasBin: true dev: true /jju@1.4.0: - resolution: - { - integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==, - } + resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} dev: true /jmespath@0.16.0: - resolution: - { - integrity: sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==, - } - engines: { node: '>= 0.6.0' } + resolution: {integrity: sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==} + engines: {node: '>= 0.6.0'} dev: true /jose@4.15.5: - resolution: - { - integrity: sha512-jc7BFxgKPKi94uOvEmzlSWFFe2+vASyXaKUpdQKatWAESU2MWjDfFf0fdfc83CDKcA5QecabZeNLyfhe3yKNkg==, - } + resolution: {integrity: sha512-jc7BFxgKPKi94uOvEmzlSWFFe2+vASyXaKUpdQKatWAESU2MWjDfFf0fdfc83CDKcA5QecabZeNLyfhe3yKNkg==} dev: true /jose@5.2.4: - resolution: - { - integrity: sha512-6ScbIk2WWCeXkmzF6bRPmEuaqy1m8SbsRFMa/FLrSCkGIhj8OLVG/IH+XHVmNMx/KUo8cVWEE6oKR4dJ+S0Rkg==, - } + resolution: {integrity: sha512-6ScbIk2WWCeXkmzF6bRPmEuaqy1m8SbsRFMa/FLrSCkGIhj8OLVG/IH+XHVmNMx/KUo8cVWEE6oKR4dJ+S0Rkg==} dev: true /js-sdsl@4.3.0: - resolution: - { - integrity: sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==, - } + resolution: {integrity: sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==} dev: true /js-sha3@0.8.0: - resolution: - { - integrity: sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==, - } + resolution: {integrity: sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==} /js-tokens@4.0.0: - resolution: - { - integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==, - } + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} dev: true /js-yaml@3.14.1: - resolution: - { - integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==, - } + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} hasBin: true dependencies: argparse: 1.0.10 @@ -16945,89 +13299,56 @@ packages: dev: true /js-yaml@4.1.0: - resolution: - { - integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==, - } + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true dependencies: argparse: 2.0.1 dev: true /jsesc@0.5.0: - resolution: - { - integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==, - } + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} hasBin: true dev: true /jsesc@2.5.2: - resolution: - { - integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} hasBin: true dev: true /jsesc@3.0.2: - resolution: - { - integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} + engines: {node: '>=6'} hasBin: true dev: true /json-buffer@3.0.1: - resolution: - { - integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==, - } + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} dev: true /json-parse-even-better-errors@2.3.1: - resolution: - { - integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==, - } + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} dev: true /json-schema-traverse@0.4.1: - resolution: - { - integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==, - } + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} dev: true /json-schema-traverse@1.0.0: - resolution: - { - integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==, - } + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} dev: true /json-schema-typed@7.0.3: - resolution: - { - integrity: sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A==, - } + resolution: {integrity: sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A==} dev: true /json-stable-stringify-without-jsonify@1.0.1: - resolution: - { - integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==, - } + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} dev: true /json-stable-stringify@1.1.1: - resolution: - { - integrity: sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 isarray: 2.0.5 @@ -17036,58 +13357,40 @@ packages: dev: true /json-to-pretty-yaml@1.2.2: - resolution: - { - integrity: sha512-rvm6hunfCcqegwYaG5T4yKJWxc9FXFgBVrcTZ4XfSVRwa5HA/Xs+vB/Eo9treYYHCeNM0nrSUr82V/M31Urc7A==, - } - engines: { node: '>= 0.2.0' } + resolution: {integrity: sha512-rvm6hunfCcqegwYaG5T4yKJWxc9FXFgBVrcTZ4XfSVRwa5HA/Xs+vB/Eo9treYYHCeNM0nrSUr82V/M31Urc7A==} + engines: {node: '>= 0.2.0'} dependencies: remedial: 1.0.8 remove-trailing-spaces: 1.0.8 dev: true /json5@1.0.2: - resolution: - { - integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==, - } + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} hasBin: true dependencies: minimist: 1.2.8 dev: true /json5@2.2.3: - resolution: - { - integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} hasBin: true dev: true /jsonfile@2.4.0: - resolution: - { - integrity: sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==, - } + resolution: {integrity: sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==} optionalDependencies: graceful-fs: 4.2.11 dev: true /jsonfile@4.0.0: - resolution: - { - integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==, - } + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} optionalDependencies: graceful-fs: 4.2.11 dev: true /jsonfile@6.1.0: - resolution: - { - integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==, - } + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} dependencies: universalify: 2.0.1 optionalDependencies: @@ -17095,25 +13398,16 @@ packages: dev: true /jsonify@0.0.1: - resolution: - { - integrity: sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==, - } + resolution: {integrity: sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==} dev: true /jsonschema@1.4.1: - resolution: - { - integrity: sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ==, - } + resolution: {integrity: sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ==} dev: true /jsx-ast-utils@3.3.5: - resolution: - { - integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==, - } - engines: { node: '>=4.0' } + resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} + engines: {node: '>=4.0'} dependencies: array-includes: 3.1.8 array.prototype.flat: 1.3.2 @@ -17122,18 +13416,12 @@ packages: dev: true /just-memoize@2.2.0: - resolution: - { - integrity: sha512-zriv+MY+61RXT0QsrO1ZJtL5umouqqSWmCGBkp2wJm35kniunBAA4qhUKx8Lvg/QcwrF9xuw9E6PkevKFf4boQ==, - } + resolution: {integrity: sha512-zriv+MY+61RXT0QsrO1ZJtL5umouqqSWmCGBkp2wJm35kniunBAA4qhUKx8Lvg/QcwrF9xuw9E6PkevKFf4boQ==} dev: false /keccak@3.0.4: - resolution: - { - integrity: sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==, - } - engines: { node: '>=10.0.0' } + resolution: {integrity: sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==} + engines: {node: '>=10.0.0'} requiresBuild: true dependencies: node-addon-api: 2.0.2 @@ -17142,44 +13430,29 @@ packages: dev: true /keyv@4.5.4: - resolution: - { - integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==, - } + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} dependencies: json-buffer: 3.0.1 dev: true /kind-of@6.0.3: - resolution: - { - integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} dev: true /klaw@1.3.1: - resolution: - { - integrity: sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==, - } + resolution: {integrity: sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==} optionalDependencies: graceful-fs: 4.2.11 dev: true /kleur@3.0.3: - resolution: - { - integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} dev: true /kysely-codegen@0.10.1(kysely@0.25.0): - resolution: - { - integrity: sha512-8Bslh952gN5gtucRv4jTZDFD18RBioS6M50zHfe5kwb5iSyEAunU4ZYMdHzkHraa4zxjg5/183XlOryBCXLRIw==, - } + resolution: {integrity: sha512-8Bslh952gN5gtucRv4jTZDFD18RBioS6M50zHfe5kwb5iSyEAunU4ZYMdHzkHraa4zxjg5/183XlOryBCXLRIw==} hasBin: true peerDependencies: better-sqlite3: '>=7.6.2' @@ -17202,10 +13475,7 @@ packages: dev: true /kysely-data-api@0.2.1(@aws-sdk/client-rds-data@3.554.0)(kysely@0.25.0): - resolution: - { - integrity: sha512-KmASvF1gmjVqyU9WOUXhCQlv29ofR+xc2DhjaIomz1+Bjd/VtR2/3g4ZuXwG1L4lWGKxMuo5iOvK3XyPbB4LdQ==, - } + resolution: {integrity: sha512-KmASvF1gmjVqyU9WOUXhCQlv29ofR+xc2DhjaIomz1+Bjd/VtR2/3g4ZuXwG1L4lWGKxMuo5iOvK3XyPbB4LdQ==} peerDependencies: '@aws-sdk/client-rds-data': 3.x kysely: 0.x @@ -17215,91 +13485,61 @@ packages: dev: true /kysely@0.25.0: - resolution: - { - integrity: sha512-srn0efIMu5IoEBk0tBmtGnoUss4uwvxtbFQWG/U2MosfqIace1l43IFP1PmEpHRDp+Z79xIcKEqmHH3dAvQdQA==, - } - engines: { node: '>=14.0.0' } + resolution: {integrity: sha512-srn0efIMu5IoEBk0tBmtGnoUss4uwvxtbFQWG/U2MosfqIace1l43IFP1PmEpHRDp+Z79xIcKEqmHH3dAvQdQA==} + engines: {node: '>=14.0.0'} dev: true /language-subtag-registry@0.3.22: - resolution: - { - integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==, - } + resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} dev: true /language-tags@1.0.9: - resolution: - { - integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==, - } - engines: { node: '>=0.10' } + resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} + engines: {node: '>=0.10'} dependencies: language-subtag-registry: 0.3.22 dev: true /lazystream@1.0.1: - resolution: - { - integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==, - } - engines: { node: '>= 0.6.3' } + resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} + engines: {node: '>= 0.6.3'} dependencies: readable-stream: 2.3.8 dev: true /leven@2.1.0: - resolution: - { - integrity: sha512-nvVPLpIHUxCUoRLrFqTgSxXJ614d8AgQoWl7zPe/2VadE8+1dpU3LBhowRuBAcuwruWtOdD8oYC9jDNJjXDPyA==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-nvVPLpIHUxCUoRLrFqTgSxXJ614d8AgQoWl7zPe/2VadE8+1dpU3LBhowRuBAcuwruWtOdD8oYC9jDNJjXDPyA==} + engines: {node: '>=0.10.0'} dev: true /leven@3.1.0: - resolution: - { - integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} dev: true /levn@0.3.0: - resolution: - { - integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==, - } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} + engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.1.2 type-check: 0.3.2 dev: true /levn@0.4.1: - resolution: - { - integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==, - } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 dev: true /lines-and-columns@1.2.4: - resolution: - { - integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==, - } + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} dev: true /listr2@4.0.5: - resolution: - { - integrity: sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==} + engines: {node: '>=12'} peerDependencies: enquirer: '>= 2.3.0 < 3' peerDependenciesMeta: @@ -17317,151 +13557,97 @@ packages: dev: true /locate-path@2.0.0: - resolution: - { - integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} + engines: {node: '>=4'} dependencies: p-locate: 2.0.0 path-exists: 3.0.0 dev: true /locate-path@3.0.0: - resolution: - { - integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} + engines: {node: '>=6'} dependencies: p-locate: 3.0.0 path-exists: 3.0.0 dev: true /locate-path@5.0.0: - resolution: - { - integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} dependencies: p-locate: 4.1.0 dev: true /locate-path@6.0.0: - resolution: - { - integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} dependencies: p-locate: 5.0.0 dev: true /lodash.clonedeep@4.5.0: - resolution: - { - integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==, - } + resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==} dev: true /lodash.defaults@4.2.0: - resolution: - { - integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==, - } + resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} dev: true /lodash.difference@4.5.0: - resolution: - { - integrity: sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==, - } + resolution: {integrity: sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==} dev: true /lodash.flatten@4.4.0: - resolution: - { - integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==, - } + resolution: {integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==} dev: true /lodash.isplainobject@4.0.6: - resolution: - { - integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==, - } + resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} dev: true /lodash.memoize@4.1.2: - resolution: - { - integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==, - } + resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} dev: true /lodash.merge@4.6.2: - resolution: - { - integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==, - } + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} /lodash.sortby@4.7.0: - resolution: - { - integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==, - } + resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} dev: true /lodash.truncate@4.4.2: - resolution: - { - integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==, - } + resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} dev: true /lodash.union@4.6.0: - resolution: - { - integrity: sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==, - } + resolution: {integrity: sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==} dev: true /lodash@4.17.21: - resolution: - { - integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==, - } + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} dev: true /log-symbols@4.1.0: - resolution: - { - integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} dependencies: chalk: 4.1.2 is-unicode-supported: 0.1.0 dev: true /log-symbols@5.1.0: - resolution: - { - integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==} + engines: {node: '>=12'} dependencies: chalk: 5.3.0 is-unicode-supported: 1.3.0 dev: true /log-update@4.0.0: - resolution: - { - integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} + engines: {node: '>=10'} dependencies: ansi-escapes: 4.3.2 cli-cursor: 3.1.0 @@ -17470,89 +13656,59 @@ packages: dev: true /loose-envify@1.4.0: - resolution: - { - integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==, - } + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} hasBin: true dependencies: js-tokens: 4.0.0 dev: true /loupe@2.3.7: - resolution: - { - integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==, - } + resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} dependencies: get-func-name: 2.0.2 dev: true /lower-case-first@2.0.2: - resolution: - { - integrity: sha512-EVm/rR94FJTZi3zefZ82fLWab+GX14LJN4HrWBcuo6Evmsl9hEfnqxgcHCKb9q+mNf6EVdsjx/qucYFIIB84pg==, - } + resolution: {integrity: sha512-EVm/rR94FJTZi3zefZ82fLWab+GX14LJN4HrWBcuo6Evmsl9hEfnqxgcHCKb9q+mNf6EVdsjx/qucYFIIB84pg==} dependencies: tslib: 2.6.2 dev: true /lower-case@2.0.2: - resolution: - { - integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==, - } + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} dependencies: tslib: 2.6.2 dev: true /lru-cache@10.2.0: - resolution: - { - integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==, - } - engines: { node: 14 || >=16.14 } + resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} + engines: {node: 14 || >=16.14} dev: true /lru-cache@5.1.1: - resolution: - { - integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==, - } + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} dependencies: yallist: 3.1.1 dev: true /lru-cache@6.0.0: - resolution: - { - integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} dependencies: yallist: 4.0.0 /lru-cache@7.18.3: - resolution: - { - integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} + engines: {node: '>=12'} dev: true /lru_map@0.3.3: - resolution: - { - integrity: sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==, - } + resolution: {integrity: sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==} dev: true /madge@7.0.0(typescript@5.4.5): - resolution: - { - integrity: sha512-x9eHkBWoCJ2B8yGesWf8LRucarkbH5P3lazqgvmxe4xn5U2Meyfu906iG9mBB1RnY/f4D+gtELWdiz1k6+jAZA==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-x9eHkBWoCJ2B8yGesWf8LRucarkbH5P3lazqgvmxe4xn5U2Meyfu906iG9mBB1RnY/f4D+gtELWdiz1k6+jAZA==} + engines: {node: '>=14'} hasBin: true peerDependencies: typescript: ^3.9.5 || ^4.9.5 || ^5 @@ -17579,52 +13735,34 @@ packages: dev: true /make-dir@4.0.0: - resolution: - { - integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} dependencies: semver: 7.6.0 dev: true /make-error@1.3.6: - resolution: - { - integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==, - } + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} dev: true /makeerror@1.0.12: - resolution: - { - integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==, - } + resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} dependencies: tmpl: 1.0.5 dev: true /map-cache@0.2.2: - resolution: - { - integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} + engines: {node: '>=0.10.0'} dev: true /markdown-table@1.1.3: - resolution: - { - integrity: sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==, - } + resolution: {integrity: sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==} dev: true /mathjs@10.6.4: - resolution: - { - integrity: sha512-omQyvRE1jIy+3k2qsqkWASOcd45aZguXZDckr3HtnTYyXk5+2xpVfC3kATgbO2Srjxlqww3TVdhD0oUdZ/hiFA==, - } - engines: { node: '>= 14' } + resolution: {integrity: sha512-omQyvRE1jIy+3k2qsqkWASOcd45aZguXZDckr3HtnTYyXk5+2xpVfC3kATgbO2Srjxlqww3TVdhD0oUdZ/hiFA==} + engines: {node: '>= 14'} hasBin: true dependencies: '@babel/runtime': 7.24.4 @@ -17639,10 +13777,7 @@ packages: dev: true /md5.js@1.3.5: - resolution: - { - integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==, - } + resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} dependencies: hash-base: 3.1.0 inherits: 2.0.4 @@ -17650,49 +13785,31 @@ packages: dev: true /media-typer@0.3.0: - resolution: - { - integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} dev: true /memorystream@0.3.1: - resolution: - { - integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==, - } - engines: { node: '>= 0.10.0' } + resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} + engines: {node: '>= 0.10.0'} dev: true /merge-descriptors@1.0.1: - resolution: - { - integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==, - } + resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} dev: true /merge-stream@2.0.0: - resolution: - { - integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==, - } + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} dev: true /merge2@1.4.1: - resolution: - { - integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==, - } - engines: { node: '>= 8' } + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} dev: true /meros@1.3.0(@types/node@20.12.7): - resolution: - { - integrity: sha512-2BNGOimxEz5hmjUG2FwoxCt5HN7BXdaWyFqEwxPTrJzVdABtrL4TiHTcsWSFAxPQ/tOnEaQEJh3qWq71QRMY+w==, - } - engines: { node: '>=13' } + resolution: {integrity: sha512-2BNGOimxEz5hmjUG2FwoxCt5HN7BXdaWyFqEwxPTrJzVdABtrL4TiHTcsWSFAxPQ/tOnEaQEJh3qWq71QRMY+w==} + engines: {node: '>=13'} peerDependencies: '@types/node': '>=13' peerDependenciesMeta: @@ -17703,226 +13820,148 @@ packages: dev: true /methods@1.1.2: - resolution: - { - integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} dev: true /micro-ftch@0.3.1: - resolution: - { - integrity: sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==, - } + resolution: {integrity: sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==} dev: true /micromatch@4.0.5: - resolution: - { - integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==, - } - engines: { node: '>=8.6' } + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} dependencies: braces: 3.0.2 picomatch: 2.3.1 dev: true /mime-db@1.52.0: - resolution: - { - integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} /mime-types@2.1.35: - resolution: - { - integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} dependencies: mime-db: 1.52.0 /mime@1.6.0: - resolution: - { - integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} hasBin: true dev: true /mime@2.6.0: - resolution: - { - integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==, - } - engines: { node: '>=4.0.0' } + resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} + engines: {node: '>=4.0.0'} hasBin: true dev: true /mimic-fn@2.1.0: - resolution: - { - integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} dev: true /mimic-fn@3.1.0: - resolution: - { - integrity: sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==} + engines: {node: '>=8'} dev: true /min-indent@1.0.1: - resolution: - { - integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} dev: true /minimalistic-assert@1.0.1: - resolution: - { - integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==, - } + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} /minimalistic-crypto-utils@1.0.1: - resolution: - { - integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==, - } + resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} /minimatch@3.1.2: - resolution: - { - integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==, - } + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 dev: true /minimatch@4.2.3: - resolution: - { - integrity: sha512-lIUdtK5hdofgCTu3aT0sOaHsYR37viUuIc0rwnnDXImbwFRcumyLMeZaM0t0I/fgxS6s6JMfu0rLD1Wz9pv1ng==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-lIUdtK5hdofgCTu3aT0sOaHsYR37viUuIc0rwnnDXImbwFRcumyLMeZaM0t0I/fgxS6s6JMfu0rLD1Wz9pv1ng==} + engines: {node: '>=10'} dependencies: brace-expansion: 1.1.11 dev: true /minimatch@5.0.1: - resolution: - { - integrity: sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==} + engines: {node: '>=10'} dependencies: brace-expansion: 2.0.1 dev: true /minimatch@5.1.6: - resolution: - { - integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} dependencies: brace-expansion: 2.0.1 dev: true /minimatch@6.2.0: - resolution: - { - integrity: sha512-sauLxniAmvnhhRjFwPNnJKaPFYyddAgbYdeUpHULtCT/GhzdCx/MDNy+Y40lBxTQUrMzDE8e0S43Z5uqfO0REg==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-sauLxniAmvnhhRjFwPNnJKaPFYyddAgbYdeUpHULtCT/GhzdCx/MDNy+Y40lBxTQUrMzDE8e0S43Z5uqfO0REg==} + engines: {node: '>=10'} dependencies: brace-expansion: 2.0.1 dev: true /minimatch@9.0.3: - resolution: - { - integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==, - } - engines: { node: '>=16 || 14 >=14.17' } + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} dependencies: brace-expansion: 2.0.1 dev: true /minimatch@9.0.4: - resolution: - { - integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==, - } - engines: { node: '>=16 || 14 >=14.17' } + resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + engines: {node: '>=16 || 14 >=14.17'} dependencies: brace-expansion: 2.0.1 dev: true /minimist@1.2.6: - resolution: - { - integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==, - } + resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==} dev: true /minimist@1.2.8: - resolution: - { - integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==, - } + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} dev: true /minipass@7.0.4: - resolution: - { - integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==, - } - engines: { node: '>=16 || 14 >=14.17' } + resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} + engines: {node: '>=16 || 14 >=14.17'} dev: true /mkdirp@0.5.6: - resolution: - { - integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==, - } + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} hasBin: true dependencies: minimist: 1.2.8 dev: true /mnemonist@0.38.5: - resolution: - { - integrity: sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==, - } + resolution: {integrity: sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==} dependencies: obliterator: 2.0.4 dev: true /mnemonist@0.39.8: - resolution: - { - integrity: sha512-vyWo2K3fjrUw8YeeZ1zF0fy6Mu59RHokURlld8ymdUPjMlD9EC9ov1/YPqTgqRvUN9nTr3Gqfz29LYAmu0PHPQ==, - } + resolution: {integrity: sha512-vyWo2K3fjrUw8YeeZ1zF0fy6Mu59RHokURlld8ymdUPjMlD9EC9ov1/YPqTgqRvUN9nTr3Gqfz29LYAmu0PHPQ==} dependencies: obliterator: 2.0.4 dev: true /mocha@10.4.0: - resolution: - { - integrity: sha512-eqhGB8JKapEYcC4ytX/xrzKforgEc3j1pGlAXVy3eRwrtAy5/nIfT1SvgGzfN0XZZxeLq0aQWkOUAmqIJiv+bA==, - } - engines: { node: '>= 14.0.0' } + resolution: {integrity: sha512-eqhGB8JKapEYcC4ytX/xrzKforgEc3j1pGlAXVy3eRwrtAy5/nIfT1SvgGzfN0XZZxeLq0aQWkOUAmqIJiv+bA==} + engines: {node: '>= 14.0.0'} hasBin: true dependencies: ansi-colors: 4.1.1 @@ -17948,11 +13987,8 @@ packages: dev: true /module-definition@5.0.1: - resolution: - { - integrity: sha512-kvw3B4G19IXk+BOXnYq/D/VeO9qfHaapMeuS7w7sNUqmGaA6hywdFHMi+VWeR9wUScXM7XjoryTffCZ5B0/8IA==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-kvw3B4G19IXk+BOXnYq/D/VeO9qfHaapMeuS7w7sNUqmGaA6hywdFHMi+VWeR9wUScXM7XjoryTffCZ5B0/8IA==} + engines: {node: '>=14'} hasBin: true dependencies: ast-module-types: 5.0.0 @@ -17960,11 +13996,8 @@ packages: dev: true /module-lookup-amd@8.0.5: - resolution: - { - integrity: sha512-vc3rYLjDo5Frjox8NZpiyLXsNWJ5BWshztc/5KSOMzpg9k5cHH652YsJ7VKKmtM4SvaxuE9RkrYGhiSjH3Ehow==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-vc3rYLjDo5Frjox8NZpiyLXsNWJ5BWshztc/5KSOMzpg9k5cHH652YsJ7VKKmtM4SvaxuE9RkrYGhiSjH3Ehow==} + engines: {node: '>=14'} hasBin: true dependencies: commander: 10.0.1 @@ -17974,10 +14007,7 @@ packages: dev: true /mqtt-packet@6.10.0: - resolution: - { - integrity: sha512-ja8+mFKIHdB1Tpl6vac+sktqy3gA8t9Mduom1BA75cI+R9AHnZOiaBQwpGiWnaVJLDGRdNhQmFaAqd7tkKSMGA==, - } + resolution: {integrity: sha512-ja8+mFKIHdB1Tpl6vac+sktqy3gA8t9Mduom1BA75cI+R9AHnZOiaBQwpGiWnaVJLDGRdNhQmFaAqd7tkKSMGA==} dependencies: bl: 4.1.0 debug: 4.3.4(supports-color@8.1.1) @@ -17987,11 +14017,8 @@ packages: dev: true /mqtt@4.2.8: - resolution: - { - integrity: sha512-DJYjlXODVXtSDecN8jnNzi6ItX3+ufGsEs9OB3YV24HtkRrh7kpx8L5M1LuyF0KzaiGtWr2PzDcMGAY60KGOSA==, - } - engines: { node: '>=10.0.0' } + resolution: {integrity: sha512-DJYjlXODVXtSDecN8jnNzi6ItX3+ufGsEs9OB3YV24HtkRrh7kpx8L5M1LuyF0KzaiGtWr2PzDcMGAY60KGOSA==} + engines: {node: '>=10.0.0'} hasBin: true dependencies: commist: 1.1.0 @@ -18015,11 +14042,8 @@ packages: dev: true /mqtt@4.3.8: - resolution: - { - integrity: sha512-2xT75uYa0kiPEF/PE0VPdavmEkoBzMT/UL9moid0rAvlCtV48qBwxD62m7Ld/4j8tSkIO1E/iqRl/S72SEOhOw==, - } - engines: { node: '>=10.0.0' } + resolution: {integrity: sha512-2xT75uYa0kiPEF/PE0VPdavmEkoBzMT/UL9moid0rAvlCtV48qBwxD62m7Ld/4j8tSkIO1E/iqRl/S72SEOhOw==} + engines: {node: '>=10.0.0'} hasBin: true dependencies: commist: 1.1.0 @@ -18046,120 +14070,75 @@ packages: dev: true /ms@2.0.0: - resolution: - { - integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==, - } + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} dev: true /ms@2.1.2: - resolution: - { - integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==, - } + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} dev: true /ms@2.1.3: - resolution: - { - integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==, - } + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} dev: true /mute-stream@0.0.8: - resolution: - { - integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==, - } + resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} dev: true /mute-stream@1.0.0: - resolution: - { - integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==, - } - engines: { node: ^14.17.0 || ^16.13.0 || >=18.0.0 } + resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} dev: false /mylas@2.1.13: - resolution: - { - integrity: sha512-+MrqnJRtxdF+xngFfUUkIMQrUUL0KsxbADUkn23Z/4ibGg192Q+z+CQyiYwvWTsYjJygmMR8+w3ZDa98Zh6ESg==, - } - engines: { node: '>=12.0.0' } + resolution: {integrity: sha512-+MrqnJRtxdF+xngFfUUkIMQrUUL0KsxbADUkn23Z/4ibGg192Q+z+CQyiYwvWTsYjJygmMR8+w3ZDa98Zh6ESg==} + engines: {node: '>=12.0.0'} dev: true /nanoid@3.3.7: - resolution: - { - integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==, - } - engines: { node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1 } + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true dev: true /natural-compare@1.4.0: - resolution: - { - integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, - } + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true /negotiator@0.6.3: - resolution: - { - integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} dev: true /neo-async@2.6.2: - resolution: - { - integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==, - } + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} dev: true /no-case@3.0.4: - resolution: - { - integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==, - } + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} dependencies: lower-case: 2.0.2 tslib: 2.6.2 dev: true /node-addon-api@2.0.2: - resolution: - { - integrity: sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==, - } + resolution: {integrity: sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==} dev: true /node-domexception@1.0.0: - resolution: - { - integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==, - } - engines: { node: '>=10.5.0' } + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} dev: false /node-emoji@1.11.0: - resolution: - { - integrity: sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==, - } + resolution: {integrity: sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==} dependencies: lodash: 4.17.21 dev: true /node-fetch@2.7.0: - resolution: - { - integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==, - } - engines: { node: 4.x || >=6.0.0 } + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} peerDependencies: encoding: ^0.1.0 peerDependenciesMeta: @@ -18169,11 +14148,8 @@ packages: whatwg-url: 5.0.0 /node-fetch@3.3.2: - resolution: - { - integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: data-uri-to-buffer: 4.0.1 fetch-blob: 3.2.0 @@ -18181,60 +14157,39 @@ packages: dev: false /node-gyp-build@4.8.0: - resolution: - { - integrity: sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==, - } + resolution: {integrity: sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==} hasBin: true dev: true /node-int64@0.4.0: - resolution: - { - integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==, - } + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} dev: true /node-releases@2.0.14: - resolution: - { - integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==, - } + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} dev: true /node-source-walk@6.0.2: - resolution: - { - integrity: sha512-jn9vOIK/nfqoFCcpK89/VCVaLg1IHE6UVfDOzvqmANaJ/rWCTEdH8RZ1V278nv2jr36BJdyQXIAavBLXpzdlag==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-jn9vOIK/nfqoFCcpK89/VCVaLg1IHE6UVfDOzvqmANaJ/rWCTEdH8RZ1V278nv2jr36BJdyQXIAavBLXpzdlag==} + engines: {node: '>=14'} dependencies: '@babel/parser': 7.24.4 dev: true /nofilter@3.1.0: - resolution: - { - integrity: sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==, - } - engines: { node: '>=12.19' } + resolution: {integrity: sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==} + engines: {node: '>=12.19'} dev: true /nopt@3.0.6: - resolution: - { - integrity: sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg==, - } + resolution: {integrity: sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg==} hasBin: true dependencies: abbrev: 1.0.9 dev: true /normalize-package-data@2.5.0: - resolution: - { - integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==, - } + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: hosted-git-info: 2.8.9 resolve: 1.22.8 @@ -18243,45 +14198,30 @@ packages: dev: true /normalize-path@2.1.1: - resolution: - { - integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} + engines: {node: '>=0.10.0'} dependencies: remove-trailing-separator: 1.1.0 dev: true /normalize-path@3.0.0: - resolution: - { - integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} dev: true /npm-run-path@4.0.1: - resolution: - { - integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} dependencies: path-key: 3.1.1 dev: true /nullthrows@1.1.1: - resolution: - { - integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==, - } + resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==} dev: true /number-allocator@1.0.14: - resolution: - { - integrity: sha512-OrL44UTVAvkKdOdRQZIJpLkAdjXGTRda052sN4sO77bKEzYYqWKMBjQvrJFzqygI99gL6Z4u2xctPW1tB8ErvA==, - } + resolution: {integrity: sha512-OrL44UTVAvkKdOdRQZIJpLkAdjXGTRda052sN4sO77bKEzYYqWKMBjQvrJFzqygI99gL6Z4u2xctPW1tB8ErvA==} dependencies: debug: 4.3.4(supports-color@8.1.1) js-sdsl: 4.3.0 @@ -18290,53 +14230,35 @@ packages: dev: true /number-to-bn@1.7.0: - resolution: - { - integrity: sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==, - } - engines: { node: '>=6.5.0', npm: '>=3' } + resolution: {integrity: sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==} + engines: {node: '>=6.5.0', npm: '>=3'} dependencies: bn.js: 4.11.6 strip-hex-prefix: 1.0.0 dev: true /object-assign@4.1.1: - resolution: - { - integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} dev: true /object-hash@2.2.0: - resolution: - { - integrity: sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==} + engines: {node: '>= 6'} dev: true /object-inspect@1.13.1: - resolution: - { - integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==, - } + resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} dev: true /object-keys@1.1.1: - resolution: - { - integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} dev: true /object.assign@4.1.5: - resolution: - { - integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -18345,11 +14267,8 @@ packages: dev: true /object.entries@1.1.8: - resolution: - { - integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -18357,11 +14276,8 @@ packages: dev: true /object.fromentries@2.0.8: - resolution: - { - integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -18370,11 +14286,8 @@ packages: dev: true /object.groupby@1.0.3: - resolution: - { - integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -18382,11 +14295,8 @@ packages: dev: true /object.hasown@1.1.4: - resolution: - { - integrity: sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==} + engines: {node: '>= 0.4'} dependencies: define-properties: 1.2.1 es-abstract: 1.23.3 @@ -18394,11 +14304,8 @@ packages: dev: true /object.values@1.2.0: - resolution: - { - integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -18406,54 +14313,36 @@ packages: dev: true /obliterator@2.0.4: - resolution: - { - integrity: sha512-lgHwxlxV1qIg1Eap7LgIeoBWIMFibOjbrYPIPJZcI1mmGAI2m3lNYpK12Y+GBdPQ0U1hRwSord7GIaawz962qQ==, - } + resolution: {integrity: sha512-lgHwxlxV1qIg1Eap7LgIeoBWIMFibOjbrYPIPJZcI1mmGAI2m3lNYpK12Y+GBdPQ0U1hRwSord7GIaawz962qQ==} dev: true /oidc-token-hash@5.0.3: - resolution: - { - integrity: sha512-IF4PcGgzAr6XXSff26Sk/+P4KZFJVuHAJZj3wgO3vX2bMdNVp/QXTP3P7CEm9V1IdG8lDLY3HhiqpsE/nOwpPw==, - } - engines: { node: ^10.13.0 || >=12.0.0 } + resolution: {integrity: sha512-IF4PcGgzAr6XXSff26Sk/+P4KZFJVuHAJZj3wgO3vX2bMdNVp/QXTP3P7CEm9V1IdG8lDLY3HhiqpsE/nOwpPw==} + engines: {node: ^10.13.0 || >=12.0.0} dev: true /on-finished@2.4.1: - resolution: - { - integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} dependencies: ee-first: 1.1.1 dev: true /once@1.4.0: - resolution: - { - integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==, - } + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 dev: true /onetime@5.1.2: - resolution: - { - integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} dependencies: mimic-fn: 2.1.0 dev: true /openid-client@5.6.5: - resolution: - { - integrity: sha512-5P4qO9nGJzB5PI0LFlhj4Dzg3m4odt0qsJTfyEtZyOlkgpILwEioOhVVJOrS1iVH494S4Ee5OCjjg6Bf5WOj3w==, - } + resolution: {integrity: sha512-5P4qO9nGJzB5PI0LFlhj4Dzg3m4odt0qsJTfyEtZyOlkgpILwEioOhVVJOrS1iVH494S4Ee5OCjjg6Bf5WOj3w==} dependencies: jose: 4.15.5 lru-cache: 6.0.0 @@ -18462,11 +14351,8 @@ packages: dev: true /optionator@0.8.3: - resolution: - { - integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==, - } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} + engines: {node: '>= 0.8.0'} dependencies: deep-is: 0.1.4 fast-levenshtein: 2.0.6 @@ -18477,11 +14363,8 @@ packages: dev: true /optionator@0.9.3: - resolution: - { - integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==, - } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} dependencies: '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 @@ -18492,11 +14375,8 @@ packages: dev: true /ora@5.4.1: - resolution: - { - integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} + engines: {node: '>=10'} dependencies: bl: 4.1.0 chalk: 4.1.2 @@ -18510,11 +14390,8 @@ packages: dev: true /ora@6.3.1: - resolution: - { - integrity: sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: chalk: 5.3.0 cli-cursor: 4.0.0 @@ -18528,141 +14405,96 @@ packages: dev: true /os-tmpdir@1.0.2: - resolution: - { - integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} /p-limit@1.3.0: - resolution: - { - integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} + engines: {node: '>=4'} dependencies: p-try: 1.0.0 dev: true /p-limit@2.3.0: - resolution: - { - integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} dependencies: p-try: 2.2.0 dev: true /p-limit@3.1.0: - resolution: - { - integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} dependencies: yocto-queue: 0.1.0 dev: true /p-locate@2.0.0: - resolution: - { - integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==} + engines: {node: '>=4'} dependencies: p-limit: 1.3.0 dev: true /p-locate@3.0.0: - resolution: - { - integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} + engines: {node: '>=6'} dependencies: p-limit: 2.3.0 dev: true /p-locate@4.1.0: - resolution: - { - integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} dependencies: p-limit: 2.3.0 dev: true /p-locate@5.0.0: - resolution: - { - integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} dependencies: p-limit: 3.1.0 dev: true /p-map@4.0.0: - resolution: - { - integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} dependencies: aggregate-error: 3.1.0 dev: true /p-try@1.0.0: - resolution: - { - integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==} + engines: {node: '>=4'} dev: true /p-try@2.2.0: - resolution: - { - integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} dev: true /param-case@3.0.4: - resolution: - { - integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==, - } + resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} dependencies: dot-case: 3.0.4 tslib: 2.6.2 dev: true /parent-module@1.0.1: - resolution: - { - integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} dependencies: callsites: 3.1.0 dev: true /parse-cache-control@1.0.1: - resolution: - { - integrity: sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==, - } + resolution: {integrity: sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==} dev: true /parse-filepath@1.0.2: - resolution: - { - integrity: sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==, - } - engines: { node: '>=0.8' } + resolution: {integrity: sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==} + engines: {node: '>=0.8'} dependencies: is-absolute: 1.0.0 map-cache: 0.2.2 @@ -18670,11 +14502,8 @@ packages: dev: true /parse-json@5.2.0: - resolution: - { - integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} dependencies: '@babel/code-frame': 7.24.2 error-ex: 1.3.2 @@ -18683,152 +14512,98 @@ packages: dev: true /parse-ms@2.1.0: - resolution: - { - integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} + engines: {node: '>=6'} dev: true /parseurl@1.3.3: - resolution: - { - integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} dev: true /pascal-case@3.1.2: - resolution: - { - integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==, - } + resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} dependencies: no-case: 3.0.4 tslib: 2.6.2 dev: true /patch-console@2.0.0: - resolution: - { - integrity: sha512-0YNdUceMdaQwoKce1gatDScmMo5pu/tfABfnzEqeG0gtTmd7mh/WcwgUjtAeOU7N8nFFlbQBnFK2gXW5fGvmMA==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-0YNdUceMdaQwoKce1gatDScmMo5pu/tfABfnzEqeG0gtTmd7mh/WcwgUjtAeOU7N8nFFlbQBnFK2gXW5fGvmMA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dev: true /path-case@3.0.4: - resolution: - { - integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==, - } + resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==} dependencies: dot-case: 3.0.4 tslib: 2.6.2 dev: true /path-exists@3.0.0: - resolution: - { - integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} + engines: {node: '>=4'} dev: true /path-exists@4.0.0: - resolution: - { - integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} dev: true /path-is-absolute@1.0.1: - resolution: - { - integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} dev: true /path-key@3.1.1: - resolution: - { - integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} dev: true /path-parse@1.0.7: - resolution: - { - integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==, - } + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} /path-root-regex@0.1.2: - resolution: - { - integrity: sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==} + engines: {node: '>=0.10.0'} dev: true /path-root@0.1.1: - resolution: - { - integrity: sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==} + engines: {node: '>=0.10.0'} dependencies: path-root-regex: 0.1.2 dev: true /path-scurry@1.10.2: - resolution: - { - integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==, - } - engines: { node: '>=16 || 14 >=14.17' } + resolution: {integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==} + engines: {node: '>=16 || 14 >=14.17'} dependencies: lru-cache: 10.2.0 minipass: 7.0.4 dev: true /path-starts-with@2.0.1: - resolution: - { - integrity: sha512-wZ3AeiRBRlNwkdUxvBANh0+esnt38DLffHDujZyRHkqkaKHTglnY2EP5UX3b8rdeiSutgO4y9NEJwXezNP5vHg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-wZ3AeiRBRlNwkdUxvBANh0+esnt38DLffHDujZyRHkqkaKHTglnY2EP5UX3b8rdeiSutgO4y9NEJwXezNP5vHg==} + engines: {node: '>=8'} dev: true /path-to-regexp@0.1.7: - resolution: - { - integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==, - } + resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} dev: true /path-type@4.0.0: - resolution: - { - integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} dev: true /pathval@1.1.1: - resolution: - { - integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==, - } + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} dev: true /pbkdf2@3.1.2: - resolution: - { - integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==, - } - engines: { node: '>=0.12' } + resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} + engines: {node: '>=0.12'} dependencies: create-hash: 1.2.0 create-hmac: 1.1.7 @@ -18838,88 +14613,58 @@ packages: dev: true /picocolors@1.0.0: - resolution: - { - integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==, - } + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} dev: true /picomatch@2.3.1: - resolution: - { - integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==, - } - engines: { node: '>=8.6' } + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} dev: true /pify@4.0.1: - resolution: - { - integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} dev: true /pirates@4.0.6: - resolution: - { - integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + engines: {node: '>= 6'} dev: true /pkg-dir@4.2.0: - resolution: - { - integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} dependencies: find-up: 4.1.0 dev: true /pkg-up@3.1.0: - resolution: - { - integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} + engines: {node: '>=8'} dependencies: find-up: 3.0.0 dev: true /plimit-lit@1.6.1: - resolution: - { - integrity: sha512-B7+VDyb8Tl6oMJT9oSO2CW8XC/T4UcJGrwOVoNGwOQsQYhlpfajmrMj5xeejqaASq3V/EqThyOeATEOMuSEXiA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-B7+VDyb8Tl6oMJT9oSO2CW8XC/T4UcJGrwOVoNGwOQsQYhlpfajmrMj5xeejqaASq3V/EqThyOeATEOMuSEXiA==} + engines: {node: '>=12'} dependencies: queue-lit: 1.5.2 dev: true /pluralize@8.0.0: - resolution: - { - integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} + engines: {node: '>=4'} dev: true /possible-typed-array-names@1.0.0: - resolution: - { - integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} + engines: {node: '>= 0.4'} dev: true /postcss-values-parser@6.0.2(postcss@8.4.38): - resolution: - { - integrity: sha512-YLJpK0N1brcNJrs9WatuJFtHaV9q5aAOj+S4DI5S7jgHlRfm0PIbDCAFRYMQD5SHq7Fy6xsDhyutgS0QOAs0qw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-YLJpK0N1brcNJrs9WatuJFtHaV9q5aAOj+S4DI5S7jgHlRfm0PIbDCAFRYMQD5SHq7Fy6xsDhyutgS0QOAs0qw==} + engines: {node: '>=10'} peerDependencies: postcss: ^8.2.9 dependencies: @@ -18930,11 +14675,8 @@ packages: dev: true /postcss@8.4.38: - resolution: - { - integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==, - } - engines: { node: ^10 || ^12 || >=14 } + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 picocolors: 1.0.0 @@ -18942,11 +14684,8 @@ packages: dev: true /precinct@11.0.5: - resolution: - { - integrity: sha512-oHSWLC8cL/0znFhvln26D14KfCQFFn4KOLSw6hmLhd+LQ2SKt9Ljm89but76Pc7flM9Ty1TnXyrA2u16MfRV3w==, - } - engines: { node: ^14.14.0 || >=16.0.0 } + resolution: {integrity: sha512-oHSWLC8cL/0znFhvln26D14KfCQFFn4KOLSw6hmLhd+LQ2SKt9Ljm89but76Pc7flM9Ty1TnXyrA2u16MfRV3w==} + engines: {node: ^14.14.0 || >=16.0.0} hasBin: true dependencies: '@dependents/detective-less': 4.1.0 @@ -18966,26 +14705,17 @@ packages: dev: true /prelude-ls@1.1.2: - resolution: - { - integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==, - } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} + engines: {node: '>= 0.8.0'} dev: true /prelude-ls@1.2.1: - resolution: - { - integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==, - } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} dev: true /prettier-plugin-packagejson@2.5.0(prettier@3.2.5): - resolution: - { - integrity: sha512-6XkH3rpin5QEQodBSVNg+rBo4r91g/1mCaRwS1YGdQJZ6jwqrg2UchBsIG9tpS1yK1kNBvOt84OILsX8uHzBGg==, - } + resolution: {integrity: sha512-6XkH3rpin5QEQodBSVNg+rBo4r91g/1mCaRwS1YGdQJZ6jwqrg2UchBsIG9tpS1yK1kNBvOt84OILsX8uHzBGg==} peerDependencies: prettier: '>= 1.16.0' peerDependenciesMeta: @@ -18998,20 +14728,14 @@ packages: dev: true /prettier@3.2.5: - resolution: - { - integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} + engines: {node: '>=14'} hasBin: true dev: true /pretty-format@29.7.0: - resolution: - { - integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==, - } - engines: { node: ^14.15.0 || ^16.10.0 || >=18.0.0 } + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 @@ -19019,73 +14743,49 @@ packages: dev: true /pretty-ms@7.0.1: - resolution: - { - integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==} + engines: {node: '>=10'} dependencies: parse-ms: 2.1.0 dev: true /process-nextick-args@2.0.1: - resolution: - { - integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==, - } + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} dev: true /process@0.11.10: - resolution: - { - integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==, - } - engines: { node: '>= 0.6.0' } + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} dev: true /promise@7.3.1: - resolution: - { - integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==, - } + resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==} dependencies: asap: 2.0.6 dev: true /promise@8.3.0: - resolution: - { - integrity: sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==, - } + resolution: {integrity: sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==} dependencies: asap: 2.0.6 dev: true /promptly@3.2.0: - resolution: - { - integrity: sha512-WnR9obtgW+rG4oUV3hSnNGl1pHm3V1H/qD9iJBumGSmVsSC5HpZOLuu8qdMb6yCItGfT7dcRszejr/5P3i9Pug==, - } + resolution: {integrity: sha512-WnR9obtgW+rG4oUV3hSnNGl1pHm3V1H/qD9iJBumGSmVsSC5HpZOLuu8qdMb6yCItGfT7dcRszejr/5P3i9Pug==} dependencies: read: 1.0.7 dev: true /prompts@2.4.2: - resolution: - { - integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} dependencies: kleur: 3.0.3 sisteransi: 1.0.5 dev: true /prop-types@15.8.1: - resolution: - { - integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==, - } + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 @@ -19093,154 +14793,99 @@ packages: dev: true /proxy-addr@2.0.7: - resolution: - { - integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==, - } - engines: { node: '>= 0.10' } + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} dependencies: forwarded: 0.2.0 ipaddr.js: 1.9.1 dev: true /proxy-from-env@1.1.0: - resolution: - { - integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==, - } + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} dev: true /pump@3.0.0: - resolution: - { - integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==, - } + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} dependencies: end-of-stream: 1.4.4 once: 1.4.0 dev: true /punycode@1.3.2: - resolution: - { - integrity: sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==, - } + resolution: {integrity: sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==} dev: true /punycode@1.4.1: - resolution: - { - integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==, - } + resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} dev: true /punycode@2.3.1: - resolution: - { - integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} dev: true /pure-rand@6.1.0: - resolution: - { - integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==, - } + resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} dev: true /pvtsutils@1.3.5: - resolution: - { - integrity: sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA==, - } + resolution: {integrity: sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA==} dependencies: tslib: 2.6.2 dev: true /pvutils@1.1.3: - resolution: - { - integrity: sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==, - } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==} + engines: {node: '>=6.0.0'} dev: true /qs@6.11.0: - resolution: - { - integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==, - } - engines: { node: '>=0.6' } + resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} + engines: {node: '>=0.6'} dependencies: side-channel: 1.0.6 dev: true /qs@6.12.1: - resolution: - { - integrity: sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==, - } - engines: { node: '>=0.6' } + resolution: {integrity: sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==} + engines: {node: '>=0.6'} dependencies: side-channel: 1.0.6 dev: true /querystring@0.2.0: - resolution: - { - integrity: sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==, - } - engines: { node: '>=0.4.x' } - deprecated: - The querystring API is considered Legacy. new code should use the URLSearchParams API instead. + resolution: {integrity: sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==} + engines: {node: '>=0.4.x'} + deprecated: The querystring API is considered Legacy. new code should use the URLSearchParams API instead. dev: true /queue-lit@1.5.2: - resolution: - { - integrity: sha512-tLc36IOPeMAubu8BkW8YDBV+WyIgKlYU7zUNs0J5Vk9skSZ4JfGlPOqplP0aHdfv7HL0B2Pg6nwiq60Qc6M2Hw==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-tLc36IOPeMAubu8BkW8YDBV+WyIgKlYU7zUNs0J5Vk9skSZ4JfGlPOqplP0aHdfv7HL0B2Pg6nwiq60Qc6M2Hw==} + engines: {node: '>=12'} dev: true /queue-microtask@1.2.3: - resolution: - { - integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==, - } + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} dev: true /quote-unquote@1.0.0: - resolution: - { - integrity: sha512-twwRO/ilhlG/FIgYeKGFqyHhoEhqgnKVkcmqMKi2r524gz3ZbDTcyFt38E9xjJI2vT+KbRNHVbnJ/e0I25Azwg==, - } + resolution: {integrity: sha512-twwRO/ilhlG/FIgYeKGFqyHhoEhqgnKVkcmqMKi2r524gz3ZbDTcyFt38E9xjJI2vT+KbRNHVbnJ/e0I25Azwg==} dev: true /randombytes@2.1.0: - resolution: - { - integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==, - } + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} dependencies: safe-buffer: 5.2.1 dev: true /range-parser@1.2.1: - resolution: - { - integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} dev: true /raw-body@2.5.2: - resolution: - { - integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} + engines: {node: '>= 0.8'} dependencies: bytes: 3.1.2 http-errors: 2.0.0 @@ -19249,10 +14894,7 @@ packages: dev: true /rc@1.2.8: - resolution: - { - integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==, - } + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} hasBin: true dependencies: deep-extend: 0.6.0 @@ -19262,25 +14904,16 @@ packages: dev: true /react-is@16.13.1: - resolution: - { - integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==, - } + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} dev: true /react-is@18.2.0: - resolution: - { - integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==, - } + resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} dev: true /react-reconciler@0.29.0(react@18.2.0): - resolution: - { - integrity: sha512-wa0fGj7Zht1EYMRhKWwoo1H9GApxYLBuhoAuXN0TlltESAjDssB+Apf0T/DngVqaMyPypDmabL37vw/2aRM98Q==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-wa0fGj7Zht1EYMRhKWwoo1H9GApxYLBuhoAuXN0TlltESAjDssB+Apf0T/DngVqaMyPypDmabL37vw/2aRM98Q==} + engines: {node: '>=0.10.0'} peerDependencies: react: ^18.2.0 dependencies: @@ -19290,21 +14923,15 @@ packages: dev: true /react@18.2.0: - resolution: - { - integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} + engines: {node: '>=0.10.0'} dependencies: loose-envify: 1.4.0 dev: true /read-pkg-up@7.0.1: - resolution: - { - integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} dependencies: find-up: 4.1.0 read-pkg: 5.2.0 @@ -19312,11 +14939,8 @@ packages: dev: true /read-pkg@5.2.0: - resolution: - { - integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} dependencies: '@types/normalize-package-data': 2.4.4 normalize-package-data: 2.5.0 @@ -19325,20 +14949,14 @@ packages: dev: true /read@1.0.7: - resolution: - { - integrity: sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ==, - } - engines: { node: '>=0.8' } + resolution: {integrity: sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ==} + engines: {node: '>=0.8'} dependencies: mute-stream: 0.0.8 dev: true /readable-stream@2.3.8: - resolution: - { - integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==, - } + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} dependencies: core-util-is: 1.0.3 inherits: 2.0.4 @@ -19350,11 +14968,8 @@ packages: dev: true /readable-stream@3.6.2: - resolution: - { - integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} dependencies: inherits: 2.0.4 string_decoder: 1.3.0 @@ -19362,49 +14977,34 @@ packages: dev: true /readdir-glob@1.1.3: - resolution: - { - integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==, - } + resolution: {integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==} dependencies: minimatch: 5.1.6 dev: true /readdirp@3.6.0: - resolution: - { - integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==, - } - engines: { node: '>=8.10.0' } + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} dependencies: picomatch: 2.3.1 dev: true /rechoir@0.6.2: - resolution: - { - integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==, - } - engines: { node: '>= 0.10' } + resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} + engines: {node: '>= 0.10'} dependencies: resolve: 1.22.8 dev: true /recursive-readdir@2.2.3: - resolution: - { - integrity: sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==, - } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==} + engines: {node: '>=6.0.0'} dependencies: minimatch: 3.1.2 dev: true /redis@4.6.13: - resolution: - { - integrity: sha512-MHgkS4B+sPjCXpf+HfdetBwbRz6vCtsceTmw1pHNYJAsYxrfpOP6dz+piJWGos8wqG7qb3vj/Rrc5qOlmInUuA==, - } + resolution: {integrity: sha512-MHgkS4B+sPjCXpf+HfdetBwbRz6vCtsceTmw1pHNYJAsYxrfpOP6dz+piJWGos8wqG7qb3vj/Rrc5qOlmInUuA==} dependencies: '@redis/bloom': 1.2.0(@redis/client@1.5.14) '@redis/client': 1.5.14 @@ -19415,11 +15015,8 @@ packages: dev: false /reflect.getprototypeof@1.0.6: - resolution: - { - integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -19431,26 +15028,17 @@ packages: dev: true /regenerator-runtime@0.14.1: - resolution: - { - integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==, - } + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} dev: true /regexp-tree@0.1.27: - resolution: - { - integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==, - } + resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} hasBin: true dev: true /regexp.prototype.flags@1.5.2: - resolution: - { - integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -19459,27 +15047,18 @@ packages: dev: true /regjsparser@0.10.0: - resolution: - { - integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==, - } + resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} hasBin: true dependencies: jsesc: 0.5.0 dev: true /reinterval@1.1.0: - resolution: - { - integrity: sha512-QIRet3SYrGp0HUHO88jVskiG6seqUGC5iAG7AwI/BV4ypGcuqk9Du6YQBUOUqm9c8pw1eyLoIaONifRua1lsEQ==, - } + resolution: {integrity: sha512-QIRet3SYrGp0HUHO88jVskiG6seqUGC5iAG7AwI/BV4ypGcuqk9Du6YQBUOUqm9c8pw1eyLoIaONifRua1lsEQ==} dev: true /relay-runtime@12.0.0: - resolution: - { - integrity: sha512-QU6JKr1tMsry22DXNy9Whsq5rmvwr3LSZiiWV/9+DFpuTWvp+WFhobWMc8TC4OjKFfNhEZy7mOiqUAn5atQtug==, - } + resolution: {integrity: sha512-QU6JKr1tMsry22DXNy9Whsq5rmvwr3LSZiiWV/9+DFpuTWvp+WFhobWMc8TC4OjKFfNhEZy7mOiqUAn5atQtug==} dependencies: '@babel/runtime': 7.24.4 fbjs: 3.0.5 @@ -19489,184 +15068,118 @@ packages: dev: true /remeda@1.59.0: - resolution: - { - integrity: sha512-yqIz7z+eriLF6ll4TxhUM56b2wIrmHgJNbzRGYqfJ0Jx6QOioSvGJuT9jD6MqtKzGUizaxSlJZXTVYjVSC4Qig==, - } + resolution: {integrity: sha512-yqIz7z+eriLF6ll4TxhUM56b2wIrmHgJNbzRGYqfJ0Jx6QOioSvGJuT9jD6MqtKzGUizaxSlJZXTVYjVSC4Qig==} dev: true /remedial@1.0.8: - resolution: - { - integrity: sha512-/62tYiOe6DzS5BqVsNpH/nkGlX45C/Sp6V+NtiN6JQNS1Viay7cWkazmRkrQrdFj2eshDe96SIQNIoMxqhzBOg==, - } + resolution: {integrity: sha512-/62tYiOe6DzS5BqVsNpH/nkGlX45C/Sp6V+NtiN6JQNS1Viay7cWkazmRkrQrdFj2eshDe96SIQNIoMxqhzBOg==} dev: true /remove-trailing-separator@1.1.0: - resolution: - { - integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==, - } + resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} dev: true /remove-trailing-spaces@1.0.8: - resolution: - { - integrity: sha512-O3vsMYfWighyFbTd8hk8VaSj9UAGENxAtX+//ugIst2RMk5e03h6RoIS+0ylsFxY1gvmPuAY/PO4It+gPEeySA==, - } + resolution: {integrity: sha512-O3vsMYfWighyFbTd8hk8VaSj9UAGENxAtX+//ugIst2RMk5e03h6RoIS+0ylsFxY1gvmPuAY/PO4It+gPEeySA==} dev: true /req-cwd@2.0.0: - resolution: - { - integrity: sha512-ueoIoLo1OfB6b05COxAA9UpeoscNpYyM+BqYlA7H6LVF4hKGPXQQSSaD2YmvDVJMkk4UDpAHIeU1zG53IqjvlQ==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-ueoIoLo1OfB6b05COxAA9UpeoscNpYyM+BqYlA7H6LVF4hKGPXQQSSaD2YmvDVJMkk4UDpAHIeU1zG53IqjvlQ==} + engines: {node: '>=4'} dependencies: req-from: 2.0.0 dev: true /req-from@2.0.0: - resolution: - { - integrity: sha512-LzTfEVDVQHBRfjOUMgNBA+V6DWsSnoeKzf42J7l0xa/B4jyPOuuF5MlNSmomLNGemWTnV2TIdjSSLnEn95fOQA==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-LzTfEVDVQHBRfjOUMgNBA+V6DWsSnoeKzf42J7l0xa/B4jyPOuuF5MlNSmomLNGemWTnV2TIdjSSLnEn95fOQA==} + engines: {node: '>=4'} dependencies: resolve-from: 3.0.0 dev: true /require-directory@2.1.1: - resolution: - { - integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} dev: true /require-from-string@2.0.2: - resolution: - { - integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} dev: true /require-main-filename@2.0.0: - resolution: - { - integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==, - } + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} dev: true /requirejs-config-file@4.0.0: - resolution: - { - integrity: sha512-jnIre8cbWOyvr8a5F2KuqBnY+SDA4NXr/hzEZJG79Mxm2WiFQz2dzhC8ibtPJS7zkmBEl1mxSwp5HhC1W4qpxw==, - } - engines: { node: '>=10.13.0' } + resolution: {integrity: sha512-jnIre8cbWOyvr8a5F2KuqBnY+SDA4NXr/hzEZJG79Mxm2WiFQz2dzhC8ibtPJS7zkmBEl1mxSwp5HhC1W4qpxw==} + engines: {node: '>=10.13.0'} dependencies: esprima: 4.0.1 stringify-object: 3.3.0 dev: true /requirejs@2.3.6: - resolution: - { - integrity: sha512-ipEzlWQe6RK3jkzikgCupiTbTvm4S0/CAU5GlgptkN5SO6F3u0UD0K18wy6ErDqiCyP4J4YYe1HuAShvsxePLg==, - } - engines: { node: '>=0.4.0' } + resolution: {integrity: sha512-ipEzlWQe6RK3jkzikgCupiTbTvm4S0/CAU5GlgptkN5SO6F3u0UD0K18wy6ErDqiCyP4J4YYe1HuAShvsxePLg==} + engines: {node: '>=0.4.0'} hasBin: true dev: true /resolve-cwd@3.0.0: - resolution: - { - integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} dependencies: resolve-from: 5.0.0 dev: true /resolve-dependency-path@3.0.2: - resolution: - { - integrity: sha512-Tz7zfjhLfsvR39ADOSk9us4421J/1ztVBo4rWUkF38hgHK5m0OCZ3NxFVpqHRkjctnwVa15igEUHFJp8MCS7vA==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-Tz7zfjhLfsvR39ADOSk9us4421J/1ztVBo4rWUkF38hgHK5m0OCZ3NxFVpqHRkjctnwVa15igEUHFJp8MCS7vA==} + engines: {node: '>=14'} dev: true /resolve-from@3.0.0: - resolution: - { - integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==} + engines: {node: '>=4'} dev: true /resolve-from@4.0.0: - resolution: - { - integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} dev: true /resolve-from@5.0.0: - resolution: - { - integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} dev: true /resolve-pkg-maps@1.0.0: - resolution: - { - integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==, - } + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} dev: true /resolve.exports@2.0.2: - resolution: - { - integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} + engines: {node: '>=10'} dev: true /resolve@1.1.7: - resolution: - { - integrity: sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==, - } + resolution: {integrity: sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==} dev: true /resolve@1.17.0: - resolution: - { - integrity: sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==, - } + resolution: {integrity: sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==} dependencies: path-parse: 1.0.7 dev: true /resolve@1.19.0: - resolution: - { - integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==, - } + resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} dependencies: is-core-module: 2.13.1 path-parse: 1.0.7 dev: true /resolve@1.22.8: - resolution: - { - integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==, - } + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true dependencies: is-core-module: 2.13.1 @@ -19674,10 +15187,7 @@ packages: supports-preserve-symlinks-flag: 1.0.0 /resolve@2.0.0-next.5: - resolution: - { - integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==, - } + resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} hasBin: true dependencies: is-core-module: 2.13.1 @@ -19686,40 +15196,28 @@ packages: dev: true /restore-cursor@3.1.0: - resolution: - { - integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} dependencies: onetime: 5.1.2 signal-exit: 3.0.7 dev: true /restore-cursor@4.0.0: - resolution: - { - integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: onetime: 5.1.2 signal-exit: 3.0.7 dev: true /reusify@1.0.4: - resolution: - { - integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==, - } - engines: { iojs: '>=1.0.0', node: '>=0.10.0' } + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} dev: true /reverse-mirage@1.1.0(typescript@5.4.5)(viem@1.21.4): - resolution: - { - integrity: sha512-cA1O7GR0pn4rMFoaiEG7Skms9GenuW91DtCxeR5hphyNhH90eowV4RmUVlVPVS11CPkezm/iUjnCfmxlHri05w==, - } + resolution: {integrity: sha512-cA1O7GR0pn4rMFoaiEG7Skms9GenuW91DtCxeR5hphyNhH90eowV4RmUVlVPVS11CPkezm/iUjnCfmxlHri05w==} peerDependencies: typescript: '>=5.0.4' viem: '>=2' @@ -19732,84 +15230,57 @@ packages: dev: false /rfdc@1.3.1: - resolution: - { - integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==, - } + resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} dev: true /rimraf@2.7.1: - resolution: - { - integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==, - } + resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} hasBin: true dependencies: glob: 7.2.3 dev: true /rimraf@3.0.2: - resolution: - { - integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==, - } + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} hasBin: true dependencies: glob: 7.2.3 dev: true /ripemd160@2.0.2: - resolution: - { - integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==, - } + resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} dependencies: hash-base: 3.1.0 inherits: 2.0.4 dev: true /rlp@2.2.7: - resolution: - { - integrity: sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==, - } + resolution: {integrity: sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==} hasBin: true dependencies: bn.js: 5.2.1 dev: true /run-async@2.4.1: - resolution: - { - integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==, - } - engines: { node: '>=0.12.0' } + resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} + engines: {node: '>=0.12.0'} dev: true /run-parallel@1.2.0: - resolution: - { - integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==, - } + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: queue-microtask: 1.2.3 dev: true /rxjs@7.8.1: - resolution: - { - integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==, - } + resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} dependencies: tslib: 2.6.2 dev: true /safe-array-concat@1.1.2: - resolution: - { - integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==, - } - engines: { node: '>=0.4' } + resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} + engines: {node: '>=0.4'} dependencies: call-bind: 1.0.7 get-intrinsic: 1.2.4 @@ -19818,25 +15289,16 @@ packages: dev: true /safe-buffer@5.1.2: - resolution: - { - integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==, - } + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} dev: true /safe-buffer@5.2.1: - resolution: - { - integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==, - } + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} dev: true /safe-regex-test@1.0.3: - resolution: - { - integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 es-errors: 1.3.0 @@ -19844,34 +15306,22 @@ packages: dev: true /safer-buffer@2.1.2: - resolution: - { - integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==, - } + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} /sass-lookup@5.0.1: - resolution: - { - integrity: sha512-t0X5PaizPc2H4+rCwszAqHZRtr4bugo4pgiCvrBFvIX0XFxnr29g77LJcpyj9A0DcKf7gXMLcgvRjsonYI6x4g==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-t0X5PaizPc2H4+rCwszAqHZRtr4bugo4pgiCvrBFvIX0XFxnr29g77LJcpyj9A0DcKf7gXMLcgvRjsonYI6x4g==} + engines: {node: '>=14'} hasBin: true dependencies: commander: 10.0.1 dev: true /sax@1.2.1: - resolution: - { - integrity: sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==, - } + resolution: {integrity: sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==} dev: true /sc-istanbul@0.4.6: - resolution: - { - integrity: sha512-qJFF/8tW/zJsbyfh/iT/ZM5QNHE3CXxtLJbZsL+CzdJLBsPD7SedJZoUA4d8iAcN2IoMp/Dx80shOOd2x96X/g==, - } + resolution: {integrity: sha512-qJFF/8tW/zJsbyfh/iT/ZM5QNHE3CXxtLJbZsL+CzdJLBsPD7SedJZoUA4d8iAcN2IoMp/Dx80shOOd2x96X/g==} hasBin: true dependencies: abbrev: 1.0.9 @@ -19891,33 +15341,21 @@ packages: dev: true /scheduler@0.23.0: - resolution: - { - integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==, - } + resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} dependencies: loose-envify: 1.4.0 dev: true /scrypt-js@3.0.1: - resolution: - { - integrity: sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==, - } + resolution: {integrity: sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==} /scuid@1.1.0: - resolution: - { - integrity: sha512-MuCAyrGZcTLfQoH2XoBlQ8C6bzwN88XT/0slOGz0pn8+gIP85BOAfYa44ZXQUTOwRwPU0QvgU+V+OSajl/59Xg==, - } + resolution: {integrity: sha512-MuCAyrGZcTLfQoH2XoBlQ8C6bzwN88XT/0slOGz0pn8+gIP85BOAfYa44ZXQUTOwRwPU0QvgU+V+OSajl/59Xg==} dev: true /secp256k1@4.0.3: - resolution: - { - integrity: sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==, - } - engines: { node: '>=10.0.0' } + resolution: {integrity: sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==} + engines: {node: '>=10.0.0'} requiresBuild: true dependencies: elliptic: 6.5.5 @@ -19926,43 +15364,28 @@ packages: dev: true /seedrandom@3.0.5: - resolution: - { - integrity: sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==, - } + resolution: {integrity: sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==} dev: true /semver@5.7.2: - resolution: - { - integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==, - } + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true /semver@6.3.1: - resolution: - { - integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==, - } + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} hasBin: true dev: true /semver@7.6.0: - resolution: - { - integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + engines: {node: '>=10'} hasBin: true dependencies: lru-cache: 6.0.0 /send@0.18.0: - resolution: - { - integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==, - } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} + engines: {node: '>= 0.8.0'} dependencies: debug: 2.6.9 depd: 2.0.0 @@ -19982,10 +15405,7 @@ packages: dev: true /sentence-case@3.0.4: - resolution: - { - integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==, - } + resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} dependencies: no-case: 3.0.4 tslib: 2.6.2 @@ -19993,20 +15413,14 @@ packages: dev: true /serialize-javascript@6.0.0: - resolution: - { - integrity: sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==, - } + resolution: {integrity: sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==} dependencies: randombytes: 2.1.0 dev: true /serve-static@1.15.0: - resolution: - { - integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==, - } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} + engines: {node: '>= 0.8.0'} dependencies: encodeurl: 1.0.2 escape-html: 1.0.3 @@ -20017,18 +15431,12 @@ packages: dev: true /set-blocking@2.0.0: - resolution: - { - integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==, - } + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} dev: true /set-function-length@1.2.2: - resolution: - { - integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} dependencies: define-data-property: 1.1.4 es-errors: 1.3.0 @@ -20039,11 +15447,8 @@ packages: dev: true /set-function-name@2.0.2: - resolution: - { - integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} dependencies: define-data-property: 1.1.4 es-errors: 1.3.0 @@ -20052,24 +15457,15 @@ packages: dev: true /setimmediate@1.0.5: - resolution: - { - integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==, - } + resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} dev: true /setprototypeof@1.2.0: - resolution: - { - integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==, - } + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} dev: true /sha.js@2.4.11: - resolution: - { - integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==, - } + resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} hasBin: true dependencies: inherits: 2.0.4 @@ -20077,46 +15473,31 @@ packages: dev: true /sha1@1.1.1: - resolution: - { - integrity: sha512-dZBS6OrMjtgVkopB1Gmo4RQCDKiZsqcpAQpkV/aaj+FCrCg8r4I4qMkDPQjBgLIxlmu9k4nUbWq6ohXahOneYA==, - } + resolution: {integrity: sha512-dZBS6OrMjtgVkopB1Gmo4RQCDKiZsqcpAQpkV/aaj+FCrCg8r4I4qMkDPQjBgLIxlmu9k4nUbWq6ohXahOneYA==} dependencies: charenc: 0.0.2 crypt: 0.0.2 dev: true /shebang-command@2.0.0: - resolution: - { - integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} dependencies: shebang-regex: 3.0.0 dev: true /shebang-regex@3.0.0: - resolution: - { - integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} dev: true /shell-quote@1.8.1: - resolution: - { - integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==, - } + resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} dev: true /shelljs@0.8.5: - resolution: - { - integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} + engines: {node: '>=4'} hasBin: true dependencies: glob: 7.2.3 @@ -20125,18 +15506,12 @@ packages: dev: true /shimmer@1.2.1: - resolution: - { - integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==, - } + resolution: {integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==} dev: false /side-channel@1.0.6: - resolution: - { - integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 es-errors: 1.3.0 @@ -20145,55 +15520,34 @@ packages: dev: true /signal-exit@3.0.7: - resolution: - { - integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==, - } + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: true /signal-exit@4.1.0: - resolution: - { - integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} /signedsource@1.0.0: - resolution: - { - integrity: sha512-6+eerH9fEnNmi/hyM1DXcRK3pWdoMQtlkQ+ns0ntzunjKqp5i3sKCc80ym8Fib3iaYhdJUOPdhlJWj1tvge2Ww==, - } + resolution: {integrity: sha512-6+eerH9fEnNmi/hyM1DXcRK3pWdoMQtlkQ+ns0ntzunjKqp5i3sKCc80ym8Fib3iaYhdJUOPdhlJWj1tvge2Ww==} dev: true /sisteransi@1.0.5: - resolution: - { - integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==, - } + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} dev: true /slash@3.0.0: - resolution: - { - integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} dev: true /slash@4.0.0: - resolution: - { - integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} dev: true /slice-ansi@3.0.0: - resolution: - { - integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} + engines: {node: '>=8'} dependencies: ansi-styles: 4.3.0 astral-regex: 2.0.0 @@ -20201,11 +15555,8 @@ packages: dev: true /slice-ansi@4.0.0: - resolution: - { - integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} + engines: {node: '>=10'} dependencies: ansi-styles: 4.3.0 astral-regex: 2.0.0 @@ -20213,43 +15564,31 @@ packages: dev: true /slice-ansi@5.0.0: - resolution: - { - integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} + engines: {node: '>=12'} dependencies: ansi-styles: 6.2.1 is-fullwidth-code-point: 4.0.0 dev: true /slice-ansi@6.0.0: - resolution: - { - integrity: sha512-6bn4hRfkTvDfUoEQYkERg0BVF1D0vrX9HEkMl08uDiNWvVvjylLHvZFZWkDo6wjT8tUctbYl1nCOuE66ZTaUtA==, - } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-6bn4hRfkTvDfUoEQYkERg0BVF1D0vrX9HEkMl08uDiNWvVvjylLHvZFZWkDo6wjT8tUctbYl1nCOuE66ZTaUtA==} + engines: {node: '>=14.16'} dependencies: ansi-styles: 6.2.1 is-fullwidth-code-point: 4.0.0 dev: true /snake-case@3.0.4: - resolution: - { - integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==, - } + resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} dependencies: dot-case: 3.0.4 tslib: 2.6.2 dev: true /solc@0.7.3(debug@4.3.4): - resolution: - { - integrity: sha512-GAsWNAjGzIDg7VxzP6mPjdurby3IkGCjQcM8GFYZT6RyaoUZKmMU6Y7YwG+tFGhv7dwZ8rmR4iwFDrrD99JwqA==, - } - engines: { node: '>=8.0.0' } + resolution: {integrity: sha512-GAsWNAjGzIDg7VxzP6mPjdurby3IkGCjQcM8GFYZT6RyaoUZKmMU6Y7YwG+tFGhv7dwZ8rmR4iwFDrrD99JwqA==} + engines: {node: '>=8.0.0'} hasBin: true dependencies: command-exists: 1.2.9 @@ -20266,19 +15605,13 @@ packages: dev: true /solidity-ast@0.4.56: - resolution: - { - integrity: sha512-HgmsA/Gfklm/M8GFbCX/J1qkVH0spXHgALCNZ8fA8x5X+MFdn/8CP2gr5OVyXjXw6RZTPC/Sxl2RUDQOXyNMeA==, - } + resolution: {integrity: sha512-HgmsA/Gfklm/M8GFbCX/J1qkVH0spXHgALCNZ8fA8x5X+MFdn/8CP2gr5OVyXjXw6RZTPC/Sxl2RUDQOXyNMeA==} dependencies: array.prototype.findlast: 1.2.5 dev: true /solidity-coverage@0.8.12(hardhat@2.22.2): - resolution: - { - integrity: sha512-8cOB1PtjnjFRqOgwFiD8DaUsYJtVJ6+YdXQtSZDrLGf8cdhhh8xzTtGzVTGeBf15kTv0v7lYPJlV/az7zLEPJw==, - } + resolution: {integrity: sha512-8cOB1PtjnjFRqOgwFiD8DaUsYJtVJ6+YdXQtSZDrLGf8cdhhh8xzTtGzVTGeBf15kTv0v7lYPJlV/az7zLEPJw==} hasBin: true peerDependencies: hardhat: ^2.11.0 @@ -20306,10 +15639,7 @@ packages: dev: true /solidity-docgen@0.6.0-beta.36(hardhat@2.22.2): - resolution: - { - integrity: sha512-f/I5G2iJgU1h0XrrjRD0hHMr7C10u276vYvm//rw1TzFcYQ4xTOyAoi9oNAHRU0JU4mY9eTuxdVc2zahdMuhaQ==, - } + resolution: {integrity: sha512-f/I5G2iJgU1h0XrrjRD0hHMr7C10u276vYvm//rw1TzFcYQ4xTOyAoi9oNAHRU0JU4mY9eTuxdVc2zahdMuhaQ==} peerDependencies: hardhat: ^2.8.0 dependencies: @@ -20319,17 +15649,11 @@ packages: dev: true /sort-object-keys@1.1.3: - resolution: - { - integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==, - } + resolution: {integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==} dev: true /sort-package-json@2.10.0: - resolution: - { - integrity: sha512-MYecfvObMwJjjJskhxYfuOADkXp1ZMMnCFC8yhp+9HDsk7HhR336hd7eiBs96lTXfiqmUNI+WQCeCMRBhl251g==, - } + resolution: {integrity: sha512-MYecfvObMwJjjJskhxYfuOADkXp1ZMMnCFC8yhp+9HDsk7HhR336hd7eiBs96lTXfiqmUNI+WQCeCMRBhl251g==} hasBin: true dependencies: detect-indent: 7.0.1 @@ -20343,39 +15667,27 @@ packages: dev: true /source-map-js@1.2.0: - resolution: - { - integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} dev: true /source-map-support@0.5.13: - resolution: - { - integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==, - } + resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} dependencies: buffer-from: 1.1.2 source-map: 0.6.1 dev: true /source-map-support@0.5.21: - resolution: - { - integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==, - } + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} dependencies: buffer-from: 1.1.2 source-map: 0.6.1 dev: true /source-map@0.2.0: - resolution: - { - integrity: sha512-CBdZ2oa/BHhS4xj5DlhjWNHcan57/5YuvfdLf17iVmIpd9KRm+DFLmC6nBNj+6Ua7Kt3TmOjDpQT1aTYOQtoUA==, - } - engines: { node: '>=0.8.0' } + resolution: {integrity: sha512-CBdZ2oa/BHhS4xj5DlhjWNHcan57/5YuvfdLf17iVmIpd9KRm+DFLmC6nBNj+6Ua7Kt3TmOjDpQT1aTYOQtoUA==} + engines: {node: '>=0.8.0'} requiresBuild: true dependencies: amdefine: 1.0.1 @@ -20383,78 +15695,51 @@ packages: optional: true /source-map@0.6.1: - resolution: - { - integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} dev: true /spdx-correct@3.2.0: - resolution: - { - integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==, - } + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} dependencies: spdx-expression-parse: 3.0.1 spdx-license-ids: 3.0.17 dev: true /spdx-exceptions@2.5.0: - resolution: - { - integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==, - } + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} dev: true /spdx-expression-parse@3.0.1: - resolution: - { - integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==, - } + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} dependencies: spdx-exceptions: 2.5.0 spdx-license-ids: 3.0.17 dev: true /spdx-license-ids@3.0.17: - resolution: - { - integrity: sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==, - } + resolution: {integrity: sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==} dev: true /split2@3.2.2: - resolution: - { - integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==, - } + resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} dependencies: readable-stream: 3.6.2 dev: true /sponge-case@1.0.1: - resolution: - { - integrity: sha512-dblb9Et4DAtiZ5YSUZHLl4XhH4uK80GhAZrVXdN4O2P4gQ40Wa5UIOPUHlA/nFd2PLblBZWUioLMMAVrgpoYcA==, - } + resolution: {integrity: sha512-dblb9Et4DAtiZ5YSUZHLl4XhH4uK80GhAZrVXdN4O2P4gQ40Wa5UIOPUHlA/nFd2PLblBZWUioLMMAVrgpoYcA==} dependencies: tslib: 2.6.2 dev: true /sprintf-js@1.0.3: - resolution: - { - integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==, - } + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} dev: true /sst-aws-cdk@2.132.1: - resolution: - { - integrity: sha512-zep3sr+XkCmw9rHjgYQc44G+6s4eB/yxgLCCoi1h6R2AN8IarwZ4aHRwxAfigmJTPXYO6kmsxBIOcwjKy+oi3g==, - } - engines: { node: '>= 14.15.0' } + resolution: {integrity: sha512-zep3sr+XkCmw9rHjgYQc44G+6s4eB/yxgLCCoi1h6R2AN8IarwZ4aHRwxAfigmJTPXYO6kmsxBIOcwjKy+oi3g==} + engines: {node: '>= 14.15.0'} hasBin: true dependencies: archiver: 5.3.2 @@ -20467,10 +15752,7 @@ packages: dev: true /sst@2.41.4(@aws-sdk/credential-provider-node@3.554.0): - resolution: - { - integrity: sha512-a1o14VXlWWEQDI5izfv03Yo60Ne7JGm+j5agMiv9JrNMr0Ap+y9dTETGgrwPPpEb4EVFFIQnEFmyO1bIL7Bsdg==, - } + resolution: {integrity: sha512-a1o14VXlWWEQDI5izfv03Yo60Ne7JGm+j5agMiv9JrNMr0Ap+y9dTETGgrwPPpEb4EVFFIQnEFmyO1bIL7Bsdg==} hasBin: true peerDependencies: '@sls-next/lambda-at-edge': ^3.7.0 @@ -20560,120 +15842,81 @@ packages: dev: true /stack-chain@1.3.7: - resolution: - { - integrity: sha512-D8cWtWVdIe/jBA7v5p5Hwl5yOSOrmZPWDPe2KxQ5UAGD+nxbxU0lKXA4h85Ta6+qgdKVL3vUxsbIZjc1kBG7ug==, - } + resolution: {integrity: sha512-D8cWtWVdIe/jBA7v5p5Hwl5yOSOrmZPWDPe2KxQ5UAGD+nxbxU0lKXA4h85Ta6+qgdKVL3vUxsbIZjc1kBG7ug==} dev: false /stack-utils@2.0.6: - resolution: - { - integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} dependencies: escape-string-regexp: 2.0.0 dev: true /stacktrace-parser@0.1.10: - resolution: - { - integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==} + engines: {node: '>=6'} dependencies: type-fest: 0.7.1 dev: true /statuses@2.0.1: - resolution: - { - integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} dev: true /stdin-discarder@0.1.0: - resolution: - { - integrity: sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==, - } - engines: { node: ^12.20.0 || ^14.13.1 || >=16.0.0 } + resolution: {integrity: sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: bl: 5.1.0 dev: true /stream-shift@1.0.3: - resolution: - { - integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==, - } + resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==} dev: true /stream-to-array@2.3.0: - resolution: - { - integrity: sha512-UsZtOYEn4tWU2RGLOXr/o/xjRBftZRlG3dEWoaHr8j4GuypJ3isitGbVyjQKAuMu+xbiop8q224TjiZWc4XTZA==, - } + resolution: {integrity: sha512-UsZtOYEn4tWU2RGLOXr/o/xjRBftZRlG3dEWoaHr8j4GuypJ3isitGbVyjQKAuMu+xbiop8q224TjiZWc4XTZA==} dependencies: any-promise: 1.3.0 dev: true /streamsearch@1.1.0: - resolution: - { - integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==, - } - engines: { node: '>=10.0.0' } + resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} + engines: {node: '>=10.0.0'} dev: true /string-env-interpolation@1.0.1: - resolution: - { - integrity: sha512-78lwMoCcn0nNu8LszbP1UA7g55OeE4v7rCeWnM5B453rnNr4aq+5it3FEYtZrSEiMvHZOZ9Jlqb0OD0M2VInqg==, - } + resolution: {integrity: sha512-78lwMoCcn0nNu8LszbP1UA7g55OeE4v7rCeWnM5B453rnNr4aq+5it3FEYtZrSEiMvHZOZ9Jlqb0OD0M2VInqg==} dev: true /string-length@4.0.2: - resolution: - { - integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} + engines: {node: '>=10'} dependencies: char-regex: 1.0.2 strip-ansi: 6.0.1 dev: true /string-width@2.1.1: - resolution: - { - integrity: sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==} + engines: {node: '>=4'} dependencies: is-fullwidth-code-point: 2.0.0 strip-ansi: 4.0.0 dev: true /string-width@4.2.3: - resolution: - { - integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} dependencies: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 /string-width@5.1.2: - resolution: - { - integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} dependencies: eastasianwidth: 0.2.0 emoji-regex: 9.2.2 @@ -20681,11 +15924,8 @@ packages: dev: true /string.prototype.matchall@4.0.11: - resolution: - { - integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -20702,11 +15942,8 @@ packages: dev: true /string.prototype.trim@1.2.9: - resolution: - { - integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -20715,10 +15952,7 @@ packages: dev: true /string.prototype.trimend@1.0.8: - resolution: - { - integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==, - } + resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -20726,11 +15960,8 @@ packages: dev: true /string.prototype.trimstart@1.0.8: - resolution: - { - integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -20738,29 +15969,20 @@ packages: dev: true /string_decoder@1.1.1: - resolution: - { - integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==, - } + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} dependencies: safe-buffer: 5.1.2 dev: true /string_decoder@1.3.0: - resolution: - { - integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==, - } + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} dependencies: safe-buffer: 5.2.1 dev: true /stringify-object@3.3.0: - resolution: - { - integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} + engines: {node: '>=4'} dependencies: get-own-enumerable-property-symbols: 3.0.2 is-obj: 1.0.1 @@ -20768,183 +15990,123 @@ packages: dev: true /strip-ansi@4.0.0: - resolution: - { - integrity: sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==} + engines: {node: '>=4'} dependencies: ansi-regex: 3.0.1 dev: true /strip-ansi@6.0.1: - resolution: - { - integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} dependencies: ansi-regex: 5.0.1 /strip-ansi@7.1.0: - resolution: - { - integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} dependencies: ansi-regex: 6.0.1 dev: true /strip-bom@3.0.0: - resolution: - { - integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} dev: true /strip-bom@4.0.0: - resolution: - { - integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} dev: true /strip-final-newline@2.0.0: - resolution: - { - integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} dev: true /strip-hex-prefix@1.0.0: - resolution: - { - integrity: sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==, - } - engines: { node: '>=6.5.0', npm: '>=3' } + resolution: {integrity: sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==} + engines: {node: '>=6.5.0', npm: '>=3'} dependencies: is-hex-prefixed: 1.0.0 dev: true /strip-indent@3.0.0: - resolution: - { - integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} dependencies: min-indent: 1.0.1 dev: true /strip-json-comments@2.0.1: - resolution: - { - integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} dev: true /strip-json-comments@3.1.1: - resolution: - { - integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} dev: true /strnum@1.0.5: - resolution: - { - integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==, - } + resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} dev: true /stylus-lookup@5.0.1: - resolution: - { - integrity: sha512-tLtJEd5AGvnVy4f9UHQMw4bkJJtaAcmo54N+ovQBjDY3DuWyK9Eltxzr5+KG0q4ew6v2EHyuWWNnHeiw/Eo7rQ==, - } - engines: { node: '>=14' } + resolution: {integrity: sha512-tLtJEd5AGvnVy4f9UHQMw4bkJJtaAcmo54N+ovQBjDY3DuWyK9Eltxzr5+KG0q4ew6v2EHyuWWNnHeiw/Eo7rQ==} + engines: {node: '>=14'} hasBin: true dependencies: commander: 10.0.1 dev: true /superjson@1.13.3: - resolution: - { - integrity: sha512-mJiVjfd2vokfDxsQPOwJ/PtanO87LhpYY88ubI5dUB1Ab58Txbyje3+jpm+/83R/fevaq/107NNhtYBLuoTrFg==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-mJiVjfd2vokfDxsQPOwJ/PtanO87LhpYY88ubI5dUB1Ab58Txbyje3+jpm+/83R/fevaq/107NNhtYBLuoTrFg==} + engines: {node: '>=10'} dependencies: copy-anything: 3.0.5 dev: false /supports-color@3.2.3: - resolution: - { - integrity: sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==, - } - engines: { node: '>=0.8.0' } + resolution: {integrity: sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==} + engines: {node: '>=0.8.0'} dependencies: has-flag: 1.0.0 dev: true /supports-color@5.5.0: - resolution: - { - integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} dependencies: has-flag: 3.0.0 dev: true /supports-color@7.2.0: - resolution: - { - integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} dependencies: has-flag: 4.0.0 /supports-color@8.1.1: - resolution: - { - integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} dependencies: has-flag: 4.0.0 dev: true /supports-preserve-symlinks-flag@1.0.0: - resolution: - { - integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} /swap-case@2.0.2: - resolution: - { - integrity: sha512-kc6S2YS/2yXbtkSMunBtKdah4VFETZ8Oh6ONSmSd9bRxhqTrtARUCBUiWXH3xVPpvR7tz2CSnkuXVE42EcGnMw==, - } + resolution: {integrity: sha512-kc6S2YS/2yXbtkSMunBtKdah4VFETZ8Oh6ONSmSd9bRxhqTrtARUCBUiWXH3xVPpvR7tz2CSnkuXVE42EcGnMw==} dependencies: tslib: 2.6.2 dev: true /sync-request@6.1.0: - resolution: - { - integrity: sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==, - } - engines: { node: '>=8.0.0' } + resolution: {integrity: sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==} + engines: {node: '>=8.0.0'} dependencies: http-response-object: 3.0.2 sync-rpc: 1.3.6 @@ -20952,31 +16114,22 @@ packages: dev: true /sync-rpc@1.3.6: - resolution: - { - integrity: sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==, - } + resolution: {integrity: sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==} dependencies: get-port: 3.2.0 dev: true /synckit@0.9.0: - resolution: - { - integrity: sha512-7RnqIMq572L8PeEzKeBINYEJDDxpcH8JEgLwUqBd3TkofhFRbkq4QLR0u+36avGAhCRbk2nnmjcW9SE531hPDg==, - } - engines: { node: ^14.18.0 || >=16.0.0 } + resolution: {integrity: sha512-7RnqIMq572L8PeEzKeBINYEJDDxpcH8JEgLwUqBd3TkofhFRbkq4QLR0u+36avGAhCRbk2nnmjcW9SE531hPDg==} + engines: {node: ^14.18.0 || >=16.0.0} dependencies: '@pkgr/core': 0.1.1 tslib: 2.6.2 dev: true /table@6.8.2: - resolution: - { - integrity: sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==, - } - engines: { node: '>=10.0.0' } + resolution: {integrity: sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==} + engines: {node: '>=10.0.0'} dependencies: ajv: 8.12.0 lodash.truncate: 4.4.2 @@ -20986,19 +16139,13 @@ packages: dev: true /tapable@2.2.1: - resolution: - { - integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} dev: true /tar-stream@2.2.0: - resolution: - { - integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} dependencies: bl: 4.1.0 end-of-stream: 1.4.4 @@ -21008,11 +16155,8 @@ packages: dev: true /test-exclude@6.0.0: - resolution: - { - integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} dependencies: '@istanbuljs/schema': 0.1.3 glob: 7.2.3 @@ -21020,18 +16164,12 @@ packages: dev: true /text-table@0.2.0: - resolution: - { - integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==, - } + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} dev: true /then-request@6.0.2: - resolution: - { - integrity: sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==, - } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==} + engines: {node: '>=6.0.0'} dependencies: '@types/concat-stream': 1.6.1 '@types/form-data': 0.0.33 @@ -21047,90 +16185,57 @@ packages: dev: true /through@2.3.8: - resolution: - { - integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==, - } + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} dev: true /tiny-emitter@2.1.0: - resolution: - { - integrity: sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==, - } + resolution: {integrity: sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==} dev: true /title-case@3.0.3: - resolution: - { - integrity: sha512-e1zGYRvbffpcHIrnuqT0Dh+gEJtDaxDSoG4JAIpq4oDFyooziLBIiYQv0GBT4FUAnUop5uZ1hiIAj7oAF6sOCA==, - } + resolution: {integrity: sha512-e1zGYRvbffpcHIrnuqT0Dh+gEJtDaxDSoG4JAIpq4oDFyooziLBIiYQv0GBT4FUAnUop5uZ1hiIAj7oAF6sOCA==} dependencies: tslib: 2.6.2 dev: true /tmp@0.0.33: - resolution: - { - integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==, - } - engines: { node: '>=0.6.0' } + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} dependencies: os-tmpdir: 1.0.2 /tmpl@1.0.5: - resolution: - { - integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==, - } + resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} dev: true /to-fast-properties@2.0.0: - resolution: - { - integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} dev: true /to-regex-range@5.0.1: - resolution: - { - integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==, - } - engines: { node: '>=8.0' } + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} dependencies: is-number: 7.0.0 dev: true /toidentifier@1.0.1: - resolution: - { - integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==, - } - engines: { node: '>=0.6' } + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} dev: true /tr46@0.0.3: - resolution: - { - integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==, - } + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} /tree-kill@1.2.2: - resolution: - { - integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==, - } + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true dev: true /ts-api-utils@1.3.0(typescript@5.4.5): - resolution: - { - integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==, - } - engines: { node: '>=16' } + resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} + engines: {node: '>=16'} peerDependencies: typescript: '>=4.2.0' dependencies: @@ -21138,19 +16243,13 @@ packages: dev: true /ts-graphviz@1.8.2: - resolution: - { - integrity: sha512-5YhbFoHmjxa7pgQLkB07MtGnGJ/yhvjmc9uhsnDBEICME6gkPf83SBwLDQqGDoCa3XzUMWLk1AU2Wn1u1naDtA==, - } - engines: { node: '>=14.16' } + resolution: {integrity: sha512-5YhbFoHmjxa7pgQLkB07MtGnGJ/yhvjmc9uhsnDBEICME6gkPf83SBwLDQqGDoCa3XzUMWLk1AU2Wn1u1naDtA==} + engines: {node: '>=14.16'} dev: true /ts-jest@29.1.2(@babel/core@7.24.4)(esbuild@0.20.2)(jest@29.7.0)(typescript@5.4.5): - resolution: - { - integrity: sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g==, - } - engines: { node: ^16.10.0 || ^18.0.0 || >=20.0.0 } + resolution: {integrity: sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g==} + engines: {node: ^16.10.0 || ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@babel/core': '>=7.0.0-beta.0 <8' @@ -21184,17 +16283,11 @@ packages: dev: true /ts-log@2.2.5: - resolution: - { - integrity: sha512-PGcnJoTBnVGy6yYNFxWVNkdcAuAMstvutN9MgDJIV6L0oG8fB+ZNNy1T+wJzah8RPGor1mZuPQkVfXNDpy9eHA==, - } + resolution: {integrity: sha512-PGcnJoTBnVGy6yYNFxWVNkdcAuAMstvutN9MgDJIV6L0oG8fB+ZNNy1T+wJzah8RPGor1mZuPQkVfXNDpy9eHA==} dev: true /ts-node@10.9.2(@types/node@20.12.7)(typescript@5.0.4): - resolution: - { - integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==, - } + resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: '@swc/core': '>=1.2.50' @@ -21225,10 +16318,7 @@ packages: dev: true /tsc-alias@1.8.8: - resolution: - { - integrity: sha512-OYUOd2wl0H858NvABWr/BoSKNERw3N9GTi3rHPK8Iv4O1UyUXIrTTOAZNHsjlVpXFOhpJBVARI1s+rzwLivN3Q==, - } + resolution: {integrity: sha512-OYUOd2wl0H858NvABWr/BoSKNERw3N9GTi3rHPK8Iv4O1UyUXIrTTOAZNHsjlVpXFOhpJBVARI1s+rzwLivN3Q==} hasBin: true dependencies: chokidar: 3.6.0 @@ -21240,10 +16330,7 @@ packages: dev: true /tsconfig-paths@3.15.0: - resolution: - { - integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==, - } + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} dependencies: '@types/json5': 0.0.29 json5: 1.0.2 @@ -21252,11 +16339,8 @@ packages: dev: true /tsconfig-paths@4.2.0: - resolution: - { - integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} + engines: {node: '>=6'} dependencies: json5: 2.2.3 minimist: 1.2.8 @@ -21264,53 +16348,33 @@ packages: dev: true /tslib@1.14.1: - resolution: - { - integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==, - } + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} dev: true /tslib@2.4.0: - resolution: - { - integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==, - } + resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} dev: true /tslib@2.6.2: - resolution: - { - integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==, - } + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} /tsort@0.0.1: - resolution: - { - integrity: sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==, - } + resolution: {integrity: sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==} dev: true /tsutils@3.21.0(typescript@5.4.5): - resolution: - { - integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} peerDependencies: - typescript: - '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || - >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 typescript: 5.4.5 dev: true /tsx@4.7.2: - resolution: - { - integrity: sha512-BCNd4kz6fz12fyrgCTEdZHGJ9fWTGeUzXmQysh0RVocDY3h4frk05ZNCXSy4kIenF7y/QnrdiVpTsyNRn6vlAw==, - } - engines: { node: '>=18.0.0' } + resolution: {integrity: sha512-BCNd4kz6fz12fyrgCTEdZHGJ9fWTGeUzXmQysh0RVocDY3h4frk05ZNCXSy4kIenF7y/QnrdiVpTsyNRn6vlAw==} + engines: {node: '>=18.0.0'} hasBin: true dependencies: esbuild: 0.19.12 @@ -21320,10 +16384,7 @@ packages: dev: true /turbo-darwin-64@1.13.2: - resolution: - { - integrity: sha512-CCSuD8CfmtncpohCuIgq7eAzUas0IwSbHfI8/Q3vKObTdXyN8vAo01gwqXjDGpzG9bTEVedD0GmLbD23dR0MLA==, - } + resolution: {integrity: sha512-CCSuD8CfmtncpohCuIgq7eAzUas0IwSbHfI8/Q3vKObTdXyN8vAo01gwqXjDGpzG9bTEVedD0GmLbD23dR0MLA==} cpu: [x64] os: [darwin] requiresBuild: true @@ -21331,10 +16392,7 @@ packages: optional: true /turbo-darwin-arm64@1.13.2: - resolution: - { - integrity: sha512-0HySm06/D2N91rJJ89FbiI/AodmY8B3WDSFTVEpu2+8spUw7hOJ8okWOT0e5iGlyayUP9gr31eOeL3VFZkpfCw==, - } + resolution: {integrity: sha512-0HySm06/D2N91rJJ89FbiI/AodmY8B3WDSFTVEpu2+8spUw7hOJ8okWOT0e5iGlyayUP9gr31eOeL3VFZkpfCw==} cpu: [arm64] os: [darwin] requiresBuild: true @@ -21342,10 +16400,7 @@ packages: optional: true /turbo-linux-64@1.13.2: - resolution: - { - integrity: sha512-7HnibgbqZrjn4lcfIouzlPu8ZHSBtURG4c7Bedu7WJUDeZo+RE1crlrQm8wuwO54S0siYqUqo7GNHxu4IXbioQ==, - } + resolution: {integrity: sha512-7HnibgbqZrjn4lcfIouzlPu8ZHSBtURG4c7Bedu7WJUDeZo+RE1crlrQm8wuwO54S0siYqUqo7GNHxu4IXbioQ==} cpu: [x64] os: [linux] requiresBuild: true @@ -21353,10 +16408,7 @@ packages: optional: true /turbo-linux-arm64@1.13.2: - resolution: - { - integrity: sha512-sUq4dbpk6SNKg/Hkwn256Vj2AEYSQdG96repio894h5/LEfauIK2QYiC/xxAeW3WBMc6BngmvNyURIg7ltrePg==, - } + resolution: {integrity: sha512-sUq4dbpk6SNKg/Hkwn256Vj2AEYSQdG96repio894h5/LEfauIK2QYiC/xxAeW3WBMc6BngmvNyURIg7ltrePg==} cpu: [arm64] os: [linux] requiresBuild: true @@ -21364,10 +16416,7 @@ packages: optional: true /turbo-windows-64@1.13.2: - resolution: - { - integrity: sha512-DqzhcrciWq3dpzllJR2VVIyOhSlXYCo4mNEWl98DJ3FZ08PEzcI3ceudlH6F0t/nIcfSItK1bDP39cs7YoZHEA==, - } + resolution: {integrity: sha512-DqzhcrciWq3dpzllJR2VVIyOhSlXYCo4mNEWl98DJ3FZ08PEzcI3ceudlH6F0t/nIcfSItK1bDP39cs7YoZHEA==} cpu: [x64] os: [win32] requiresBuild: true @@ -21375,10 +16424,7 @@ packages: optional: true /turbo-windows-arm64@1.13.2: - resolution: - { - integrity: sha512-WnPMrwfCXxK69CdDfS1/j2DlzcKxSmycgDAqV0XCYpK/812KB0KlvsVAt5PjEbZGXkY88pCJ1BLZHAjF5FcbqA==, - } + resolution: {integrity: sha512-WnPMrwfCXxK69CdDfS1/j2DlzcKxSmycgDAqV0XCYpK/812KB0KlvsVAt5PjEbZGXkY88pCJ1BLZHAjF5FcbqA==} cpu: [arm64] os: [win32] requiresBuild: true @@ -21386,10 +16432,7 @@ packages: optional: true /turbo@1.13.2: - resolution: - { - integrity: sha512-rX/d9f4MgRT3yK6cERPAkfavIxbpBZowDQpgvkYwGMGDQ0Nvw1nc0NVjruE76GrzXQqoxR1UpnmEP54vBARFHQ==, - } + resolution: {integrity: sha512-rX/d9f4MgRT3yK6cERPAkfavIxbpBZowDQpgvkYwGMGDQ0Nvw1nc0NVjruE76GrzXQqoxR1UpnmEP54vBARFHQ==} hasBin: true optionalDependencies: turbo-darwin-64: 1.13.2 @@ -21401,111 +16444,72 @@ packages: dev: true /tweetnacl-util@0.15.1: - resolution: - { - integrity: sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==, - } + resolution: {integrity: sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==} dev: true /tweetnacl@1.0.3: - resolution: - { - integrity: sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==, - } + resolution: {integrity: sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==} dev: true /type-check@0.3.2: - resolution: - { - integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==, - } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} + engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.1.2 dev: true /type-check@0.4.0: - resolution: - { - integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==, - } - engines: { node: '>= 0.8.0' } + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.2.1 dev: true /type-detect@4.0.8: - resolution: - { - integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==, - } - engines: { node: '>=4' } + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} dev: true /type-fest@0.12.0: - resolution: - { - integrity: sha512-53RyidyjvkGpnWPMF9bQgFtWp+Sl8O2Rp13VavmJgfAP9WWG6q6TkrKU8iyJdnwnfgHI6k2hTlgqH4aSdjoTbg==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-53RyidyjvkGpnWPMF9bQgFtWp+Sl8O2Rp13VavmJgfAP9WWG6q6TkrKU8iyJdnwnfgHI6k2hTlgqH4aSdjoTbg==} + engines: {node: '>=10'} dev: true /type-fest@0.20.2: - resolution: - { - integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} dev: true /type-fest@0.21.3: - resolution: - { - integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} /type-fest@0.6.0: - resolution: - { - integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} dev: true /type-fest@0.7.1: - resolution: - { - integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} + engines: {node: '>=8'} dev: true /type-fest@0.8.1: - resolution: - { - integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} dev: true /type-is@1.6.18: - resolution: - { - integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==, - } - engines: { node: '>= 0.6' } + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} dependencies: media-typer: 0.3.0 mime-types: 2.1.35 dev: true /typed-array-buffer@1.0.2: - resolution: - { - integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 es-errors: 1.3.0 @@ -21513,11 +16517,8 @@ packages: dev: true /typed-array-byte-length@1.0.1: - resolution: - { - integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 for-each: 0.3.3 @@ -21527,11 +16528,8 @@ packages: dev: true /typed-array-byte-offset@1.0.2: - resolution: - { - integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} + engines: {node: '>= 0.4'} dependencies: available-typed-arrays: 1.0.7 call-bind: 1.0.7 @@ -21542,11 +16540,8 @@ packages: dev: true /typed-array-length@1.0.6: - resolution: - { - integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 for-each: 0.3.3 @@ -21557,67 +16552,43 @@ packages: dev: true /typed-function@2.1.0: - resolution: - { - integrity: sha512-bctQIOqx2iVbWGDGPWwIm18QScpu2XRmkC19D8rQGFsjKSgteq/o1hTZvIG/wuDq8fanpBDrLkLq+aEN/6y5XQ==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-bctQIOqx2iVbWGDGPWwIm18QScpu2XRmkC19D8rQGFsjKSgteq/o1hTZvIG/wuDq8fanpBDrLkLq+aEN/6y5XQ==} + engines: {node: '>= 10'} dev: true /typedarray@0.0.6: - resolution: - { - integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==, - } + resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} dev: true /typescript@5.0.4: - resolution: - { - integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==, - } - engines: { node: '>=12.20' } + resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==} + engines: {node: '>=12.20'} hasBin: true dev: true /typescript@5.4.5: - resolution: - { - integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==, - } - engines: { node: '>=14.17' } + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} hasBin: true /ua-parser-js@1.0.37: - resolution: - { - integrity: sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==, - } + resolution: {integrity: sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==} dev: true /uglify-js@3.17.4: - resolution: - { - integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==, - } - engines: { node: '>=0.8.0' } + resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==} + engines: {node: '>=0.8.0'} hasBin: true requiresBuild: true dev: true optional: true /ultron@1.1.1: - resolution: - { - integrity: sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==, - } + resolution: {integrity: sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==} dev: true /unbox-primitive@1.0.2: - resolution: - { - integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==, - } + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: call-bind: 1.0.7 has-bigints: 1.0.2 @@ -21626,68 +16597,44 @@ packages: dev: true /unc-path-regex@0.1.2: - resolution: - { - integrity: sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==} + engines: {node: '>=0.10.0'} dev: true /undici-types@5.26.5: - resolution: - { - integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==, - } + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} /undici@5.28.4: - resolution: - { - integrity: sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==, - } - engines: { node: '>=14.0' } + resolution: {integrity: sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==} + engines: {node: '>=14.0'} dependencies: '@fastify/busboy': 2.1.1 dev: true /universalify@0.1.2: - resolution: - { - integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==, - } - engines: { node: '>= 4.0.0' } + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} dev: true /universalify@2.0.1: - resolution: - { - integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==, - } - engines: { node: '>= 10.0.0' } + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} dev: true /unixify@1.0.0: - resolution: - { - integrity: sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg==} + engines: {node: '>=0.10.0'} dependencies: normalize-path: 2.1.1 dev: true /unpipe@1.0.0: - resolution: - { - integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} dev: true /update-browserslist-db@1.0.13(browserslist@4.23.0): - resolution: - { - integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==, - } + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' @@ -21698,75 +16645,48 @@ packages: dev: true /upper-case-first@2.0.2: - resolution: - { - integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==, - } + resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} dependencies: tslib: 2.6.2 dev: true /upper-case@2.0.2: - resolution: - { - integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==, - } + resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==} dependencies: tslib: 2.6.2 dev: true /uri-js@4.4.1: - resolution: - { - integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==, - } + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: punycode: 2.3.1 dev: true /url@0.10.3: - resolution: - { - integrity: sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==, - } + resolution: {integrity: sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==} dependencies: punycode: 1.3.2 querystring: 0.2.0 dev: true /urlpattern-polyfill@10.0.0: - resolution: - { - integrity: sha512-H/A06tKD7sS1O1X2SshBVeA5FLycRpjqiBeqGKmBwBDBy28EnRjORxTNe269KSSr5un5qyWi1iL61wLxpd+ZOg==, - } + resolution: {integrity: sha512-H/A06tKD7sS1O1X2SshBVeA5FLycRpjqiBeqGKmBwBDBy28EnRjORxTNe269KSSr5un5qyWi1iL61wLxpd+ZOg==} dev: true /urlpattern-polyfill@8.0.2: - resolution: - { - integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==, - } + resolution: {integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==} dev: true /utf8@3.0.0: - resolution: - { - integrity: sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==, - } + resolution: {integrity: sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==} dev: true /util-deprecate@1.0.2: - resolution: - { - integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==, - } + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} dev: true /util@0.12.5: - resolution: - { - integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==, - } + resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} dependencies: inherits: 2.0.4 is-arguments: 1.1.1 @@ -21776,50 +16696,32 @@ packages: dev: true /utils-merge@1.0.1: - resolution: - { - integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==, - } - engines: { node: '>= 0.4.0' } + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} dev: true /uuid@8.0.0: - resolution: - { - integrity: sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==, - } + resolution: {integrity: sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==} hasBin: true dev: true /uuid@8.3.2: - resolution: - { - integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==, - } + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} hasBin: true dev: true /uuid@9.0.1: - resolution: - { - integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==, - } + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} hasBin: true dev: true /v8-compile-cache-lib@3.0.1: - resolution: - { - integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==, - } + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} dev: true /v8-to-istanbul@9.2.0: - resolution: - { - integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==, - } - engines: { node: '>=10.12.0' } + resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} + engines: {node: '>=10.12.0'} dependencies: '@jridgewell/trace-mapping': 0.3.25 '@types/istanbul-lib-coverage': 2.0.6 @@ -21827,36 +16729,24 @@ packages: dev: true /validate-npm-package-license@3.0.4: - resolution: - { - integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==, - } + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} dependencies: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 dev: true /value-or-promise@1.0.12: - resolution: - { - integrity: sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q==} + engines: {node: '>=12'} dev: true /vary@1.1.2: - resolution: - { - integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==, - } - engines: { node: '>= 0.8' } + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} dev: true /viem@1.21.4(typescript@5.0.4)(zod@3.22.4): - resolution: - { - integrity: sha512-BNVYdSaUjeS2zKQgPs+49e5JKocfo60Ib2yiXOWBT6LuVxY1I/6fFX3waEtpXvL1Xn4qu+BVitVtMh9lyThyhQ==, - } + resolution: {integrity: sha512-BNVYdSaUjeS2zKQgPs+49e5JKocfo60Ib2yiXOWBT6LuVxY1I/6fFX3waEtpXvL1Xn4qu+BVitVtMh9lyThyhQ==} peerDependencies: typescript: '>=5.0.4' peerDependenciesMeta: @@ -21879,10 +16769,7 @@ packages: dev: true /viem@1.21.4(typescript@5.4.5)(zod@3.22.4): - resolution: - { - integrity: sha512-BNVYdSaUjeS2zKQgPs+49e5JKocfo60Ib2yiXOWBT6LuVxY1I/6fFX3waEtpXvL1Xn4qu+BVitVtMh9lyThyhQ==, - } + resolution: {integrity: sha512-BNVYdSaUjeS2zKQgPs+49e5JKocfo60Ib2yiXOWBT6LuVxY1I/6fFX3waEtpXvL1Xn4qu+BVitVtMh9lyThyhQ==} peerDependencies: typescript: '>=5.0.4' peerDependenciesMeta: @@ -21905,10 +16792,7 @@ packages: dev: false /viem@2.9.19(typescript@5.4.5)(zod@3.22.4): - resolution: - { - integrity: sha512-1txsVoTz9+XGQpuN62wcDXasNtalW52UR41KnzwWTwHtV2cDcGuVuS/j/hcuQdZ7pU8X8jtq2IrwwR4jjKpy9Q==, - } + resolution: {integrity: sha512-1txsVoTz9+XGQpuN62wcDXasNtalW52UR41KnzwWTwHtV2cDcGuVuS/j/hcuQdZ7pU8X8jtq2IrwwR4jjKpy9Q==} peerDependencies: typescript: '>=5.0.4' peerDependenciesMeta: @@ -21931,44 +16815,29 @@ packages: dev: false /walkdir@0.4.1: - resolution: - { - integrity: sha512-3eBwRyEln6E1MSzcxcVpQIhRG8Q1jLvEqRmCZqS3dsfXEDR/AhOF4d+jHg1qvDCpYaVRZjENPQyrVxAkQqxPgQ==, - } - engines: { node: '>=6.0.0' } + resolution: {integrity: sha512-3eBwRyEln6E1MSzcxcVpQIhRG8Q1jLvEqRmCZqS3dsfXEDR/AhOF4d+jHg1qvDCpYaVRZjENPQyrVxAkQqxPgQ==} + engines: {node: '>=6.0.0'} dev: true /walker@1.0.8: - resolution: - { - integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==, - } + resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} dependencies: makeerror: 1.0.12 dev: true /wcwidth@1.0.1: - resolution: - { - integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==, - } + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} dependencies: defaults: 1.0.4 dev: true /web-streams-polyfill@3.3.3: - resolution: - { - integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==, - } - engines: { node: '>= 8' } + resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} + engines: {node: '>= 8'} /web3-utils@1.10.4: - resolution: - { - integrity: sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A==, - } - engines: { node: '>=8.0.0' } + resolution: {integrity: sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A==} + engines: {node: '>=8.0.0'} dependencies: '@ethereumjs/util': 8.1.0 bn.js: 5.2.1 @@ -21981,10 +16850,7 @@ packages: dev: true /webcrypto-core@1.7.9: - resolution: - { - integrity: sha512-FE+a4PPkOmBbgNDIyRmcHhgXn+2ClRl3JzJdDu/P4+B8y81LqKe6RAsI9b3lAOHe1T1BMkSjsRHTYRikImZnVA==, - } + resolution: {integrity: sha512-FE+a4PPkOmBbgNDIyRmcHhgXn+2ClRl3JzJdDu/P4+B8y81LqKe6RAsI9b3lAOHe1T1BMkSjsRHTYRikImZnVA==} dependencies: '@peculiar/asn1-schema': 2.3.8 '@peculiar/json-schema': 1.1.12 @@ -21994,16 +16860,10 @@ packages: dev: true /webidl-conversions@3.0.1: - resolution: - { - integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==, - } + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} /websocket-stream@5.5.2: - resolution: - { - integrity: sha512-8z49MKIHbGk3C4HtuHWDtYX8mYej1wWabjthC/RupM9ngeukU4IWoM46dgth1UOS/T4/IqgEdCDJuMe2039OQQ==, - } + resolution: {integrity: sha512-8z49MKIHbGk3C4HtuHWDtYX8mYej1wWabjthC/RupM9ngeukU4IWoM46dgth1UOS/T4/IqgEdCDJuMe2039OQQ==} dependencies: duplexify: 3.7.1 inherits: 2.0.4 @@ -22017,19 +16877,13 @@ packages: dev: true /whatwg-url@5.0.0: - resolution: - { - integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==, - } + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 /which-boxed-primitive@1.0.2: - resolution: - { - integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==, - } + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} dependencies: is-bigint: 1.0.4 is-boolean-object: 1.1.2 @@ -22039,11 +16893,8 @@ packages: dev: true /which-builtin-type@1.1.3: - resolution: - { - integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==} + engines: {node: '>= 0.4'} dependencies: function.prototype.name: 1.1.6 has-tostringtag: 1.0.2 @@ -22060,11 +16911,8 @@ packages: dev: true /which-collection@1.0.2: - resolution: - { - integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} dependencies: is-map: 2.0.3 is-set: 2.0.3 @@ -22073,18 +16921,12 @@ packages: dev: true /which-module@2.0.1: - resolution: - { - integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==, - } + resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} dev: true /which-typed-array@1.1.15: - resolution: - { - integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==, - } - engines: { node: '>= 0.4' } + resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} + engines: {node: '>= 0.4'} dependencies: available-typed-arrays: 1.0.7 call-bind: 1.0.7 @@ -22094,85 +16936,58 @@ packages: dev: true /which@1.3.1: - resolution: - { - integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==, - } + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} hasBin: true dependencies: isexe: 2.0.0 dev: true /which@2.0.2: - resolution: - { - integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==, - } - engines: { node: '>= 8' } + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} hasBin: true dependencies: isexe: 2.0.0 dev: true /widest-line@3.1.0: - resolution: - { - integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} + engines: {node: '>=8'} dependencies: string-width: 4.2.3 dev: true /widest-line@4.0.1: - resolution: - { - integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} + engines: {node: '>=12'} dependencies: string-width: 5.1.2 dev: true /word-wrap@1.2.5: - resolution: - { - integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==, - } - engines: { node: '>=0.10.0' } + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} dev: true /wordwrap@1.0.0: - resolution: - { - integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==, - } + resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} dev: true /workerpool@6.2.1: - resolution: - { - integrity: sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==, - } + resolution: {integrity: sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==} dev: true /wrap-ansi@6.2.0: - resolution: - { - integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 /wrap-ansi@7.0.0: - resolution: - { - integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 @@ -22180,11 +16995,8 @@ packages: dev: true /wrap-ansi@8.1.0: - resolution: - { - integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} dependencies: ansi-styles: 6.2.1 string-width: 5.1.2 @@ -22192,28 +17004,19 @@ packages: dev: true /wrappy@1.0.2: - resolution: - { - integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, - } + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} dev: true /write-file-atomic@4.0.2: - resolution: - { - integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==, - } - engines: { node: ^12.13.0 || ^14.15.0 || >=16.0.0 } + resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: imurmurhash: 0.1.4 signal-exit: 3.0.7 dev: true /ws@3.3.3: - resolution: - { - integrity: sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==, - } + resolution: {integrity: sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==} peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ^5.0.2 @@ -22229,11 +17032,8 @@ packages: dev: true /ws@7.4.6: - resolution: - { - integrity: sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==, - } - engines: { node: '>=8.3.0' } + resolution: {integrity: sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==} + engines: {node: '>=8.3.0'} peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ^5.0.2 @@ -22244,11 +17044,8 @@ packages: optional: true /ws@7.5.9: - resolution: - { - integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==, - } - engines: { node: '>=8.3.0' } + resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==} + engines: {node: '>=8.3.0'} peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ^5.0.2 @@ -22260,11 +17057,8 @@ packages: dev: true /ws@8.13.0: - resolution: - { - integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==, - } - engines: { node: '>=10.0.0' } + resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} + engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 utf-8-validate: '>=5.0.2' @@ -22275,11 +17069,8 @@ packages: optional: true /ws@8.16.0: - resolution: - { - integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==, - } - engines: { node: '>=10.0.0' } + resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==} + engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 utf-8-validate: '>=5.0.2' @@ -22291,11 +17082,8 @@ packages: dev: true /ws@8.5.0: - resolution: - { - integrity: sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==, - } - engines: { node: '>=10.0.0' } + resolution: {integrity: sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==} + engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ^5.0.2 @@ -22307,117 +17095,75 @@ packages: dev: true /xml2js@0.6.2: - resolution: - { - integrity: sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==, - } - engines: { node: '>=4.0.0' } + resolution: {integrity: sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==} + engines: {node: '>=4.0.0'} dependencies: sax: 1.2.1 xmlbuilder: 11.0.1 dev: true /xmlbuilder@11.0.1: - resolution: - { - integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==, - } - engines: { node: '>=4.0' } + resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==} + engines: {node: '>=4.0'} dev: true /xtend@4.0.2: - resolution: - { - integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==, - } - engines: { node: '>=0.4' } + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} dev: true /y18n@4.0.3: - resolution: - { - integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==, - } + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} dev: true /y18n@5.0.8: - resolution: - { - integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} dev: true /yallist@3.1.1: - resolution: - { - integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==, - } + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} dev: true /yallist@4.0.0: - resolution: - { - integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==, - } + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} /yaml-ast-parser@0.0.43: - resolution: - { - integrity: sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==, - } + resolution: {integrity: sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==} dev: true /yaml@1.10.2: - resolution: - { - integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==, - } - engines: { node: '>= 6' } + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} dev: true /yaml@2.4.1: - resolution: - { - integrity: sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==, - } - engines: { node: '>= 14' } + resolution: {integrity: sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==} + engines: {node: '>= 14'} hasBin: true dev: true /yargs-parser@18.1.3: - resolution: - { - integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} + engines: {node: '>=6'} dependencies: camelcase: 5.3.1 decamelize: 1.2.0 dev: true /yargs-parser@20.2.4: - resolution: - { - integrity: sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==} + engines: {node: '>=10'} dev: true /yargs-parser@21.1.1: - resolution: - { - integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} dev: true /yargs-unparser@2.0.0: - resolution: - { - integrity: sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==} + engines: {node: '>=10'} dependencies: camelcase: 6.3.0 decamelize: 4.0.0 @@ -22426,11 +17172,8 @@ packages: dev: true /yargs@15.4.1: - resolution: - { - integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==, - } - engines: { node: '>=8' } + resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} + engines: {node: '>=8'} dependencies: cliui: 6.0.0 decamelize: 1.2.0 @@ -22446,11 +17189,8 @@ packages: dev: true /yargs@16.2.0: - resolution: - { - integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + engines: {node: '>=10'} dependencies: cliui: 7.0.4 escalade: 3.1.2 @@ -22462,11 +17202,8 @@ packages: dev: true /yargs@17.7.2: - resolution: - { - integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==, - } - engines: { node: '>=12' } + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} dependencies: cliui: 8.0.1 escalade: 3.1.2 @@ -22478,34 +17215,22 @@ packages: dev: true /yn@3.1.1: - resolution: - { - integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==, - } - engines: { node: '>=6' } + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} dev: true /yocto-queue@0.1.0: - resolution: - { - integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==, - } - engines: { node: '>=10' } + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} dev: true /yoga-wasm-web@0.3.3: - resolution: - { - integrity: sha512-N+d4UJSJbt/R3wqY7Coqs5pcV0aUj2j9IaQ3rNj9bVCLld8tTGKRa2USARjnvZJWVx1NDmQev8EknoczaOQDOA==, - } + resolution: {integrity: sha512-N+d4UJSJbt/R3wqY7Coqs5pcV0aUj2j9IaQ3rNj9bVCLld8tTGKRa2USARjnvZJWVx1NDmQev8EknoczaOQDOA==} dev: true /zip-stream@4.1.1: - resolution: - { - integrity: sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==, - } - engines: { node: '>= 10' } + resolution: {integrity: sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==} + engines: {node: '>= 10'} dependencies: archiver-utils: 3.0.4 compress-commons: 4.1.2 @@ -22513,17 +17238,11 @@ packages: dev: true /zod@3.22.4: - resolution: - { - integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==, - } + resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} /zx@8.0.1: - resolution: - { - integrity: sha512-Y+ITW1GQjADk7qgrbhnukMgoNsJmlyx53cUQ6/6NXU+BMBdCbTc6flTOHUctmzKvPjTmdwaddzJY/dbLie9sQg==, - } - engines: { node: '>= 16.0.0' } + resolution: {integrity: sha512-Y+ITW1GQjADk7qgrbhnukMgoNsJmlyx53cUQ6/6NXU+BMBdCbTc6flTOHUctmzKvPjTmdwaddzJY/dbLie9sQg==} + engines: {node: '>= 16.0.0'} hasBin: true optionalDependencies: '@types/fs-extra': 11.0.4 diff --git a/sdk/order-planner-service/package.json b/sdk/order-planner-service/package.json index d25eda83f0..2027846677 100644 --- a/sdk/order-planner-service/package.json +++ b/sdk/order-planner-service/package.json @@ -2,9 +2,9 @@ "name": "@summerfi/order-planner-service", "version": "0.0.1", "exports": { - "./*": { - "import": "./src/*/index.ts", - "types": "./src/*/index.d.ts" + ".": { + "import": "./src/index.ts", + "types": "./src/index.d.ts" } }, "scripts": { diff --git a/sdk/order-planner-service/src/index.ts b/sdk/order-planner-service/src/index.ts new file mode 100644 index 0000000000..6d23aa57ac --- /dev/null +++ b/sdk/order-planner-service/src/index.ts @@ -0,0 +1,2 @@ +export * from './interfaces' +export * from './implementation' diff --git a/sdk/order-planner-service/src/interfaces/index.ts b/sdk/order-planner-service/src/interfaces/index.ts index 9a04fe690f..cb9e885f25 100644 --- a/sdk/order-planner-service/src/interfaces/index.ts +++ b/sdk/order-planner-service/src/interfaces/index.ts @@ -1 +1 @@ -export type { IOrderPlannerService } from './IOrderPlannerService' +export * from './IOrderPlannerService' diff --git a/sdk/protocol-plugins-common/src/interfaces/IProtocolPlugin.ts b/sdk/protocol-plugins-common/src/interfaces/IProtocolPlugin.ts index db2be20686..7dfc33e023 100644 --- a/sdk/protocol-plugins-common/src/interfaces/IProtocolPlugin.ts +++ b/sdk/protocol-plugins-common/src/interfaces/IProtocolPlugin.ts @@ -1,11 +1,15 @@ import { ChainInfo, IPosition, IPositionIdData, Maybe } from '@summerfi/sdk-common/common' -import { ProtocolName, ILendingPool, ILendingPoolIdData } from '@summerfi/sdk-common/protocols' +import { + ProtocolName, + ILendingPool, + ILendingPoolIdData, + ILendingPoolInfo, +} from '@summerfi/sdk-common/protocols' import { type IProtocolPluginContext } from './IProtocolPluginContext' import { steps } from '@summerfi/sdk-common/simulation' import { ActionBuilder, ActionBuildersMap } from '../types/StepBuilderTypes' import { IUser } from '@summerfi/sdk-common/user' import { IExternalPosition, IPositionsManager, TransactionInfo } from '@summerfi/sdk-common/orders' -import { ILendingPoolInfo } from '@summerfi/sdk-common/protocols' /** * @interface IProtocolPlugin diff --git a/sdk/protocol-plugins/src/implementation/PriceService.ts b/sdk/protocol-plugins/src/implementation/PriceService.ts index 5bf4e595b0..d75de31bc9 100644 --- a/sdk/protocol-plugins/src/implementation/PriceService.ts +++ b/sdk/protocol-plugins/src/implementation/PriceService.ts @@ -1,7 +1,8 @@ import { PublicClient, getContract } from 'viem' -import { Address, CurrencySymbol, Price, Token, TokenSymbol } from '@summerfi/sdk-common/common' +import { Address, CurrencySymbol, Price, Token } from '@summerfi/sdk-common/common' import { BigNumber } from 'bignumber.js' import { IPriceService, priceFeedABI } from '@summerfi/protocol-plugins-common' +import { CommonTokenSymbols } from '@summerfi/sdk-common' // TODO: Create a separate service and connect up to SDK router // TODO: Implement the PriceService to handle different chains @@ -33,9 +34,9 @@ export class PriceService implements IPriceService { } let baseToken: `0x${string}` - if (args.baseToken.symbol === TokenSymbol.WETH) { + if (args.baseToken.symbol === CommonTokenSymbols.WETH) { baseToken = `0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE` - } else if (args.baseToken.symbol === TokenSymbol.WBTC) { + } else if (args.baseToken.symbol === CommonTokenSymbols.WBTC) { baseToken = `0xbBbBBBBbbBBBbbbBbbBbbbbBBbBbbbbBbBbbBBbB` } else { baseToken = args.baseToken.address.value @@ -43,7 +44,10 @@ export class PriceService implements IPriceService { let res: bigint // Check if the quote token is neither USD nor ETH. This condition ensures we handle pairs involving other tokens. - if (args.quoteToken !== CurrencySymbol.USD && args.quoteToken.symbol !== TokenSymbol.ETH) { + if ( + args.quoteToken !== CurrencySymbol.USD && + args.quoteToken.symbol !== CommonTokenSymbols.ETH + ) { // Example context: Consider handling a pool pair like WETH/DAI, where neither token is USD or ETH directly. // Retrieve the USD price of the quote token. Example: Obtaining DAI's price in USD. const priceOfQuoteInUSD = await this.getPriceUSD(args.quoteToken) diff --git a/sdk/protocol-plugins/src/plugins/common/helpers/aaveV3Like/AAVEv3LikeBaseProtocolPlugin.ts b/sdk/protocol-plugins/src/plugins/common/helpers/aaveV3Like/AAVEv3LikeBaseProtocolPlugin.ts index dbf1df175d..cb159d7c6b 100644 --- a/sdk/protocol-plugins/src/plugins/common/helpers/aaveV3Like/AAVEv3LikeBaseProtocolPlugin.ts +++ b/sdk/protocol-plugins/src/plugins/common/helpers/aaveV3Like/AAVEv3LikeBaseProtocolPlugin.ts @@ -9,7 +9,6 @@ import { RiskRatioType, Token, TokenAmount, - TokenSymbol, } from '@summerfi/sdk-common' import { BaseProtocolPlugin } from '../../../../implementation/BaseProtocolPlugin' import { AAVEv3LikeAbiInfo } from './AAVEv3LikeAbi' @@ -20,6 +19,7 @@ import { import { AllowedProtocolNames } from './AAVEv3LikeBuilderTypes' import { BigNumber } from 'bignumber.js' import { PRECISION_BI, UNCAPPED_SUPPLY } from '../../constants/AaveV3LikeConstants' +import { CommonTokenSymbols } from '@summerfi/sdk-common/common' type AssetsList = Awaited> type Asset = AssetsList extends (infer U)[] ? U : never @@ -190,7 +190,7 @@ export abstract class AAVEv3BaseProtocolPlugin extends BaseProtocolPlugin { caps: { borrowCap }, data: { totalVariableDebt, totalStableDebt, variableBorrowRate }, } = asset - if (quoteToken.symbol === TokenSymbol.WETH) { + if (quoteToken.symbol === CommonTokenSymbols.WETH) { // WETH can be used as collateral on AaveV3 but not borrowed. return } diff --git a/sdk/protocol-plugins/src/plugins/maker/implementation/MakerProtocolPlugin.ts b/sdk/protocol-plugins/src/plugins/maker/implementation/MakerProtocolPlugin.ts index d3f8a62b3f..ee74571fc7 100644 --- a/sdk/protocol-plugins/src/plugins/maker/implementation/MakerProtocolPlugin.ts +++ b/sdk/protocol-plugins/src/plugins/maker/implementation/MakerProtocolPlugin.ts @@ -7,7 +7,7 @@ import { Maybe, AddressValue, IPositionId, - TokenSymbol, + CommonTokenSymbols, } from '@summerfi/sdk-common/common' import { ILendingPoolId, PoolType, ProtocolName } from '@summerfi/sdk-common/protocols' import { getContract, stringToHex } from 'viem' @@ -323,8 +323,8 @@ export class MakerProtocolPlugin extends BaseProtocolPlugin { this.ctx.tokenService.getTokenByAddress( Address.createFromEthereum({ value: ilkRegistryRes.gem }), ), - this.ctx.tokenService.getTokenBySymbol(TokenSymbol.DAI), - this.ctx.tokenService.getTokenBySymbol(TokenSymbol.DAI), + this.ctx.tokenService.getTokenBySymbol(CommonTokenSymbols.DAI), + this.ctx.tokenService.getTokenBySymbol(CommonTokenSymbols.DAI), ]) const SECONDS_PER_YEAR = 60 * 60 * 24 * 365 diff --git a/sdk/sdk-client/src/implementation/Chain.ts b/sdk/sdk-client/src/implementation/Chain.ts index f1fcad4b6e..bf26d6ab80 100644 --- a/sdk/sdk-client/src/implementation/Chain.ts +++ b/sdk/sdk-client/src/implementation/Chain.ts @@ -1,31 +1,27 @@ import type { ChainInfo } from '@summerfi/sdk-common/common' import { IChain } from '../interfaces/IChain' -import { TokensManager } from './TokensManager' -import { ProtocolsManager } from './ProtocolsManager' +import { TokensManagerClient } from './TokensManagerClient' +import { ProtocolsManagerClient } from './ProtocolsManagerClient' +/** + * @name Chain + * @description Implementation of the IChain interface for the SDK Client + */ export class Chain implements IChain { readonly chainInfo: ChainInfo - readonly tokens: TokensManager - readonly protocols: ProtocolsManager + readonly tokens: TokensManagerClient + readonly protocols: ProtocolsManagerClient constructor(params: { chainInfo: ChainInfo - tokensManager: TokensManager - protocolsManager: ProtocolsManager + tokensManager: TokensManagerClient + protocolsManager: ProtocolsManagerClient }) { this.chainInfo = params.chainInfo this.tokens = params.tokensManager this.protocols = params.protocolsManager } - getLatestBlock() { - // TODO: Implement - } - - getBlock() { - // TODO: Implement - } - toString(): string { return `${this.chainInfo.name} (ID: ${this.chainInfo.chainId})` } diff --git a/sdk/sdk-client/src/implementation/ChainsManager.ts b/sdk/sdk-client/src/implementation/ChainsManager.ts index 06fec29384..32f4ec303e 100644 --- a/sdk/sdk-client/src/implementation/ChainsManager.ts +++ b/sdk/sdk-client/src/implementation/ChainsManager.ts @@ -1,12 +1,16 @@ import { ChainInfo, IChainInfoData, Maybe } from '@summerfi/sdk-common/common' -import { IChainsManager } from '../interfaces/IChainsManager' +import { IChainsManagerClient } from '../interfaces/IChainsManager' import { Chain } from './Chain' -import { TokensManager } from './TokensManager' -import { ProtocolsManager } from './ProtocolsManager' +import { TokensManagerClient } from './TokensManagerClient' +import { ProtocolsManagerClient } from './ProtocolsManagerClient' import { RPCClientType } from '../rpc/SDKClient' import { IRPCClient } from '../interfaces/IRPCClient' -export class ChainsManager extends IRPCClient implements IChainsManager { +/** + * @name ChainsManagerClient + * @description Implementation of the IChainsManager interface for the SDK Client + */ +export class ChainsManagerClient extends IRPCClient implements IChainsManagerClient { constructor(params: { rpcClient: RPCClientType }) { super(params) } @@ -16,14 +20,13 @@ export class ChainsManager extends IRPCClient implements IChainsManager { return [] as ChainInfo[] } - /* eslint-disable-next-line @typescript-eslint/no-unused-vars */ public async getChain(params: { chainInfo: IChainInfoData }): Promise> { const chainInfo = ChainInfo.createFrom(params.chainInfo) return new Chain({ chainInfo: chainInfo, - tokensManager: new TokensManager({ rpcClient: this.rpcClient, chainInfo: chainInfo }), - protocolsManager: new ProtocolsManager({ + tokensManager: new TokensManagerClient({ rpcClient: this.rpcClient, chainInfo: chainInfo }), + protocolsManager: new ProtocolsManagerClient({ rpcClient: this.rpcClient, chainInfo: chainInfo, }), diff --git a/sdk/sdk-client/src/implementation/ProtocolsManager.ts b/sdk/sdk-client/src/implementation/ProtocolsManagerClient.ts similarity index 80% rename from sdk/sdk-client/src/implementation/ProtocolsManager.ts rename to sdk/sdk-client/src/implementation/ProtocolsManagerClient.ts index f37b5ad44d..ff0e236383 100644 --- a/sdk/sdk-client/src/implementation/ProtocolsManager.ts +++ b/sdk/sdk-client/src/implementation/ProtocolsManagerClient.ts @@ -1,11 +1,11 @@ import type { ChainInfo, Maybe } from '@summerfi/sdk-common/common' import { ProtocolName } from '@summerfi/sdk-common/protocols' -import { IProtocolsManager } from '../interfaces/IProtocolsManager' +import { IProtocolsManagerClient } from '../interfaces/IProtocolsManagerClient' import { IRPCClient } from '../interfaces/IRPCClient' import { RPCClientType } from '../rpc/SDKClient' import { ProtocolClient } from './ProtocolClient' -export class ProtocolsManager extends IRPCClient implements IProtocolsManager { +export class ProtocolsManagerClient extends IRPCClient implements IProtocolsManagerClient { private readonly _chainInfo: ChainInfo public constructor(params: { rpcClient: RPCClientType; chainInfo: ChainInfo }) { diff --git a/sdk/sdk-client/src/implementation/SDKManager.ts b/sdk/sdk-client/src/implementation/SDKManager.ts index db474c37d1..6415ffa46f 100644 --- a/sdk/sdk-client/src/implementation/SDKManager.ts +++ b/sdk/sdk-client/src/implementation/SDKManager.ts @@ -1,18 +1,18 @@ import { RPCClientType } from '../rpc/SDKClient' -import { ChainsManager } from './ChainsManager' +import { ChainsManagerClient } from './ChainsManager' import { PortfolioManager } from './PortfolioManager' import { UsersManager } from './UsersManager' import { SimulationManager } from './simulations/SimulationManager' export class SDKManager { public readonly simulator: SimulationManager - public readonly chains: ChainsManager + public readonly chains: ChainsManagerClient public readonly users: UsersManager public readonly portfolio: PortfolioManager public constructor(params: { rpcClient: RPCClientType }) { this.simulator = new SimulationManager(params) - this.chains = new ChainsManager(params) + this.chains = new ChainsManagerClient(params) this.users = new UsersManager(params) this.portfolio = new PortfolioManager(params) } diff --git a/sdk/sdk-client/src/implementation/TokensManager.ts b/sdk/sdk-client/src/implementation/TokensManager.ts deleted file mode 100644 index 47163d1c06..0000000000 --- a/sdk/sdk-client/src/implementation/TokensManager.ts +++ /dev/null @@ -1,39 +0,0 @@ -import { Address, ChainInfo, Maybe, Token, TokenSymbol } from '@summerfi/sdk-common/common' -import { ITokensManager } from '../interfaces/ITokensManager' -import { getMockTokenBySymbol } from '../mocks/mockToken' -import { IRPCClient } from '../interfaces/IRPCClient' -import { RPCClientType } from '../rpc/SDKClient' - -export class TokensManager extends IRPCClient implements ITokensManager { - private readonly _chainInfo: ChainInfo - - /* eslint-disable-next-line @typescript-eslint/no-unused-vars */ - public constructor(params: { rpcClient: RPCClientType; chainInfo: ChainInfo }) { - super(params) - // TODO: load the list of tokens for the chain indicated by chainInfo - this._chainInfo = params.chainInfo - } - - public async getSupportedTokens(): Promise { - // TODO: Implement - return [] as Token[] - } - - /* eslint-disable-next-line @typescript-eslint/no-unused-vars */ - public async getTokenBySymbol(params: { symbol: TokenSymbol }): Promise> { - // TODO: Implement - return getMockTokenBySymbol({ chainInfo: this._chainInfo, symbol: params.symbol }) - } - - /* eslint-disable-next-line @typescript-eslint/no-unused-vars */ - public async getTokenByAddress(_params: { address: Address }): Promise> { - // TODO: Implement - return undefined - } - - /* eslint-disable-next-line @typescript-eslint/no-unused-vars */ - public async getTokenByName(_params: { name: string }): Promise> { - // TODO: Implement - return undefined - } -} diff --git a/sdk/sdk-client/src/implementation/TokensManagerClient.ts b/sdk/sdk-client/src/implementation/TokensManagerClient.ts new file mode 100644 index 0000000000..1fdb03f7a2 --- /dev/null +++ b/sdk/sdk-client/src/implementation/TokensManagerClient.ts @@ -0,0 +1,42 @@ +import { Address, ChainInfo, IToken, Maybe, TokenSymbol } from '@summerfi/sdk-common/common' +import { IRPCClient } from '../interfaces/IRPCClient' +import { RPCClientType } from '../rpc/SDKClient' +import { ITokensManagerClient } from '../interfaces/ITokensManagerClient' + +/** + * @name TokensManagerClient + * @description Implementation of the ITokensManager interface for the SDK Client + */ +export class TokensManagerClient extends IRPCClient implements ITokensManagerClient { + private readonly _chainInfo: ChainInfo + + public constructor(params: { rpcClient: RPCClientType; chainInfo: ChainInfo }) { + super(params) + + this._chainInfo = params.chainInfo + } + + /** @see ITokensManagerClient.getTokenBySymbol */ + public async getTokenBySymbol(params: { symbol: TokenSymbol }): Promise> { + return this.rpcClient.tokens.getTokenBySymbol.query({ + chainInfo: this._chainInfo, + symbol: params.symbol, + }) + } + + /** @see ITokensManagerClient.getTokenByAddress */ + public async getTokenByAddress(params: { address: Address }): Promise> { + return this.rpcClient.tokens.getTokenByAddress.query({ + chainInfo: this._chainInfo, + address: params.address, + }) + } + + /** @see ITokensManagerClient.getTokenByName */ + public async getTokenByName(_params: { name: string }): Promise> { + return this.rpcClient.tokens.getTokenByName.query({ + chainInfo: this._chainInfo, + name: _params.name, + }) + } +} diff --git a/sdk/sdk-client/src/index.ts b/sdk/sdk-client/src/index.ts index a5241bd863..f666c1889e 100644 --- a/sdk/sdk-client/src/index.ts +++ b/sdk/sdk-client/src/index.ts @@ -1,17 +1,17 @@ export * from './implementation/Chain' export * from './implementation/ChainsManager' export * from './implementation/MakeSDK' -export * from './implementation/ProtocolsManager' +export * from './implementation/ProtocolsManagerClient' export * from './implementation/PortfolioManager' export * from './implementation/SDKManager' -export * from './implementation/TokensManager' +export * from './implementation/TokensManagerClient' export * from './implementation/User' export * from './implementation/UsersManager' export * from './implementation/ProtocolClient' export * from './interfaces/IChain' export * from './interfaces/IChainsManager' export * from './interfaces/IPortfolioManager' -export * from './interfaces/IProtocolsManager' -export * from './interfaces/ITokensManager' +export * from './interfaces/IProtocolsManagerClient' +export * from './interfaces/ITokensManagerClient' export * from './interfaces/IUsersManager' export * from './utils/PositionUtils' diff --git a/sdk/sdk-client/src/interfaces/IChain.ts b/sdk/sdk-client/src/interfaces/IChain.ts index 0c84b1ea93..5569ef1592 100644 --- a/sdk/sdk-client/src/interfaces/IChain.ts +++ b/sdk/sdk-client/src/interfaces/IChain.ts @@ -1,13 +1,16 @@ import { type ChainInfo } from '@summerfi/sdk-common/common' -import { TokensManager } from '../implementation/TokensManager' -import { ProtocolsManager } from '../implementation/ProtocolsManager' +import { TokensManagerClient } from '../implementation/TokensManagerClient' +import { ProtocolsManagerClient } from '../implementation/ProtocolsManagerClient' /** * @interface IChain * @description Represents a blockchain network and allows to access the tokens and protocols of the chain */ export interface IChain { + /** The information of the chain */ chainInfo: ChainInfo - tokens: TokensManager - protocols: ProtocolsManager + /** The tokens manager client for the chain, allows to retrieve tokens on the chain */ + tokens: TokensManagerClient + /** The protocols manager client for the chain, allows to retrieve protocols on the chain */ + protocols: ProtocolsManagerClient } diff --git a/sdk/sdk-client/src/interfaces/IChainsManager.ts b/sdk/sdk-client/src/interfaces/IChainsManager.ts index a5544db899..c3b7988b0a 100644 --- a/sdk/sdk-client/src/interfaces/IChainsManager.ts +++ b/sdk/sdk-client/src/interfaces/IChainsManager.ts @@ -2,10 +2,11 @@ import { ChainInfo, Maybe } from '@summerfi/sdk-common/common' import { Chain } from '../implementation/Chain' /** - * @interface IChainsManager - * @description Manages the list of chains supported by the SDK and allows to retrive a chains by its name or chain ID + * @interface IChainsManagerClient + * @description Interface for the ChainsManager client implementation. Allows to retrieve information for + * a Chain given its ChainInfo. It also supports to lookup a chain by its name or chain ID */ -export interface IChainsManager { +export interface IChainsManagerClient { /** * @method getSupportedChains * @description Retrieves the list of supported chains diff --git a/sdk/sdk-client/src/interfaces/IProtocolClient.ts b/sdk/sdk-client/src/interfaces/IProtocolClient.ts index 1613b26172..19504a9f80 100644 --- a/sdk/sdk-client/src/interfaces/IProtocolClient.ts +++ b/sdk/sdk-client/src/interfaces/IProtocolClient.ts @@ -5,6 +5,7 @@ import { ILendingPoolIdData, IProtocol } from '@summerfi/sdk-common/protocols' /** * @interface IProtocolClient * @description Client interface for protocols, includes some methods to interact with the protocols manager + * @see IProtocol */ export interface IProtocolClient extends IProtocol { /** diff --git a/sdk/sdk-client/src/interfaces/IProtocolsManager.ts b/sdk/sdk-client/src/interfaces/IProtocolsManagerClient.ts similarity index 67% rename from sdk/sdk-client/src/interfaces/IProtocolsManager.ts rename to sdk/sdk-client/src/interfaces/IProtocolsManagerClient.ts index 6fc430c044..afd03f9827 100644 --- a/sdk/sdk-client/src/interfaces/IProtocolsManager.ts +++ b/sdk/sdk-client/src/interfaces/IProtocolsManagerClient.ts @@ -3,10 +3,11 @@ import { ProtocolName } from '@summerfi/sdk-common/protocols' import { ProtocolClient } from '../implementation/ProtocolClient' /** - * @interface IProtocolsManager - * @description Manages the list of protocols supported by the SDK for the current network + * @interface IProtocolsManagerClient + * @description Interface of the ProtocolsManager for the SDK Client. Allows to retrieve information for a Protocol + * @see IProtocolsManager */ -export interface IProtocolsManager { +export interface IProtocolsManagerClient { /** * @method getProtocol * @description Retrieves a protocol by its name diff --git a/sdk/sdk-client/src/interfaces/ITokensManager.ts b/sdk/sdk-client/src/interfaces/ITokensManagerClient.ts similarity index 62% rename from sdk/sdk-client/src/interfaces/ITokensManager.ts rename to sdk/sdk-client/src/interfaces/ITokensManagerClient.ts index a91f93de00..0c24663360 100644 --- a/sdk/sdk-client/src/interfaces/ITokensManager.ts +++ b/sdk/sdk-client/src/interfaces/ITokensManagerClient.ts @@ -1,19 +1,13 @@ -import { Address, Maybe, Token } from '@summerfi/sdk-common/common' +import type { Token, Address, Maybe } from '@summerfi/sdk-common/common' /** - * @interface ITokensManager - * @description Used to retrieve the supported tokens for the current network. It also allows to retrieve a token - * by its symbol, address or name + * @name ITokensManagerClient + * @description Interface for the TokensManager client implementation. Allows to retrieve information for + * a Token given its Chain, and its Address or symbol. The difference with the server side + * is that it stores the chain info internally and passes it as a parameter to the RPC calls + * @see ITokensManager */ -export interface ITokensManager { - /** - * @method getSupportedTokens - * @description Retrieves the list supported tokens for the current network - * - * @returns The list of supported tokens - */ - getSupportedTokens(): Promise - +export interface ITokensManagerClient { /** * @method getTokenBySymbol * @description Retrieves a token by its symbol diff --git a/sdk/sdk-client/src/mocks/mockToken.ts b/sdk/sdk-client/src/mocks/mockToken.ts deleted file mode 100644 index 5b4efb5c6f..0000000000 --- a/sdk/sdk-client/src/mocks/mockToken.ts +++ /dev/null @@ -1,93 +0,0 @@ -import { Address, ChainInfo, Maybe, Token, TokenSymbol } from '@summerfi/sdk-common/common' - -export async function getMockTokenBySymbol(params: { - chainInfo: ChainInfo - symbol: TokenSymbol -}): Promise> { - if (params.chainInfo.chainId !== 1) { - throw new Error('This mock provides data only for ethereum mainnet') - } - - switch (params.symbol) { - case TokenSymbol.DAI: - return Token.createFrom({ - chainInfo: params.chainInfo, - address: Address.createFromEthereum({ - value: '0x6B175474E89094C44Da98b954EedeAC495271d0F', - }), - symbol: params.symbol, - name: 'Dai Stablecoin', - decimals: 18, - }) - case TokenSymbol.WETH: - return Token.createFrom({ - chainInfo: params.chainInfo, - address: Address.createFromEthereum({ - value: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2', - }), - symbol: params.symbol, - name: 'Wrapped Ether', - decimals: 18, - }) - case TokenSymbol.WSTETH: - return Token.createFrom({ - chainInfo: params.chainInfo, - address: Address.createFromEthereum({ - value: '0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0', - }), - symbol: params.symbol, - name: 'Wrapped liquid staked Ether 2.0', - decimals: 18, - }) - case TokenSymbol.RETH: - return Token.createFrom({ - chainInfo: params.chainInfo, - address: Address.createFromEthereum({ - value: '0xae78736cd615f374d3085123a210448e74fc6393', - }), - symbol: params.symbol, - name: 'Rocket Pool ETH', - decimals: 18, - }) - case TokenSymbol.SDAI: - return Token.createFrom({ - chainInfo: params.chainInfo, - address: Address.createFromEthereum({ - value: '0x83f20f44975d03b1b09e64809b757c47f942beea', - }), - symbol: params.symbol, - name: 'Savings Dai', - decimals: 18, - }) - case TokenSymbol.USDC: - return Token.createFrom({ - chainInfo: params.chainInfo, - address: Address.createFromEthereum({ - value: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', - }), - symbol: params.symbol, - name: 'USD Coin', - decimals: 6, - }) - case TokenSymbol.USDT: - return Token.createFrom({ - chainInfo: params.chainInfo, - address: Address.createFromEthereum({ - value: '0xdAC17F958D2ee523a2206206994597C13D831ec7', - }), - symbol: params.symbol, - name: 'Tether USD', - decimals: 6, - }) - case TokenSymbol.WBTC: - return Token.createFrom({ - chainInfo: params.chainInfo, - address: Address.createFromEthereum({ - value: '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', - }), - symbol: params.symbol, - name: 'Wrapped BTC', - decimals: 8, - }) - } -} diff --git a/sdk/sdk-client/tests/queries/getTokenByAddress.subtest.ts b/sdk/sdk-client/tests/queries/getTokenByAddress.subtest.ts new file mode 100644 index 0000000000..2c86431a7e --- /dev/null +++ b/sdk/sdk-client/tests/queries/getTokenByAddress.subtest.ts @@ -0,0 +1,53 @@ +import { SDKManager } from '../../src/implementation/SDKManager' +import { Address, RPCClientType } from '../../src/rpc/SDKClient' +import { Token } from '@summerfi/sdk-common' +import assert from 'assert' + +export default async function getTokenByAddress() { + type GetTokenByAddressType = RPCClientType['tokens']['getTokenByAddress']['query'] + + const getTokenByAddressQuery: GetTokenByAddressType = jest.fn(async (params) => { + expect(params).toBeDefined() + expect(params.chainInfo).toBeDefined() + expect(params.address).toBeDefined() + + return Token.createFrom({ + address: params.address, + chainInfo: params.chainInfo, + name: 'USD Coin', + symbol: 'USDC', + decimals: 6, + }) + }) + + const rpcClient = { + tokens: { + getTokenByAddress: { + query: getTokenByAddressQuery, + }, + }, + } as unknown as RPCClientType + + const sdkManager = new SDKManager({ rpcClient }) + + expect(sdkManager).toBeDefined() + + const chain = await sdkManager.chains.getChain({ + chainInfo: { chainId: 1, name: 'Mainnet' }, + }) + + if (!chain) { + fail('Chain not found') + } + + const token = await chain.tokens.getTokenByAddress({ + address: Address.createFromEthereum({ value: '0x6b175474e89094c44da98b954eedeac495271d0f' }), + }) + assert(token, 'Token not found') + + expect(token.address.value).toEqual('0x6b175474e89094c44da98b954eedeac495271d0f') + expect(token.chainInfo.chainId).toEqual(1) + expect(token.name).toEqual('USD Coin') + expect(token.symbol).toEqual('USDC') + expect(token.decimals).toEqual(6) +} diff --git a/sdk/sdk-client/tests/queries/getTokenByName.subtest.ts b/sdk/sdk-client/tests/queries/getTokenByName.subtest.ts new file mode 100644 index 0000000000..012b2427b9 --- /dev/null +++ b/sdk/sdk-client/tests/queries/getTokenByName.subtest.ts @@ -0,0 +1,56 @@ +import { SDKManager } from '../../src/implementation/SDKManager' +import { Address, RPCClientType } from '../../src/rpc/SDKClient' +import { AddressType, Token } from '@summerfi/sdk-common' +import assert from 'assert' + +export default async function getTokenByName() { + type GetTokenByNameType = RPCClientType['tokens']['getTokenByName']['query'] + + const getTokenByNameQuery: GetTokenByNameType = jest.fn(async (params) => { + expect(params).toBeDefined() + expect(params.chainInfo).toBeDefined() + expect(params.name).toBeDefined() + + return Token.createFrom({ + address: Address.createFrom({ + type: AddressType.Ethereum, + value: '0x6b175474e89094c44da98b954eedeac495271d0f', + }), + chainInfo: params.chainInfo, + name: params.name, + symbol: 'USDC', + decimals: 6, + }) + }) + + const rpcClient = { + tokens: { + getTokenByName: { + query: getTokenByNameQuery, + }, + }, + } as unknown as RPCClientType + + const sdkManager = new SDKManager({ rpcClient }) + + expect(sdkManager).toBeDefined() + + const chain = await sdkManager.chains.getChain({ + chainInfo: { chainId: 1, name: 'Mainnet' }, + }) + + if (!chain) { + fail('Chain not found') + } + + const token = await chain.tokens.getTokenByName({ + name: 'Test Coin', + }) + assert(token, 'Token not found') + + expect(token.address.value).toEqual('0x6b175474e89094c44da98b954eedeac495271d0f') + expect(token.chainInfo.chainId).toEqual(1) + expect(token.name).toEqual('Test Coin') + expect(token.symbol).toEqual('USDC') + expect(token.decimals).toEqual(6) +} diff --git a/sdk/sdk-client/tests/queries/getTokenBySymbol.subtest.ts b/sdk/sdk-client/tests/queries/getTokenBySymbol.subtest.ts new file mode 100644 index 0000000000..957b4fb49d --- /dev/null +++ b/sdk/sdk-client/tests/queries/getTokenBySymbol.subtest.ts @@ -0,0 +1,54 @@ +import { SDKManager } from '../../src/implementation/SDKManager' +import { Address, RPCClientType } from '../../src/rpc/SDKClient' +import { AddressType, Token } from '@summerfi/sdk-common' +import assert from 'assert' + +export default async function getTokenBySymbol() { + type GetTokenBySymbolType = RPCClientType['tokens']['getTokenBySymbol']['query'] + + const getTokenBySymbolQuery: GetTokenBySymbolType = jest.fn(async (params) => { + expect(params).toBeDefined() + expect(params.chainInfo).toBeDefined() + expect(params.symbol).toBeDefined() + + return Token.createFrom({ + address: Address.createFrom({ + type: AddressType.Ethereum, + value: '0x6b175474e89094c44da98b954eedeac495271d0f', + }), + chainInfo: params.chainInfo, + name: 'USD Coin', + symbol: 'USDC', + decimals: 6, + }) + }) + + const rpcClient = { + tokens: { + getTokenBySymbol: { + query: getTokenBySymbolQuery, + }, + }, + } as unknown as RPCClientType + + const sdkManager = new SDKManager({ rpcClient }) + + expect(sdkManager).toBeDefined() + + const chain = await sdkManager.chains.getChain({ + chainInfo: { chainId: 1, name: 'Mainnet' }, + }) + + if (!chain) { + fail('Chain not found') + } + + const token = await chain.tokens.getTokenBySymbol({ symbol: 'USDC' }) + assert(token, 'Token not found') + + expect(token.address.value).toEqual('0x6b175474e89094c44da98b954eedeac495271d0f') + expect(token.chainInfo.chainId).toEqual(1) + expect(token.name).toEqual('USD Coin') + expect(token.symbol).toEqual('USDC') + expect(token.decimals).toEqual(6) +} diff --git a/sdk/sdk-client/tests/queries/queries.entrypoint.spec.ts b/sdk/sdk-client/tests/queries/queries.entrypoint.spec.ts index fee6176938..b38edfa565 100644 --- a/sdk/sdk-client/tests/queries/queries.entrypoint.spec.ts +++ b/sdk/sdk-client/tests/queries/queries.entrypoint.spec.ts @@ -1,5 +1,8 @@ import getLendingPoolTest from './getLendingPool.subtest' import getLendingPoolInfoTest from './getLendingPoolInfo.subtest' +import getTokenByAddress from './getTokenByAddress.subtest' +import getTokenByName from './getTokenByName.subtest' +import getTokenBySymbol from './getTokenBySymbol.subtest' import makeSDKTest from './makeSDK.subtest' import simulateNewOrder from './newOrder.subtest' import simulateRefinanceTest from './simulateRefinance.subtest' @@ -10,4 +13,7 @@ describe('SDK Client', () => { it('should use the getLendingPoolInfo query', getLendingPoolInfoTest.bind(this)) it('should use the simulateRefinance query', simulateRefinanceTest.bind(this)) it('should use the newOrder query', simulateNewOrder.bind(this)) + it('should use the getTokenBySymbol query', getTokenBySymbol.bind(this)) + it('should use the getTokenByAddress query', getTokenByAddress.bind(this)) + it('should use the getTokenByName query', getTokenByName.bind(this)) }) diff --git a/sdk/sdk-common/src/common/enums/CommonTokenSymbols.ts b/sdk/sdk-common/src/common/enums/CommonTokenSymbols.ts new file mode 100644 index 0000000000..7259984363 --- /dev/null +++ b/sdk/sdk-common/src/common/enums/CommonTokenSymbols.ts @@ -0,0 +1,15 @@ +/** + * @enum CommonTokenSymbols + * @description Common token symbols to be used with the tokens manager. Tokens can be retrieved by their symbol + * using the tokens manager by passing an untyped string. These list is just a convenience utility + * to avoid typos when using the tokens manager + */ +export enum CommonTokenSymbols { + USDT = 'USDT', + USDC = 'USDC', + DAI = 'DAI', + WETH = 'WETH', + WBTC = 'WBTC', + ETH = 'ETH', + WSTETH = 'WSTETH', +} diff --git a/sdk/sdk-common/src/common/enums/TokenSymbol.ts b/sdk/sdk-common/src/common/enums/TokenSymbol.ts index ee711523be..f059cb8373 100644 --- a/sdk/sdk-common/src/common/enums/TokenSymbol.ts +++ b/sdk/sdk-common/src/common/enums/TokenSymbol.ts @@ -1,15 +1,27 @@ +import { z } from 'zod' + /** * @enum TokenSymbol * @description Represents the symbol of a token */ -export enum TokenSymbol { - DAI = 'DAI', - WETH = 'WETH', - ETH = 'ETH', - WSTETH = 'WSTETH', - RETH = 'RETH', - SDAI = 'SDAI', - USDC = 'USDC', - USDT = 'USDT', - WBTC = 'WTBC', +export type TokenSymbol = string + +/** + * @description Zod schema for TokenSymbol + */ +export const TokenSymbolSchema = z.string() + +/** + * @description Type guard for TokenSymbol + * @param maybeTokenSymbol + * @returns true if the object is an TokenSymbol + */ +export function isTokenSymbol(maybeTokenSymbol: unknown): maybeTokenSymbol is TokenSymbol { + return TokenSymbolSchema.safeParse(maybeTokenSymbol).success } + +/** + * Checker to make sure that the schema is aligned with the interface + */ +/* eslint-disable-next-line @typescript-eslint/no-unused-vars */ +const __schemaChecker: TokenSymbol = {} as z.infer diff --git a/sdk/sdk-common/src/common/enums/index.ts b/sdk/sdk-common/src/common/enums/index.ts index ebdbbc0659..448e6a49e7 100644 --- a/sdk/sdk-common/src/common/enums/index.ts +++ b/sdk/sdk-common/src/common/enums/index.ts @@ -1,12 +1,6 @@ -export { AddressType } from './AddressType' -export { CurrencySymbol } from './CurrencySymbol' -export { TokenSymbol } from './TokenSymbol' -export { - ArbitrumChainNames, - BaseChainNames, - ChainFamilyName, - type ChainNames, - EthereumChainNames, - OptimismChainNames, -} from './ChainNames' -export { PositionType } from './PositionType' +export * from './AddressType' +export * from './CurrencySymbol' +export * from './TokenSymbol' +export * from './ChainNames' +export * from './PositionType' +export * from './CommonTokenSymbols' diff --git a/sdk/sdk-common/src/index.ts b/sdk/sdk-common/src/index.ts index 05d583ab2e..2345c1a7a5 100644 --- a/sdk/sdk-common/src/index.ts +++ b/sdk/sdk-common/src/index.ts @@ -6,3 +6,4 @@ export * from './simulation' export * from './user' export * from './utils' export * from './services' +export * from './tokens' diff --git a/sdk/sdk-common/src/protocols/enums/ProtocolName.ts b/sdk/sdk-common/src/protocols/enums/ProtocolName.ts index bba903dc48..157d53ddce 100644 --- a/sdk/sdk-common/src/protocols/enums/ProtocolName.ts +++ b/sdk/sdk-common/src/protocols/enums/ProtocolName.ts @@ -13,16 +13,22 @@ export enum ProtocolName { Ajna = 'Ajna', } +/** + * @description Zod schema for ProtocolName + */ +export const ProtocolNameSchema = z.nativeEnum(ProtocolName) + /** * @description Type guard for ProtocolName * @param maybeProtocolName Object to be checked * @returns true if the object is a ProtocolName */ export function isProtocolName(maybeProtocolName: unknown): maybeProtocolName is ProtocolName { - return Object.values(ProtocolName).includes(maybeProtocolName as ProtocolName) + return ProtocolNameSchema.safeParse(maybeProtocolName).success } /** - * @description Zod schema for ProtocolName + * Checker to make sure that the schema is aligned with the interface */ -export const ProtocolNameSchema = z.nativeEnum(ProtocolName) +/* eslint-disable @typescript-eslint/no-unused-vars */ +const __schemaChecker: ProtocolName = {} as z.infer diff --git a/sdk/sdk-common/src/tokens/TokensProviderType.ts b/sdk/sdk-common/src/tokens/TokensProviderType.ts new file mode 100644 index 0000000000..e141438e8d --- /dev/null +++ b/sdk/sdk-common/src/tokens/TokensProviderType.ts @@ -0,0 +1,31 @@ +import { z } from 'zod' + +/** + * Enum for the different types of tokens providers. + */ +export enum TokensProviderType { + /** Pre-built list of tokens */ + Static = 'Static', +} + +/** + * Zod schema for the TokensProviderType enum. + */ +export const TokensProviderTypeSchema = z.nativeEnum(TokensProviderType) + +/** + * Type guard for TokensProviderType + * @param maybeTokensProviderType Object to be checked + * @returns true if the object is a TokensProviderType + */ +export function isTokensProviderType( + maybeTokensProviderType: unknown, +): maybeTokensProviderType is TokensProviderType { + return TokensProviderTypeSchema.safeParse(maybeTokensProviderType).success +} + +/** + * Checker to make sure that the schema is aligned with the interface + */ +/* eslint-disable @typescript-eslint/no-unused-vars */ +const __schemaChecker: TokensProviderType = {} as z.infer diff --git a/sdk/sdk-common/src/tokens/index.ts b/sdk/sdk-common/src/tokens/index.ts new file mode 100644 index 0000000000..ffe192c2f4 --- /dev/null +++ b/sdk/sdk-common/src/tokens/index.ts @@ -0,0 +1 @@ +export * from './TokensProviderType' diff --git a/sdk/sdk-e2e/tests/importMakerPosition.test.ts b/sdk/sdk-e2e/tests/importMakerPosition.test.ts index 388ecc12eb..297a08a935 100644 --- a/sdk/sdk-e2e/tests/importMakerPosition.test.ts +++ b/sdk/sdk-e2e/tests/importMakerPosition.test.ts @@ -9,7 +9,7 @@ import { import { ProtocolName } from '@summerfi/sdk-common/protocols' import { makeSDK, type Chain, type User } from '@summerfi/sdk-client' -import { TokenSymbol } from '@summerfi/sdk-common/common/enums' +import { CommonTokenSymbols } from '@summerfi/sdk-common/common/enums' import { ExternalPositionType, IImportPositionParameters, Order } from '@summerfi/sdk-common/orders' import { ISimulation, SimulationSteps, SimulationType } from '@summerfi/sdk-common/simulation' @@ -56,10 +56,14 @@ describe.skip('Import Maker Position | SDK', () => { expect(user.chainInfo).toEqual(chain.chainInfo) // Tokens - const WETH: Maybe = await chain.tokens.getTokenBySymbol({ symbol: TokenSymbol.WETH }) + const WETH: Maybe = await chain.tokens.getTokenBySymbol({ + symbol: CommonTokenSymbols.WETH, + }) assert(WETH, 'WETH not found') - const DAI: Maybe = await chain.tokens.getTokenBySymbol({ symbol: TokenSymbol.DAI }) + const DAI: Maybe = await chain.tokens.getTokenBySymbol({ + symbol: CommonTokenSymbols.DAI, + }) assert(DAI, 'DAI not found') const maker = await chain.protocols.getProtocol({ name: ProtocolName.Maker }) diff --git a/sdk/sdk-e2e/tests/refinanceMakerSparkAlreadyImported.test.ts b/sdk/sdk-e2e/tests/refinanceMakerSparkAlreadyImported.test.ts index e742798c52..61cd7594d3 100644 --- a/sdk/sdk-e2e/tests/refinanceMakerSparkAlreadyImported.test.ts +++ b/sdk/sdk-e2e/tests/refinanceMakerSparkAlreadyImported.test.ts @@ -13,7 +13,7 @@ import { import { ProtocolName } from '@summerfi/sdk-common/protocols' import { makeSDK, type Chain, type User, ProtocolClient } from '@summerfi/sdk-client' -import { TokenSymbol } from '@summerfi/sdk-common/common/enums' +import { CommonTokenSymbols } from '@summerfi/sdk-common/common/enums' import { PositionsManager, IRefinanceParameters, Order } from '@summerfi/sdk-common/orders' import { ISimulation, RefinanceSimulationTypes } from '@summerfi/sdk-common/simulation' import { TransactionUtils } from './utils/TransactionUtils' @@ -102,10 +102,14 @@ describe.skip('Refinance Maker Spark | SDK', () => { }) // Tokens - const WETH: Maybe = await chain.tokens.getTokenBySymbol({ symbol: TokenSymbol.WETH }) + const WETH: Maybe = await chain.tokens.getTokenBySymbol({ + symbol: CommonTokenSymbols.WETH, + }) assert(WETH, 'WETH not found') - const DAI: Maybe = await chain.tokens.getTokenBySymbol({ symbol: TokenSymbol.DAI }) + const DAI: Maybe = await chain.tokens.getTokenBySymbol({ + symbol: CommonTokenSymbols.DAI, + }) assert(DAI, 'DAI not found') const maker = await chain.protocols.getProtocol({ name: ProtocolName.Maker }) diff --git a/sdk/sdk-e2e/tests/refinanceMakerSparkAnyPair.test.ts b/sdk/sdk-e2e/tests/refinanceMakerSparkAnyPair.test.ts index 0f80ad6625..b2d1843523 100644 --- a/sdk/sdk-e2e/tests/refinanceMakerSparkAnyPair.test.ts +++ b/sdk/sdk-e2e/tests/refinanceMakerSparkAnyPair.test.ts @@ -11,7 +11,6 @@ import { import { ProtocolName, isLendingPool } from '@summerfi/sdk-common/protocols' import { ProtocolClient, makeSDK, type Chain, type User } from '@summerfi/sdk-client' -import { TokenSymbol } from '@summerfi/sdk-common/common/enums' import { PositionsManager, IRefinanceParameters, Order } from '@summerfi/sdk-common/orders' import { ISimulation } from '@summerfi/sdk-common/simulation' import { TransactionUtils } from './utils/TransactionUtils' @@ -19,7 +18,7 @@ import { TransactionUtils } from './utils/TransactionUtils' import { Hex } from 'viem' import assert from 'assert' import { EmodeType } from '@summerfi/protocol-plugins/plugins/common' -import { RefinanceSimulationTypes } from '@summerfi/sdk-common' +import { CommonTokenSymbols, RefinanceSimulationTypes } from '@summerfi/sdk-common' import { SparkLendingPoolId, isSparkLendingPoolId, @@ -72,19 +71,29 @@ describe.skip('Refinance Maker Spark | SDK', () => { }) // Tokens - const WETH: Maybe = await chain.tokens.getTokenBySymbol({ symbol: TokenSymbol.WETH }) + const WETH: Maybe = await chain.tokens.getTokenBySymbol({ + symbol: CommonTokenSymbols.WETH, + }) assert(WETH, 'WETH not found') - const DAI: Maybe = await chain.tokens.getTokenBySymbol({ symbol: TokenSymbol.DAI }) + const DAI: Maybe = await chain.tokens.getTokenBySymbol({ + symbol: CommonTokenSymbols.DAI, + }) assert(DAI, 'DAI not found') - const USDC: Maybe = await chain.tokens.getTokenBySymbol({ symbol: TokenSymbol.USDC }) + const USDC: Maybe = await chain.tokens.getTokenBySymbol({ + symbol: CommonTokenSymbols.USDC, + }) assert(USDC, 'USDC not found') - const WBTC: Maybe = await chain.tokens.getTokenBySymbol({ symbol: TokenSymbol.WBTC }) + const WBTC: Maybe = await chain.tokens.getTokenBySymbol({ + symbol: CommonTokenSymbols.WBTC, + }) assert(WBTC, 'WBTC not found') - const WSTETH: Maybe = await chain.tokens.getTokenBySymbol({ symbol: TokenSymbol.WSTETH }) + const WSTETH: Maybe = await chain.tokens.getTokenBySymbol({ + symbol: CommonTokenSymbols.WSTETH, + }) assert(WSTETH, 'WSTETH not found') const maker = await chain.protocols.getProtocol({ name: ProtocolName.Maker }) diff --git a/sdk/sdk-server/package.json b/sdk/sdk-server/package.json index a41639e39f..e6f4ce1a92 100644 --- a/sdk/sdk-server/package.json +++ b/sdk/sdk-server/package.json @@ -36,6 +36,8 @@ "@summerfi/simulator-service": "workspace:^", "@summerfi/swap-common": "workspace:*", "@summerfi/swap-service": "workspace:*", + "@summerfi/tokens-common": "workspace:*", + "@summerfi/tokens-service": "workspace:*", "@trpc/server": "11.0.0-next-beta.264", "superjson": "^1.13.3" }, diff --git a/sdk/sdk-server/src/SDKAppRouter.ts b/sdk/sdk-server/src/SDKAppRouter.ts index 38f145024f..b1ad003d7f 100644 --- a/sdk/sdk-server/src/SDKAppRouter.ts +++ b/sdk/sdk-server/src/SDKAppRouter.ts @@ -2,12 +2,14 @@ import { getPosition } from './handlers/getPosition' import { getLendingPool } from './handlers/getLendingPool' import { getRefinanceSimulation } from './handlers/getRefinanceSimulation' import { buildOrder } from './handlers/buildOrder' -import { getToken } from './handlers/getToken' import { getSwapDataExactInput } from './handlers/getSwapData' import { getSwapQuoteExactInput } from './handlers/getSwapQuote' import { router } from './TRPC' import { getImportSimulation } from './handlers/getImportSimulation' import { getLendingPoolInfo } from './handlers/getLendingPoolInfo' +import { getTokenByName } from './handlers/getTokenByName' +import { getTokenByAddress } from './handlers/getTokenByAddress' +import { getTokenBySymbol } from './handlers/getTokenBySymbol' /** * Server @@ -18,7 +20,11 @@ export const sdkAppRouter = router({ getLendingPool: getLendingPool, getLendingPoolInfo: getLendingPoolInfo, }, - getToken: getToken, + tokens: { + getTokenBySymbol: getTokenBySymbol, + getTokenByName: getTokenByName, + getTokenByAddress: getTokenByAddress, + }, simulation: { refinance: getRefinanceSimulation, import: getImportSimulation, diff --git a/sdk/sdk-server/src/context/Context.ts b/sdk/sdk-server/src/context/Context.ts index ffdbcc7384..9130cd6acf 100644 --- a/sdk/sdk-server/src/context/Context.ts +++ b/sdk/sdk-server/src/context/Context.ts @@ -3,30 +3,34 @@ import { CreateAWSLambdaContextOptions } from '@trpc/server/adapters/aws-lambda' import type { APIGatewayProxyEventV2 } from 'aws-lambda' import { DeploymentIndex } from '@summerfi/deployment-utils' import { Deployments } from '@summerfi/core-contracts' -import { OrderPlannerService } from '@summerfi/order-planner-service/implementation' -import { SwapManagerFactory } from '@summerfi/swap-service' +import { IOrderPlannerService, OrderPlannerService } from '@summerfi/order-planner-service' import { ConfigurationProvider, IConfigurationProvider } from '@summerfi/configuration-provider' import { ISwapManager } from '@summerfi/swap-common/interfaces' +import { SwapManagerFactory } from '@summerfi/swap-service' import { IProtocolPluginsRegistry } from '@summerfi/protocol-plugins-common' import { ProtocolManager } from '@summerfi/protocol-manager-service' import { createProtocolsPluginsRegistry } from './CreateProtocolPluginsRegistry' import { IProtocolManager } from '@summerfi/protocol-manager-common' +import { ITokensManager } from '@summerfi/tokens-common' +import { TokensManagerFactory } from '@summerfi/tokens-service' export type ContextOptions = CreateAWSLambdaContextOptions export type SDKAppContext = { deployments: DeploymentIndex - orderPlannerService: OrderPlannerService - swapManager: ISwapManager configProvider: IConfigurationProvider + tokensManager: ITokensManager + swapManager: ISwapManager protocolsRegistry: IProtocolPluginsRegistry protocolManager: IProtocolManager + orderPlannerService: IOrderPlannerService } // context for each request export const createSDKContext = (opts: ContextOptions): SDKAppContext => { const deployments = Deployments as DeploymentIndex const configProvider = new ConfigurationProvider() + const tokensManager = TokensManagerFactory.newTokensManager({ configProvider }) const orderPlannerService = new OrderPlannerService({ deployments }) const swapManager = SwapManagerFactory.newSwapManager({ configProvider }) const protocolsRegistry = createProtocolsPluginsRegistry({ @@ -36,10 +40,11 @@ export const createSDKContext = (opts: ContextOptions): SDKAppContext => { return { deployments, - orderPlannerService, - swapManager, configProvider, + tokensManager, + swapManager, protocolsRegistry, protocolManager, + orderPlannerService, } } diff --git a/sdk/sdk-server/src/handlers/getToken.ts b/sdk/sdk-server/src/handlers/getToken.ts deleted file mode 100644 index cfd7ffada2..0000000000 --- a/sdk/sdk-server/src/handlers/getToken.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { z } from 'zod' -import { type ChainInfo } from '@summerfi/sdk-common/common' -import { TokenSymbol } from '@summerfi/sdk-common/common/enums' -import { publicProcedure } from '../TRPC' - -export const getToken = publicProcedure - .input( - z.object({ - chainInfo: z.custom((chainInfo) => chainInfo !== undefined), - symbol: z.nativeEnum(TokenSymbol), - }), - ) - .query(async () => { - throw new Error('Not implemented') - }) diff --git a/sdk/sdk-server/src/handlers/getTokenByAddress.ts b/sdk/sdk-server/src/handlers/getTokenByAddress.ts new file mode 100644 index 0000000000..1d8eec649e --- /dev/null +++ b/sdk/sdk-server/src/handlers/getTokenByAddress.ts @@ -0,0 +1,18 @@ +import { publicProcedure } from '../TRPC' +import { Address, AddressSchema, ChainInfo, ChainInfoSchema, Maybe } from '@summerfi/sdk-common' +import { Token } from '@summerfi/sdk-common/common' +import { z } from 'zod' + +export const getTokenByAddress = publicProcedure + .input( + z.object({ + chainInfo: ChainInfoSchema, + address: AddressSchema, + }), + ) + .query(async (opts): Promise> => { + return opts.ctx.tokensManager.getTokenByAddress({ + chainInfo: ChainInfo.createFrom(opts.input.chainInfo), + address: Address.createFrom(opts.input.address), + }) + }) diff --git a/sdk/sdk-server/src/handlers/getTokenByName.ts b/sdk/sdk-server/src/handlers/getTokenByName.ts new file mode 100644 index 0000000000..39def7b776 --- /dev/null +++ b/sdk/sdk-server/src/handlers/getTokenByName.ts @@ -0,0 +1,17 @@ +import { publicProcedure } from '../TRPC' +import { ChainInfo, ChainInfoSchema, Maybe, Token } from '@summerfi/sdk-common' +import { z } from 'zod' + +export const getTokenByName = publicProcedure + .input( + z.object({ + chainInfo: ChainInfoSchema, + name: z.string(), + }), + ) + .query(async (opts): Promise> => { + return opts.ctx.tokensManager.getTokenByName({ + chainInfo: ChainInfo.createFrom(opts.input.chainInfo), + name: opts.input.name, + }) + }) diff --git a/sdk/sdk-server/src/handlers/getTokenBySymbol.ts b/sdk/sdk-server/src/handlers/getTokenBySymbol.ts new file mode 100644 index 0000000000..a4eb57d765 --- /dev/null +++ b/sdk/sdk-server/src/handlers/getTokenBySymbol.ts @@ -0,0 +1,17 @@ +import { publicProcedure } from '../TRPC' +import { ChainInfo, ChainInfoSchema, Maybe, Token } from '@summerfi/sdk-common' +import { z } from 'zod' + +export const getTokenBySymbol = publicProcedure + .input( + z.object({ + chainInfo: ChainInfoSchema, + symbol: z.string(), + }), + ) + .query(async (opts): Promise> => { + return opts.ctx.tokensManager.getTokenBySymbol({ + chainInfo: ChainInfo.createFrom(opts.input.chainInfo), + symbol: opts.input.symbol, + }) + }) diff --git a/sdk/swap-common/src/interfaces/ISwapProvider.ts b/sdk/swap-common/src/interfaces/ISwapProvider.ts index 610e1a7a8a..9ef902813b 100644 --- a/sdk/swap-common/src/interfaces/ISwapProvider.ts +++ b/sdk/swap-common/src/interfaces/ISwapProvider.ts @@ -7,6 +7,10 @@ import type { QuoteData, SpotData, SwapData, SwapProviderType } from '@summerfi/ * @description this is for implementing different swap provider plugins */ export interface ISwapProvider { + /** + * @name type + * @description The type of the swap provider, to identify it + */ type: SwapProviderType /** diff --git a/sdk/tokens-common/.eslintrc.cjs b/sdk/tokens-common/.eslintrc.cjs new file mode 100644 index 0000000000..90e6466971 --- /dev/null +++ b/sdk/tokens-common/.eslintrc.cjs @@ -0,0 +1,7 @@ +/** @type {import("eslint").Linter.Config} */ +module.exports = { + root: true, + ignorePatterns: ['jest.config.js'], + extends: ['@summerfi/eslint-config/function.cjs'], + parser: '@typescript-eslint/parser', +} diff --git a/sdk/tokens-common/jest.config.js b/sdk/tokens-common/jest.config.js new file mode 100644 index 0000000000..19bbaf8037 --- /dev/null +++ b/sdk/tokens-common/jest.config.js @@ -0,0 +1,7 @@ +const { compilerOptions } = require('./tsconfig.test') +const sharedConfig = require('@summerfi/jest-config/jest.base') + +/** @type {import('ts-jest').JestConfigWithTsJest} */ +module.exports = { + ...sharedConfig(compilerOptions), +} diff --git a/sdk/tokens-common/package.json b/sdk/tokens-common/package.json new file mode 100644 index 0000000000..20832aed43 --- /dev/null +++ b/sdk/tokens-common/package.json @@ -0,0 +1,27 @@ +{ + "name": "@summerfi/tokens-common", + "version": "0.0.1", + "main": "dist/index.js", + "types": "dist/index.d.ts", + "exports": { + ".": { + "import": "./src/index.ts", + "types": "./src/index.d.ts" + } + }, + "scripts": { + "tsc": "tsc", + "watch": "tsc -w", + "build": "tsc -b tsconfig.build.json", + "lint": "eslint .", + "lint:fix": "eslint . --fix" + }, + "dependencies": { + "@summerfi/sdk-common": "workspace:*" + }, + "devDependencies": { + "@summerfi/eslint-config": "workspace:*", + "@summerfi/jest-config": "workspace:*", + "@summerfi/typescript-config": "workspace:*" + } +} diff --git a/sdk/tokens-common/src/index.ts b/sdk/tokens-common/src/index.ts new file mode 100644 index 0000000000..f1444d3eac --- /dev/null +++ b/sdk/tokens-common/src/index.ts @@ -0,0 +1 @@ +export * from './interfaces' diff --git a/sdk/tokens-common/src/interfaces/ITokensManager.ts b/sdk/tokens-common/src/interfaces/ITokensManager.ts new file mode 100644 index 0000000000..72e79fb110 --- /dev/null +++ b/sdk/tokens-common/src/interfaces/ITokensManager.ts @@ -0,0 +1,41 @@ +import type { Maybe, IChainInfo, IAddress, IToken } from '@summerfi/sdk-common/common' + +/** + * @name ITokensManager + * @description Interface for the TokensManager. Allows to retrieve information for a Token given its Chain, and + * its Address or symbol + */ +export interface ITokensManager { + /** + * @method getTokenBySymbol + * @description Retrieves a token by its symbol + * + * @param chainInfo The chain information of the token to retrieve + * @param symbol The symbol of the token to retrieve + * + * @returns The token with the given symbol + */ + getTokenBySymbol(params: { chainInfo: IChainInfo; symbol: string }): Promise> + + /** + * @method getTokenByAddress + * @description Retrieves a token by its address + * + * @param chainInfo The chain information of the token to retrieve + * @param address The address of the token to retrieve + * + * @returns The token with the given address + */ + getTokenByAddress(params: { chainInfo: IChainInfo; address: IAddress }): Promise> + + /** + * @method getTokenByName + * @description Retrieves a token by its name + * + * @param chainInfo The chain information of the token to retrieve + * @param name The name of the token to retrieve + * + * @returns The token with the given name + */ + getTokenByName(params: { chainInfo: IChainInfo; name: string }): Promise> +} diff --git a/sdk/tokens-common/src/interfaces/ITokensProvider.ts b/sdk/tokens-common/src/interfaces/ITokensProvider.ts new file mode 100644 index 0000000000..2ea6ec9f1e --- /dev/null +++ b/sdk/tokens-common/src/interfaces/ITokensProvider.ts @@ -0,0 +1,55 @@ +import { ChainId } from '@summerfi/sdk-common' +import { IAddress, IChainInfo, IToken, Maybe } from '@summerfi/sdk-common/common' +import { TokensProviderType } from '@summerfi/sdk-common/tokens' + +/** + * @name ITokensProvider + * @description Interface for providers of token information + */ +export interface ITokensProvider { + /** + * @name type + * @description The type of the tokens provider, used to identify the provider + */ + type: TokensProviderType + + /** + * @method getSupportedChainIds + * @description Retrieves the list of supported chain IDs + * @returns The list of supported chain IDs + */ + getSupportedChainIds(): ChainId[] + + /** + * @method getTokenBySymbol + * @description Retrieves a token by its symbol + * + * @param chainInfo The chain information of the token to retrieve + * @param symbol The symbol of the token to retrieve + * + * @returns The token with the given symbol + */ + getTokenBySymbol(params: { chainInfo: IChainInfo; symbol: string }): Promise> + + /** + * @method getTokenByAddress + * @description Retrieves a token by its address + * + * @param chainInfo The chain information of the token to retrieve + * @param address The address of the token to retrieve + * + * @returns The token with the given address + */ + getTokenByAddress(params: { chainInfo: IChainInfo; address: IAddress }): Promise> + + /** + * @method getTokenByName + * @description Retrieves a token by its name + * + * @param chainInfo The chain information of the token to retrieve + * @param name The name of the token to retrieve + * + * @returns The token with the given name + */ + getTokenByName(params: { chainInfo: IChainInfo; name: string }): Promise> +} diff --git a/sdk/tokens-common/src/interfaces/index.ts b/sdk/tokens-common/src/interfaces/index.ts new file mode 100644 index 0000000000..84bc378866 --- /dev/null +++ b/sdk/tokens-common/src/interfaces/index.ts @@ -0,0 +1,2 @@ +export * from './ITokensManager' +export * from './ITokensProvider' diff --git a/sdk/tokens-common/tsconfig.build.json b/sdk/tokens-common/tsconfig.build.json new file mode 100644 index 0000000000..17da6de26c --- /dev/null +++ b/sdk/tokens-common/tsconfig.build.json @@ -0,0 +1,8 @@ +{ + // by using a separate tsconfig for build, we can set main tsconfig to + // include tests and use module paths in tests but build without tests + "extends": "./tsconfig.json", + "compilerOptions": { + "rootDir": "src" + } +} diff --git a/sdk/tokens-common/tsconfig.json b/sdk/tokens-common/tsconfig.json new file mode 100644 index 0000000000..6e6486dd1f --- /dev/null +++ b/sdk/tokens-common/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "@summerfi/typescript-config/tsconfig.base.json", + "compilerOptions": { + "rootDir": ".", + "outDir": "dist", + "baseUrl": "." + }, + "include": ["src/**/*.ts", "tests/**/*.ts"], + "exclude": ["node_modules"] +} diff --git a/sdk/tokens-common/tsconfig.test.json b/sdk/tokens-common/tsconfig.test.json new file mode 100644 index 0000000000..5f84315d55 --- /dev/null +++ b/sdk/tokens-common/tsconfig.test.json @@ -0,0 +1,12 @@ +{ + "extends": "@summerfi/typescript-config/tsconfig.test.json", + "compilerOptions": { + "rootDir": ".", + "baseUrl": ".", + "paths": { + "@summerfi/sdk-common/*": ["node_modules/@summerfi/sdk-common/src/*"] + } + }, + "include": ["src/**/*.ts"], + "exclude": ["node_modules"] +} diff --git a/sdk/tokens-service/.eslintrc.cjs b/sdk/tokens-service/.eslintrc.cjs new file mode 100644 index 0000000000..ba14d13c7d --- /dev/null +++ b/sdk/tokens-service/.eslintrc.cjs @@ -0,0 +1,7 @@ +/** @type {import("eslint").Linter.Config} */ +module.exports = { + root: true, + ignorePatterns: ['jest.config.js'], + extends: ['@summerfi/eslint-config/library.cjs'], + parser: '@typescript-eslint/parser', +} diff --git a/sdk/tokens-service/jest.config.js b/sdk/tokens-service/jest.config.js new file mode 100644 index 0000000000..e8b003e37b --- /dev/null +++ b/sdk/tokens-service/jest.config.js @@ -0,0 +1,9 @@ +const { compilerOptions } = require('./tsconfig.test') +const sharedConfig = require('@summerfi/jest-config/jest.base') +require('dotenv').config({ path: '../.env' }) + +/** @type {import('ts-jest').JestConfigWithTsJest} */ +module.exports = { + ...sharedConfig(compilerOptions), + roots: ['/src', '/tests'], +} diff --git a/sdk/tokens-service/package.json b/sdk/tokens-service/package.json new file mode 100644 index 0000000000..4634403f5e --- /dev/null +++ b/sdk/tokens-service/package.json @@ -0,0 +1,33 @@ +{ + "name": "@summerfi/tokens-service", + "version": "0.0.1", + "main": "dist/index.js", + "types": "dist/index.d.ts", + "exports": { + ".": { + "import": "./src/index.ts", + "types": "./src/index.d.ts" + } + }, + "scripts": { + "tsc": "tsc", + "watch": "tsc -w", + "test": "jest tests/ --passWithNoTests", + "testw": "jest --watch", + "e2e": "jest e2e/", + "build": "tsc -b tsconfig.build.json", + "lint": "eslint .", + "lint:fix": "eslint . --fix" + }, + "dependencies": { + "@summerfi/common": "workspace:*", + "@summerfi/configuration-provider": "workspace:*", + "@summerfi/sdk-common": "workspace:*", + "@summerfi/tokens-common": "workspace:*" + }, + "devDependencies": { + "@summerfi/eslint-config": "workspace:*", + "@summerfi/jest-config": "workspace:*", + "@summerfi/typescript-config": "workspace:*" + } +} diff --git a/sdk/tokens-service/src/implementation/TokensManager.ts b/sdk/tokens-service/src/implementation/TokensManager.ts new file mode 100644 index 0000000000..0fad76d7f4 --- /dev/null +++ b/sdk/tokens-service/src/implementation/TokensManager.ts @@ -0,0 +1,106 @@ +import type { Maybe } from '@summerfi/sdk-common/common/aliases' +import type { IAddress, IChainInfo, IToken } from '@summerfi/sdk-common/common' +import { ChainId } from '@summerfi/sdk-common/common' +import { TokensProviderType } from '@summerfi/sdk-common/tokens' +import { ITokensManager, ITokensProvider } from '@summerfi/tokens-common' + +/** + * @name TokensManagerProviderConfig + * @description Configuration for the TokensManager. It includes the list of available providers + */ +export type TokensManagerProviderConfig = { + provider: ITokensProvider +} + +/** + * @name TokensManager + * @description Implementation of the ITokensManager interface. It allows to retrieve information for a Token + */ +export class TokensManager implements ITokensManager { + private _providersByChainId: Map + private _providersByType: Map + + /** CONSTRUCTOR */ + constructor(params: { providersConfig: TokensManagerProviderConfig[] }) { + const { providersConfig } = params + + this._providersByChainId = new Map() + this._providersByType = new Map() + + for (const config of providersConfig) { + this._registerProvider(config.provider) + } + } + + /** PUBLIC METHODS */ + + /** @see ITokensManager.getTokenBySymbol */ + async getTokenBySymbol(params: { + chainInfo: IChainInfo + symbol: string + }): Promise> { + const provider = this._getBestProvider({ chainInfo: params.chainInfo }) + if (!provider) { + return undefined + } + + return provider.getTokenBySymbol(params) + } + + /** @see ITokensManager.getTokenByAddress */ + async getTokenByAddress(params: { + chainInfo: IChainInfo + address: IAddress + }): Promise> { + const provider = this._getBestProvider({ chainInfo: params.chainInfo }) + if (!provider) { + return undefined + } + + return provider.getTokenByAddress(params) + } + + /** @see ITokensManager.getTokenByName */ + async getTokenByName(params: { chainInfo: IChainInfo; name: string }): Promise> { + const provider = this._getBestProvider({ chainInfo: params.chainInfo }) + if (!provider) { + return undefined + } + + return provider.getTokenByName(params) + } + + /** PRIVATE METHODS */ + private _registerProvider(provider: ITokensProvider): void { + const forChainIds = provider.getSupportedChainIds() + + for (const chainId of forChainIds) { + const providers = this._providersByChainId.get(chainId) || [] + providers.push(provider) + this._providersByChainId.set(chainId, providers) + } + + this._providersByType.set(provider.type, provider) + } + + private _getBestProvider(params: { + chainInfo: IChainInfo + forceUseProvider?: TokensProviderType + }): Maybe { + if (params.forceUseProvider) { + const provider = this._providersByType.get(params.forceUseProvider) + if (provider) { + return provider + } + } + + const providers = this._providersByChainId.get(params.chainInfo.chainId) || [] + if (providers.length === 0) { + return undefined + } + + // For now, we just return the first provider. In the future, we can implement a logic to + // choose the best provider based on the input parameters or on the swap provider's capabilities. + return providers[0] + } +} diff --git a/sdk/tokens-service/src/implementation/TokensManagerFactory.ts b/sdk/tokens-service/src/implementation/TokensManagerFactory.ts new file mode 100644 index 0000000000..959912abef --- /dev/null +++ b/sdk/tokens-service/src/implementation/TokensManagerFactory.ts @@ -0,0 +1,53 @@ +import { type IConfigurationProvider } from '@summerfi/configuration-provider' +import { TokensManager, TokensManagerProviderConfig } from './TokensManager' +import { StaticTokensProvider } from './static/StaticTokensProvider' +import { ITokensManager } from '@summerfi/tokens-common' + +/** + * @name TokensManagerFactory + * @description Factory class for the TokensManager. Takes care of generating the manager config and creates an instance + */ +export class TokensManagerFactory { + /** + * @name providersConfig + * @description Configuration for the TokensManager. It includes the list of available providers + */ + static providersConfig: TokensManagerProviderConfig[] = [] + + /** + * @method newTokensManager + * @param configProvider The configuration provider used to get environment variables + * @returns A new instance of the TokensManager + */ + public static newTokensManager(params: { + configProvider: IConfigurationProvider + }): ITokensManager { + this.initialize(params) + + return new TokensManager({ providersConfig: this.providersConfig }) + } + + /** PRIVATE */ + + /** + * @method initialize + * @description Initializes the different providers + * @param configProvider The configuration provider used to get environment variables + */ + private static initialize(params: { configProvider: IConfigurationProvider }): void { + if (this.providersConfig.length != 0) { + return + } + + const { configProvider } = params + + // Static provider + const staticProvider = new StaticTokensProvider({ configProvider: configProvider }) + + this.providersConfig = [ + { + provider: staticProvider, + }, + ] + } +} diff --git a/sdk/tokens-service/src/implementation/index.ts b/sdk/tokens-service/src/implementation/index.ts new file mode 100644 index 0000000000..000ff29143 --- /dev/null +++ b/sdk/tokens-service/src/implementation/index.ts @@ -0,0 +1,2 @@ +export * from './TokensManager' +export * from './TokensManagerFactory' diff --git a/sdk/tokens-service/src/implementation/static/StaticTokensList.ts b/sdk/tokens-service/src/implementation/static/StaticTokensList.ts new file mode 100644 index 0000000000..815473577a --- /dev/null +++ b/sdk/tokens-service/src/implementation/static/StaticTokensList.ts @@ -0,0 +1,257 @@ +import { TokenListData } from './TokensListData' + +export const StaticTokensData: TokenListData = { + name: 'Summer.fi Token List', + timestamp: '2022-03-21T09:49:26.225Z', + version: { + major: 1, + minor: 0, + patch: 0, + }, + tags: {}, + logoURI: 'https://summer.fi/static/img/logos/logo_dark.svg', + keywords: ['Summer.fi', 'MakerDAO'], + tokens: [ + { + name: 'Dai Stablecoin', + address: '0x6B175474E89094C44Da98b954EedeAC495271d0F', + symbol: 'DAI', + decimals: 18, + chainId: 1, + logoURI: + 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x6B175474E89094C44Da98b954EedeAC495271d0F/logo.png', + }, + { + name: 'ChainLink Token', + address: '0x514910771AF9Ca656af840dff83E8264EcF986CA', + symbol: 'LINK', + decimals: 18, + chainId: 1, + logoURI: + 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x514910771AF9Ca656af840dff83E8264EcF986CA/logo.png', + }, + { + chainId: 1, + address: '0x0F5D2fB29fb7d3CFeE444a200298f468908cC942', + name: 'Decentraland', + symbol: 'MANA', + decimals: 18, + logoURI: + 'https://assets.coingecko.com/coins/images/878/thumb/decentraland-mana.png?1550108745', + }, + { + chainId: 1, + address: '0x7D1AfA7B718fb893dB30A3aBc0Cfc608AaCfeBB0', + name: 'Polygon', + symbol: 'MATIC', + decimals: 18, + logoURI: + 'https://assets.coingecko.com/coins/images/4713/thumb/matic-token-icon.png?1624446912', + }, + { + name: 'Maker', + address: '0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2', + symbol: 'MKR', + decimals: 18, + chainId: 1, + logoURI: + 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x9f8F72aA9304c8B593d555F12eF6589cC3A579A2/logo.png', + }, + { + name: 'Uniswap', + address: '0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984', + symbol: 'UNI', + decimals: 18, + chainId: 1, + logoURI: 'ipfs://QmXttGpZrECX5qCyXbBQiqgQNytVGeZW5Anewvh2jc4psg', + }, + { + name: 'USDCoin', + address: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48', + symbol: 'USDC', + decimals: 6, + chainId: 1, + logoURI: + 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48/logo.png', + }, + { + name: 'Wrapped BTC', + address: '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', + symbol: 'WBTC', + decimals: 8, + chainId: 1, + logoURI: + 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599/logo.png', + }, + { + name: 'Wrapped Ether', + address: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2', + symbol: 'WETH', + decimals: 18, + chainId: 1, + logoURI: + 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2/logo.png', + }, + { + chainId: 1, + address: '0x0bc529c00C6401aEF6D220BE8C6Ea1667F6Ad93e', + name: 'yearn finance', + symbol: 'YFI', + decimals: 18, + logoURI: 'https://assets.coingecko.com/coins/images/11849/thumb/yfi-192x192.png?1598325330', + }, + { + address: '0xae7ab96520DE3A18E5e111B5EaAb095312D7fE84', + chainId: 1, + name: 'stETH', + symbol: 'stETH', + decimals: 18, + logoURI: 'https://tokens.1inch.io/0xae7ab96520de3a18e5e111b5eaab095312d7fe84.png', + }, + { + address: '0x056Fd409E1d7A124BD7017459dFEa2F387b6d5Cd', + chainId: 1, + name: 'Geminidollar', + symbol: 'GUSD', + decimals: 2, + logoURI: 'https://tokens.1inch.io/0x056fd409e1d7a124bd7017459dfea2f387b6d5cd.png', + }, + { + address: '0x8E870D67F660D95d5be530380D0eC0bd388289E1', + chainId: 1, + name: 'PaxDollar', + symbol: 'USDP', + decimals: 18, + logoURI: 'https://tokens.1inch.io/0x8e870d67f660d95d5be530380d0ec0bd388289e1.png', + }, + { + address: '0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0', + chainId: 1, + name: 'WrappedliquidstakedEther2.0', + symbol: 'wstETH', + decimals: 18, + logoURI: 'https://tokens.1inch.io/0x7f39c581f595b53c5cb19bd0b3f8da6c935e2ca0.png', + }, + { + address: '0xEB4C2781e4ebA804CE9a9803C67d0893436bB27D', + chainId: 1, + name: 'renBTC', + symbol: 'renBTC', + decimals: 8, + logoURI: 'https://tokens.1inch.io/0xeb4c2781e4eba804ce9a9803c67d0893436bb27d.png', + }, + { + name: 'Dai Stablecoin', + address: '0xaD6D458402F60fD3Bd25163575031ACDce07538D', + symbol: 'DAI', + decimals: 18, + chainId: 3, + logoURI: + 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xaD6D458402F60fD3Bd25163575031ACDce07538D/logo.png', + }, + { + name: 'Uniswap', + address: '0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984', + symbol: 'UNI', + decimals: 18, + chainId: 3, + logoURI: 'ipfs://QmXttGpZrECX5qCyXbBQiqgQNytVGeZW5Anewvh2jc4psg', + }, + { + name: 'Wrapped Ether', + address: '0xc778417E063141139Fce010982780140Aa0cD5Ab', + symbol: 'WETH', + decimals: 18, + chainId: 3, + logoURI: + 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xc778417E063141139Fce010982780140Aa0cD5Ab/logo.png', + }, + { + name: 'Dai Stablecoin', + address: '0xc7AD46e0b8a400Bb3C915120d284AafbA8fc4735', + symbol: 'DAI', + decimals: 18, + chainId: 4, + logoURI: + 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xc7AD46e0b8a400Bb3C915120d284AafbA8fc4735/logo.png', + }, + { + name: 'Maker', + address: '0xF9bA5210F91D0474bd1e1DcDAeC4C58E359AaD85', + symbol: 'MKR', + decimals: 18, + chainId: 4, + logoURI: + 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xF9bA5210F91D0474bd1e1DcDAeC4C58E359AaD85/logo.png', + }, + { + name: 'Uniswap', + address: '0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984', + symbol: 'UNI', + decimals: 18, + chainId: 4, + logoURI: 'ipfs://QmXttGpZrECX5qCyXbBQiqgQNytVGeZW5Anewvh2jc4psg', + }, + { + name: 'Wrapped Ether', + address: '0xc778417E063141139Fce010982780140Aa0cD5Ab', + symbol: 'WETH', + decimals: 18, + chainId: 4, + logoURI: + 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xc778417E063141139Fce010982780140Aa0cD5Ab/logo.png', + }, + { + name: 'Uniswap', + address: '0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984', + symbol: 'UNI', + decimals: 18, + chainId: 5, + logoURI: 'ipfs://QmXttGpZrECX5qCyXbBQiqgQNytVGeZW5Anewvh2jc4psg', + }, + { + name: 'Wrapped Ether', + address: '0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6', + symbol: 'WETH', + decimals: 18, + chainId: 5, + logoURI: + 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xB4FBF271143F4FBf7B91A5ded31805e42b2208d6/logo.png', + }, + { + name: 'Dai Stablecoin', + address: '0x4F96Fe3b7A6Cf9725f59d353F723c1bDb64CA6Aa', + symbol: 'DAI', + decimals: 18, + chainId: 42, + logoURI: + 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x4F96Fe3b7A6Cf9725f59d353F723c1bDb64CA6Aa/logo.png', + }, + { + name: 'Maker', + address: '0xAaF64BFCC32d0F15873a02163e7E500671a4ffcD', + symbol: 'MKR', + decimals: 18, + chainId: 42, + logoURI: + 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xAaF64BFCC32d0F15873a02163e7E500671a4ffcD/logo.png', + }, + { + name: 'Uniswap', + address: '0x1f9840a85d5aF5bf1D1762F925BDADdC4201F984', + symbol: 'UNI', + decimals: 18, + chainId: 42, + logoURI: 'ipfs://QmXttGpZrECX5qCyXbBQiqgQNytVGeZW5Anewvh2jc4psg', + }, + { + name: 'Wrapped Ether', + address: '0xd0A1E359811322d97991E03f863a0C30C2cF029C', + symbol: 'WETH', + decimals: 18, + chainId: 42, + logoURI: + 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0xd0A1E359811322d97991E03f863a0C30C2cF029C/logo.png', + }, + ], +} diff --git a/sdk/tokens-service/src/implementation/static/StaticTokensProvider.ts b/sdk/tokens-service/src/implementation/static/StaticTokensProvider.ts new file mode 100644 index 0000000000..b89ebbb13e --- /dev/null +++ b/sdk/tokens-service/src/implementation/static/StaticTokensProvider.ts @@ -0,0 +1,147 @@ +import { ITokensProvider } from '@summerfi/tokens-common' +import { TokensProviderType } from '@summerfi/sdk-common/tokens' +import { StaticTokensData } from './StaticTokensList' +import { IConfigurationProvider } from '@summerfi/configuration-provider' +import { TokenData } from './TokensData' +import { Address, ChainId, IAddress, IChainInfo, IToken, Maybe, Token } from '@summerfi/sdk-common' +import { AddressType } from '@summerfi/sdk-common/common' +import { TokensMap } from './TokensMap' +import assert from 'assert' + +/** + * @name StaticTokensProvider + * @description Implementation of the ITokensProvider interface for a static provider + * + * It contains a pre-built list of tokens per chain ID + */ +export class StaticTokensProvider implements ITokensProvider { + public type: TokensProviderType = TokensProviderType.Static + + private _tokenByChainID: Map + + /** CONSTRUCTOR */ + + /* eslint-disable @typescript-eslint/no-unused-vars */ + constructor(params: { configProvider: IConfigurationProvider }) { + this._tokenByChainID = new Map() + + for (const tokenData of StaticTokensData.tokens) { + this._addTokenData({ tokenData }) + } + } + + /** + * @method getSupportedChainIds + * @description Retrieves the list of supported chain IDs + * @returns The list of supported chain IDs + */ + getSupportedChainIds(): ChainId[] { + return Array.from(this._tokenByChainID.keys()) + } + + /** @see ITokensProvider.getTokenBySymbol */ + async getTokenBySymbol(params: { + chainInfo: IChainInfo + symbol: string + }): Promise> { + const { chainInfo } = params + + const tokenMap = this._getTokenMap(params.chainInfo) + if (!tokenMap) { + return undefined + } + + const tokenData = tokenMap.getBySymbol(params.symbol) + if (!tokenData) { + return undefined + } + + return this._createToken({ chainInfo, tokenData }) + } + + /** @see ITokensProvider.getTokenByAddress */ + async getTokenByAddress(params: { + chainInfo: IChainInfo + address: IAddress + }): Promise> { + const { chainInfo } = params + + const tokenMap = this._getTokenMap(params.chainInfo) + if (!tokenMap) { + return undefined + } + + const tokenData = tokenMap.getByAddress(params.address.value) + if (!tokenData) { + return undefined + } + + return this._createToken({ chainInfo, tokenData }) + } + + /** @see ITokensProvider.getTokenByName */ + async getTokenByName(params: { chainInfo: IChainInfo; name: string }): Promise> { + const { chainInfo } = params + + const tokenMap = this._getTokenMap(params.chainInfo) + if (!tokenMap) { + return undefined + } + + const tokenData = tokenMap.getByName(params.name) + if (!tokenData) { + return undefined + } + + return this._createToken({ chainInfo, tokenData }) + } + + /** PRIVATE METHODS */ + + /** + * @method _addTokenData + * @description Adds a token data to the internal map indexed by the Chain ID + * @param tokenData The token data to add + */ + private _addTokenData(params: { tokenData: TokenData }) { + const { tokenData } = params + + if (!this._tokenByChainID.has(tokenData.chainId)) { + this._tokenByChainID.set(tokenData.chainId, new TokensMap({ chainID: tokenData.chainId })) + } + + const tokensMap = this._tokenByChainID.get(tokenData.chainId) + assert(tokensMap !== undefined, 'TokensMap should have been initialized') + + tokensMap.add({ tokenData }) + } + + /** + * @method _getTokenMap + * @description Retrieves the token map for a given chain ID + * @param chainInfo The chain information from which to extract the Chain ID + * @returns The token map for the given chain ID or undefined if it does not exist + */ + private _getTokenMap(chainInfo: IChainInfo): Maybe { + return this._tokenByChainID.get(chainInfo.chainId) + } + + /** + * @method _createToken + * @description Creates a Token instance from the given TokenData + * @param chainInfo The chain information to create the Token from + * @param tokenData The token data to create the Token from + * @returns The created Token instance + */ + private _createToken(params: { chainInfo: IChainInfo; tokenData: TokenData }): IToken { + const { chainInfo, tokenData } = params + + return Token.createFrom({ + address: Address.createFrom({ value: tokenData.address, type: AddressType.Ethereum }), + chainInfo: chainInfo, + decimals: tokenData.decimals, + name: tokenData.name, + symbol: tokenData.symbol, + }) + } +} diff --git a/sdk/tokens-service/src/implementation/static/TokensData.ts b/sdk/tokens-service/src/implementation/static/TokensData.ts new file mode 100644 index 0000000000..f8212d9184 --- /dev/null +++ b/sdk/tokens-service/src/implementation/static/TokensData.ts @@ -0,0 +1,19 @@ +import { AddressValue } from '@summerfi/sdk-common' + +/** + * Information of a token + */ +export interface TokenData { + /** Full name of the token */ + name: string + /** Address of the token */ + address: AddressValue + /** Symbol of the token */ + symbol: string + /** Number of decimals of the token */ + decimals: number + /** Chain ID of the token */ + chainId: number + /** URI of the logo of the token */ + logoURI: string +} diff --git a/sdk/tokens-service/src/implementation/static/TokensListData.ts b/sdk/tokens-service/src/implementation/static/TokensListData.ts new file mode 100644 index 0000000000..afb3e98d3e --- /dev/null +++ b/sdk/tokens-service/src/implementation/static/TokensListData.ts @@ -0,0 +1,25 @@ +import { TokenData } from './TokensData' + +/** + * List of tokens + */ +export interface TokenListData { + /** Name of the token list */ + name: string + /** Timestamp when the token list was created */ + timestamp: string + /** Version of the token list */ + version: { + major: number + minor: number + patch: number + } + /** Tags of the token list */ + tags: Record + /** URI of the logo of the token list */ + logoURI: string + /** Keywords of the token list */ + keywords: string[] + /** List of tokens */ + tokens: TokenData[] +} diff --git a/sdk/tokens-service/src/implementation/static/TokensMap.ts b/sdk/tokens-service/src/implementation/static/TokensMap.ts new file mode 100644 index 0000000000..2ffeaff769 --- /dev/null +++ b/sdk/tokens-service/src/implementation/static/TokensMap.ts @@ -0,0 +1,81 @@ +import { AddressValue, Maybe } from '@summerfi/sdk-common' +import { TokenData } from './TokensData' +import { ChainId } from '@summerfi/sdk-common/common' + +/** + * @name TokensMap + * @description A map of tokens for a given chain ID + */ +export class TokensMap { + readonly chainId: ChainId + + private _tokensBySymbol: Map + private _tokensByAddress: Map + private _tokensByName: Map + + constructor(params: { chainID: ChainId }) { + this.chainId = params.chainID + + this._tokensBySymbol = new Map() + this._tokensByAddress = new Map() + this._tokensByName = new Map() + } + + /** + * @method add + * @description Adds a token to the map and indexes it by the different criteria + * @param tokenData The token data to add + */ + add(params: { tokenData: TokenData }) { + if (this._tokensBySymbol.has(params.tokenData.symbol)) { + throw new Error( + `Token with symbol ${params.tokenData.symbol} already exists for chain ID ${this.chainId}`, + ) + } + + if (this._tokensByAddress.has(params.tokenData.address)) { + throw new Error( + `Token with address ${params.tokenData.address} already exists for chain ID ${this.chainId}`, + ) + } + + if (this._tokensByName.has(params.tokenData.name)) { + throw new Error( + `Token with name ${params.tokenData.name} already exists for chain ID ${this.chainId}`, + ) + } + + this._tokensBySymbol.set(params.tokenData.symbol, params.tokenData) + this._tokensByAddress.set(params.tokenData.address, params.tokenData) + this._tokensByName.set(params.tokenData.name, params.tokenData) + } + + /** + * @method getBySymbol + * @param symbol The symbol of the token to retrieve + * @returns The token data for the given symbol or undefined if it does not exist + */ + getBySymbol(symbol: string): Maybe { + return this._tokensBySymbol.get(symbol) + } + + /** + * @method getByAddress + * @description Retrieves a token by its address + * @param address The address of the token to retrieve + * @returns The token data for the given address or undefined if it does not exist + */ + getByAddress(address: AddressValue): Maybe { + return this._tokensByAddress.get(address) + } + + /** + * @method getByName + * @description Retrieves a token by its name + * @param name The full name of the token to retrieve + * @returns The token data for the given name or undefined if it does not exist + */ + getByName(name: string): Maybe { + return this._tokensByName.get(name) + } +} diff --git a/sdk/tokens-service/src/implementation/static/index.ts b/sdk/tokens-service/src/implementation/static/index.ts new file mode 100644 index 0000000000..b7249f54d6 --- /dev/null +++ b/sdk/tokens-service/src/implementation/static/index.ts @@ -0,0 +1 @@ +export * from './StaticTokensProvider' diff --git a/sdk/tokens-service/src/index.ts b/sdk/tokens-service/src/index.ts new file mode 100644 index 0000000000..b1623044dd --- /dev/null +++ b/sdk/tokens-service/src/index.ts @@ -0,0 +1 @@ +export * from './implementation' diff --git a/sdk/tokens-service/tests/.gitkeep b/sdk/tokens-service/tests/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/sdk/tokens-service/tests/StaticTokensProvider.spec.ts b/sdk/tokens-service/tests/StaticTokensProvider.spec.ts new file mode 100644 index 0000000000..f345034da8 --- /dev/null +++ b/sdk/tokens-service/tests/StaticTokensProvider.spec.ts @@ -0,0 +1,107 @@ +import { IConfigurationProvider } from '@summerfi/configuration-provider' +import { ITokensProvider } from '@summerfi/tokens-common' +import { StaticTokensProvider } from '../src/implementation/static/StaticTokensProvider' +import { ChainInfo } from '@summerfi/sdk-common' +import assert from 'assert' +import { Address, AddressType } from '@summerfi/sdk-common/common' + +describe('StaticTokensProvider', () => { + let staticTokensProvider: ITokensProvider + + const chainInfo = ChainInfo.createFrom({ + chainId: 1, + name: 'Ethereum', + }) + + beforeEach(() => { + staticTokensProvider = new StaticTokensProvider({ + configProvider: {} as IConfigurationProvider, + }) + }) + it('should return supported chain IDs', async () => { + const chainIds = staticTokensProvider.getSupportedChainIds() + expect(chainIds.length).toBeGreaterThan(0) + expect(chainIds).toContain(1) + }) + it('should return token by symbol', async () => { + const wethToken = await staticTokensProvider.getTokenBySymbol({ + chainInfo, + symbol: 'WETH', + }) + + assert(wethToken, 'Token not found') + expect(wethToken.chainInfo).toEqual(chainInfo) + expect(wethToken.symbol).toBe('WETH') + expect(wethToken.name).toBe('Wrapped Ether') + expect(wethToken.decimals).toBe(18) + expect(wethToken.address.value).toBe('0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2') + + const daiToken = await staticTokensProvider.getTokenBySymbol({ + chainInfo, + symbol: 'DAI', + }) + + assert(daiToken, 'Token not found') + expect(daiToken.chainInfo).toEqual(chainInfo) + expect(daiToken.symbol).toBe('DAI') + expect(daiToken.name).toBe('Dai Stablecoin') + expect(daiToken.decimals).toBe(18) + expect(daiToken.address.value).toBe('0x6B175474E89094C44Da98b954EedeAC495271d0F') + }) + it('should return token by address', async () => { + const wethToken = await staticTokensProvider.getTokenByAddress({ + chainInfo, + address: Address.createFrom({ + value: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2', + type: AddressType.Ethereum, + }), + }) + + assert(wethToken, 'Token not found') + expect(wethToken.chainInfo).toEqual(chainInfo) + expect(wethToken.symbol).toBe('WETH') + expect(wethToken.name).toBe('Wrapped Ether') + expect(wethToken.decimals).toBe(18) + expect(wethToken.address.value).toBe('0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2') + + const daiToken = await staticTokensProvider.getTokenByAddress({ + chainInfo, + address: Address.createFrom({ + value: '0x6B175474E89094C44Da98b954EedeAC495271d0F', + type: AddressType.Ethereum, + }), + }) + + assert(daiToken, 'Token not found') + expect(daiToken.chainInfo).toEqual(chainInfo) + expect(daiToken.symbol).toBe('DAI') + expect(daiToken.name).toBe('Dai Stablecoin') + expect(daiToken.decimals).toBe(18) + expect(daiToken.address.value).toBe('0x6B175474E89094C44Da98b954EedeAC495271d0F') + }) + it('should return token by name', async () => { + const wethToken = await staticTokensProvider.getTokenByName({ + chainInfo, + name: 'Wrapped Ether', + }) + + assert(wethToken, 'Token not found') + expect(wethToken.chainInfo).toEqual(chainInfo) + expect(wethToken.symbol).toBe('WETH') + expect(wethToken.name).toBe('Wrapped Ether') + expect(wethToken.decimals).toBe(18) + expect(wethToken.address.value).toBe('0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2') + + const daiToken = await staticTokensProvider.getTokenByName({ + chainInfo, + name: 'Dai Stablecoin', + }) + + assert(daiToken, 'Token not found') + expect(daiToken.chainInfo).toEqual(chainInfo) + expect(daiToken.symbol).toBe('DAI') + expect(daiToken.name).toBe('Dai Stablecoin') + expect(daiToken.decimals).toBe(18) + expect(daiToken.address.value).toBe('0x6B175474E89094C44Da98b954EedeAC495271d0F') + }) +}) diff --git a/sdk/tokens-service/tests/TokensManager.spec.ts b/sdk/tokens-service/tests/TokensManager.spec.ts new file mode 100644 index 0000000000..83e448109f --- /dev/null +++ b/sdk/tokens-service/tests/TokensManager.spec.ts @@ -0,0 +1,108 @@ +import { ITokensManager } from '@summerfi/tokens-common' +import { ChainInfo } from '@summerfi/sdk-common' +import { Address, AddressType } from '@summerfi/sdk-common/common' +import { TokensManager } from '../src/implementation/TokensManager' +import assert from 'assert' +import { MockTokensProvider } from './mocks/MockTokensProvider' + +describe('TokensManager', () => { + let tokensManager: ITokensManager + + const chainInfo = ChainInfo.createFrom({ + chainId: 1, + name: 'Ethereum', + }) + + beforeEach(() => { + const mockTokensProvider = new MockTokensProvider() + tokensManager = new TokensManager({ + providersConfig: [ + { + provider: mockTokensProvider, + }, + ], + }) + }) + + it('should return token by symbol', async () => { + const wethToken = await tokensManager.getTokenBySymbol({ + chainInfo, + symbol: 'WETH', + }) + + assert(wethToken, 'Token not found') + expect(wethToken.chainInfo).toEqual(chainInfo) + expect(wethToken.symbol).toBe('WETH') + expect(wethToken.name).toBe('MockToken') + expect(wethToken.decimals).toBe(18) + expect(wethToken.address.value).toBe('0x6B175474E89094C44Da98b954EedeAC495271d0F') + + const daiToken = await tokensManager.getTokenBySymbol({ + chainInfo, + symbol: 'DAI', + }) + + assert(daiToken, 'Token not found') + expect(daiToken.chainInfo).toEqual(chainInfo) + expect(daiToken.symbol).toBe('DAI') + expect(daiToken.name).toBe('MockToken') + expect(daiToken.decimals).toBe(18) + expect(daiToken.address.value).toBe('0x6B175474E89094C44Da98b954EedeAC495271d0F') + }) + it('should return token by address', async () => { + const wethToken = await tokensManager.getTokenByAddress({ + chainInfo, + address: Address.createFrom({ + value: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2', + type: AddressType.Ethereum, + }), + }) + + assert(wethToken, 'Token not found') + expect(wethToken.chainInfo).toEqual(chainInfo) + expect(wethToken.symbol).toBe('MOCK') + expect(wethToken.name).toBe('MockToken') + expect(wethToken.decimals).toBe(18) + expect(wethToken.address.value).toBe('0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2') + + const daiToken = await tokensManager.getTokenByAddress({ + chainInfo, + address: Address.createFrom({ + value: '0x6B175474E89094C44Da98b954EedeAC495271d0F', + type: AddressType.Ethereum, + }), + }) + + assert(daiToken, 'Token not found') + expect(daiToken.chainInfo).toEqual(chainInfo) + expect(daiToken.symbol).toBe('MOCK') + expect(daiToken.name).toBe('MockToken') + expect(daiToken.decimals).toBe(18) + expect(daiToken.address.value).toBe('0x6B175474E89094C44Da98b954EedeAC495271d0F') + }) + it('should return token by name', async () => { + const wethToken = await tokensManager.getTokenByName({ + chainInfo, + name: 'Wrapped Ether', + }) + + assert(wethToken, 'Token not found') + expect(wethToken.chainInfo).toEqual(chainInfo) + expect(wethToken.symbol).toBe('MOCK') + expect(wethToken.name).toBe('Wrapped Ether') + expect(wethToken.decimals).toBe(18) + expect(wethToken.address.value).toBe('0x6B175474E89094C44Da98b954EedeAC495271d0F') + + const daiToken = await tokensManager.getTokenByName({ + chainInfo, + name: 'Dai Stablecoin', + }) + + assert(daiToken, 'Token not found') + expect(daiToken.chainInfo).toEqual(chainInfo) + expect(daiToken.symbol).toBe('MOCK') + expect(daiToken.name).toBe('Dai Stablecoin') + expect(daiToken.decimals).toBe(18) + expect(daiToken.address.value).toBe('0x6B175474E89094C44Da98b954EedeAC495271d0F') + }) +}) diff --git a/sdk/tokens-service/tests/TokensManagerFactory.spec.ts b/sdk/tokens-service/tests/TokensManagerFactory.spec.ts new file mode 100644 index 0000000000..4374e0612b --- /dev/null +++ b/sdk/tokens-service/tests/TokensManagerFactory.spec.ts @@ -0,0 +1,104 @@ +import { ITokensManager } from '@summerfi/tokens-common' +import { ChainInfo } from '@summerfi/sdk-common' +import { Address, AddressType } from '@summerfi/sdk-common/common' +import assert from 'assert' + +import { TokensManagerFactory } from '../src' +import { IConfigurationProvider } from '@summerfi/configuration-provider' + +describe('TokensManagerFactory', () => { + let tokensManager: ITokensManager + + const chainInfo = ChainInfo.createFrom({ + chainId: 1, + name: 'Ethereum', + }) + + beforeEach(() => { + tokensManager = TokensManagerFactory.newTokensManager({ + configProvider: {} as IConfigurationProvider, + }) + }) + + it('should return token by symbol', async () => { + const wethToken = await tokensManager.getTokenBySymbol({ + chainInfo, + symbol: 'WETH', + }) + + assert(wethToken, 'Token not found') + expect(wethToken.chainInfo).toEqual(chainInfo) + expect(wethToken.symbol).toBe('WETH') + expect(wethToken.name).toBe('Wrapped Ether') + expect(wethToken.decimals).toBe(18) + expect(wethToken.address.value).toBe('0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2') + + const daiToken = await tokensManager.getTokenBySymbol({ + chainInfo, + symbol: 'DAI', + }) + + assert(daiToken, 'Token not found') + expect(daiToken.chainInfo).toEqual(chainInfo) + expect(daiToken.symbol).toBe('DAI') + expect(daiToken.name).toBe('Dai Stablecoin') + expect(daiToken.decimals).toBe(18) + expect(daiToken.address.value).toBe('0x6B175474E89094C44Da98b954EedeAC495271d0F') + }) + it('should return token by address', async () => { + const wethToken = await tokensManager.getTokenByAddress({ + chainInfo, + address: Address.createFrom({ + value: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2', + type: AddressType.Ethereum, + }), + }) + + assert(wethToken, 'Token not found') + expect(wethToken.chainInfo).toEqual(chainInfo) + expect(wethToken.symbol).toBe('WETH') + expect(wethToken.name).toBe('Wrapped Ether') + expect(wethToken.decimals).toBe(18) + expect(wethToken.address.value).toBe('0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2') + + const daiToken = await tokensManager.getTokenByAddress({ + chainInfo, + address: Address.createFrom({ + value: '0x6B175474E89094C44Da98b954EedeAC495271d0F', + type: AddressType.Ethereum, + }), + }) + + assert(daiToken, 'Token not found') + expect(daiToken.chainInfo).toEqual(chainInfo) + expect(daiToken.symbol).toBe('DAI') + expect(daiToken.name).toBe('Dai Stablecoin') + expect(daiToken.decimals).toBe(18) + expect(daiToken.address.value).toBe('0x6B175474E89094C44Da98b954EedeAC495271d0F') + }) + it('should return token by name', async () => { + const wethToken = await tokensManager.getTokenByName({ + chainInfo, + name: 'Wrapped Ether', + }) + + assert(wethToken, 'Token not found') + expect(wethToken.chainInfo).toEqual(chainInfo) + expect(wethToken.symbol).toBe('WETH') + expect(wethToken.name).toBe('Wrapped Ether') + expect(wethToken.decimals).toBe(18) + expect(wethToken.address.value).toBe('0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2') + + const daiToken = await tokensManager.getTokenByName({ + chainInfo, + name: 'Dai Stablecoin', + }) + + assert(daiToken, 'Token not found') + expect(daiToken.chainInfo).toEqual(chainInfo) + expect(daiToken.symbol).toBe('DAI') + expect(daiToken.name).toBe('Dai Stablecoin') + expect(daiToken.decimals).toBe(18) + expect(daiToken.address.value).toBe('0x6B175474E89094C44Da98b954EedeAC495271d0F') + }) +}) diff --git a/sdk/tokens-service/tests/mocks/MockTokensProvider.ts b/sdk/tokens-service/tests/mocks/MockTokensProvider.ts new file mode 100644 index 0000000000..cb2445ba6b --- /dev/null +++ b/sdk/tokens-service/tests/mocks/MockTokensProvider.ts @@ -0,0 +1,62 @@ +import { + Address, + AddressType, + ChainId, + IAddress, + IChainInfo, + IToken, + Maybe, + TokensProviderType, +} from '@summerfi/sdk-common' +import { Token } from '@summerfi/sdk-common/common' +import { ITokensProvider } from '@summerfi/tokens-common' + +export class MockTokensProvider implements ITokensProvider { + type: TokensProviderType = TokensProviderType.Static + + getSupportedChainIds(): ChainId[] { + return [1, 4, 6] + } + + async getTokenBySymbol(params: { + chainInfo: IChainInfo + symbol: string + }): Promise> { + return Token.createFrom({ + name: 'MockToken', + symbol: params.symbol, + address: Address.createFrom({ + value: '0x6B175474E89094C44Da98b954EedeAC495271d0F', + type: AddressType.Ethereum, + }), + chainInfo: params.chainInfo, + decimals: 18, + }) + } + + async getTokenByAddress(params: { + chainInfo: IChainInfo + address: IAddress + }): Promise> { + return Token.createFrom({ + name: 'MockToken', + symbol: 'MOCK', + address: params.address, + chainInfo: params.chainInfo, + decimals: 18, + }) + } + + async getTokenByName(params: { chainInfo: IChainInfo; name: string }): Promise> { + return Token.createFrom({ + name: params.name, + symbol: 'MOCK', + address: Address.createFrom({ + value: '0x6B175474E89094C44Da98b954EedeAC495271d0F', + type: AddressType.Ethereum, + }), + chainInfo: params.chainInfo, + decimals: 18, + }) + } +} diff --git a/sdk/tokens-service/tsconfig.build.json b/sdk/tokens-service/tsconfig.build.json new file mode 100644 index 0000000000..cd6ed31755 --- /dev/null +++ b/sdk/tokens-service/tsconfig.build.json @@ -0,0 +1,10 @@ +{ + // by using a separate tsconfig for build, we can set main tsconfig to + // include tests and use module paths in tests but build without tests + "extends": "./tsconfig.json", + "compilerOptions": { + "rootDir": "src" + }, + "include": ["src/**/*.ts"], + "exclude": ["node_modules"] +} diff --git a/sdk/tokens-service/tsconfig.json b/sdk/tokens-service/tsconfig.json new file mode 100644 index 0000000000..6e6486dd1f --- /dev/null +++ b/sdk/tokens-service/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "@summerfi/typescript-config/tsconfig.base.json", + "compilerOptions": { + "rootDir": ".", + "outDir": "dist", + "baseUrl": "." + }, + "include": ["src/**/*.ts", "tests/**/*.ts"], + "exclude": ["node_modules"] +} diff --git a/sdk/tokens-service/tsconfig.test.json b/sdk/tokens-service/tsconfig.test.json new file mode 100644 index 0000000000..bf4456ba3b --- /dev/null +++ b/sdk/tokens-service/tsconfig.test.json @@ -0,0 +1,20 @@ +{ + "extends": "@summerfi/typescript-config/tsconfig.test.json", + "compilerOptions": { + "rootDir": ".", + "baseUrl": ".", + "paths": { + "@summerfi/sdk-common/*": ["node_modules/@summerfi/sdk-common/src/*"], + "@summerfi/sdk-common": ["node_modules/@summerfi/sdk-common/src/index.ts"], + "@summerfi/sdk-client": ["../sdk-client/src"], + + "@summerfi/swap-common/*": ["node_modules/@summerfi/swap-common/src/*"], + "@summerfi/common": ["node_modules/@summerfi/common/src/index.ts"], + "@summerfi/configuration-provider": [ + "node_modules/@summerfi/configuration-provider/src/index.ts" + ] + } + }, + "include": ["src/**/*.ts"], + "exclude": ["node_modules"] +} From ccd70980c90df932da501fd8784152368a1fef47 Mon Sep 17 00:00:00 2001 From: Roberto Cano <3525807+robercano@users.noreply.github.com> Date: Fri, 3 May 2024 16:33:25 +0200 Subject: [PATCH 05/45] feat: add oracle service (#219) --- pnpm-lock.yaml | 65 +++++++ sdk/oracle-common/.eslintrc.cjs | 7 + sdk/oracle-common/jest.config.js | 7 + sdk/oracle-common/package.json | 29 +++ sdk/oracle-common/src/index.ts | 1 + .../src/interfaces/IOracleManager.ts | 22 +++ .../src/interfaces/IOracleProvider.ts | 36 ++++ sdk/oracle-common/src/interfaces/index.ts | 2 + sdk/oracle-common/tsconfig.build.json | 8 + sdk/oracle-common/tsconfig.json | 10 + sdk/oracle-common/tsconfig.test.json | 12 ++ sdk/oracle-service/.eslintrc.cjs | 7 + sdk/oracle-service/e2e/oneinch.spec.ts | 40 ++++ sdk/oracle-service/jest.config.js | 9 + sdk/oracle-service/package.json | 35 ++++ .../src/implementation/OracleManager.ts | 95 ++++++++++ .../implementation/OracleManagerFactory.ts | 65 +++++++ .../src/implementation/index.ts | 3 + .../oneinch/OneInchOracleProvider.ts | 174 ++++++++++++++++++ .../src/implementation/oneinch/Types.ts | 20 ++ .../src/implementation/oneinch/index.ts | 2 + sdk/oracle-service/src/index.ts | 1 + sdk/oracle-service/tests/.gitkeep | 0 .../tests/OracleManager.spec.ts | 51 +++++ .../tests/OracleManagerFactory.spec.ts | 18 ++ .../tests/mocks/MockConfigurationProvider.ts | 15 ++ .../tests/mocks/MockOracleProvider.ts | 34 ++++ sdk/oracle-service/tsconfig.build.json | 10 + sdk/oracle-service/tsconfig.json | 10 + sdk/oracle-service/tsconfig.test.json | 20 ++ .../utils/CreateProtocolPluginContext.ts | 26 +-- .../src/common/implementation/Price.ts | 7 +- .../src/common/interfaces/IPrice.ts | 21 +++ sdk/sdk-common/src/index.ts | 1 + .../src/oracle/OracleProviderType.ts | 30 +++ sdk/sdk-common/src/oracle/SpotPriceInfo.ts | 26 +++ sdk/sdk-common/src/oracle/index.ts | 2 + sdk/sdk-common/src/swap/SpotData.ts | 11 -- sdk/sdk-common/src/swap/index.ts | 9 +- sdk/sdk-server/package.json | 2 + sdk/sdk-server/src/context/Context.ts | 5 + .../src/handlers/getRefinanceSimulation.ts | 1 + sdk/simulator-service/package.json | 1 + .../implementation/utils/GetSwapStepData.ts | 4 +- .../src/strategies/common/Types.ts | 9 + .../RefinanceLendingToLendingAnyPair.ts | 7 +- .../RefinanceLendingToLendingNoDebt.ts | 1 + .../tests/mocks/contextMock.ts | 25 ++- .../src/interfaces/ISwapManager.ts | 17 +- .../src/interfaces/ISwapProvider.ts | 17 +- sdk/swap-service/e2e/oneinch.spec.ts | 2 +- .../src/implementation/SwapManager.ts | 18 +- .../src/implementation/SwapManagerFactory.ts | 19 -- .../oneinch/OneInchSwapProvider.ts | 144 +-------------- .../src/implementation/oneinch/types.ts | 9 - sdk/swap-service/tsconfig.test.json | 1 + sdk/testing-utils/package.json | 3 +- .../src/mocks/OracleManagerMock.ts | 16 ++ .../src/mocks/SwapManagerMock.ts | 12 +- sdk/testing-utils/src/mocks/index.ts | 1 + 60 files changed, 971 insertions(+), 284 deletions(-) create mode 100644 sdk/oracle-common/.eslintrc.cjs create mode 100644 sdk/oracle-common/jest.config.js create mode 100644 sdk/oracle-common/package.json create mode 100644 sdk/oracle-common/src/index.ts create mode 100644 sdk/oracle-common/src/interfaces/IOracleManager.ts create mode 100644 sdk/oracle-common/src/interfaces/IOracleProvider.ts create mode 100644 sdk/oracle-common/src/interfaces/index.ts create mode 100644 sdk/oracle-common/tsconfig.build.json create mode 100644 sdk/oracle-common/tsconfig.json create mode 100644 sdk/oracle-common/tsconfig.test.json create mode 100644 sdk/oracle-service/.eslintrc.cjs create mode 100644 sdk/oracle-service/e2e/oneinch.spec.ts create mode 100644 sdk/oracle-service/jest.config.js create mode 100644 sdk/oracle-service/package.json create mode 100644 sdk/oracle-service/src/implementation/OracleManager.ts create mode 100644 sdk/oracle-service/src/implementation/OracleManagerFactory.ts create mode 100644 sdk/oracle-service/src/implementation/index.ts create mode 100644 sdk/oracle-service/src/implementation/oneinch/OneInchOracleProvider.ts create mode 100644 sdk/oracle-service/src/implementation/oneinch/Types.ts create mode 100644 sdk/oracle-service/src/implementation/oneinch/index.ts create mode 100644 sdk/oracle-service/src/index.ts create mode 100644 sdk/oracle-service/tests/.gitkeep create mode 100644 sdk/oracle-service/tests/OracleManager.spec.ts create mode 100644 sdk/oracle-service/tests/OracleManagerFactory.spec.ts create mode 100644 sdk/oracle-service/tests/mocks/MockConfigurationProvider.ts create mode 100644 sdk/oracle-service/tests/mocks/MockOracleProvider.ts create mode 100644 sdk/oracle-service/tsconfig.build.json create mode 100644 sdk/oracle-service/tsconfig.json create mode 100644 sdk/oracle-service/tsconfig.test.json create mode 100644 sdk/sdk-common/src/oracle/OracleProviderType.ts create mode 100644 sdk/sdk-common/src/oracle/SpotPriceInfo.ts create mode 100644 sdk/sdk-common/src/oracle/index.ts delete mode 100644 sdk/sdk-common/src/swap/SpotData.ts create mode 100644 sdk/testing-utils/src/mocks/OracleManagerMock.ts diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1c44d0d41e..2d7d87e3b0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -700,6 +700,59 @@ importers: specifier: workspace:* version: link:../../packages/typescript-config + sdk/oracle-common: + dependencies: + '@summerfi/sdk-common': + specifier: workspace:* + version: link:../sdk-common + '@types/node-fetch': + specifier: ^2.6.11 + version: 2.6.11 + node-fetch: + specifier: ^2.7.0 + version: 2.7.0 + devDependencies: + '@summerfi/eslint-config': + specifier: workspace:* + version: link:../../packages/eslint-config + '@summerfi/jest-config': + specifier: workspace:* + version: link:../../packages/jest-config + '@summerfi/typescript-config': + specifier: workspace:* + version: link:../../packages/typescript-config + + sdk/oracle-service: + dependencies: + '@summerfi/common': + specifier: workspace:* + version: link:../../packages/common + '@summerfi/configuration-provider': + specifier: workspace:* + version: link:../configuration-provider + '@summerfi/oracle-common': + specifier: workspace:* + version: link:../oracle-common + '@summerfi/sdk-common': + specifier: workspace:* + version: link:../sdk-common + '@types/node-fetch': + specifier: ^2.6.11 + version: 2.6.11 + node-fetch: + specifier: ^2.7.0 + version: 2.7.0 + devDependencies: + '@summerfi/eslint-config': + specifier: workspace:* + version: link:../../packages/eslint-config + '@summerfi/jest-config': + specifier: workspace:* + version: link:../../packages/jest-config + '@summerfi/typescript-config': + specifier: workspace:* + version: link:../../packages/typescript-config + sdk/order-planner-common: dependencies: '@summerfi/deployment-types': @@ -1064,6 +1117,12 @@ importers: '@summerfi/deployment-utils': specifier: workspace:* version: link:../../packages/deployment-utils + '@summerfi/oracle-common': + specifier: workspace:* + version: link:../oracle-common + '@summerfi/oracle-service': + specifier: workspace:* + version: link:../oracle-service '@summerfi/order-planner-common': specifier: workspace:* version: link:../order-planner-common @@ -1125,6 +1184,9 @@ importers: sdk/simulator-service: dependencies: + '@summerfi/oracle-common': + specifier: workspace:* + version: link:../oracle-common '@summerfi/protocol-manager-common': specifier: workspace:* version: link:../protocol-manager-common @@ -1215,6 +1277,9 @@ importers: '@summerfi/deployment-utils': specifier: workspace:* version: link:../../packages/deployment-utils + '@summerfi/oracle-common': + specifier: workspace:* + version: link:../oracle-common '@summerfi/protocol-plugins-common': specifier: workspace:* version: link:../protocol-plugins-common diff --git a/sdk/oracle-common/.eslintrc.cjs b/sdk/oracle-common/.eslintrc.cjs new file mode 100644 index 0000000000..90e6466971 --- /dev/null +++ b/sdk/oracle-common/.eslintrc.cjs @@ -0,0 +1,7 @@ +/** @type {import("eslint").Linter.Config} */ +module.exports = { + root: true, + ignorePatterns: ['jest.config.js'], + extends: ['@summerfi/eslint-config/function.cjs'], + parser: '@typescript-eslint/parser', +} diff --git a/sdk/oracle-common/jest.config.js b/sdk/oracle-common/jest.config.js new file mode 100644 index 0000000000..19bbaf8037 --- /dev/null +++ b/sdk/oracle-common/jest.config.js @@ -0,0 +1,7 @@ +const { compilerOptions } = require('./tsconfig.test') +const sharedConfig = require('@summerfi/jest-config/jest.base') + +/** @type {import('ts-jest').JestConfigWithTsJest} */ +module.exports = { + ...sharedConfig(compilerOptions), +} diff --git a/sdk/oracle-common/package.json b/sdk/oracle-common/package.json new file mode 100644 index 0000000000..942b7c5138 --- /dev/null +++ b/sdk/oracle-common/package.json @@ -0,0 +1,29 @@ +{ + "name": "@summerfi/oracle-common", + "version": "0.0.1", + "main": "dist/index.js", + "types": "dist/index.d.ts", + "exports": { + ".": { + "import": "./src/index.ts", + "types": "./src/index.d.ts" + } + }, + "scripts": { + "tsc": "tsc", + "watch": "tsc -w", + "build": "tsc -b tsconfig.build.json", + "lint": "eslint .", + "lint:fix": "eslint . --fix" + }, + "dependencies": { + "@summerfi/sdk-common": "workspace:*", + "@types/node-fetch": "^2.6.11", + "node-fetch": "^2.7.0" + }, + "devDependencies": { + "@summerfi/eslint-config": "workspace:*", + "@summerfi/jest-config": "workspace:*", + "@summerfi/typescript-config": "workspace:*" + } +} diff --git a/sdk/oracle-common/src/index.ts b/sdk/oracle-common/src/index.ts new file mode 100644 index 0000000000..f1444d3eac --- /dev/null +++ b/sdk/oracle-common/src/index.ts @@ -0,0 +1 @@ +export * from './interfaces' diff --git a/sdk/oracle-common/src/interfaces/IOracleManager.ts b/sdk/oracle-common/src/interfaces/IOracleManager.ts new file mode 100644 index 0000000000..8194a1c4f2 --- /dev/null +++ b/sdk/oracle-common/src/interfaces/IOracleManager.ts @@ -0,0 +1,22 @@ +import type { CurrencySymbol, IToken, IChainInfo } from '@summerfi/sdk-common/common' +import type { SpotPriceInfo } from '@summerfi/sdk-common/oracle' + +/** + * @name IOracleManager + * @description This is the highest level interface that will choose and call appropriate provider for a price consultation + */ +export interface IOracleManager { + /** + * @name getSpotPrice + * @description Returns the prevailing market price for a given asset + * in terms of a base currency + * @param chainInfo The chain information + * @param baseToken A price request for baseToken + * @param quoteToken A price request - QuoteToken is optional with a USD default. + */ + getSpotPrice(params: { + chainInfo: IChainInfo + baseToken: IToken + quoteToken?: CurrencySymbol | IToken + }): Promise +} diff --git a/sdk/oracle-common/src/interfaces/IOracleProvider.ts b/sdk/oracle-common/src/interfaces/IOracleProvider.ts new file mode 100644 index 0000000000..29d2ba2f18 --- /dev/null +++ b/sdk/oracle-common/src/interfaces/IOracleProvider.ts @@ -0,0 +1,36 @@ +import { ChainId, ChainInfo, Token } from '@summerfi/sdk-common/common' +import { CurrencySymbol } from '@summerfi/sdk-common/common' +import { OracleProviderType, SpotPriceInfo } from '@summerfi/sdk-common/oracle' + +/** + * @name IOracleProvider + * @description Interface for implementing different oracle provider plugins + */ +export interface IOracleProvider { + /** + * @name type + * @description The type of the oracle provider, to identify it + */ + type: OracleProviderType + + /** + * @method getSupportedChainIds + * @description Retrieves the list of supported chain IDs + * @returns The list of supported chain IDs + */ + getSupportedChainIds(): ChainId[] + + /** + * @name getSpotPrice + * @description Returns the prevailing market price for a given asset + * in terms of a base currency + * @param chainInfo The chain information + * @param baseToken A price request for baseToken + * @param quoteToken A price request - QuoteToken is optional with a USD default. + */ + getSpotPrice(params: { + chainInfo: ChainInfo + baseToken: Token + quoteToken?: CurrencySymbol | Token + }): Promise +} diff --git a/sdk/oracle-common/src/interfaces/index.ts b/sdk/oracle-common/src/interfaces/index.ts new file mode 100644 index 0000000000..7f34e62936 --- /dev/null +++ b/sdk/oracle-common/src/interfaces/index.ts @@ -0,0 +1,2 @@ +export * from './IOracleManager' +export * from './IOracleProvider' diff --git a/sdk/oracle-common/tsconfig.build.json b/sdk/oracle-common/tsconfig.build.json new file mode 100644 index 0000000000..17da6de26c --- /dev/null +++ b/sdk/oracle-common/tsconfig.build.json @@ -0,0 +1,8 @@ +{ + // by using a separate tsconfig for build, we can set main tsconfig to + // include tests and use module paths in tests but build without tests + "extends": "./tsconfig.json", + "compilerOptions": { + "rootDir": "src" + } +} diff --git a/sdk/oracle-common/tsconfig.json b/sdk/oracle-common/tsconfig.json new file mode 100644 index 0000000000..6e6486dd1f --- /dev/null +++ b/sdk/oracle-common/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "@summerfi/typescript-config/tsconfig.base.json", + "compilerOptions": { + "rootDir": ".", + "outDir": "dist", + "baseUrl": "." + }, + "include": ["src/**/*.ts", "tests/**/*.ts"], + "exclude": ["node_modules"] +} diff --git a/sdk/oracle-common/tsconfig.test.json b/sdk/oracle-common/tsconfig.test.json new file mode 100644 index 0000000000..5f84315d55 --- /dev/null +++ b/sdk/oracle-common/tsconfig.test.json @@ -0,0 +1,12 @@ +{ + "extends": "@summerfi/typescript-config/tsconfig.test.json", + "compilerOptions": { + "rootDir": ".", + "baseUrl": ".", + "paths": { + "@summerfi/sdk-common/*": ["node_modules/@summerfi/sdk-common/src/*"] + } + }, + "include": ["src/**/*.ts"], + "exclude": ["node_modules"] +} diff --git a/sdk/oracle-service/.eslintrc.cjs b/sdk/oracle-service/.eslintrc.cjs new file mode 100644 index 0000000000..ba14d13c7d --- /dev/null +++ b/sdk/oracle-service/.eslintrc.cjs @@ -0,0 +1,7 @@ +/** @type {import("eslint").Linter.Config} */ +module.exports = { + root: true, + ignorePatterns: ['jest.config.js'], + extends: ['@summerfi/eslint-config/library.cjs'], + parser: '@typescript-eslint/parser', +} diff --git a/sdk/oracle-service/e2e/oneinch.spec.ts b/sdk/oracle-service/e2e/oneinch.spec.ts new file mode 100644 index 0000000000..23b70a666a --- /dev/null +++ b/sdk/oracle-service/e2e/oneinch.spec.ts @@ -0,0 +1,40 @@ +import { ConfigurationProvider } from '@summerfi/configuration-provider' +import { Address, CurrencySymbol, Token, type ChainInfo } from '@summerfi/sdk-common/common' + +import { OracleManagerFactory } from '../src/implementation/OracleManagerFactory' +import { ChainFamilyMap, OracleProviderType, SpotPriceInfo } from '@summerfi/sdk-common' + +describe('OneInch | OracleManager | Integration', () => { + const chainInfo: ChainInfo = ChainFamilyMap.Ethereum.Mainnet + + // Tokens + const WETH = Token.createFrom({ + chainInfo, + address: Address.createFromEthereum({ value: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2' }), + symbol: 'WETH', + name: 'Wrapped Ether', + decimals: 18, + }) + + it('should provide spot prices', async () => { + // SwapManager + const configProvider = new ConfigurationProvider() + const oracleManager = OracleManagerFactory.newOracleManager({ configProvider }) + + const spotPriceInfo: SpotPriceInfo = await oracleManager.getSpotPrice({ + chainInfo, + baseToken: WETH, + quoteToken: CurrencySymbol.USD, + forceUseProvider: OracleProviderType.OneInch, + }) + + expect(spotPriceInfo).toBeDefined() + expect(spotPriceInfo.provider).toEqual(OracleProviderType.OneInch) + expect(spotPriceInfo.token).toEqual(WETH) + expect(spotPriceInfo.price).toBeDefined() + expect(spotPriceInfo.price.baseToken).toEqual(WETH) + expect(spotPriceInfo.price.quoteToken).toEqual(CurrencySymbol.USD) + expect(spotPriceInfo.price.value).toBeDefined() + expect(Number(spotPriceInfo.price.value)).toBeGreaterThanOrEqual(0) + }) +}) diff --git a/sdk/oracle-service/jest.config.js b/sdk/oracle-service/jest.config.js new file mode 100644 index 0000000000..5feb873db0 --- /dev/null +++ b/sdk/oracle-service/jest.config.js @@ -0,0 +1,9 @@ +const { compilerOptions } = require('./tsconfig.test') +const sharedConfig = require('@summerfi/jest-config/jest.base') +require('dotenv').config({ path: '../.env' }) + +/** @type {import('ts-jest').JestConfigWithTsJest} */ +module.exports = { + ...sharedConfig(compilerOptions), + roots: ['/src', '/tests', '/e2e'], +} diff --git a/sdk/oracle-service/package.json b/sdk/oracle-service/package.json new file mode 100644 index 0000000000..48721a88f7 --- /dev/null +++ b/sdk/oracle-service/package.json @@ -0,0 +1,35 @@ +{ + "name": "@summerfi/oracle-service", + "version": "0.0.1", + "main": "dist/index.js", + "types": "dist/index.d.ts", + "exports": { + ".": { + "import": "./src/index.ts", + "types": "./src/index.d.ts" + } + }, + "scripts": { + "tsc": "tsc", + "watch": "tsc -w", + "test": "jest tests/ --passWithNoTests", + "testw": "jest --watch", + "e2e": "jest e2e/", + "build": "tsc -b tsconfig.build.json", + "lint": "eslint .", + "lint:fix": "eslint . --fix" + }, + "dependencies": { + "@summerfi/common": "workspace:*", + "@summerfi/configuration-provider": "workspace:*", + "@summerfi/sdk-common": "workspace:*", + "@summerfi/oracle-common": "workspace:*", + "@types/node-fetch": "^2.6.11", + "node-fetch": "^2.7.0" + }, + "devDependencies": { + "@summerfi/eslint-config": "workspace:*", + "@summerfi/jest-config": "workspace:*", + "@summerfi/typescript-config": "workspace:*" + } +} diff --git a/sdk/oracle-service/src/implementation/OracleManager.ts b/sdk/oracle-service/src/implementation/OracleManager.ts new file mode 100644 index 0000000000..12d57a6de5 --- /dev/null +++ b/sdk/oracle-service/src/implementation/OracleManager.ts @@ -0,0 +1,95 @@ +import type { Maybe } from '@summerfi/sdk-common/common/aliases' +import type { ChainInfo, IChainInfo, IToken } from '@summerfi/sdk-common/common' +import { ChainId, CurrencySymbol } from '@summerfi/sdk-common/common' +import { IOracleManager, IOracleProvider } from '@summerfi/oracle-common' +import { OracleProviderType, SpotPriceInfo } from '@summerfi/sdk-common/oracle' + +export type OracleManagerProviderConfig = { + provider: IOracleProvider +} + +/** + * @name OracleManager + * @description This class is the implementation of the IOracleManager interface. Takes care of choosing the best provider for a price consultation + */ +export class OracleManager implements IOracleManager { + private _providersByChainId: Map + private _providersByType: Map + + /** CONSTRUCTOR */ + + /** + * @param providersConfig The list of providers to be registered + */ + constructor(params: { providersConfig: OracleManagerProviderConfig[] }) { + const { providersConfig } = params + + this._providersByChainId = new Map() + this._providersByType = new Map() + + for (const config of providersConfig) { + this._registerProvider(config.provider) + } + } + + /** @see IOracleManager.getSpotPrice */ + async getSpotPrice(params: { + chainInfo: IChainInfo + baseToken: IToken + quoteToken?: CurrencySymbol | IToken + forceUseProvider?: OracleProviderType + }): Promise { + const provider: Maybe = this._getBestProvider(params) + if (!provider) { + throw new Error('No swap provider available') + } + + return provider.getSpotPrice(params) + } + + /** PRIVATE */ + + /** + * @method _registerProvider + * @description Registers a provider in the manager + * @param provider The provider to be registered + */ + private _registerProvider(provider: IOracleProvider): void { + const forChainIds = provider.getSupportedChainIds() + + for (const chainId of forChainIds) { + const providers = this._providersByChainId.get(chainId) || [] + providers.push(provider) + this._providersByChainId.set(chainId, providers) + } + + this._providersByType.set(provider.type, provider) + } + + /** + * @method _getBestProvider + * @description Returns the best provider for a given price consultation + * @param params The parameters for the price consultation + * @returns The best provider for the given price consultation + */ + private _getBestProvider(params: { + chainInfo: ChainInfo + forceUseProvider?: OracleProviderType + }): Maybe { + if (params.forceUseProvider) { + const provider = this._providersByType.get(params.forceUseProvider) + if (provider) { + return provider + } + } + + const providers = this._providersByChainId.get(params.chainInfo.chainId) || [] + if (providers.length === 0) { + return undefined + } + + // For now, we just return the first provider. In the future, we can implement a logic to + // choose the best provider based on the input parameters or on the swap provider's capabilities. + return providers[0] + } +} diff --git a/sdk/oracle-service/src/implementation/OracleManagerFactory.ts b/sdk/oracle-service/src/implementation/OracleManagerFactory.ts new file mode 100644 index 0000000000..d763525d06 --- /dev/null +++ b/sdk/oracle-service/src/implementation/OracleManagerFactory.ts @@ -0,0 +1,65 @@ +import { type IConfigurationProvider } from '@summerfi/configuration-provider' +import { OneInchOracleProvider } from './oneinch/OneInchOracleProvider' +import { OracleManager } from './OracleManager' +import { OneInchOracleProviderConfig } from './oneinch/Types' + +/** + * @name OracleManagerFactory + * @description This class is responsible for creating instances of the OracleManager + */ +export class OracleManagerFactory { + public static newOracleManager(params: { + configProvider: IConfigurationProvider + }): OracleManager { + const { config: oneInchConfig } = this._getOneInchConfig(params.configProvider) + + const oneInchSwapProvider = new OneInchOracleProvider({ + providerConfig: oneInchConfig, + }) + + return new OracleManager({ + providersConfig: [ + { + provider: oneInchSwapProvider, + }, + ], + }) + } + + private static _getOneInchConfig(configProvider: IConfigurationProvider): { + config: OneInchOracleProviderConfig + } { + const ONE_INCH_API_SPOT_URL = configProvider.getConfigurationItem({ + name: 'ONE_INCH_API_SPOT_URL', + }) + const ONE_INCH_API_SPOT_VERSION = configProvider.getConfigurationItem({ + name: 'ONE_INCH_API_SPOT_VERSION', + }) + const ONE_INCH_API_SPOT_KEY = configProvider.getConfigurationItem({ + name: 'ONE_INCH_API_SPOT_KEY', + }) + + if (!ONE_INCH_API_SPOT_URL || !ONE_INCH_API_SPOT_KEY || !ONE_INCH_API_SPOT_VERSION) { + throw new Error( + 'OneInch configuration is missing: ' + + JSON.stringify( + Object.entries({ + ONE_INCH_API_SPOT_URL, + ONE_INCH_API_SPOT_KEY, + ONE_INCH_API_SPOT_VERSION, + }), + null, + 2, + ), + ) + } + + return { + config: { + apiUrl: ONE_INCH_API_SPOT_URL, + apiKey: ONE_INCH_API_SPOT_KEY, + version: ONE_INCH_API_SPOT_VERSION, + }, + } + } +} diff --git a/sdk/oracle-service/src/implementation/index.ts b/sdk/oracle-service/src/implementation/index.ts new file mode 100644 index 0000000000..0f6a225117 --- /dev/null +++ b/sdk/oracle-service/src/implementation/index.ts @@ -0,0 +1,3 @@ +export * from './OracleManager' +export * from './OracleManagerFactory' +export * from './oneinch' diff --git a/sdk/oracle-service/src/implementation/oneinch/OneInchOracleProvider.ts b/sdk/oracle-service/src/implementation/oneinch/OneInchOracleProvider.ts new file mode 100644 index 0000000000..07ec91f971 --- /dev/null +++ b/sdk/oracle-service/src/implementation/oneinch/OneInchOracleProvider.ts @@ -0,0 +1,174 @@ +import { + OneInchOracleProviderConfig, + OneInchSpotAuthHeader, + OneInchSpotAuthHeaderKey, + OneInchSpotResponse, +} from './Types' + +import fetch from 'node-fetch' +import { + type ChainInfo, + Token, + Address, + CurrencySymbol, + Price, + type AddressValue, + ChainId, +} from '@summerfi/sdk-common/common' +import { OracleProviderType, SpotPriceInfo } from '@summerfi/sdk-common/oracle' +import { IOracleProvider } from '@summerfi/oracle-common' + +/** + * @name OneInchOracleProvider + * @description This class is responsible for fetching spot prices from the 1inch API + */ +export class OneInchOracleProvider implements IOracleProvider { + public type: OracleProviderType = OracleProviderType.OneInch + + private readonly _apiUrl: string + private readonly _apiKey: string + private readonly _version: string + + /** CONSTRUCTOR */ + + /** + * @param params The configuration parameters for the 1inch oracle provider + */ + constructor(params: { providerConfig: OneInchOracleProviderConfig }) { + const { providerConfig } = params + + this._apiUrl = providerConfig.apiUrl + this._apiKey = providerConfig.apiKey + this._version = providerConfig.version + } + + /** @see IOracleProvider.getSupportedChainIds */ + getSupportedChainIds(): ChainId[] { + return [1] + } + + /** @see IOracleProvider.getSpotPrice */ + async getSpotPrice(params: { + chainInfo: ChainInfo + baseToken: Token + quoteToken?: CurrencySymbol | Token + }): Promise { + const authHeader = this._getOneInchSpotAuthHeader() + if (params.quoteToken && params.quoteToken instanceof Token) { + isTokenType(params.quoteToken) + + const baseTokenAddress = params.baseToken.address + const quoteTokenAddress = params.quoteToken.address + const quoteCurrencySymbol = CurrencySymbol.USD + + const spotUrl = this._formatOneInchSpotUrl({ + chainInfo: params.chainInfo, + tokenAddresses: [baseTokenAddress, quoteTokenAddress], + // We use USD as base for both tokens and then derive a spot price + quoteCurrency: quoteCurrencySymbol, + }) + + const response = await fetch(spotUrl, { + headers: authHeader, + }) + + if (!(response.status === 200 && response.statusText === 'OK')) { + throw new Error( + `Error performing 1inch spot price request ${spotUrl}: ${JSON.stringify(await response.statusText)}`, + ) + } + + const responseData = (await response.json()) as OneInchSpotResponse + const baseToken = params.baseToken + const quoteToken = params.quoteToken + const prices = Object.entries(responseData).map(([address, price]) => { + const isBaseToken = baseToken.address.equals( + Address.createFromEthereum({ value: address as AddressValue }), + ) + return Price.createFrom({ + value: price.toString(), + baseToken: isBaseToken ? baseToken : quoteToken, + quoteToken: quoteCurrencySymbol, + }) + }) + + const baseTokenPriceQuotedInCurrencySymbol = prices.find((p) => + p.baseToken.address.equals(baseToken.address), + ) + const quoteTokenPriceQuoteInCurrencySymbol = prices.find((p) => + p.baseToken.address.equals(quoteToken.address), + ) + + if (!baseTokenPriceQuotedInCurrencySymbol || !quoteTokenPriceQuoteInCurrencySymbol) { + throw new Error('BaseToken | QuoteToken spot prices could not be determined') + } + + return { + provider: OracleProviderType.OneInch, + token: baseToken, + price: baseTokenPriceQuotedInCurrencySymbol.div(quoteTokenPriceQuoteInCurrencySymbol), + } + } else { + const quoteCurrency = params.quoteToken ?? CurrencySymbol.USD + const baseToken = params.baseToken + const spotUrl = this._formatOneInchSpotUrl({ + chainInfo: params.chainInfo, + tokenAddresses: [baseToken.address], + quoteCurrency: quoteCurrency, + }) + + const response = await fetch(spotUrl, { + headers: authHeader, + }) + + if (!(response.status === 200 && response.statusText === 'OK')) { + throw new Error( + `Error performing 1inch spot price request ${spotUrl}: ${await response.body}`, + ) + } + + const responseData = (await response.json()) as OneInchSpotResponse + + const [, price] = Object.entries(responseData)[0] + + return { + provider: OracleProviderType.OneInch, + token: baseToken, + price: Price.createFrom({ + value: price.toString(), + baseToken: baseToken, + quoteToken: quoteCurrency, + }), + } + } + } + + private _getOneInchSpotAuthHeader(): OneInchSpotAuthHeader { + return { [OneInchSpotAuthHeaderKey]: `Bearer ${this._apiKey}` } + } + + private _formatOneInchSpotUrl(params: { + chainInfo: ChainInfo + tokenAddresses: Address[] + quoteCurrency: CurrencySymbol + }): string { + const chainId = params.chainInfo.chainId + const tokenAddresses = params.tokenAddresses.map((address) => address.value.toLowerCase()) + + /** + * apiSpotUrl includes the complete path for the spot price endpoint + * EG /price/v1.1 + * https://portal.1inch.dev/documentation/spot-price/swagger?method=get&path=%2Fv1.1%2F1%2F%7Baddresses%7D + */ + return `${this._apiUrl}/price/${this._version}/${chainId}/${tokenAddresses.join(',')}?currency=${params.quoteCurrency.toUpperCase()}` + } +} + +function isTokenType(quoteToken: unknown): asserts quoteToken is Token { + if (!quoteToken) { + throw new Error('QuoteToken is undefined') + } + if (!(quoteToken instanceof Token)) { + throw new Error('QuoteToken is not of type Token') + } +} diff --git a/sdk/oracle-service/src/implementation/oneinch/Types.ts b/sdk/oracle-service/src/implementation/oneinch/Types.ts new file mode 100644 index 0000000000..13eae5c7c5 --- /dev/null +++ b/sdk/oracle-service/src/implementation/oneinch/Types.ts @@ -0,0 +1,20 @@ +/** 1Inch authorization header key */ +export const OneInchSpotAuthHeaderKey = 'Authorization' + +/** 1Inch authorization header format */ +export type OneInchSpotAuthHeader = { + [OneInchSpotAuthHeaderKey]: string +} + +/** 1Inch Oracle provider configuration */ +export type OneInchOracleProviderConfig = { + /** 1Inch API URL */ + apiUrl: string + /** 1Inch API key */ + apiKey: string + /** 1Inch API version */ + version: string +} + +/** 1Inch spot price response */ +export type OneInchSpotResponse = Record diff --git a/sdk/oracle-service/src/implementation/oneinch/index.ts b/sdk/oracle-service/src/implementation/oneinch/index.ts new file mode 100644 index 0000000000..aa742a3f96 --- /dev/null +++ b/sdk/oracle-service/src/implementation/oneinch/index.ts @@ -0,0 +1,2 @@ +export * from './OneInchOracleProvider' +export type * from './Types' diff --git a/sdk/oracle-service/src/index.ts b/sdk/oracle-service/src/index.ts new file mode 100644 index 0000000000..b1623044dd --- /dev/null +++ b/sdk/oracle-service/src/index.ts @@ -0,0 +1 @@ +export * from './implementation' diff --git a/sdk/oracle-service/tests/.gitkeep b/sdk/oracle-service/tests/.gitkeep new file mode 100644 index 0000000000..e69de29bb2 diff --git a/sdk/oracle-service/tests/OracleManager.spec.ts b/sdk/oracle-service/tests/OracleManager.spec.ts new file mode 100644 index 0000000000..cea05b2bb2 --- /dev/null +++ b/sdk/oracle-service/tests/OracleManager.spec.ts @@ -0,0 +1,51 @@ +import { ChainInfo, OracleProviderType, Token } from '@summerfi/sdk-common' +import { Address, CurrencySymbol } from '@summerfi/sdk-common/common' + +import { MockOracleProvider } from './mocks/MockOracleProvider' +import { IOracleManager } from '@summerfi/oracle-common' +import { OracleManager } from '../src' + +describe('OracleManager', () => { + let oracleManager: IOracleManager + + const chainInfo = ChainInfo.createFrom({ + chainId: 1, + name: 'Ethereum', + }) + + const WETH = Token.createFrom({ + chainInfo, + address: Address.createFromEthereum({ value: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2' }), + symbol: 'WETH', + name: 'Wrapped Ether', + decimals: 18, + }) + + beforeEach(() => { + const mockOracleProvider = new MockOracleProvider() + oracleManager = new OracleManager({ + providersConfig: [ + { + provider: mockOracleProvider, + }, + ], + }) + }) + + it('should fetch spot price', async () => { + const wethSpotPrice = await oracleManager.getSpotPrice({ + chainInfo, + baseToken: WETH, + quoteToken: CurrencySymbol.USD, + }) + + expect(wethSpotPrice).toBeDefined() + expect(wethSpotPrice.provider).toEqual(OracleProviderType.OneInch) + expect(wethSpotPrice.token).toEqual(WETH) + expect(wethSpotPrice.price).toBeDefined() + expect(wethSpotPrice.price.baseToken).toEqual(WETH) + expect(wethSpotPrice.price.quoteToken).toEqual(CurrencySymbol.USD) + expect(wethSpotPrice.price.value).toBeDefined() + expect(Number(wethSpotPrice.price.value)).toBeGreaterThanOrEqual(0) + }) +}) diff --git a/sdk/oracle-service/tests/OracleManagerFactory.spec.ts b/sdk/oracle-service/tests/OracleManagerFactory.spec.ts new file mode 100644 index 0000000000..b3d036112a --- /dev/null +++ b/sdk/oracle-service/tests/OracleManagerFactory.spec.ts @@ -0,0 +1,18 @@ +import { IOracleManager } from '@summerfi/oracle-common' +import { OracleManagerFactory } from '../src' +import { MockConfigurationProvider } from './mocks/MockConfigurationProvider' + +describe('TokensManagerFactory', () => { + const configProvider = new MockConfigurationProvider() + let oracleManager: IOracleManager + + beforeEach(() => { + oracleManager = OracleManagerFactory.newOracleManager({ + configProvider, + }) + }) + + it('should return manager', async () => { + expect(oracleManager).toBeDefined() + }) +}) diff --git a/sdk/oracle-service/tests/mocks/MockConfigurationProvider.ts b/sdk/oracle-service/tests/mocks/MockConfigurationProvider.ts new file mode 100644 index 0000000000..3d46977481 --- /dev/null +++ b/sdk/oracle-service/tests/mocks/MockConfigurationProvider.ts @@ -0,0 +1,15 @@ +import { ConfigItem, ConfigKey, IConfigurationProvider } from '@summerfi/configuration-provider' +import { Maybe } from '@summerfi/sdk-common' + +export class MockConfigurationProvider implements IConfigurationProvider { + getConfigurationItem(params: { name: ConfigKey }): Maybe { + switch (params.name) { + case 'ONE_INCH_API_SPOT_VERSION': + return 'v3.0' + case 'ONE_INCH_API_SPOT_KEY': + return 'key' + case 'ONE_INCH_API_SPOT_URL': + return 'https://someapi.com' + } + } +} diff --git a/sdk/oracle-service/tests/mocks/MockOracleProvider.ts b/sdk/oracle-service/tests/mocks/MockOracleProvider.ts new file mode 100644 index 0000000000..c756875835 --- /dev/null +++ b/sdk/oracle-service/tests/mocks/MockOracleProvider.ts @@ -0,0 +1,34 @@ +import { IOracleProvider } from '@summerfi/oracle-common' +import { + ChainId, + ChainInfo, + CurrencySymbol, + OracleProviderType, + Price, + SpotPriceInfo, +} from '@summerfi/sdk-common' +import { Token } from '@summerfi/sdk-common/common' + +export class MockOracleProvider implements IOracleProvider { + type: OracleProviderType = OracleProviderType.OneInch + + getSupportedChainIds(): ChainId[] { + return [1, 4, 6] + } + + async getSpotPrice(params: { + chainInfo: ChainInfo + baseToken: Token + quoteToken?: CurrencySymbol | Token + }): Promise { + return { + provider: this.type, + token: params.baseToken, + price: Price.createFrom({ + baseToken: params.baseToken, + quoteToken: CurrencySymbol.USD, + value: '1000', + }), + } + } +} diff --git a/sdk/oracle-service/tsconfig.build.json b/sdk/oracle-service/tsconfig.build.json new file mode 100644 index 0000000000..cd6ed31755 --- /dev/null +++ b/sdk/oracle-service/tsconfig.build.json @@ -0,0 +1,10 @@ +{ + // by using a separate tsconfig for build, we can set main tsconfig to + // include tests and use module paths in tests but build without tests + "extends": "./tsconfig.json", + "compilerOptions": { + "rootDir": "src" + }, + "include": ["src/**/*.ts"], + "exclude": ["node_modules"] +} diff --git a/sdk/oracle-service/tsconfig.json b/sdk/oracle-service/tsconfig.json new file mode 100644 index 0000000000..98982352ea --- /dev/null +++ b/sdk/oracle-service/tsconfig.json @@ -0,0 +1,10 @@ +{ + "extends": "@summerfi/typescript-config/tsconfig.base.json", + "compilerOptions": { + "rootDir": ".", + "outDir": "dist", + "baseUrl": "." + }, + "include": ["src/**/*.ts", "tests/**/*.ts", "e2e/**/*.ts"], + "exclude": ["node_modules"] +} diff --git a/sdk/oracle-service/tsconfig.test.json b/sdk/oracle-service/tsconfig.test.json new file mode 100644 index 0000000000..e2bf34e097 --- /dev/null +++ b/sdk/oracle-service/tsconfig.test.json @@ -0,0 +1,20 @@ +{ + "extends": "@summerfi/typescript-config/tsconfig.test.json", + "compilerOptions": { + "rootDir": ".", + "baseUrl": ".", + "paths": { + "@summerfi/sdk-common/*": ["node_modules/@summerfi/sdk-common/src/*"], + "@summerfi/sdk-common": ["node_modules/@summerfi/sdk-common/src/index.ts"], + "@summerfi/sdk-client": ["../sdk-client/src"], + + "@summerfi/swap-common/*": ["node_modules/@summerfi/swap-common/src/*"], + "@summerfi/common": ["node_modules/@summerfi/common/src/index.ts"], + "@summerfi/configuration-provider": [ + "node_modules/@summerfi/configuration-provider/src/index.ts" + ] + } + }, + "include": ["src/**/*.ts", "e2e/**/*.ts"], + "exclude": ["node_modules"] +} diff --git a/sdk/protocol-plugins/tests/utils/CreateProtocolPluginContext.ts b/sdk/protocol-plugins/tests/utils/CreateProtocolPluginContext.ts index 2ed5d5079d..483bfd097d 100644 --- a/sdk/protocol-plugins/tests/utils/CreateProtocolPluginContext.ts +++ b/sdk/protocol-plugins/tests/utils/CreateProtocolPluginContext.ts @@ -4,8 +4,6 @@ import { mainnet } from 'viem/chains' import { TokenService, PriceService } from '../../src/implementation' import { SetupDeployments } from './SetupDeployments' import { SwapManagerMock } from '@summerfi/testing-utils' -import { SwapProviderType } from '@summerfi/sdk-common/swap' -import { CurrencySymbol, Price, Token, Address, ChainInfo } from '@summerfi/sdk-common/common' export async function createProtocolPluginContext( __ctxOverrides?: Partial, @@ -19,34 +17,12 @@ export async function createProtocolPluginContext( transport: http(RPC_URL), }) - const swapManager = new SwapManagerMock() - - swapManager.setSpotData({ - provider: SwapProviderType.OneInch, - price: Price.createFrom({ - value: '1', - quoteToken: CurrencySymbol.USD, - baseToken: Token.createFrom({ - address: Address.createFromEthereum({ - value: '0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2', - }), - decimals: 18, - symbol: 'ETH', - name: 'Ethereum', - chainInfo: ChainInfo.createFrom({ - name: 'Ethereum', - chainId: 1, - }), - }), - }), - }) - const defaultContext: IProtocolPluginContext = { provider, tokenService: new TokenService(), priceService: new PriceService(provider), deployments: SetupDeployments(), - swapManager, + swapManager: new SwapManagerMock(), } if (__ctxOverrides) { diff --git a/sdk/sdk-common/src/common/implementation/Price.ts b/sdk/sdk-common/src/common/implementation/Price.ts index 7e133016e0..320a743261 100644 --- a/sdk/sdk-common/src/common/implementation/Price.ts +++ b/sdk/sdk-common/src/common/implementation/Price.ts @@ -37,11 +37,13 @@ export class Price implements IPrice { } } + /** @see IPrice.toBN */ toBN(): BigNumber { return new BigNumber(this.value) } - public hasSameQuoteToken(b: Price): boolean { + /** @see IPrice.hasSameQuoteToken */ + hasSameQuoteToken(b: Price): boolean { if (isToken(this.quoteToken) && isToken(b.quoteToken)) { return isSameTokens(this.quoteToken, b.quoteToken) } @@ -49,7 +51,8 @@ export class Price implements IPrice { return this.quoteToken === b.quoteToken } - public div(b: Price) { + /** @see IPrice.div */ + div(b: Price) { if (!this.hasSameQuoteToken(b)) { throw new Error('Token bases must be the same') } diff --git a/sdk/sdk-common/src/common/interfaces/IPrice.ts b/sdk/sdk-common/src/common/interfaces/IPrice.ts index fa7ed41840..046f904378 100644 --- a/sdk/sdk-common/src/common/interfaces/IPrice.ts +++ b/sdk/sdk-common/src/common/interfaces/IPrice.ts @@ -1,3 +1,4 @@ +import BigNumber from 'bignumber.js' import { CurrencySymbol } from '../enums/CurrencySymbol' import { IToken, ITokenData, TokenSchema } from './IToken' import { z } from 'zod' @@ -42,6 +43,26 @@ export interface IPrice extends IPriceData { readonly value: string readonly baseToken: IToken readonly quoteToken: IToken | CurrencySymbol + + /** + * @name toBN + * @description Converts the price to a BigNumber + */ + toBN(): BigNumber + + /** + * @name hasSameQuoteToken + * @description Checks if the price has the same quote token as another price + * @param b The price to compare against + */ + hasSameQuoteToken(b: IPrice): boolean + + /** + * @name div + * @description Divides the price by another price + * @param b The price to divide by + */ + div(b: IPrice): IPrice } /** diff --git a/sdk/sdk-common/src/index.ts b/sdk/sdk-common/src/index.ts index 2345c1a7a5..16361e9dec 100644 --- a/sdk/sdk-common/src/index.ts +++ b/sdk/sdk-common/src/index.ts @@ -7,3 +7,4 @@ export * from './user' export * from './utils' export * from './services' export * from './tokens' +export * from './oracle' diff --git a/sdk/sdk-common/src/oracle/OracleProviderType.ts b/sdk/sdk-common/src/oracle/OracleProviderType.ts new file mode 100644 index 0000000000..77ceff0836 --- /dev/null +++ b/sdk/sdk-common/src/oracle/OracleProviderType.ts @@ -0,0 +1,30 @@ +import { z } from 'zod' + +/** + * Enum for the different types of Oracle providers + */ +export enum OracleProviderType { + OneInch = 'OneInch', +} + +/** + * @description Zod schema for OracleProviderType + */ +export const OracleProviderTypeSchema = z.nativeEnum(OracleProviderType) + +/** + * @description Type guard for OracleProviderType + * @param maybeOracleProviderType + * @returns true if the object is an OracleProviderType + */ +export function isOracleProviderType( + maybeOracleProviderType: unknown, +): maybeOracleProviderType is OracleProviderType { + return OracleProviderTypeSchema.safeParse(maybeOracleProviderType).success +} + +/** + * Checker to make sure that the schema is aligned with the interface + */ +/* eslint-disable-next-line @typescript-eslint/no-unused-vars */ +const __schemaChecker: OracleProviderType = {} as z.infer diff --git a/sdk/sdk-common/src/oracle/SpotPriceInfo.ts b/sdk/sdk-common/src/oracle/SpotPriceInfo.ts new file mode 100644 index 0000000000..c869513a3f --- /dev/null +++ b/sdk/sdk-common/src/oracle/SpotPriceInfo.ts @@ -0,0 +1,26 @@ +import { IPrice, PriceSchema } from '../common/interfaces/IPrice' +import { IToken, TokenSchema } from '../common/interfaces/IToken' +import { OracleProviderType, OracleProviderTypeSchema } from './OracleProviderType' +import { z } from 'zod' + +/** + * @name SpotPriceInfo + * @description Gives the current market price for a specific asset + */ +export type SpotPriceInfo = { + /** The oracle provider type */ + provider: OracleProviderType + /** The token for which the price is being requested. Also included in price, but added here for convenience */ + token: IToken + /** The price of the asset */ + price: IPrice +} + +/** + * @description Zod schema for SpotPriceInfo + */ +export const SpotPriceInfoSchema = z.object({ + provider: OracleProviderTypeSchema, + token: TokenSchema, + price: PriceSchema, +}) diff --git a/sdk/sdk-common/src/oracle/index.ts b/sdk/sdk-common/src/oracle/index.ts new file mode 100644 index 0000000000..8ae9acb15a --- /dev/null +++ b/sdk/sdk-common/src/oracle/index.ts @@ -0,0 +1,2 @@ +export * from './OracleProviderType' +export * from './SpotPriceInfo' diff --git a/sdk/sdk-common/src/swap/SpotData.ts b/sdk/sdk-common/src/swap/SpotData.ts deleted file mode 100644 index b4605d2c83..0000000000 --- a/sdk/sdk-common/src/swap/SpotData.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { Price } from '../common' -import type { SwapProviderType } from './Enums' - -/** - * @name SpotData - * @description Gives the current market price for a specific asset - */ -export type SpotData = { - provider: SwapProviderType - price: Price -} diff --git a/sdk/sdk-common/src/swap/index.ts b/sdk/sdk-common/src/swap/index.ts index 5997c37e20..592f9e511f 100644 --- a/sdk/sdk-common/src/swap/index.ts +++ b/sdk/sdk-common/src/swap/index.ts @@ -1,5 +1,4 @@ -export type { SwapData } from './SwapData' -export type { QuoteData, SwapRoute } from './QuoteData' -export type { SimulatedSwapData } from './SimulatedSwapData' -export { SwapProviderType } from './Enums' -export type { SpotData } from './SpotData' +export * from './SwapData' +export * from './QuoteData' +export * from './SimulatedSwapData' +export * from './Enums' diff --git a/sdk/sdk-server/package.json b/sdk/sdk-server/package.json index e6f4ce1a92..3f7fb189e8 100644 --- a/sdk/sdk-server/package.json +++ b/sdk/sdk-server/package.json @@ -38,6 +38,8 @@ "@summerfi/swap-service": "workspace:*", "@summerfi/tokens-common": "workspace:*", "@summerfi/tokens-service": "workspace:*", + "@summerfi/oracle-common": "workspace:*", + "@summerfi/oracle-service": "workspace:*", "@trpc/server": "11.0.0-next-beta.264", "superjson": "^1.13.3" }, diff --git a/sdk/sdk-server/src/context/Context.ts b/sdk/sdk-server/src/context/Context.ts index 0acc80c3fb..9819af060c 100644 --- a/sdk/sdk-server/src/context/Context.ts +++ b/sdk/sdk-server/src/context/Context.ts @@ -13,6 +13,8 @@ import { createProtocolsPluginsRegistry } from './CreateProtocolPluginsRegistry' import { IProtocolManager } from '@summerfi/protocol-manager-common' import { ITokensManager } from '@summerfi/tokens-common' import { TokensManagerFactory } from '@summerfi/tokens-service' +import { IOracleManager } from '@summerfi/oracle-common' +import { OracleManagerFactory } from '@summerfi/oracle-service' export type ContextOptions = CreateAWSLambdaContextOptions @@ -21,6 +23,7 @@ export type SDKAppContext = { configProvider: IConfigurationProvider tokensManager: ITokensManager swapManager: ISwapManager + oracleManager: IOracleManager protocolsRegistry: IProtocolPluginsRegistry protocolManager: IProtocolManager orderPlannerService: IOrderPlannerService @@ -33,6 +36,7 @@ export const createSDKContext = (opts: ContextOptions): SDKAppContext => { const tokensManager = TokensManagerFactory.newTokensManager({ configProvider }) const orderPlannerService = new OrderPlannerService({ deployments }) const swapManager = SwapManagerFactory.newSwapManager({ configProvider }) + const oracleManager = OracleManagerFactory.newOracleManager({ configProvider }) const protocolsRegistry = createProtocolsPluginsRegistry({ configProvider, deployments, @@ -45,6 +49,7 @@ export const createSDKContext = (opts: ContextOptions): SDKAppContext => { configProvider, tokensManager, swapManager, + oracleManager, protocolsRegistry, protocolManager, orderPlannerService, diff --git a/sdk/sdk-server/src/handlers/getRefinanceSimulation.ts b/sdk/sdk-server/src/handlers/getRefinanceSimulation.ts index d373c62b15..853a12a1c5 100644 --- a/sdk/sdk-server/src/handlers/getRefinanceSimulation.ts +++ b/sdk/sdk-server/src/handlers/getRefinanceSimulation.ts @@ -32,6 +32,7 @@ export const getRefinanceSimulation = publicProcedure const dependencies: IRefinanceDependencies = { swapManager: opts.ctx.swapManager, + oracleManager: opts.ctx.oracleManager, protocolManager: opts.ctx.protocolManager, } diff --git a/sdk/simulator-service/package.json b/sdk/simulator-service/package.json index eaf9b7307f..a1e4620fd2 100644 --- a/sdk/simulator-service/package.json +++ b/sdk/simulator-service/package.json @@ -24,6 +24,7 @@ "@summerfi/protocol-plugins-common": "workspace:*", "@summerfi/sdk-common": "workspace:*", "@summerfi/swap-common": "workspace:*", + "@summerfi/oracle-common": "workspace:*", "@types/node-fetch": "^2.6.11", "node-fetch": "^2.7.0" }, diff --git a/sdk/simulator-service/src/implementation/utils/GetSwapStepData.ts b/sdk/simulator-service/src/implementation/utils/GetSwapStepData.ts index 026c451312..ba7d15cb09 100644 --- a/sdk/simulator-service/src/implementation/utils/GetSwapStepData.ts +++ b/sdk/simulator-service/src/implementation/utils/GetSwapStepData.ts @@ -7,6 +7,7 @@ import type { } from '@summerfi/sdk-common/common/implementation' import { steps } from '@summerfi/sdk-common/simulation' import type { ISwapManager } from '@summerfi/swap-common/interfaces' +import { IOracleManager } from '@summerfi/oracle-common' export async function getSwapStepData(params: { chainInfo: ChainInfo @@ -14,6 +15,7 @@ export async function getSwapStepData(params: { toToken: Token slippage: Percentage swapManager: ISwapManager + oracleManager: IOracleManager }): Promise { const summerFee = await params.swapManager.getSummerFee({ from: { token: params.fromAmount.token }, @@ -40,7 +42,7 @@ export async function getSwapStepData(params: { fromAmount: amountAfterSummerFee, toToken: params.toToken, }), - params.swapManager.getSpotPrice({ + params.oracleManager.getSpotPrice({ chainInfo: params.chainInfo, baseToken: params.toToken, quoteToken: params.fromAmount.token, diff --git a/sdk/simulator-service/src/strategies/common/Types.ts b/sdk/simulator-service/src/strategies/common/Types.ts index 5728754ed2..8c42b3027c 100644 --- a/sdk/simulator-service/src/strategies/common/Types.ts +++ b/sdk/simulator-service/src/strategies/common/Types.ts @@ -1,7 +1,16 @@ import { type ISwapManager } from '@summerfi/swap-common/interfaces' import { type IProtocolManager } from '@summerfi/protocol-manager-common' +import { type IOracleManager } from '@summerfi/oracle-common' +/** + * @name IRefinanceDependencies + * @description Dependencies required for the refinance strategy simulation + */ export interface IRefinanceDependencies { + /** Swap manager to quote swaps */ swapManager: ISwapManager + /** Oracle manager to get spot prices */ + oracleManager: IOracleManager + /** Protocol manager to get pools */ protocolManager: IProtocolManager } diff --git a/sdk/simulator-service/src/strategies/refinanceAnyPair/RefinanceLendingToLendingAnyPair.ts b/sdk/simulator-service/src/strategies/refinanceAnyPair/RefinanceLendingToLendingAnyPair.ts index 2dd4ed3ded..4af27362f2 100644 --- a/sdk/simulator-service/src/strategies/refinanceAnyPair/RefinanceLendingToLendingAnyPair.ts +++ b/sdk/simulator-service/src/strategies/refinanceAnyPair/RefinanceLendingToLendingAnyPair.ts @@ -17,6 +17,7 @@ import { type IRefinanceDependencies } from '../common/Types' import { getSwapStepData } from '../../implementation/utils/GetSwapStepData' import { ISwapManager } from '@summerfi/swap-common/interfaces' import { BigNumber } from 'bignumber.js' +import { IOracleManager } from '@summerfi/oracle-common' export async function refinanceLendingToLendingAnyPair( args: IRefinanceParameters, @@ -79,6 +80,7 @@ export async function refinanceLendingToLendingAnyPair( toToken: targetPool.id.collateralToken, slippage: Percentage.createFrom({ value: args.slippage.value }), swapManager: dependencies.swapManager, + oracleManager: dependencies.oracleManager, }), }), isCollateralSwapSkipped, @@ -95,6 +97,7 @@ export async function refinanceLendingToLendingAnyPair( fromToken: targetPool.id.debtToken, slippage: Percentage.createFrom(args.slippage), swapManager: dependencies.swapManager, + oracleManager: dependencies.oracleManager, }), depositAmount: isCollateralSwapSkipped ? position.collateralAmount @@ -115,6 +118,7 @@ export async function refinanceLendingToLendingAnyPair( toToken: flashloanAmount.token, slippage: Percentage.createFrom({ value: args.slippage.value }), swapManager: dependencies.swapManager, + oracleManager: dependencies.oracleManager, }), }), isDebtSwapSkipped, @@ -204,6 +208,7 @@ async function estimateSwapFromAmount(params: { fromToken: Token slippage: Percentage swapManager: ISwapManager + oracleManager: IOracleManager }): Promise { const { receiveAtLeast, slippage } = params @@ -212,7 +217,7 @@ async function estimateSwapFromAmount(params: { } const spotPrice = ( - await params.swapManager.getSpotPrice({ + await params.oracleManager.getSpotPrice({ chainInfo: receiveAtLeast.token.chainInfo, baseToken: receiveAtLeast.token, quoteToken: params.fromToken, diff --git a/sdk/simulator-service/src/strategies/refinanceNoDebt/RefinanceLendingToLendingNoDebt.ts b/sdk/simulator-service/src/strategies/refinanceNoDebt/RefinanceLendingToLendingNoDebt.ts index a5dce21099..83f67b7f74 100644 --- a/sdk/simulator-service/src/strategies/refinanceNoDebt/RefinanceLendingToLendingNoDebt.ts +++ b/sdk/simulator-service/src/strategies/refinanceNoDebt/RefinanceLendingToLendingNoDebt.ts @@ -62,6 +62,7 @@ export async function refinanceLendingToLendingNoDebt( toToken: targetPool.id.collateralToken, slippage: Percentage.createFrom({ value: args.slippage.value }), swapManager: dependencies.swapManager, + oracleManager: dependencies.oracleManager, }), }), isCollateralSwapSkipped, diff --git a/sdk/simulator-service/tests/mocks/contextMock.ts b/sdk/simulator-service/tests/mocks/contextMock.ts index c002357bad..05ad3c7064 100644 --- a/sdk/simulator-service/tests/mocks/contextMock.ts +++ b/sdk/simulator-service/tests/mocks/contextMock.ts @@ -15,7 +15,15 @@ import { testTargetLendingPoolRequiredSwaps, } from './testSourcePosition' import { SwapProviderType } from '@summerfi/sdk-common/swap' -import { ILendingPoolInfo, IPosition, IPositionIdData } from '@summerfi/sdk-common' +import { + IChainInfo, + ILendingPoolInfo, + IPosition, + IPositionIdData, + IToken, + OracleProviderType, + SpotPriceInfo, +} from '@summerfi/sdk-common' import { IUser } from '@summerfi/sdk-common/user' import { IExternalPosition, IPositionsManager, TransactionInfo } from '@summerfi/sdk-common/orders' @@ -51,14 +59,15 @@ async function getSwapQuoteExactInput(params: { } async function getSpotPrice(params: { - chainInfo: ChainInfo - baseToken: Token - quoteToken: Token | CurrencySymbol -}) { + chainInfo: IChainInfo + baseToken: IToken + quoteToken?: CurrencySymbol | IToken +}): Promise { const MOCK_PRICE = 0.5 const MOCK_QUOTE_CURRENCY = CurrencySymbol.USD return { - provider: SwapProviderType.OneInch, + provider: OracleProviderType.OneInch, + token: params.baseToken, price: Price.createFrom({ value: MOCK_PRICE.toString(), baseToken: params.baseToken, @@ -108,9 +117,11 @@ export const mockRefinanceContext = { swapManager: { getSwapDataExactInput, getSwapQuoteExactInput: jest.fn().mockImplementation(getSwapQuoteExactInput), - getSpotPrice, getSummerFee: jest.fn().mockImplementation(mockGetFee), }, + oracleManager: { + getSpotPrice, + }, } export const mockRefinanceContextRequiredSwaps = { diff --git a/sdk/swap-common/src/interfaces/ISwapManager.ts b/sdk/swap-common/src/interfaces/ISwapManager.ts index ea306057c7..1e4cda69c4 100644 --- a/sdk/swap-common/src/interfaces/ISwapManager.ts +++ b/sdk/swap-common/src/interfaces/ISwapManager.ts @@ -4,9 +4,8 @@ import type { Percentage, Token, Address, - CurrencySymbol, } from '@summerfi/sdk-common/common' -import type { QuoteData, SwapData, SpotData } from '@summerfi/sdk-common/swap' +import type { QuoteData, SwapData } from '@summerfi/sdk-common/swap' /** * @name ISwapManager @@ -45,20 +44,6 @@ export interface ISwapManager { toToken: Token }): Promise - /** - * @name getSpotPrice - * @description Returns the prevailing market price for a given asset - * in terms of a base currency - * @param chainInfo The chain information - * @param baseToken A price request for baseToken - * @param quoteToken A price request - QuoteToken is optional with a USD default. - */ - getSpotPrice(params: { - chainInfo: ChainInfo - baseToken: Token - quoteToken?: CurrencySymbol | Token - }): Promise - /** * @name getSummerFee * @description Returns the Summer fee to charge on the swap diff --git a/sdk/swap-common/src/interfaces/ISwapProvider.ts b/sdk/swap-common/src/interfaces/ISwapProvider.ts index 7013b43a41..6179378023 100644 --- a/sdk/swap-common/src/interfaces/ISwapProvider.ts +++ b/sdk/swap-common/src/interfaces/ISwapProvider.ts @@ -1,6 +1,5 @@ import { Address, ChainInfo, Percentage, Token, TokenAmount } from '@summerfi/sdk-common/common' -import { CurrencySymbol } from '@summerfi/sdk-common/common' -import type { QuoteData, SpotData, SwapData, SwapProviderType } from '@summerfi/sdk-common/swap' +import type { QuoteData, SwapData, SwapProviderType } from '@summerfi/sdk-common/swap' /** * @name ISwapProvider @@ -44,18 +43,4 @@ export interface ISwapProvider { fromAmount: TokenAmount toToken: Token }): Promise - - /** - * @name getSpotPrice - * @description Returns the prevailing market price for a given asset - * in terms of a base currency - * @param chainInfo The chain information - * @param baseToken A price request for baseToken - * @param quoteToken A price request - QuoteToken is optional with a USD default. - */ - getSpotPrice(params: { - chainInfo: ChainInfo - baseToken: Token - quoteToken?: CurrencySymbol | Token - }): Promise } diff --git a/sdk/swap-service/e2e/oneinch.spec.ts b/sdk/swap-service/e2e/oneinch.spec.ts index 08b8ea423e..bba749128a 100644 --- a/sdk/swap-service/e2e/oneinch.spec.ts +++ b/sdk/swap-service/e2e/oneinch.spec.ts @@ -1,7 +1,7 @@ -import { ChainFamilyMap } from '@summerfi/sdk-client' import { ConfigurationProvider } from '@summerfi/configuration-provider' import { Address, + ChainFamilyMap, Percentage, Token, TokenAmount, diff --git a/sdk/swap-service/src/implementation/SwapManager.ts b/sdk/swap-service/src/implementation/SwapManager.ts index fde9b9392a..a49a53656c 100644 --- a/sdk/swap-service/src/implementation/SwapManager.ts +++ b/sdk/swap-service/src/implementation/SwapManager.ts @@ -1,8 +1,8 @@ import type { Maybe } from '@summerfi/sdk-common/common/aliases' import type { ChainInfo, TokenAmount, Token, Address } from '@summerfi/sdk-common/common' -import { ChainId, CurrencySymbol, Percentage } from '@summerfi/sdk-common/common' +import { ChainId, Percentage } from '@summerfi/sdk-common/common' import { ISwapProvider, ISwapManager } from '@summerfi/swap-common/interfaces' -import type { QuoteData, SwapData, SwapProviderType, SpotData } from '@summerfi/sdk-common/swap' +import type { QuoteData, SwapData, SwapProviderType } from '@summerfi/sdk-common/swap' export type SwapManagerProviderConfig = { provider: ISwapProvider @@ -52,20 +52,6 @@ export class SwapManager implements ISwapManager { return provider.getSwapQuoteExactInput(params) } - async getSpotPrice(params: { - chainInfo: ChainInfo - baseToken: Token - quoteToken?: CurrencySymbol | Token - forceUseProvider?: SwapProviderType - }): Promise { - const provider: Maybe = this._getBestProvider(params) - if (!provider) { - throw new Error('No swap provider available') - } - - return provider.getSpotPrice(params) - } - // eslint-disable-next-line @typescript-eslint/no-unused-vars async getSummerFee(params: { from: { token: Token } diff --git a/sdk/swap-service/src/implementation/SwapManagerFactory.ts b/sdk/swap-service/src/implementation/SwapManagerFactory.ts index 3314fa4360..2474761560 100644 --- a/sdk/swap-service/src/implementation/SwapManagerFactory.ts +++ b/sdk/swap-service/src/implementation/SwapManagerFactory.ts @@ -36,23 +36,10 @@ export class SwapManagerFactory { name: 'ONE_INCH_SWAP_CHAIN_IDS', }) - const ONE_INCH_API_SPOT_URL = configProvider.getConfigurationItem({ - name: 'ONE_INCH_API_SPOT_URL', - }) - const ONE_INCH_API_SPOT_VERSION = configProvider.getConfigurationItem({ - name: 'ONE_INCH_API_SPOT_VERSION', - }) - const ONE_INCH_API_SPOT_KEY = configProvider.getConfigurationItem({ - name: 'ONE_INCH_API_SPOT_KEY', - }) - if ( - !ONE_INCH_API_SPOT_URL || - !ONE_INCH_API_SPOT_KEY || !ONE_INCH_API_URL || !ONE_INCH_API_KEY || !ONE_INCH_API_VERSION || - !ONE_INCH_API_SPOT_VERSION || !ONE_INCH_ALLOWED_SWAP_PROTOCOLS || !ONE_INCH_SWAP_CHAIN_IDS ) { @@ -63,9 +50,6 @@ export class SwapManagerFactory { ONE_INCH_API_URL, ONE_INCH_API_KEY, ONE_INCH_API_VERSION, - ONE_INCH_API_SPOT_URL, - ONE_INCH_API_SPOT_KEY, - ONE_INCH_API_SPOT_VERSION, ONE_INCH_ALLOWED_SWAP_PROTOCOLS, ONE_INCH_SWAP_CHAIN_IDS, }), @@ -80,9 +64,6 @@ export class SwapManagerFactory { apiUrl: ONE_INCH_API_URL, apiKey: ONE_INCH_API_KEY, version: ONE_INCH_API_VERSION, - apiSpotUrl: ONE_INCH_API_SPOT_URL, - apiSpotKey: ONE_INCH_API_SPOT_KEY, - spotVersion: ONE_INCH_API_SPOT_VERSION, allowedSwapProtocols: ONE_INCH_ALLOWED_SWAP_PROTOCOLS.split(','), }, chainIds: ONE_INCH_SWAP_CHAIN_IDS.split(',').map((id: string) => parseInt(id)), diff --git a/sdk/swap-service/src/implementation/oneinch/OneInchSwapProvider.ts b/sdk/swap-service/src/implementation/oneinch/OneInchSwapProvider.ts index b9e813b31d..5a4ee3c0ce 100644 --- a/sdk/swap-service/src/implementation/oneinch/OneInchSwapProvider.ts +++ b/sdk/swap-service/src/implementation/oneinch/OneInchSwapProvider.ts @@ -1,18 +1,9 @@ import { ISwapProvider } from '@summerfi/swap-common/interfaces' -import { - SwapProviderType, - SwapData, - SpotData, - SwapRoute, - QuoteData, -} from '@summerfi/sdk-common/swap' +import { SwapProviderType, SwapData, SwapRoute, QuoteData } from '@summerfi/sdk-common/swap' import { OneInchAuthHeader, OneInchAuthHeaderKey, OneInchQuoteResponse, - OneInchSpotAuthHeader, - OneInchSpotAuthHeaderKey, - OneInchSpotResponse, OneInchSwapProviderConfig, OneInchSwapResponse, OneInchSwapRoute, @@ -25,9 +16,6 @@ import { Percentage, Token, Address, - CurrencySymbol, - Price, - type AddressValue, } from '@summerfi/sdk-common/common' export class OneInchSwapProvider implements ISwapProvider { @@ -48,10 +36,6 @@ export class OneInchSwapProvider implements ISwapProvider { private readonly _apiKey: string private readonly _version: string - private readonly _apiSpotUrl: string - private readonly _apiSpotKey: string - private readonly _spotVersion: string - private readonly _allowedSwapProtocols: string[] constructor(params: OneInchSwapProviderConfig) { @@ -59,10 +43,6 @@ export class OneInchSwapProvider implements ISwapProvider { this._apiKey = params.apiKey this._version = params.version - this._apiSpotUrl = params.apiSpotUrl - this._apiSpotKey = params.apiSpotKey - this._spotVersion = params.spotVersion - this._allowedSwapProtocols = params.allowedSwapProtocols } @@ -144,107 +124,10 @@ export class OneInchSwapProvider implements ISwapProvider { } } - async getSpotPrice(params: { - chainInfo: ChainInfo - baseToken: Token - quoteToken?: CurrencySymbol | Token - }): Promise { - const authHeader = this._getOneInchSpotAuthHeader() - if (params.quoteToken && params.quoteToken instanceof Token) { - isTokenType(params.quoteToken) - - const baseTokenAddress = params.baseToken.address - const quoteTokenAddress = params.quoteToken.address - const quoteCurrencySymbol = CurrencySymbol.USD - - const spotUrl = this._formatOneInchSpotUrl({ - chainInfo: params.chainInfo, - tokenAddresses: [baseTokenAddress, quoteTokenAddress], - // We use USD as base for both tokens and then derive a spot price - quoteCurrency: quoteCurrencySymbol, - }) - - const response = await fetch(spotUrl, { - headers: authHeader, - }) - - if (!(response.status === 200 && response.statusText === 'OK')) { - throw new Error( - `Error performing 1inch spot price request ${spotUrl}: ${JSON.stringify(await response.statusText)}`, - ) - } - - const responseData = (await response.json()) as OneInchSpotResponse - const baseToken = params.baseToken - const quoteToken = params.quoteToken - const prices = Object.entries(responseData).map(([address, price]) => { - const isBaseToken = baseToken.address.equals( - Address.createFromEthereum({ value: address as AddressValue }), - ) - return Price.createFrom({ - value: price.toString(), - baseToken: isBaseToken ? baseToken : quoteToken, - quoteToken: quoteCurrencySymbol, - }) - }) - - const baseTokenPriceQuotedInCurrencySymbol = prices.find((p) => - p.baseToken.address.equals(baseToken.address), - ) - const quoteTokenPriceQuoteInCurrencySymbol = prices.find((p) => - p.baseToken.address.equals(quoteToken.address), - ) - - if (!baseTokenPriceQuotedInCurrencySymbol || !quoteTokenPriceQuoteInCurrencySymbol) { - throw new Error('BaseToken | QuoteToken spot prices could not be determined') - } - - return { - provider: SwapProviderType.OneInch, - price: baseTokenPriceQuotedInCurrencySymbol.div(quoteTokenPriceQuoteInCurrencySymbol), - } - } else { - const quoteCurrency = params.quoteToken ?? CurrencySymbol.USD - const baseToken = params.baseToken - const spotUrl = this._formatOneInchSpotUrl({ - chainInfo: params.chainInfo, - tokenAddresses: [baseToken.address], - quoteCurrency: quoteCurrency, - }) - - const response = await fetch(spotUrl, { - headers: authHeader, - }) - - if (!(response.status === 200 && response.statusText === 'OK')) { - throw new Error( - `Error performing 1inch spot price request ${spotUrl}: ${await response.body}`, - ) - } - - const responseData = (await response.json()) as OneInchSpotResponse - - const [, price] = Object.entries(responseData)[0] - - return { - provider: SwapProviderType.OneInch, - price: Price.createFrom({ - value: price.toString(), - baseToken: baseToken, - quoteToken: quoteCurrency, - }), - } - } - } - private _getOneInchAuthHeader(): OneInchAuthHeader { return { [OneInchAuthHeaderKey]: this._apiKey } } - private _getOneInchSpotAuthHeader(): OneInchSpotAuthHeader { - return { [OneInchSpotAuthHeaderKey]: `Bearer ${this._apiSpotKey}` } - } - private _formatOneInchSwapUrl(params: { chainInfo: ChainInfo fromTokenAmount: TokenAmount @@ -284,22 +167,6 @@ export class OneInchSwapProvider implements ISwapProvider { return `${this._apiUrl}/${this._version}/${chainId}/quote?fromTokenAddress=${fromTokenAddress}&toTokenAddress=${toTokenAddress}&amount=${fromAmount}&protocols=${protocolsParam}` } - private _formatOneInchSpotUrl(params: { - chainInfo: ChainInfo - tokenAddresses: Address[] - quoteCurrency: CurrencySymbol - }): string { - const chainId = params.chainInfo.chainId - const tokenAddresses = params.tokenAddresses.map((address) => address.value.toLowerCase()) - - /** - * apiSpotUrl includes the complete path for the spot price endpoint - * EG /price/v1.1 - * https://portal.1inch.dev/documentation/spot-price/swagger?method=get&path=%2Fv1.1%2F1%2F%7Baddresses%7D - */ - return `${this._apiSpotUrl}/price/${this._spotVersion}/${chainId}/${tokenAddresses.join(',')}?currency=${params.quoteCurrency.toUpperCase()}` - } - private _extractSwapRoutes(protocols: OneInchSwapRoute[]): SwapRoute[] { return protocols.map((route) => route.map((hop) => @@ -315,12 +182,3 @@ export class OneInchSwapProvider implements ISwapProvider { ) } } - -function isTokenType(quoteToken: unknown): asserts quoteToken is Token { - if (!quoteToken) { - throw new Error('QuoteToken is undefined') - } - if (!(quoteToken instanceof Token)) { - throw new Error('QuoteToken is not of type Token') - } -} diff --git a/sdk/swap-service/src/implementation/oneinch/types.ts b/sdk/swap-service/src/implementation/oneinch/types.ts index b317b19f10..9abeb2c6e7 100644 --- a/sdk/swap-service/src/implementation/oneinch/types.ts +++ b/sdk/swap-service/src/implementation/oneinch/types.ts @@ -9,9 +9,6 @@ export type OneInchSwapProviderConfig = { apiUrl: string apiKey: string version: string - apiSpotUrl: string - apiSpotKey: string - spotVersion: string allowedSwapProtocols: string[] } @@ -31,12 +28,6 @@ export interface OneInchSwapResponse extends OneInchBaseResponse { } } -export type OneInchSpotAuthHeader = { - [OneInchSpotAuthHeaderKey]: string -} - -export type OneInchSpotResponse = Record - export interface OneInchQuoteResponse extends OneInchBaseResponse { /* One Inch can provide multiple routes */ protocols: OneInchSwapRoute[] diff --git a/sdk/swap-service/tsconfig.test.json b/sdk/swap-service/tsconfig.test.json index eab0f20950..bf4456ba3b 100644 --- a/sdk/swap-service/tsconfig.test.json +++ b/sdk/swap-service/tsconfig.test.json @@ -5,6 +5,7 @@ "baseUrl": ".", "paths": { "@summerfi/sdk-common/*": ["node_modules/@summerfi/sdk-common/src/*"], + "@summerfi/sdk-common": ["node_modules/@summerfi/sdk-common/src/index.ts"], "@summerfi/sdk-client": ["../sdk-client/src"], "@summerfi/swap-common/*": ["node_modules/@summerfi/swap-common/src/*"], diff --git a/sdk/testing-utils/package.json b/sdk/testing-utils/package.json index 4f3fa87fe5..ba31c832ae 100644 --- a/sdk/testing-utils/package.json +++ b/sdk/testing-utils/package.json @@ -21,7 +21,8 @@ "@summerfi/deployment-utils": "workspace:*", "@summerfi/protocol-plugins-common": "workspace:*", "@summerfi/sdk-common": "workspace:*", - "@summerfi/swap-common": "workspace:*" + "@summerfi/swap-common": "workspace:*", + "@summerfi/oracle-common": "workspace:*" }, "devDependencies": { "@summerfi/eslint-config": "workspace:*", diff --git a/sdk/testing-utils/src/mocks/OracleManagerMock.ts b/sdk/testing-utils/src/mocks/OracleManagerMock.ts new file mode 100644 index 0000000000..7e1b683d65 --- /dev/null +++ b/sdk/testing-utils/src/mocks/OracleManagerMock.ts @@ -0,0 +1,16 @@ +import { IChainInfo, IToken } from '@summerfi/sdk-common' +import { SpotPriceInfo } from '@summerfi/sdk-common/oracle' +import { IOracleManager } from '@summerfi/oracle-common' + +export class OracleManagerMock implements IOracleManager { + private _spotDataReturnValue: SpotPriceInfo = {} as SpotPriceInfo + + setSpotPrice(spotPrice: SpotPriceInfo): void { + this._spotDataReturnValue = spotPrice + } + + // eslint-disable-next-line @typescript-eslint/no-unused-vars + async getSpotPrice(params: { chainInfo: IChainInfo; baseToken: IToken }): Promise { + return this._spotDataReturnValue + } +} diff --git a/sdk/testing-utils/src/mocks/SwapManagerMock.ts b/sdk/testing-utils/src/mocks/SwapManagerMock.ts index 539392cc2b..0de5361bb9 100644 --- a/sdk/testing-utils/src/mocks/SwapManagerMock.ts +++ b/sdk/testing-utils/src/mocks/SwapManagerMock.ts @@ -1,11 +1,10 @@ import { Address, ChainInfo, Percentage, Token, TokenAmount } from '@summerfi/sdk-common/common' -import { SpotData, SwapData, QuoteData } from '@summerfi/sdk-common/swap' +import { SwapData, QuoteData } from '@summerfi/sdk-common/swap' import { ISwapManager } from '@summerfi/swap-common/interfaces' export class SwapManagerMock implements ISwapManager { private _swapDataReturnValue: SwapData = {} as SwapData private _quoteDataReturnValue: QuoteData = {} as QuoteData - private _spotDataReturnValue: SpotData = {} as SpotData private _summerFeeValue: Percentage = Percentage.createFrom({ value: 0 }) private _lastGetSwapDataExactInputParams: @@ -34,19 +33,10 @@ export class SwapManagerMock implements ISwapManager { this._quoteDataReturnValue = quoteData } - setSpotData(spotData: SpotData): void { - this._spotDataReturnValue = spotData - } - setSummerFee(summerFee: Percentage): void { this._summerFeeValue = summerFee } - // eslint-disable-next-line @typescript-eslint/no-unused-vars - async getSpotPrice(params: { chainInfo: ChainInfo; baseToken: Token }): Promise { - return this._spotDataReturnValue - } - async getSummerFee(): Promise { return this._summerFeeValue } diff --git a/sdk/testing-utils/src/mocks/index.ts b/sdk/testing-utils/src/mocks/index.ts index c51bfc12f1..29fda6faf8 100644 --- a/sdk/testing-utils/src/mocks/index.ts +++ b/sdk/testing-utils/src/mocks/index.ts @@ -1,3 +1,4 @@ export { StepBuilderContextMock } from './StepBuilderContextMock' export { SwapManagerMock } from './SwapManagerMock' +export { OracleManagerMock } from './OracleManagerMock' export { UserMock } from './UserMock' From 8943f068002b7bef73b0dd6345f1a847ce43f06a Mon Sep 17 00:00:00 2001 From: Damian Paszkowski Date: Tue, 7 May 2024 14:53:33 +0200 Subject: [PATCH 06/45] feat: add spark and aave action builders --- .../aave-v3/actions/AaveV3BorrowAction.ts | 28 +++++++ .../aave-v3/actions/AaveV3DepositAction.ts | 33 ++++++++ .../aave-v3/actions/AaveV3PaybackAction.ts | 31 +++++++ .../aave-v3/actions/AaveV3WithdrawAction.ts | 32 ++++++++ .../src/plugins/aave-v3/actions/index.ts | 4 + .../AaveV3DepositBorrowActionBuilder.ts | 80 ++++++++++++++++++ .../AaveV3PaybackWithdrawActionBuilder.ts | 82 +++++++++++++++++++ .../aave-v3/builders/AaveV3StepBuilders.ts | 8 +- .../spark/actions/SparkPaybackAction.ts | 31 +++++++ .../spark/actions/SparkWithdrawAction.ts | 32 ++++++++ .../SparkPaybackWithdrawActionBuilder.ts | 82 +++++++++++++++++++ .../spark/builders/SparkStepBuilders.ts | 2 + sdk/sdk-common/src/simulation/Steps.ts | 1 + .../RefinanceLendingToLendingNoDebt.ts | 2 +- 14 files changed, 446 insertions(+), 2 deletions(-) create mode 100644 sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3BorrowAction.ts create mode 100644 sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3DepositAction.ts create mode 100644 sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3PaybackAction.ts create mode 100644 sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3WithdrawAction.ts create mode 100644 sdk/protocol-plugins/src/plugins/aave-v3/actions/index.ts create mode 100644 sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3DepositBorrowActionBuilder.ts create mode 100644 sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3PaybackWithdrawActionBuilder.ts create mode 100644 sdk/protocol-plugins/src/plugins/spark/actions/SparkPaybackAction.ts create mode 100644 sdk/protocol-plugins/src/plugins/spark/actions/SparkWithdrawAction.ts create mode 100644 sdk/protocol-plugins/src/plugins/spark/builders/SparkPaybackWithdrawActionBuilder.ts diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3BorrowAction.ts b/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3BorrowAction.ts new file mode 100644 index 0000000000..3eaf095d74 --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3BorrowAction.ts @@ -0,0 +1,28 @@ +import { ActionCall, BaseAction, InputSlotsMapping } from '@summerfi/protocol-plugins-common' +import { Address, TokenAmount } from '@summerfi/sdk-common/common' + +export class AaveV3BorrowAction extends BaseAction { + public readonly config = { + name: 'AaveV3Borrow', + version: 0, + parametersAbi: '(address asset, uint256 amount, address to)', + storageInputs: [], + storageOutputs: ['borrowedAmount'], + } as const + + public encodeCall( + params: { borrowAmount: TokenAmount; borrowTo: Address }, + paramsMapping?: InputSlotsMapping, + ): ActionCall { + return this._encodeCall({ + arguments: [ + { + asset: params.borrowAmount.token.address.value, + amount: params.borrowAmount.toBaseUnit(), + to: params.borrowTo.value, + }, + ], + mapping: paramsMapping, + }) + } +} diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3DepositAction.ts b/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3DepositAction.ts new file mode 100644 index 0000000000..d16f8ab30f --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3DepositAction.ts @@ -0,0 +1,33 @@ +import { ActionCall, BaseAction, InputSlotsMapping } from '@summerfi/protocol-plugins-common' +import { TokenAmount } from '@summerfi/sdk-common/common' + +export class AaveV3DepositAction extends BaseAction { + public readonly config = { + name: 'AaveV3Deposit', + version: 0, + parametersAbi: '(address asset, uint256 amount, bool sumAmounts, bool setAsCollateral)', + storageInputs: ['asset', 'amountToDeposit'], + storageOutputs: ['depositedAmount'], + } as const + + public encodeCall( + params: { + depositAmount: TokenAmount + sumAmounts: boolean + setAsCollateral: boolean + }, + paramsMapping?: InputSlotsMapping, + ): ActionCall { + return this._encodeCall({ + arguments: [ + { + asset: params.depositAmount.token.address.value, + amount: params.depositAmount.toBaseUnit(), + sumAmounts: params.sumAmounts, + setAsCollateral: params.setAsCollateral, + }, + ], + mapping: paramsMapping, + }) + } +} diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3PaybackAction.ts b/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3PaybackAction.ts new file mode 100644 index 0000000000..d04d95acd7 --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3PaybackAction.ts @@ -0,0 +1,31 @@ +import { ActionCall, BaseAction, InputSlotsMapping } from '@summerfi/protocol-plugins-common' +import { TokenAmount } from '@summerfi/sdk-common/common' + +export class AaveV3PaybackAction extends BaseAction { + public readonly config = { + name: 'AaveV3Payback', + version: 0, + parametersAbi: '(address asset, uint256 amount, bool paybackAll)', + storageInputs: ['asset', 'amountToPayback'], + storageOutputs: ['paybackedAmount'], + } as const + + public encodeCall( + params: { + paybackAmount: TokenAmount + paybackAll: boolean + }, + paramsMapping?: InputSlotsMapping, + ): ActionCall { + return this._encodeCall({ + arguments: [ + { + asset: params.paybackAmount.token.address.value, + amount: params.paybackAmount.toBaseUnit(), + paybackAll: params.paybackAll, + }, + ], + mapping: paramsMapping, + }) + } +} diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3WithdrawAction.ts b/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3WithdrawAction.ts new file mode 100644 index 0000000000..8cf48689ce --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3WithdrawAction.ts @@ -0,0 +1,32 @@ +import { ActionCall, BaseAction, InputSlotsMapping } from '@summerfi/protocol-plugins-common' +import { Address } from '@summerfi/sdk-common' +import { TokenAmount } from '@summerfi/sdk-common/common' + +export class AaveV3WithdrawAction extends BaseAction { + public readonly config = { + name: 'AaveV3Withdraw', + version: 0, + parametersAbi: '(address asset, uint256 amount, address to)', + storageInputs: [], + storageOutputs: ['withdrawnAmount'], + } as const + + public encodeCall( + params: { + withdrawAmount: TokenAmount + withdrawTo: Address + }, + paramsMapping?: InputSlotsMapping, + ): ActionCall { + return this._encodeCall({ + arguments: [ + { + asset: params.withdrawAmount.token.address.value, + amount: params.withdrawAmount.toBaseUnit(), + to: params.withdrawTo.value, + }, + ], + mapping: paramsMapping, + }) + } +} diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/actions/index.ts b/sdk/protocol-plugins/src/plugins/aave-v3/actions/index.ts new file mode 100644 index 0000000000..316efeb51a --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/aave-v3/actions/index.ts @@ -0,0 +1,4 @@ +export { AaveV3BorrowAction } from './AaveV3BorrowAction' +export { AaveV3DepositAction } from './AaveV3DepositAction' +export { AaveV3PaybackAction } from './AaveV3PaybackAction' +export { AaveV3WithdrawAction } from './AaveV3WithdrawAction' diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3DepositBorrowActionBuilder.ts b/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3DepositBorrowActionBuilder.ts new file mode 100644 index 0000000000..4ffd4cd2ec --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3DepositBorrowActionBuilder.ts @@ -0,0 +1,80 @@ +import { + steps, + getValueFromReference, + TokenTransferTargetType, +} from '@summerfi/sdk-common/simulation' +import { ActionNames } from '@summerfi/deployment-types' +import { Address, AddressValue } from '@summerfi/sdk-common/common' +import { ActionBuilder, ActionBuilderParams } from '@summerfi/protocol-plugins-common' +import { SetApprovalAction } from '../../common' +import { AaveV3DepositAction } from '../actions/AaveV3DepositAction' +import { AaveV3BorrowAction } from '../actions/AaveV3BorrowAction' + +export const AaveV3DepositBorrowActionList: ActionNames[] = ['AaveV3Deposit', 'AaveV3Borrow'] + +function getBorrowTargetAddress(params: ActionBuilderParams): Address { + const { step, positionsManager, deployment } = params + + return step.inputs.borrowTargetType === TokenTransferTargetType.PositionsManager + ? positionsManager.address + : Address.createFromEthereum({ + value: deployment.contracts.OperationExecutor.address as AddressValue, + }) +} + +export const AaveV3DepositBorrowActionBuilder: ActionBuilder = async ( + params, +): Promise => { + const { context, step, deployment } = params + + const aaveV3LendingPool = Address.createFromEthereum({ + value: deployment.dependencies.AaveV3LendingPool.address as AddressValue, + }) + + context.addActionCall({ + step: step, + action: new SetApprovalAction(), + arguments: { + approvalAmount: getValueFromReference(step.inputs.depositAmount), + delegate: aaveV3LendingPool, + sumAmounts: false, + }, + connectedInputs: { + depositAmount: 'approvalAmount', + }, + connectedOutputs: {}, + }) + + context.addActionCall({ + step: params.step, + action: new AaveV3DepositAction(), + arguments: { + depositAmount: getValueFromReference(step.inputs.depositAmount), + sumAmounts: false, + setAsCollateral: true, + }, + connectedInputs: { + depositAmount: 'amountToDeposit', + }, + connectedOutputs: { + depositAmount: 'depositedAmount', + }, + }) + + const borrowAmount = getValueFromReference(step.inputs.borrowAmount) + + if (!borrowAmount.toBN().isZero()) { + context.addActionCall({ + step: step, + action: new AaveV3BorrowAction(), + arguments: { + borrowAmount: borrowAmount, + borrowTo: getBorrowTargetAddress(params), + }, + connectedInputs: {}, + connectedOutputs: { + borrowAmount: 'borrowedAmount', + }, + }) + } +} diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3PaybackWithdrawActionBuilder.ts b/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3PaybackWithdrawActionBuilder.ts new file mode 100644 index 0000000000..ee447386fe --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3PaybackWithdrawActionBuilder.ts @@ -0,0 +1,82 @@ +import { + steps, + getValueFromReference, + TokenTransferTargetType, +} from '@summerfi/sdk-common/simulation' +import { ActionNames } from '@summerfi/deployment-types' + +import { Address, AddressValue } from '@summerfi/sdk-common/common' +import { ActionBuilder, ActionBuilderParams } from '@summerfi/protocol-plugins-common' +import { SetApprovalAction } from '../../common' +import { AaveV3WithdrawAction } from '../actions/AaveV3WithdrawAction' +import { AaveV3PaybackAction } from '../actions/AaveV3PaybackAction' + +export const AaveV3PaybackWithdrawActionList: ActionNames[] = ['AaveV3Payback', 'AaveV3Withdraw'] + +function getWithdrawTargetAddress(params: ActionBuilderParams): Address { + const { step, positionsManager, deployment } = params + + return step.inputs.withdrawTargetType === TokenTransferTargetType.PositionsManager + ? positionsManager.address + : Address.createFromEthereum({ + value: deployment.contracts.OperationExecutor.address as AddressValue, + }) +} + +export const AaveV3PaybackWithdrawActionBuilder: ActionBuilder = async ( + params, +): Promise => { + const { context, step, deployment } = params + + const sparkLendingPool = Address.createFromEthereum({ + value: deployment.dependencies.SparkLendingPool.address as AddressValue, + }) + + const paybackAmount = getValueFromReference(step.inputs.paybackAmount) + + if (!paybackAmount.toBN().isZero()) { + context.addActionCall({ + step: step, + action: new SetApprovalAction(), + arguments: { + approvalAmount: getValueFromReference(step.inputs.paybackAmount), + delegate: sparkLendingPool, + sumAmounts: false, + }, + connectedInputs: { + paybackAmount: 'approvalAmount', + }, + connectedOutputs: {}, + }) + + context.addActionCall({ + step: params.step, + action: new AaveV3PaybackAction(), + arguments: { + paybackAmount: getValueFromReference(step.inputs.paybackAmount), + paybackAll: getValueFromReference(step.inputs.paybackAmount).toBN().gt(step.inputs.position.debtAmount.toBN()), + }, + connectedInputs: {}, + connectedOutputs: { + paybackAmount: 'paybackedAmount', + }, + }) + } + + const withdrawAmount = getValueFromReference(step.inputs.withdrawAmount) + + if (!withdrawAmount.toBN().isZero()) { + context.addActionCall({ + step: step, + action: new AaveV3WithdrawAction(), + arguments: { + withdrawAmount: withdrawAmount, + withdrawTo: getWithdrawTargetAddress(params), + }, + connectedInputs: {}, + connectedOutputs: { + withdrawAmount: 'withdrawnAmount', + }, + }) + } +} diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3StepBuilders.ts b/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3StepBuilders.ts index 8bc202b71e..26bbddd059 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3StepBuilders.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3StepBuilders.ts @@ -1,3 +1,9 @@ import { ActionBuildersMap } from '@summerfi/protocol-plugins-common' +import { AaveV3DepositBorrowActionBuilder } from './AaveV3DepositBorrowActionBuilder' +import { SimulationSteps } from '@summerfi/sdk-common' +import { AaveV3PaybackWithdrawActionBuilder } from './AaveV3PaybackWithdrawActionBuilder' -export const AaveV3StepBuilders: Partial = {} +export const AaveV3StepBuilders: Partial = { + [SimulationSteps.DepositBorrow]: AaveV3DepositBorrowActionBuilder, + [SimulationSteps.PaybackWithdraw]: AaveV3PaybackWithdrawActionBuilder, +} diff --git a/sdk/protocol-plugins/src/plugins/spark/actions/SparkPaybackAction.ts b/sdk/protocol-plugins/src/plugins/spark/actions/SparkPaybackAction.ts new file mode 100644 index 0000000000..d0718a9a8f --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/spark/actions/SparkPaybackAction.ts @@ -0,0 +1,31 @@ +import { ActionCall, BaseAction, InputSlotsMapping } from '@summerfi/protocol-plugins-common' +import { TokenAmount } from '@summerfi/sdk-common/common' + +export class SparkPaybackAction extends BaseAction { + public readonly config = { + name: 'SparkPayback', + version: 0, + parametersAbi: '(address asset, uint256 amount, bool paybackAll)', + storageInputs: ['asset', 'amountToPayback'], + storageOutputs: ['paybackedAmount'], + } as const + + public encodeCall( + params: { + paybackAmount: TokenAmount + paybackAll: boolean + }, + paramsMapping?: InputSlotsMapping, + ): ActionCall { + return this._encodeCall({ + arguments: [ + { + asset: params.paybackAmount.token.address.value, + amount: params.paybackAmount.toBaseUnit(), + paybackAll: params.paybackAll, + }, + ], + mapping: paramsMapping, + }) + } +} diff --git a/sdk/protocol-plugins/src/plugins/spark/actions/SparkWithdrawAction.ts b/sdk/protocol-plugins/src/plugins/spark/actions/SparkWithdrawAction.ts new file mode 100644 index 0000000000..a4f93f6b61 --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/spark/actions/SparkWithdrawAction.ts @@ -0,0 +1,32 @@ +import { ActionCall, BaseAction, InputSlotsMapping } from '@summerfi/protocol-plugins-common' +import { Address } from '@summerfi/sdk-common' +import { TokenAmount } from '@summerfi/sdk-common/common' + +export class SparkWithdrawAction extends BaseAction { + public readonly config = { + name: 'SparkWithdraw', + version: 0, + parametersAbi: '(address asset, uint256 amount, address to)', + storageInputs: [], + storageOutputs: ['withdrawnAmount'], + } as const + + public encodeCall( + params: { + withdrawAmount: TokenAmount + withdrawTo: Address + }, + paramsMapping?: InputSlotsMapping, + ): ActionCall { + return this._encodeCall({ + arguments: [ + { + asset: params.withdrawAmount.token.address.value, + amount: params.withdrawAmount.toBaseUnit(), + to: params.withdrawTo.value, + }, + ], + mapping: paramsMapping, + }) + } +} diff --git a/sdk/protocol-plugins/src/plugins/spark/builders/SparkPaybackWithdrawActionBuilder.ts b/sdk/protocol-plugins/src/plugins/spark/builders/SparkPaybackWithdrawActionBuilder.ts new file mode 100644 index 0000000000..76a1b7a25a --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/spark/builders/SparkPaybackWithdrawActionBuilder.ts @@ -0,0 +1,82 @@ +import { + steps, + getValueFromReference, + TokenTransferTargetType, +} from '@summerfi/sdk-common/simulation' +import { ActionNames } from '@summerfi/deployment-types' + +import { Address, AddressValue } from '@summerfi/sdk-common/common' +import { ActionBuilder, ActionBuilderParams } from '@summerfi/protocol-plugins-common' +import { SetApprovalAction } from '../../common' +import { SparkWithdrawAction } from '../actions/SparkWithdrawAction' +import { SparkPaybackAction } from '../actions/SparkPaybackAction' + +export const SparkPaybackWithdrawActionList: ActionNames[] = ['SparkPayback', 'SparkWithdraw'] + +function getWithdrawTargetAddress(params: ActionBuilderParams): Address { + const { step, positionsManager, deployment } = params + + return step.inputs.withdrawTargetType === TokenTransferTargetType.PositionsManager + ? positionsManager.address + : Address.createFromEthereum({ + value: deployment.contracts.OperationExecutor.address as AddressValue, + }) +} + +export const SparkPaybackWithdrawActionBuilder: ActionBuilder = async ( + params, +): Promise => { + const { context, step, deployment } = params + + const sparkLendingPool = Address.createFromEthereum({ + value: deployment.dependencies.SparkLendingPool.address as AddressValue, + }) + + const paybackAmount = getValueFromReference(step.inputs.paybackAmount) + + if (!paybackAmount.toBN().isZero()) { + context.addActionCall({ + step: step, + action: new SetApprovalAction(), + arguments: { + approvalAmount: getValueFromReference(step.inputs.paybackAmount), + delegate: sparkLendingPool, + sumAmounts: false, + }, + connectedInputs: { + paybackAmount: 'approvalAmount', + }, + connectedOutputs: {}, + }) + + context.addActionCall({ + step: params.step, + action: new SparkPaybackAction(), + arguments: { + paybackAmount: getValueFromReference(step.inputs.paybackAmount), + paybackAll: getValueFromReference(step.inputs.paybackAmount).toBN().gt(step.inputs.position.debtAmount.toBN()), + }, + connectedInputs: {}, + connectedOutputs: { + paybackAmount: 'paybackedAmount', + }, + }) + } + + const withdrawAmount = getValueFromReference(step.inputs.withdrawAmount) + + if (!withdrawAmount.toBN().isZero()) { + context.addActionCall({ + step: step, + action: new SparkWithdrawAction(), + arguments: { + withdrawAmount: withdrawAmount, + withdrawTo: getWithdrawTargetAddress(params), + }, + connectedInputs: {}, + connectedOutputs: { + withdrawAmount: 'withdrawnAmount', + }, + }) + } +} diff --git a/sdk/protocol-plugins/src/plugins/spark/builders/SparkStepBuilders.ts b/sdk/protocol-plugins/src/plugins/spark/builders/SparkStepBuilders.ts index fa13b4bead..30089299fe 100644 --- a/sdk/protocol-plugins/src/plugins/spark/builders/SparkStepBuilders.ts +++ b/sdk/protocol-plugins/src/plugins/spark/builders/SparkStepBuilders.ts @@ -1,7 +1,9 @@ import { ActionBuildersMap } from '@summerfi/protocol-plugins-common' import { SparkDepositBorrowActionBuilder } from './SparkDepositBorrowActionBuilder' import { SimulationSteps } from '@summerfi/sdk-common/simulation' +import { SparkPaybackWithdrawActionBuilder } from './SparkPaybackWithdrawActionBuilder' export const SparkStepBuilders: Partial = { [SimulationSteps.DepositBorrow]: SparkDepositBorrowActionBuilder, + [SimulationSteps.PaybackWithdraw]: SparkPaybackWithdrawActionBuilder, } diff --git a/sdk/sdk-common/src/simulation/Steps.ts b/sdk/sdk-common/src/simulation/Steps.ts index f330857f59..91a59f042a 100644 --- a/sdk/sdk-common/src/simulation/Steps.ts +++ b/sdk/sdk-common/src/simulation/Steps.ts @@ -51,6 +51,7 @@ export interface PaybackWithdrawStep paybackAmount: ReferenceableField withdrawAmount: TokenAmount position: Position + withdrawTargetType: TokenTransferTargetType }, { paybackAmount: TokenAmount diff --git a/sdk/simulator-service/src/strategies/refinanceNoDebt/RefinanceLendingToLendingNoDebt.ts b/sdk/simulator-service/src/strategies/refinanceNoDebt/RefinanceLendingToLendingNoDebt.ts index 171c0ac6ba..3920a376ca 100644 --- a/sdk/simulator-service/src/strategies/refinanceNoDebt/RefinanceLendingToLendingNoDebt.ts +++ b/sdk/simulator-service/src/strategies/refinanceNoDebt/RefinanceLendingToLendingNoDebt.ts @@ -76,7 +76,7 @@ export async function refinanceLendingToLendingNoDebt( : ctx.getReference(['CollateralSwap', 'received']), borrowAmount: TokenAmount.createFrom({ amount: '0', - token: targetDebtConfig.token, + token: targetPool.id.debtToken, }), position: newEmptyPositionFromPool(targetPool), borrowTargetType: TokenTransferTargetType.PositionsManager, From 6781ebbd9b8a7e92330ddfa0705c5ead1a4834a2 Mon Sep 17 00:00:00 2001 From: Damian Paszkowski Date: Tue, 7 May 2024 15:10:52 +0200 Subject: [PATCH 07/45] feat: add emode category --- .../aave-v3/actions/AaveV3SetEmodeAction.ts | 30 +++++++++++++++++++ .../src/plugins/aave-v3/actions/index.ts | 1 + .../spark/actions/SparkSetEmodeAction.ts | 30 +++++++++++++++++++ .../src/plugins/spark/actions/index.ts | 3 ++ 4 files changed, 64 insertions(+) create mode 100644 sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3SetEmodeAction.ts create mode 100644 sdk/protocol-plugins/src/plugins/spark/actions/SparkSetEmodeAction.ts diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3SetEmodeAction.ts b/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3SetEmodeAction.ts new file mode 100644 index 0000000000..91494b1965 --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3SetEmodeAction.ts @@ -0,0 +1,30 @@ +import { ActionCall, BaseAction, InputSlotsMapping } from '@summerfi/protocol-plugins-common' +import { EmodeType } from '../../common/enums/EmodeType' +import { aaveV3EmodeCategoryMap } from '../implementation' + + +export class AaveV3SetEmodeAction extends BaseAction { + public readonly config = { + name: 'AaveV3SetEMode', + version: 0, + parametersAbi: '(uint8 categoryId)', + storageInputs: [], + storageOutputs: ['emodeCategory'], + } as const + + public encodeCall( + params: { + emode: EmodeType + }, + paramsMapping?: InputSlotsMapping, + ): ActionCall { + return this._encodeCall({ + arguments: [ + { + categoryId: aaveV3EmodeCategoryMap[params.emode], + }, + ], + mapping: paramsMapping, + }) + } +} diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/actions/index.ts b/sdk/protocol-plugins/src/plugins/aave-v3/actions/index.ts index 316efeb51a..80eb1a4cfa 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/actions/index.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/actions/index.ts @@ -2,3 +2,4 @@ export { AaveV3BorrowAction } from './AaveV3BorrowAction' export { AaveV3DepositAction } from './AaveV3DepositAction' export { AaveV3PaybackAction } from './AaveV3PaybackAction' export { AaveV3WithdrawAction } from './AaveV3WithdrawAction' +export { AaveV3SetEmodeAction } from './AaveV3SetEmodeAction' \ No newline at end of file diff --git a/sdk/protocol-plugins/src/plugins/spark/actions/SparkSetEmodeAction.ts b/sdk/protocol-plugins/src/plugins/spark/actions/SparkSetEmodeAction.ts new file mode 100644 index 0000000000..7ba7c2352c --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/spark/actions/SparkSetEmodeAction.ts @@ -0,0 +1,30 @@ +import { ActionCall, BaseAction, InputSlotsMapping } from '@summerfi/protocol-plugins-common' +import { EmodeType } from '../../common/enums/EmodeType' +import { sparkEmodeCategoryMap } from '../implementation/EmodeCategoryMap' + + +export class SparkSetEmodeAction extends BaseAction { + public readonly config = { + name: 'SparkSetEMode', + version: 0, + parametersAbi: '(uint8 categoryId)', + storageInputs: [], + storageOutputs: ['emodeCategory'], + } as const + + public encodeCall( + params: { + emode: EmodeType + }, + paramsMapping?: InputSlotsMapping, + ): ActionCall { + return this._encodeCall({ + arguments: [ + { + categoryId: sparkEmodeCategoryMap[params.emode], + }, + ], + mapping: paramsMapping, + }) + } +} diff --git a/sdk/protocol-plugins/src/plugins/spark/actions/index.ts b/sdk/protocol-plugins/src/plugins/spark/actions/index.ts index 9f3cc43bd4..fae9e7e404 100644 --- a/sdk/protocol-plugins/src/plugins/spark/actions/index.ts +++ b/sdk/protocol-plugins/src/plugins/spark/actions/index.ts @@ -1,2 +1,5 @@ export { SparkBorrowAction } from './SparkBorrowAction' export { SparkDepositAction } from './SparkDepositAction' +export { SparkPaybackAction } from './SparkPaybackAction' +export { SparkWithdrawAction } from './SparkWithdrawAction' +export { SparkSetEmodeAction } from './SparkSetEmodeAction' \ No newline at end of file From 14c3ae662a3ba66a1d1a84978f30bd12d594fe00 Mon Sep 17 00:00:00 2001 From: Damian Paszkowski Date: Wed, 8 May 2024 10:11:07 +0200 Subject: [PATCH 08/45] feat: add open position step --- sdk/sdk-common/src/simulation/Enums.ts | 1 + sdk/sdk-common/src/simulation/Steps.ts | 3 +++ .../simulator-engine/reducer/openPositionReducer.ts | 12 ++++++++++++ .../simulator-engine/reducer/stateReducers.ts | 2 ++ .../stepProcessor/openPositionProcessor.ts | 9 +++++++++ .../stepProcessor/stepOutputProcessors.ts | 2 ++ 6 files changed, 29 insertions(+) create mode 100644 sdk/simulator-service/src/implementation/simulator-engine/reducer/openPositionReducer.ts create mode 100644 sdk/simulator-service/src/implementation/simulator-engine/stepProcessor/openPositionProcessor.ts diff --git a/sdk/sdk-common/src/simulation/Enums.ts b/sdk/sdk-common/src/simulation/Enums.ts index ad9dfb46b9..fcc7818e30 100644 --- a/sdk/sdk-common/src/simulation/Enums.ts +++ b/sdk/sdk-common/src/simulation/Enums.ts @@ -24,6 +24,7 @@ export enum SimulationSteps { RepayFlashloan = 'RepayFlashloan', Import = 'Import', NewPositionEvent = 'NewPositionEvent', + OpenPosition = 'OpenPosition', } export enum FlashloanProvider { diff --git a/sdk/sdk-common/src/simulation/Steps.ts b/sdk/sdk-common/src/simulation/Steps.ts index 91a59f042a..1366e5eb9c 100644 --- a/sdk/sdk-common/src/simulation/Steps.ts +++ b/sdk/sdk-common/src/simulation/Steps.ts @@ -109,6 +109,8 @@ export interface NewPositionEventStep export interface ImportStep extends Step {} +export interface OpenPosition extends Step {} + export type Steps = | FlashloanStep | PullTokenStep @@ -119,3 +121,4 @@ export type Steps = | RepayFlashloanStep | NewPositionEventStep | ImportStep + | OpenPosition diff --git a/sdk/simulator-service/src/implementation/simulator-engine/reducer/openPositionReducer.ts b/sdk/simulator-service/src/implementation/simulator-engine/reducer/openPositionReducer.ts new file mode 100644 index 0000000000..1422d79a70 --- /dev/null +++ b/sdk/simulator-service/src/implementation/simulator-engine/reducer/openPositionReducer.ts @@ -0,0 +1,12 @@ +import { steps } from '@summerfi/sdk-common/simulation' +import { ISimulationState } from '../../../interfaces/simulation' + +export function openPositionReducer(step: steps.OpenPosition, state: ISimulationState): ISimulationState { + return { + ...state, + steps: { + ...state.steps, + [step.name]: step, + }, + } +} diff --git a/sdk/simulator-service/src/implementation/simulator-engine/reducer/stateReducers.ts b/sdk/simulator-service/src/implementation/simulator-engine/reducer/stateReducers.ts index 571dcbde41..daef596a5a 100644 --- a/sdk/simulator-service/src/implementation/simulator-engine/reducer/stateReducers.ts +++ b/sdk/simulator-service/src/implementation/simulator-engine/reducer/stateReducers.ts @@ -10,6 +10,7 @@ import { repayFlashloanReducer } from './repayFlashloanReducer' import { pullTokenReducer } from './pullTokenReducer' import { importReducer } from './importReducer' import { newPositionEventReducer } from './newPositionEventReducer' +import { openPositionReducer } from './openPositionReducer' const stateReducers: StateReducers = { [SimulationSteps.Flashloan]: flashloanReducer, @@ -21,6 +22,7 @@ const stateReducers: StateReducers = { [SimulationSteps.PullToken]: pullTokenReducer, [SimulationSteps.Import]: importReducer, [SimulationSteps.NewPositionEvent]: newPositionEventReducer, + [SimulationSteps.OpenPosition]: openPositionReducer, } export function stateReducer(step: steps.Steps, state: ISimulationState): ISimulationState { diff --git a/sdk/simulator-service/src/implementation/simulator-engine/stepProcessor/openPositionProcessor.ts b/sdk/simulator-service/src/implementation/simulator-engine/stepProcessor/openPositionProcessor.ts new file mode 100644 index 0000000000..2051c55d4d --- /dev/null +++ b/sdk/simulator-service/src/implementation/simulator-engine/stepProcessor/openPositionProcessor.ts @@ -0,0 +1,9 @@ +import { steps } from '@summerfi/sdk-common/simulation' +import type { StepOutputProcessor } from '../../../interfaces/steps' + +export const openPositionProcessor: StepOutputProcessor = async (step) => { + return { + ...step, + outputs: undefined, + } +} diff --git a/sdk/simulator-service/src/implementation/simulator-engine/stepProcessor/stepOutputProcessors.ts b/sdk/simulator-service/src/implementation/simulator-engine/stepProcessor/stepOutputProcessors.ts index f1e3cf94c4..7f175ced45 100644 --- a/sdk/simulator-service/src/implementation/simulator-engine/stepProcessor/stepOutputProcessors.ts +++ b/sdk/simulator-service/src/implementation/simulator-engine/stepProcessor/stepOutputProcessors.ts @@ -13,6 +13,7 @@ import { returnFundsOutputProcessor } from './returnFundsOutputProcessor' import { repayFlashloanOutputProcessor } from './repayFlashloanOutputProcessor' import { importPositionProcessor } from './importPositionProcessor' import { newPositionEventProcessor } from './newPositionEvent' +import { openPositionProcessor } from './openPositionProcessor' const stepOutputProcessors: StepOutputProcessors = { [SimulationSteps.Flashloan]: flashloanOutputProcessor, @@ -24,6 +25,7 @@ const stepOutputProcessors: StepOutputProcessors = { [SimulationSteps.PullToken]: pullTokenOutputProcessor, [SimulationSteps.Import]: importPositionProcessor, [SimulationSteps.NewPositionEvent]: newPositionEventProcessor, + [SimulationSteps.OpenPosition]: openPositionProcessor, } export async function processStepOutput(step: StepsWithoutOutputs): Promise { From 4c43c4604d6568e1f88ea58f7410d2868cd56f5e Mon Sep 17 00:00:00 2001 From: Damian Paszkowski Date: Wed, 8 May 2024 10:26:27 +0200 Subject: [PATCH 09/45] feat: add action builders for open position --- .../AaveV3OpenPositionActionBuilder.ts | 31 +++++++++++++++++++ .../aave-v3/builders/AaveV3StepBuilders.ts | 2 ++ .../SparkOpenPositionActionBuilder.ts | 31 +++++++++++++++++++ .../spark/builders/SparkStepBuilders.ts | 2 ++ 4 files changed, 66 insertions(+) create mode 100644 sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3OpenPositionActionBuilder.ts create mode 100644 sdk/protocol-plugins/src/plugins/spark/builders/SparkOpenPositionActionBuilder.ts diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3OpenPositionActionBuilder.ts b/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3OpenPositionActionBuilder.ts new file mode 100644 index 0000000000..6e6ee4dfe8 --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3OpenPositionActionBuilder.ts @@ -0,0 +1,31 @@ +import { steps } from '@summerfi/sdk-common/simulation' +import { ActionNames } from '@summerfi/deployment-types' + +import { ActionBuilder } from '@summerfi/protocol-plugins-common' +import { isAaveV3LendingPool } from '../interfaces' +import { AaveV3SetEmodeAction } from '../actions' + +export const AaveV3OpenPositionList: ActionNames[] = ['AaveV3SetEMode'] + +export const AaveV3OpenPositionActionBuilder: ActionBuilder = async ( + params, +): Promise => { + + const { context, step } = params + const pool = params.step.inputs.position.pool + + if (!isAaveV3LendingPool(pool)) { + throw new Error('Only Aave lending pool is supported') + } + + context.addActionCall({ + step: step, + action: new AaveV3SetEmodeAction(), + arguments: { + emode: pool.id.emodeType, + + }, + connectedInputs: {}, + connectedOutputs: {}, + }) +} diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3StepBuilders.ts b/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3StepBuilders.ts index 26bbddd059..55120dc114 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3StepBuilders.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3StepBuilders.ts @@ -2,8 +2,10 @@ import { ActionBuildersMap } from '@summerfi/protocol-plugins-common' import { AaveV3DepositBorrowActionBuilder } from './AaveV3DepositBorrowActionBuilder' import { SimulationSteps } from '@summerfi/sdk-common' import { AaveV3PaybackWithdrawActionBuilder } from './AaveV3PaybackWithdrawActionBuilder' +import { AaveV3OpenPositionActionBuilder } from './AaveV3OpenPositionActionBuilder' export const AaveV3StepBuilders: Partial = { [SimulationSteps.DepositBorrow]: AaveV3DepositBorrowActionBuilder, [SimulationSteps.PaybackWithdraw]: AaveV3PaybackWithdrawActionBuilder, + [SimulationSteps.OpenPosition]: AaveV3OpenPositionActionBuilder, } diff --git a/sdk/protocol-plugins/src/plugins/spark/builders/SparkOpenPositionActionBuilder.ts b/sdk/protocol-plugins/src/plugins/spark/builders/SparkOpenPositionActionBuilder.ts new file mode 100644 index 0000000000..bdc0be448b --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/spark/builders/SparkOpenPositionActionBuilder.ts @@ -0,0 +1,31 @@ +import { steps } from '@summerfi/sdk-common/simulation' +import { ActionNames } from '@summerfi/deployment-types' + +import { ActionBuilder } from '@summerfi/protocol-plugins-common' +import { isSparkLendingPool } from '../interfaces' +import { SparkSetEmodeAction } from '../actions' + +export const SparkOpenPositionList: ActionNames[] = ['SparkSetEMode'] + +export const SparkOpenPositionActionBuilder: ActionBuilder = async ( + params, +): Promise => { + + const { context, step } = params + const pool = params.step.inputs.position.pool + + if (!isSparkLendingPool(pool)) { + throw new Error('Only Spark lending pool is supported') + } + + context.addActionCall({ + step: step, + action: new SparkSetEmodeAction(), + arguments: { + emode: pool.id.emodeType, + + }, + connectedInputs: {}, + connectedOutputs: {}, + }) +} diff --git a/sdk/protocol-plugins/src/plugins/spark/builders/SparkStepBuilders.ts b/sdk/protocol-plugins/src/plugins/spark/builders/SparkStepBuilders.ts index 30089299fe..4b149e998f 100644 --- a/sdk/protocol-plugins/src/plugins/spark/builders/SparkStepBuilders.ts +++ b/sdk/protocol-plugins/src/plugins/spark/builders/SparkStepBuilders.ts @@ -2,8 +2,10 @@ import { ActionBuildersMap } from '@summerfi/protocol-plugins-common' import { SparkDepositBorrowActionBuilder } from './SparkDepositBorrowActionBuilder' import { SimulationSteps } from '@summerfi/sdk-common/simulation' import { SparkPaybackWithdrawActionBuilder } from './SparkPaybackWithdrawActionBuilder' +import { SparkOpenPositionActionBuilder } from './SparkOpenPositionActionBuilder' export const SparkStepBuilders: Partial = { [SimulationSteps.DepositBorrow]: SparkDepositBorrowActionBuilder, [SimulationSteps.PaybackWithdraw]: SparkPaybackWithdrawActionBuilder, + [SimulationSteps.OpenPosition]: SparkOpenPositionActionBuilder, } From f64c9b12fe3ae8b9208bce94c7601b2918977e93 Mon Sep 17 00:00:00 2001 From: Damian Paszkowski Date: Wed, 8 May 2024 12:19:00 +0200 Subject: [PATCH 10/45] feat: open step --- sdk/order-planner-service/src/config/Config.ts | 2 ++ .../common/builders/OpenPositionActionBuilder.ts | 14 ++++++++++++++ .../src/plugins/common/builders/index.ts | 1 + sdk/sdk-common/src/simulation/Steps.ts | 3 ++- .../stepProcessor/openPositionProcessor.ts | 5 ++++- .../src/strategies/refinanceAnyPair/Strategy.ts | 4 ++++ .../src/strategies/refinanceNoDebt/Strategy.ts | 4 ++++ .../src/strategies/refinanceSamePair/Strategy.ts | 4 ++++ 8 files changed, 35 insertions(+), 2 deletions(-) create mode 100644 sdk/protocol-plugins/src/plugins/common/builders/OpenPositionActionBuilder.ts diff --git a/sdk/order-planner-service/src/config/Config.ts b/sdk/order-planner-service/src/config/Config.ts index de09eb7909..33ac0df376 100644 --- a/sdk/order-planner-service/src/config/Config.ts +++ b/sdk/order-planner-service/src/config/Config.ts @@ -10,6 +10,7 @@ import { RepayFlashloanActionBuilder, ReturnFundsActionBuilder, SwapActionBuilder, + OpenPositionActionBuilder, } from '@summerfi/protocol-plugins/plugins/common' export const ActionBuildersConfig: ActionBuildersMap = { @@ -22,4 +23,5 @@ export const ActionBuildersConfig: ActionBuildersMap = { [SimulationSteps.ReturnFunds]: ReturnFundsActionBuilder, [SimulationSteps.NewPositionEvent]: PositionCreatedActionBuilder, [SimulationSteps.Import]: ImportPositionActionBuilder, + [SimulationSteps.OpenPosition]: OpenPositionActionBuilder } diff --git a/sdk/protocol-plugins/src/plugins/common/builders/OpenPositionActionBuilder.ts b/sdk/protocol-plugins/src/plugins/common/builders/OpenPositionActionBuilder.ts new file mode 100644 index 0000000000..ee1b935988 --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/common/builders/OpenPositionActionBuilder.ts @@ -0,0 +1,14 @@ +import { ActionBuilder } from '@summerfi/protocol-plugins-common' +import { steps } from '@summerfi/sdk-common/simulation' +import { delegateToProtocolActionBuilder } from '../../utils/DelegateToProtocolActionBuilder' + +export const OpenPositionActionBuilder: ActionBuilder = async ( + params, +): Promise => { + const pool = params.step.inputs.pool + + delegateToProtocolActionBuilder({ + protocolName: pool.id.protocol.name, + actionBuilderParams: params, + }) +} diff --git a/sdk/protocol-plugins/src/plugins/common/builders/index.ts b/sdk/protocol-plugins/src/plugins/common/builders/index.ts index 0f1b4ae370..4dcc14c57a 100644 --- a/sdk/protocol-plugins/src/plugins/common/builders/index.ts +++ b/sdk/protocol-plugins/src/plugins/common/builders/index.ts @@ -11,3 +11,4 @@ export { ReturnFundsActionBuilder } from './ReturnFundsActionBuilder' export { SwapActionBuilder } from './SwapActionBuilder' export { PositionCreatedActionBuilder } from './PositionCreatedActionBuilder' export { ImportPositionActionBuilder } from './ImportPositionActionBuilder' +export { OpenPositionActionBuilder } from './OpenPositionActionBuilder' \ No newline at end of file diff --git a/sdk/sdk-common/src/simulation/Steps.ts b/sdk/sdk-common/src/simulation/Steps.ts index 1366e5eb9c..1dc0c1d5fe 100644 --- a/sdk/sdk-common/src/simulation/Steps.ts +++ b/sdk/sdk-common/src/simulation/Steps.ts @@ -7,6 +7,7 @@ import { FlashloanProvider, SimulationSteps, TokenTransferTargetType } from './E import { SwapProviderType, SwapRoute } from '../swap' import { ReferenceableField, ValueReference } from './ValueReference' import { IExternalPosition } from '../orders/interfaces/importing/IExternalPosition' +import { Pool } from 'src/protocols' export interface Step { type: T @@ -109,7 +110,7 @@ export interface NewPositionEventStep export interface ImportStep extends Step {} -export interface OpenPosition extends Step {} +export interface OpenPosition extends Step {} export type Steps = | FlashloanStep diff --git a/sdk/simulator-service/src/implementation/simulator-engine/stepProcessor/openPositionProcessor.ts b/sdk/simulator-service/src/implementation/simulator-engine/stepProcessor/openPositionProcessor.ts index 2051c55d4d..616ca3a1fe 100644 --- a/sdk/simulator-service/src/implementation/simulator-engine/stepProcessor/openPositionProcessor.ts +++ b/sdk/simulator-service/src/implementation/simulator-engine/stepProcessor/openPositionProcessor.ts @@ -1,9 +1,12 @@ import { steps } from '@summerfi/sdk-common/simulation' import type { StepOutputProcessor } from '../../../interfaces/steps' +import { newEmptyPositionFromPool } from '@summerfi/sdk-common/common/utils' export const openPositionProcessor: StepOutputProcessor = async (step) => { return { ...step, - outputs: undefined, + outputs: { + position: newEmptyPositionFromPool(step.inputs.pool) + }, } } diff --git a/sdk/simulator-service/src/strategies/refinanceAnyPair/Strategy.ts b/sdk/simulator-service/src/strategies/refinanceAnyPair/Strategy.ts index 7e78bbc5c2..901ddb83a3 100644 --- a/sdk/simulator-service/src/strategies/refinanceAnyPair/Strategy.ts +++ b/sdk/simulator-service/src/strategies/refinanceAnyPair/Strategy.ts @@ -14,6 +14,10 @@ export const refinanceLendingToLendingAnyPairStrategy = makeStrategy([ step: SimulationSteps.Swap, optional: true, }, + { + step: SimulationSteps.OpenPosition, + optional: false, + }, { step: SimulationSteps.DepositBorrow, optional: false, diff --git a/sdk/simulator-service/src/strategies/refinanceNoDebt/Strategy.ts b/sdk/simulator-service/src/strategies/refinanceNoDebt/Strategy.ts index fb39c1cc78..a29b694641 100644 --- a/sdk/simulator-service/src/strategies/refinanceNoDebt/Strategy.ts +++ b/sdk/simulator-service/src/strategies/refinanceNoDebt/Strategy.ts @@ -10,6 +10,10 @@ export const refinanceLendingToLendingNoDebtStrategy = makeStrategy([ step: SimulationSteps.Swap, optional: true, }, + { + step: SimulationSteps.OpenPosition, + optional: false, + }, { step: SimulationSteps.DepositBorrow, optional: false, diff --git a/sdk/simulator-service/src/strategies/refinanceSamePair/Strategy.ts b/sdk/simulator-service/src/strategies/refinanceSamePair/Strategy.ts index 4b8d6c9896..febe87138e 100644 --- a/sdk/simulator-service/src/strategies/refinanceSamePair/Strategy.ts +++ b/sdk/simulator-service/src/strategies/refinanceSamePair/Strategy.ts @@ -10,6 +10,10 @@ export const refinanceLendingToLendingSamePairStrategy = makeStrategy([ step: SimulationSteps.PaybackWithdraw, optional: false, }, + { + step: SimulationSteps.OpenPosition, + optional: false, + }, { step: SimulationSteps.DepositBorrow, optional: false, From ea8baa70fb09c3fff04def8ed82fc85804786424 Mon Sep 17 00:00:00 2001 From: Damian Paszkowski Date: Wed, 8 May 2024 16:24:32 +0200 Subject: [PATCH 11/45] refactor: improve simulator types (1st iteration) --- .../src/simulation/SimulationStrategy.ts | 1 + sdk/sdk-common/src/simulation/Steps.ts | 3 +- .../simulator-engine/simulator.ts | 115 +++++++++++++++--- .../implementation/utils/SimulatorUtils.ts | 2 +- .../src/interfaces/helperTypes.ts | 9 +- sdk/simulator-service/src/interfaces/steps.ts | 22 +++- .../RefinanceLendingToLendingAnyPair.ts | 30 +++-- .../strategies/refinanceAnyPair/Strategy.ts | 11 +- .../RefinanceLendingToLendingNoDebt.ts | 1 - 9 files changed, 161 insertions(+), 33 deletions(-) diff --git a/sdk/sdk-common/src/simulation/SimulationStrategy.ts b/sdk/sdk-common/src/simulation/SimulationStrategy.ts index 3ae319d905..5f0164580d 100644 --- a/sdk/sdk-common/src/simulation/SimulationStrategy.ts +++ b/sdk/sdk-common/src/simulation/SimulationStrategy.ts @@ -1,6 +1,7 @@ import type { SimulationSteps } from './Enums' export interface StrategyStep { + name: string step: SimulationSteps optional: boolean } diff --git a/sdk/sdk-common/src/simulation/Steps.ts b/sdk/sdk-common/src/simulation/Steps.ts index 1dc0c1d5fe..177daf8251 100644 --- a/sdk/sdk-common/src/simulation/Steps.ts +++ b/sdk/sdk-common/src/simulation/Steps.ts @@ -9,9 +9,8 @@ import { ReferenceableField, ValueReference } from './ValueReference' import { IExternalPosition } from '../orders/interfaces/importing/IExternalPosition' import { Pool } from 'src/protocols' -export interface Step { +export interface Step { type: T - name: N inputs: I outputs: O skip?: boolean diff --git a/sdk/simulator-service/src/implementation/simulator-engine/simulator.ts b/sdk/simulator-service/src/implementation/simulator-engine/simulator.ts index 7bc78377a8..9a5e9bd21d 100644 --- a/sdk/simulator-service/src/implementation/simulator-engine/simulator.ts +++ b/sdk/simulator-service/src/implementation/simulator-engine/simulator.ts @@ -1,16 +1,25 @@ import type { ISimulationState } from '../../interfaces/simulation' -import type { Tail } from '../../interfaces/helperTypes' -import type { NextFunction } from '../../interfaces' -import { head, tail } from '../utils' +import type { Head, Tail, Where } from '../../interfaces/helperTypes' +import type { NextFunction, Reference } from '../../interfaces' +import { head, makeStrategy, tail } from '../utils' import { processStepOutput } from './stepProcessor/stepOutputProcessors' import { stateReducer } from './reducer/stateReducers' import type { SimulationStrategy } from '@summerfi/sdk-common/simulation' -import { steps } from '@summerfi/sdk-common/simulation' -import { Maybe } from '@summerfi/sdk-common/common' +import { FlashloanProvider, SimulationSteps, TokenTransferTargetType, steps } from '@summerfi/sdk-common/simulation' +import { StrategyStep, ValueReference } from '@summerfi/sdk-common' +import { Steps } from 'node_modules/@summerfi/sdk-common/src/simulation/Steps' +import { Position, Token, TokenAmount } from '@summerfi/sdk-common/common/implementation' + +type NextStep> = Promise['step'] }>, 'outputs'>> +type ProccessedStep> = { name: Head['name'], step: Where['step'] }> } +type Paths = { [K in keyof S]: keyof S[K]['step']['outputs'] extends never ? never : [S[K]['name'], keyof S[K]['step']['outputs']] }[number] +type GetReferencedValue

, S extends { name: string, step: Steps }[]> = + (path: P) => ValueReference['step']['outputs'], P[1]>[keyof Pick['step']['outputs'], P[1]>]> + export class Simulator< Strategy extends SimulationStrategy, - NextArray extends NextFunction[] = [], + S extends { name: string, step: Steps }[] > { public schema: Strategy public originalSchema: SimulationStrategy @@ -32,7 +41,7 @@ export class Simulator< static create(schema: S) { // The second argument is the same as from the first schema we will subtract steps // with each next step added we also need to keep the original schema for future reference - return new Simulator(schema, schema) + return new Simulator(schema, schema) } public async run(): Promise { @@ -77,12 +86,10 @@ export class Simulator< return this.state } - public next( - next: NextFunction, + public next( + next: (ctx: { getReference: GetReferencedValue, S>, s: S }) => NextStep, skip?: boolean, - ): - | Simulator, [...NextArray]> - | Simulator, [...NextArray, NextFunction]> { + ): Simulator, [...S, ProccessedStep]> { const schemaHead = head(this.schema) const schemaTail = tail(this.schema) const nextArray = [...this.nextArray, next] as const @@ -92,7 +99,7 @@ export class Simulator< throw new Error(`Step is required: ${schemaHead.step}`) } - return new Simulator, [...NextArray]>( + return new Simulator, [...NextArray], Ref & Record>>( schemaTail, this.originalSchema, this.state, @@ -104,7 +111,7 @@ export class Simulator< throw new Error('No more steps to process') } - return new Simulator, [...NextArray, NextFunction]>( + return new Simulator, [...NextArray, NextFunction]>( schemaTail, this.originalSchema, this.state, @@ -112,3 +119,83 @@ export class Simulator< ) } } + +const strategy = makeStrategy([ + { + name: 'FL', + step: SimulationSteps.Flashloan, + optional: false, + }, + { + name: 'TestDeposit', + step: SimulationSteps.DepositBorrow, + optional: false, +}, +{ + name: 'PbWd', + step: SimulationSteps.PaybackWithdraw, + optional: false, +}, +{ + name: 'TestWithdraw', + step: SimulationSteps.PaybackWithdraw, + optional: false, +} +] as const) + + +const sim = Simulator.create(strategy) + .next(async () => ({ + type: SimulationSteps.Flashloan, + inputs: { + amount: TokenAmount.createFrom({ amount: '100', token }), + provider: FlashloanProvider.Maker, + } + }) +) + +declare const token: Token +declare const position: Position + +const sim2 = sim.next(async () => ({ + type: SimulationSteps.DepositBorrow, + inputs: { + depositAmount: TokenAmount.createFrom({ amount: '100', token }), + borrowAmount: TokenAmount.createFrom({ amount: '100', token }), + borrowTargetType: TokenTransferTargetType.PositionsManager, + position, + } +})) + + +const sim3 = sim2.next(async (ctx) => { + + const x = ctx.getReference(['TestDeposit', 'borrowAmount']) + + return { + type: SimulationSteps.PaybackWithdraw, + inputs: { + paybackAmount: TokenAmount.createFrom({ amount: '100', token }), + withdrawAmount: TokenAmount.createFrom({ amount: '100', token }), + withdrawTargetType: TokenTransferTargetType.PositionsManager, + position, + } + } +}) + +sim3.next(async (ctx) => { + // const y = ctx.getReference(['TestDeposit', 'depositAmount']) + const x = ctx.getReference(['PbWd','withdrawAmount' ]) + + return ({ + type: SimulationSteps.PaybackWithdraw, + inputs: { + paybackAmount: TokenAmount.createFrom({ amount: '100', token }), + withdrawAmount: TokenAmount.createFrom({ amount: '100', token }), + withdrawTargetType: TokenTransferTargetType.PositionsManager, + position, + } +})}) + + + diff --git a/sdk/simulator-service/src/implementation/utils/SimulatorUtils.ts b/sdk/simulator-service/src/implementation/utils/SimulatorUtils.ts index 6d663a9f0c..75e1aa216c 100644 --- a/sdk/simulator-service/src/implementation/utils/SimulatorUtils.ts +++ b/sdk/simulator-service/src/implementation/utils/SimulatorUtils.ts @@ -5,7 +5,7 @@ import type { } from '@summerfi/sdk-common/simulation' import type { Tail } from '../../interfaces/helperTypes' -export function makeStrategy(strategy: T): T { +export function makeStrategy(strategy: T): Readonly { return strategy } diff --git a/sdk/simulator-service/src/interfaces/helperTypes.ts b/sdk/simulator-service/src/interfaces/helperTypes.ts index 61d53be2e0..09a5744375 100644 --- a/sdk/simulator-service/src/interfaces/helperTypes.ts +++ b/sdk/simulator-service/src/interfaces/helperTypes.ts @@ -7,7 +7,14 @@ export type Tail = ((...t: T) => void) extends ( ? R : never // eslint-disable-next-line @typescript-eslint/no-explicit-any -export type Head = T extends [infer H, ...any] ? H : never +export type Head = ((...t: T) => void) extends ( + // eslint-disable-next-line @typescript-eslint/no-explicit-any + h: infer R, + ...r: any +) => void + ? R + : never +// eslint-disable-next-line @typescript-eslint/no-explicit-any export type EmptyArray = readonly [] export type Where = T extends U ? T : never export type Unpack = T extends Promise ? U : T extends Array ? Y : never diff --git a/sdk/simulator-service/src/interfaces/steps.ts b/sdk/simulator-service/src/interfaces/steps.ts index adcea67930..00f42f571c 100644 --- a/sdk/simulator-service/src/interfaces/steps.ts +++ b/sdk/simulator-service/src/interfaces/steps.ts @@ -15,13 +15,31 @@ export type StateReducers = { [Type in steps.Steps['type']]: StateReducer> } +export type Reference = Record> +export type Paths = {[StepName in keyof Reference]: [StepName, keyof Reference[StepName]]}[keyof Reference][] +export type GetTypeAtReference = Ref[Path[0]][Path[1]] + +type tests = { + Test: { + fl: number + name: string + } + Open: { + position: number + } +} + +type paths = Paths +type testPaths = GetTypeAtReference + export type NextFunction< Schema extends SimulationStrategy, Name extends string = string, + Ref extends Reference = Reference, > = Schema extends EmptyArray ? never : (ctx: { state: ISimulationState // eslint-disable-next-line @typescript-eslint/no-explicit-any - getReference: (path: [string, string]) => ValueReference - }) => Promise, 'outputs'>> + getReference:

>(path: P) => ValueReference> + }) => Promise, 'outputs'>>> diff --git a/sdk/simulator-service/src/strategies/refinanceAnyPair/RefinanceLendingToLendingAnyPair.ts b/sdk/simulator-service/src/strategies/refinanceAnyPair/RefinanceLendingToLendingAnyPair.ts index 4af27362f2..b765896b30 100644 --- a/sdk/simulator-service/src/strategies/refinanceAnyPair/RefinanceLendingToLendingAnyPair.ts +++ b/sdk/simulator-service/src/strategies/refinanceAnyPair/RefinanceLendingToLendingAnyPair.ts @@ -51,7 +51,6 @@ export async function refinanceLendingToLendingAnyPair( const simulation = await simulator .next(async () => ({ - name: 'Flashloan', type: SimulationSteps.Flashloan, inputs: { amount: flashloanAmount, @@ -59,7 +58,6 @@ export async function refinanceLendingToLendingAnyPair( }, })) .next(async () => ({ - name: 'PaybackWithdrawFromSource', type: SimulationSteps.PaybackWithdraw, inputs: { paybackAmount: TokenAmount.createFrom({ @@ -68,11 +66,11 @@ export async function refinanceLendingToLendingAnyPair( }), withdrawAmount: position.collateralAmount, position: position, + withdrawTargetType: TokenTransferTargetType.PositionsManager, }, })) .next( async () => ({ - name: 'CollateralSwap', type: SimulationSteps.Swap, inputs: await getSwapStepData({ chainInfo: position.pool.id.protocol.chainInfo, @@ -85,13 +83,18 @@ export async function refinanceLendingToLendingAnyPair( }), isCollateralSwapSkipped, ) + .next(async () => ({ + type: SimulationSteps.OpenPosition, + inputs: { + pool: targetPool, + }, + })) .next(async (ctx) => ({ - name: 'DepositBorrowToTarget', type: SimulationSteps.DepositBorrow, inputs: { // refactor borrowAmount: isDebtSwapSkipped - ? ctx.getReference(['PaybackWithdrawFromSource', 'paybackAmount']) + ? ctx.getReference(['PaybackWithdrawFromSourcePosition', 'paybackAmount']) : await estimateSwapFromAmount({ receiveAtLeast: flashloanAmount, fromToken: targetPool.id.debtToken, @@ -101,26 +104,31 @@ export async function refinanceLendingToLendingAnyPair( }), depositAmount: isCollateralSwapSkipped ? position.collateralAmount - : ctx.getReference(['CollateralSwap', 'received']), - position: newEmptyPositionFromPool(targetPool), + : getValueFromReference(ctx.getReference(['CollateralSwap', 'received'])), + position: ctx.getReference(['OpenPosition', 'position']), borrowTargetType: TokenTransferTargetType.PositionsManager, }, })) .next( - async (ctx) => ({ - name: 'DebtSwap', + async (ctx) => { + + ctx.s + + const x = ctx.getReference(['DepositBorrowToTargetPosition', 'borrowAmount']) + const y = ctx.getReference(['PaybackWithdrawFromSourcePosition', 'paybackAmount']) + return ({ type: SimulationSteps.Swap, inputs: await getSwapStepData({ chainInfo: position.pool.id.protocol.chainInfo, fromAmount: getValueFromReference( - ctx.getReference(['DepositBorrowToTarget', 'borrowAmount']), + ctx.getReference(['DepositBorrowToTargetPosition', 'borrowAmount']), ), toToken: flashloanAmount.token, slippage: Percentage.createFrom({ value: args.slippage.value }), swapManager: dependencies.swapManager, oracleManager: dependencies.oracleManager, }), - }), + })}, isDebtSwapSkipped, ) .next(async () => ({ diff --git a/sdk/simulator-service/src/strategies/refinanceAnyPair/Strategy.ts b/sdk/simulator-service/src/strategies/refinanceAnyPair/Strategy.ts index 901ddb83a3..3670a08c57 100644 --- a/sdk/simulator-service/src/strategies/refinanceAnyPair/Strategy.ts +++ b/sdk/simulator-service/src/strategies/refinanceAnyPair/Strategy.ts @@ -3,39 +3,48 @@ import { makeStrategy } from '../../implementation/utils' export const refinanceLendingToLendingAnyPairStrategy = makeStrategy([ { + name: "Flashloan", step: SimulationSteps.Flashloan, optional: false, }, { + name: "PaybackWithdrawFromSourcePosition", step: SimulationSteps.PaybackWithdraw, optional: false, }, { + name: "SwapCollateralFromSourcePosition", step: SimulationSteps.Swap, optional: true, }, { + name: "OpenTargetPosition", step: SimulationSteps.OpenPosition, optional: false, }, { + name: "DepositBorrowToTargetPosition", step: SimulationSteps.DepositBorrow, optional: false, }, { + name: "SwapDebtFromTargetPosition", step: SimulationSteps.Swap, optional: true, }, { + name: "RepayFlashloan", step: SimulationSteps.RepayFlashloan, optional: false, }, { + name: "ReturnFunds", step: SimulationSteps.ReturnFunds, optional: true, }, { + name: "NewPositionEvent", step: SimulationSteps.NewPositionEvent, optional: false, }, -]) +]as const) diff --git a/sdk/simulator-service/src/strategies/refinanceNoDebt/RefinanceLendingToLendingNoDebt.ts b/sdk/simulator-service/src/strategies/refinanceNoDebt/RefinanceLendingToLendingNoDebt.ts index 3920a376ca..71ba2668f2 100644 --- a/sdk/simulator-service/src/strategies/refinanceNoDebt/RefinanceLendingToLendingNoDebt.ts +++ b/sdk/simulator-service/src/strategies/refinanceNoDebt/RefinanceLendingToLendingNoDebt.ts @@ -44,7 +44,6 @@ export async function refinanceLendingToLendingNoDebt( const simulation = await simulator .next(async () => ({ - name: 'PaybackWithdrawFromSource', type: SimulationSteps.PaybackWithdraw, inputs: { paybackAmount: zeroAmount, From ed40bd00383ffbf5bad4622aa07f01ff9d436792 Mon Sep 17 00:00:00 2001 From: Damian Paszkowski Date: Mon, 13 May 2024 15:43:41 +0200 Subject: [PATCH 12/45] refactor: resolve types --- .../simulator-engine/simulator.ts | 158 ++++++------------ .../implementation/utils/SimulatorUtils.ts | 4 +- .../src/implementation/utils/index.ts | 2 +- sdk/simulator-service/src/interfaces/steps.ts | 53 +++--- .../RefinanceLendingToLendingAnyPair.ts | 17 +- .../RefinanceLendingToLendingNoDebt.ts | 19 ++- .../strategies/refinanceNoDebt/Strategy.ts | 7 +- .../RefinanceLendingToLendingSamePair.ts | 7 + .../strategies/refinanceSamePair/Strategy.ts | 8 +- 9 files changed, 120 insertions(+), 155 deletions(-) diff --git a/sdk/simulator-service/src/implementation/simulator-engine/simulator.ts b/sdk/simulator-service/src/implementation/simulator-engine/simulator.ts index 9a5e9bd21d..854500bc15 100644 --- a/sdk/simulator-service/src/implementation/simulator-engine/simulator.ts +++ b/sdk/simulator-service/src/implementation/simulator-engine/simulator.ts @@ -1,36 +1,27 @@ import type { ISimulationState } from '../../interfaces/simulation' -import type { Head, Tail, Where } from '../../interfaces/helperTypes' -import type { NextFunction, Reference } from '../../interfaces' -import { head, makeStrategy, tail } from '../utils' +import type { Tail } from '../../interfaces/helperTypes' +import { head, tail } from '../utils' import { processStepOutput } from './stepProcessor/stepOutputProcessors' import { stateReducer } from './reducer/stateReducers' import type { SimulationStrategy } from '@summerfi/sdk-common/simulation' -import { FlashloanProvider, SimulationSteps, TokenTransferTargetType, steps } from '@summerfi/sdk-common/simulation' -import { StrategyStep, ValueReference } from '@summerfi/sdk-common' -import { Steps } from 'node_modules/@summerfi/sdk-common/src/simulation/Steps' -import { Position, Token, TokenAmount } from '@summerfi/sdk-common/common/implementation' - -type NextStep> = Promise['step'] }>, 'outputs'>> -type ProccessedStep> = { name: Head['name'], step: Where['step'] }> } -type Paths = { [K in keyof S]: keyof S[K]['step']['outputs'] extends never ? never : [S[K]['name'], keyof S[K]['step']['outputs']] }[number] -type GetReferencedValue

, S extends { name: string, step: Steps }[]> = - (path: P) => ValueReference['step']['outputs'], P[1]>[keyof Pick['step']['outputs'], P[1]>]> - +import { steps } from '@summerfi/sdk-common/simulation' +import { Maybe } from '@summerfi/sdk-common' +import { GetReferencedValue, NextFunction, Paths, ProccessedStep, StepsAdded } from '../../interfaces/steps' export class Simulator< Strategy extends SimulationStrategy, - S extends { name: string, step: Steps }[] + AddedSteps extends StepsAdded > { public schema: Strategy public originalSchema: SimulationStrategy private state: ISimulationState - private readonly nextArray: NextArray + private readonly nextArray: Readonly[]> private constructor( schema: Strategy, originalSchema: SimulationStrategy, state: ISimulationState = { swaps: {}, balances: {}, positions: {}, steps: {} }, - nextArray: Readonly = [] as unknown as NextArray, + nextArray: Readonly[]> = [], ) { this.schema = schema this.originalSchema = originalSchema @@ -44,9 +35,40 @@ export class Simulator< return new Simulator(schema, schema) } - public async run(): Promise { + private getReference = (path: Paths) => { + const [stepName, output] = path + const step: Maybe = this.state.steps[stepName] + + if (!step) { + throw new Error( + `Step not found: ${stepName}`, + ) + } + + const outputs = step.outputs + + if (!outputs) { + throw new Error(`Step has no outputs: ${stepName}`) + } + + // eslint-disable-next-line @typescript-eslint/no-explicit-any + const value = (outputs as any)[output] + // validation if path exists + if (!value) { + throw new Error( + `Output not found: ${stepName}.outputs.${output as string}`, + ) + } + + return { + estimatedValue: value, + path, + } + } + + public async run(): Promise }> { for (let i = 0; i < this.nextArray.length; i++) { - const getReference = (path: [string, string]) => { + const getReference = (path: Paths) => { const [stepName, output] = path const step: Maybe = this.state.steps[stepName] @@ -67,7 +89,7 @@ export class Simulator< // validation if path exists if (!value) { throw new Error( - `Output not found: ${stepName}.outputs.${output} in ${this.originalSchema[i].step}`, + `Output not found: ${stepName}.outputs.${output as string} in ${this.originalSchema[i].step}`, ) } @@ -77,7 +99,7 @@ export class Simulator< } } - const nextStep = await this.nextArray[i]({ state: this.state, getReference }) + const nextStep = await this.nextArray[i]({ state: this.state, getReference: getReference as GetReferencedValue }) const fullStep = await processStepOutput(nextStep) this.state = stateReducer(fullStep, this.state) @@ -87,23 +109,23 @@ export class Simulator< } public next( - next: (ctx: { getReference: GetReferencedValue, S>, s: S }) => NextStep, + next: NextFunction, skip?: boolean, - ): Simulator, [...S, ProccessedStep]> { + ): Simulator, [...AddedSteps, ProccessedStep]> { const schemaHead = head(this.schema) const schemaTail = tail(this.schema) - const nextArray = [...this.nextArray, next] as const + const nextArray = [...this.nextArray, next] if (skip) { if (schemaHead.optional === false) { throw new Error(`Step is required: ${schemaHead.step}`) } - return new Simulator, [...NextArray], Ref & Record>>( + return new Simulator, [...AddedSteps, ProccessedStep]>( schemaTail, this.originalSchema, this.state, - this.nextArray, + this.nextArray as any, ) } @@ -111,91 +133,11 @@ export class Simulator< throw new Error('No more steps to process') } - return new Simulator, [...NextArray, NextFunction]>( + return new Simulator, [...AddedSteps, ProccessedStep]>( schemaTail, this.originalSchema, this.state, - nextArray, + nextArray as any, ) } } - -const strategy = makeStrategy([ - { - name: 'FL', - step: SimulationSteps.Flashloan, - optional: false, - }, - { - name: 'TestDeposit', - step: SimulationSteps.DepositBorrow, - optional: false, -}, -{ - name: 'PbWd', - step: SimulationSteps.PaybackWithdraw, - optional: false, -}, -{ - name: 'TestWithdraw', - step: SimulationSteps.PaybackWithdraw, - optional: false, -} -] as const) - - -const sim = Simulator.create(strategy) - .next(async () => ({ - type: SimulationSteps.Flashloan, - inputs: { - amount: TokenAmount.createFrom({ amount: '100', token }), - provider: FlashloanProvider.Maker, - } - }) -) - -declare const token: Token -declare const position: Position - -const sim2 = sim.next(async () => ({ - type: SimulationSteps.DepositBorrow, - inputs: { - depositAmount: TokenAmount.createFrom({ amount: '100', token }), - borrowAmount: TokenAmount.createFrom({ amount: '100', token }), - borrowTargetType: TokenTransferTargetType.PositionsManager, - position, - } -})) - - -const sim3 = sim2.next(async (ctx) => { - - const x = ctx.getReference(['TestDeposit', 'borrowAmount']) - - return { - type: SimulationSteps.PaybackWithdraw, - inputs: { - paybackAmount: TokenAmount.createFrom({ amount: '100', token }), - withdrawAmount: TokenAmount.createFrom({ amount: '100', token }), - withdrawTargetType: TokenTransferTargetType.PositionsManager, - position, - } - } -}) - -sim3.next(async (ctx) => { - // const y = ctx.getReference(['TestDeposit', 'depositAmount']) - const x = ctx.getReference(['PbWd','withdrawAmount' ]) - - return ({ - type: SimulationSteps.PaybackWithdraw, - inputs: { - paybackAmount: TokenAmount.createFrom({ amount: '100', token }), - withdrawAmount: TokenAmount.createFrom({ amount: '100', token }), - withdrawTargetType: TokenTransferTargetType.PositionsManager, - position, - } -})}) - - - diff --git a/sdk/simulator-service/src/implementation/utils/SimulatorUtils.ts b/sdk/simulator-service/src/implementation/utils/SimulatorUtils.ts index 75e1aa216c..cfe0278e1b 100644 --- a/sdk/simulator-service/src/implementation/utils/SimulatorUtils.ts +++ b/sdk/simulator-service/src/implementation/utils/SimulatorUtils.ts @@ -5,7 +5,7 @@ import type { } from '@summerfi/sdk-common/simulation' import type { Tail } from '../../interfaces/helperTypes' -export function makeStrategy(strategy: T): Readonly { +export function makeStrategy>(strategy: T): Readonly { return strategy } @@ -16,7 +16,7 @@ export function isValueReference(value: ReferenceableField): value is Valu ) } -export function getReferencedValue(referenceableValue: ReferenceableField): T { +export function getValueFromReference(referenceableValue: ReferenceableField): Readonly { if (isValueReference(referenceableValue)) { return referenceableValue.estimatedValue } diff --git a/sdk/simulator-service/src/implementation/utils/index.ts b/sdk/simulator-service/src/implementation/utils/index.ts index addadd9726..98a5ad27ed 100644 --- a/sdk/simulator-service/src/implementation/utils/index.ts +++ b/sdk/simulator-service/src/implementation/utils/index.ts @@ -1,3 +1,3 @@ export { getTokenBalance, addBalance, subtractBalance } from './BalanceUtils' -export { makeStrategy, isValueReference, getReferencedValue, tail, head } from './SimulatorUtils' +export { makeStrategy, isValueReference, getValueFromReference, tail, head } from './SimulatorUtils' export { getSwapStepData } from './GetSwapStepData' diff --git a/sdk/simulator-service/src/interfaces/steps.ts b/sdk/simulator-service/src/interfaces/steps.ts index 00f42f571c..3aeeb761a0 100644 --- a/sdk/simulator-service/src/interfaces/steps.ts +++ b/sdk/simulator-service/src/interfaces/steps.ts @@ -1,7 +1,8 @@ -import { SimulationStrategy, ValueReference, steps } from '@summerfi/sdk-common/simulation' -import { EmptyArray, Where } from './helperTypes' +import { SimulationStrategy, ValueReference, steps, StrategyStep } from '@summerfi/sdk-common/simulation' +import { EmptyArray, Head, Where } from './helperTypes' import { ISimulationState } from './simulation' + export type StepOutputProcessor = (step: Omit) => Promise export type StepOutputProcessors = { [Type in steps.Steps['type']]: StepOutputProcessor> @@ -15,31 +16,37 @@ export type StateReducers = { [Type in steps.Steps['type']]: StateReducer> } -export type Reference = Record> -export type Paths = {[StepName in keyof Reference]: [StepName, keyof Reference[StepName]]}[keyof Reference][] -export type GetTypeAtReference = Ref[Path[0]][Path[1]] +export type NextStep> = Promise['step'] }>, 'outputs'>> -type tests = { - Test: { - fl: number - name: string - } - Open: { - position: number - } +export type StepsAdded = { name: string, step: steps.Steps }[] +export type ProccessedStep> = { + name: Head['name'], + step: Where['step'] }> } -type paths = Paths -type testPaths = GetTypeAtReference +export type Paths = Exclude< + { + [Step in keyof StepsStore]: { + [OutputKey in keyof StepsStore[Step]['step']['outputs']]: [StepsStore[Step]['name'], OutputKey] + }[keyof StepsStore[Step]['step']['outputs']] + }[number], [string, never]> + +export type GetReferencedValue = +

>(path: P) => ValueReference< + Pick< + Where['step']['outputs'], + P[1] + >[keyof Pick< + Where['step']['outputs'], + P[1]> + ]> export type NextFunction< - Schema extends SimulationStrategy, - Name extends string = string, - Ref extends Reference = Reference, -> = Schema extends EmptyArray + Strategy extends SimulationStrategy, + StepsStore extends StepsAdded, +> = Strategy extends EmptyArray ? never : (ctx: { - state: ISimulationState - // eslint-disable-next-line @typescript-eslint/no-explicit-any - getReference:

>(path: P) => ValueReference> - }) => Promise, 'outputs'>>> + state: ISimulationState + getReference: GetReferencedValue + }) => NextStep diff --git a/sdk/simulator-service/src/strategies/refinanceAnyPair/RefinanceLendingToLendingAnyPair.ts b/sdk/simulator-service/src/strategies/refinanceAnyPair/RefinanceLendingToLendingAnyPair.ts index b765896b30..c74f8d80d1 100644 --- a/sdk/simulator-service/src/strategies/refinanceAnyPair/RefinanceLendingToLendingAnyPair.ts +++ b/sdk/simulator-service/src/strategies/refinanceAnyPair/RefinanceLendingToLendingAnyPair.ts @@ -9,7 +9,6 @@ import { } from '@summerfi/sdk-common/simulation' import { Simulator } from '../../implementation/simulator-engine' import { Position, TokenAmount, Percentage, Token, isSameTokens } from '@summerfi/sdk-common/common' -import { newEmptyPositionFromPool } from '@summerfi/sdk-common/common/utils' import { IRefinanceParameters } from '@summerfi/sdk-common/orders' import { isLendingPool } from '@summerfi/sdk-common/protocols' import { refinanceLendingToLendingAnyPairStrategy } from './Strategy' @@ -94,7 +93,7 @@ export async function refinanceLendingToLendingAnyPair( inputs: { // refactor borrowAmount: isDebtSwapSkipped - ? ctx.getReference(['PaybackWithdrawFromSourcePosition', 'paybackAmount']) + ? ctx.getReference(['SwapCollateralFromSourcePosition','received']) : await estimateSwapFromAmount({ receiveAtLeast: flashloanAmount, fromToken: targetPool.id.debtToken, @@ -104,19 +103,13 @@ export async function refinanceLendingToLendingAnyPair( }), depositAmount: isCollateralSwapSkipped ? position.collateralAmount - : getValueFromReference(ctx.getReference(['CollateralSwap', 'received'])), - position: ctx.getReference(['OpenPosition', 'position']), + : ctx.getReference(['SwapCollateralFromSourcePosition', 'received']), + position: getValueFromReference(ctx.getReference(['OpenTargetPosition', 'position'])), borrowTargetType: TokenTransferTargetType.PositionsManager, }, })) .next( - async (ctx) => { - - ctx.s - - const x = ctx.getReference(['DepositBorrowToTargetPosition', 'borrowAmount']) - const y = ctx.getReference(['PaybackWithdrawFromSourcePosition', 'paybackAmount']) - return ({ + async (ctx) => ({ type: SimulationSteps.Swap, inputs: await getSwapStepData({ chainInfo: position.pool.id.protocol.chainInfo, @@ -128,7 +121,7 @@ export async function refinanceLendingToLendingAnyPair( swapManager: dependencies.swapManager, oracleManager: dependencies.oracleManager, }), - })}, + }), isDebtSwapSkipped, ) .next(async () => ({ diff --git a/sdk/simulator-service/src/strategies/refinanceNoDebt/RefinanceLendingToLendingNoDebt.ts b/sdk/simulator-service/src/strategies/refinanceNoDebt/RefinanceLendingToLendingNoDebt.ts index 71ba2668f2..ced48c547f 100644 --- a/sdk/simulator-service/src/strategies/refinanceNoDebt/RefinanceLendingToLendingNoDebt.ts +++ b/sdk/simulator-service/src/strategies/refinanceNoDebt/RefinanceLendingToLendingNoDebt.ts @@ -3,10 +3,10 @@ import { SimulationSteps, SimulationType, TokenTransferTargetType, + getValueFromReference, } from '@summerfi/sdk-common/simulation' import { Simulator } from '../../implementation/simulator-engine' import { Percentage, Position, TokenAmount } from '@summerfi/sdk-common/common' -import { newEmptyPositionFromPool } from '@summerfi/sdk-common/common/utils' import { IRefinanceParameters } from '@summerfi/sdk-common/orders' import { isLendingPool } from '@summerfi/sdk-common/protocols' import { refinanceLendingToLendingNoDebtStrategy } from './Strategy' @@ -49,6 +49,7 @@ export async function refinanceLendingToLendingNoDebt( paybackAmount: zeroAmount, withdrawAmount: position.collateralAmount, position: position, + withdrawTargetType: TokenTransferTargetType.PositionsManager, }, })) .next( @@ -66,26 +67,29 @@ export async function refinanceLendingToLendingNoDebt( }), isCollateralSwapSkipped, ) + .next(async () => ({ + type: SimulationSteps.OpenPosition, + inputs: { + pool: targetPool, + }, + })) .next(async (ctx) => ({ name: 'DepositBorrowToTarget', type: SimulationSteps.DepositBorrow, inputs: { depositAmount: isCollateralSwapSkipped ? position.collateralAmount - : ctx.getReference(['CollateralSwap', 'received']), + : ctx.getReference(['SwapCollateralFromSourcePosition', 'received']), borrowAmount: TokenAmount.createFrom({ amount: '0', token: targetPool.id.debtToken, }), - position: newEmptyPositionFromPool(targetPool), + position: getValueFromReference(ctx.getReference(['OpenTargetPosition', 'position'])), borrowTargetType: TokenTransferTargetType.PositionsManager, }, })) .next(async (ctx) => { - // TODO: we should have a way to get the target position more easily and realiably, - const targetPosition = Object.values(ctx.state.positions).find((p) => - p.pool.id.protocol.equals(targetPool.id.protocol), - ) + const targetPosition = getValueFromReference(ctx.getReference(['OpenTargetPosition', 'position'])) if (!targetPosition) { throw new Error('Target position not found') } @@ -100,6 +104,7 @@ export async function refinanceLendingToLendingNoDebt( }) .run() + // find better way to get position (maybe expose getReference on the simulation object) const targetPosition = Object.values(simulation.positions).find((p) => p.pool.id.protocol.equals(targetPool.id.protocol), ) diff --git a/sdk/simulator-service/src/strategies/refinanceNoDebt/Strategy.ts b/sdk/simulator-service/src/strategies/refinanceNoDebt/Strategy.ts index a29b694641..e1fea75fcd 100644 --- a/sdk/simulator-service/src/strategies/refinanceNoDebt/Strategy.ts +++ b/sdk/simulator-service/src/strategies/refinanceNoDebt/Strategy.ts @@ -3,23 +3,28 @@ import { makeStrategy } from '../../implementation/utils' export const refinanceLendingToLendingNoDebtStrategy = makeStrategy([ { + name: "PaybackWithdrawFromSourcePosition", step: SimulationSteps.PaybackWithdraw, optional: false, }, { + name: "SwapCollateralFromSourcePosition", step: SimulationSteps.Swap, optional: true, }, { + name: "OpenTargetPosition", step: SimulationSteps.OpenPosition, optional: false, }, { + name: "DepositBorrowToTargetPosition", step: SimulationSteps.DepositBorrow, optional: false, }, { + name: "NewPositionEvent", step: SimulationSteps.NewPositionEvent, optional: false, }, -]) +] as const) \ No newline at end of file diff --git a/sdk/simulator-service/src/strategies/refinanceSamePair/RefinanceLendingToLendingSamePair.ts b/sdk/simulator-service/src/strategies/refinanceSamePair/RefinanceLendingToLendingSamePair.ts index 4040acb537..bea59978d9 100644 --- a/sdk/simulator-service/src/strategies/refinanceSamePair/RefinanceLendingToLendingSamePair.ts +++ b/sdk/simulator-service/src/strategies/refinanceSamePair/RefinanceLendingToLendingSamePair.ts @@ -53,10 +53,17 @@ export async function refinanceLendingToLendingSamePair( amount: Number.MAX_SAFE_INTEGER.toString(), token: position.debtAmount.token, }), + withdrawTargetType: TokenTransferTargetType.PositionsManager, withdrawAmount: position.collateralAmount, position: position, }, })) + .next(async () => ({ + type: SimulationSteps.OpenPosition, + inputs: { + pool: targetPool, + }, + })) .next(async () => ({ name: 'DepositBorrowToTarget', type: SimulationSteps.DepositBorrow, diff --git a/sdk/simulator-service/src/strategies/refinanceSamePair/Strategy.ts b/sdk/simulator-service/src/strategies/refinanceSamePair/Strategy.ts index febe87138e..e0cb547aed 100644 --- a/sdk/simulator-service/src/strategies/refinanceSamePair/Strategy.ts +++ b/sdk/simulator-service/src/strategies/refinanceSamePair/Strategy.ts @@ -3,27 +3,33 @@ import { makeStrategy } from '../../implementation/utils' export const refinanceLendingToLendingSamePairStrategy = makeStrategy([ { + name: "Flashloan", step: SimulationSteps.Flashloan, optional: false, }, { + name: "PaybackWithdrawFromSourcePosition", step: SimulationSteps.PaybackWithdraw, optional: false, }, { + name: "OpenTargetPosition", step: SimulationSteps.OpenPosition, optional: false, }, { + name: "DepositBorrowToTargetPosition", step: SimulationSteps.DepositBorrow, optional: false, }, { + name: "RepayFlashloan", step: SimulationSteps.RepayFlashloan, optional: false, }, { + name: "NewPositionEvent", step: SimulationSteps.NewPositionEvent, optional: false, }, -]) +] as const) From 11655cfa7bd1baafac8b7e7a1346080d13d3ef48 Mon Sep 17 00:00:00 2001 From: Damian Paszkowski Date: Mon, 13 May 2024 16:54:06 +0200 Subject: [PATCH 13/45] refactor: fix all reducers to follow new state interface --- sdk/sdk-e2e/tests/refinanceSpark.test.ts | 215 ++++++++++++++++++ .../reducer/depositBorrowReducer.ts | 16 +- .../reducer/flashloanReducer.ts | 6 +- .../simulator-engine/reducer/importReducer.ts | 6 +- .../reducer/newPositionEventReducer.ts | 6 +- .../reducer/openPositionReducer.ts | 10 +- .../reducer/paybackWithdrawReducer.ts | 14 +- .../reducer/pullTokenReducer.ts | 10 +- .../reducer/repayFlashloanReducer.ts | 6 +- .../reducer/returnFundsReducer.ts | 6 +- .../simulator-engine/reducer/swapReducer.ts | 12 +- .../simulator-engine/simulator.ts | 41 +--- .../depositBorrowOutputProcessor.ts | 10 +- .../paybackWithdrawOutputProcessor.ts | 12 +- .../utils/EstimateSwapFromAmount.ts | 53 +++++ .../utils/GetRefinanceSimulationType.ts | 20 ++ .../implementation/utils/SimulatorUtils.ts | 2 +- .../src/interfaces/simulation.ts | 6 +- .../RefinanceLendingToLendingAnyPair.ts | 88 +------ .../RefinanceLendingToLendingNoDebt.ts | 6 +- .../RefinanceLendingToLendingSamePair.ts | 10 +- sdk/simulator-service/src/types/Types.ts | 4 +- 22 files changed, 374 insertions(+), 185 deletions(-) create mode 100644 sdk/sdk-e2e/tests/refinanceSpark.test.ts create mode 100644 sdk/simulator-service/src/implementation/utils/EstimateSwapFromAmount.ts create mode 100644 sdk/simulator-service/src/implementation/utils/GetRefinanceSimulationType.ts diff --git a/sdk/sdk-e2e/tests/refinanceSpark.test.ts b/sdk/sdk-e2e/tests/refinanceSpark.test.ts new file mode 100644 index 0000000000..5dc652d165 --- /dev/null +++ b/sdk/sdk-e2e/tests/refinanceSpark.test.ts @@ -0,0 +1,215 @@ +import { + Percentage, + Token, + TokenAmount, + Address, + type Maybe, + ChainFamilyMap, + newEmptyPositionFromPool, + PositionType, +} from '@summerfi/sdk-common/common' + +import { ProtocolName, isLendingPool } from '@summerfi/sdk-common/protocols' +import { ProtocolClient, makeSDK, type Chain, type User } from '@summerfi/sdk-client' +import { PositionsManager, IRefinanceParameters, Order } from '@summerfi/sdk-common/orders' +import { ISimulation } from '@summerfi/sdk-common/simulation' +import { TransactionUtils } from './utils/TransactionUtils' + +import { Hex } from 'viem' +import assert from 'assert' +import { EmodeType } from '@summerfi/protocol-plugins/plugins/common' +import { AddressValue, CommonTokenSymbols, RefinanceSimulationTypes } from '@summerfi/sdk-common' +import { + SparkLendingPoolId, + isSparkLendingPoolId, + isSparkProtocol, +} from '@summerfi/protocol-plugins/plugins/spark' +import { + ILKType, + MakerLendingPoolId, + MakerPosition, + MakerPositionId, + isMakerLendingPool, + isMakerProtocol, +} from '@summerfi/protocol-plugins/plugins/maker' + +jest.setTimeout(300000) + +/** TEST CONFIG */ +const config = { + SDKAPiUrl: 'https://zmjmtfsocb.execute-api.us-east-1.amazonaws.com/api/sdk', + TenderlyForkUrl: 'https://virtual.mainnet.rpc.tenderly.co/5a4e0cc3-48d2-4819-8426-068f029b23be', + makerVaultId: '31709', + DPMAddress: '0xc1475b2735fb9130a4701ee9e2215b6305dd501b', + walletAddress: '0xbEf4befb4F230F43905313077e3824d7386E09F8', + collateralAmount: '5000.0', + debtAmount: '5000000.0', +} + +describe.only('Refinance Maker Spark | SDK', () => { + it('should allow refinance Maker -> Spark with same pair', async () => { + // SDK + const sdk = makeSDK({ apiURL: config.SDKAPiUrl }) + + // Chain + const chain: Maybe = await sdk.chains.getChain({ + chainInfo: ChainFamilyMap.Ethereum.Mainnet, + }) + + assert(chain, 'Chain not found') + + // User + const walletAddress = Address.createFromEthereum({ + value: config.walletAddress as AddressValue, + }) + const user: User = await sdk.users.getUser({ + chainInfo: chain.chainInfo, + walletAddress: walletAddress, + }) + expect(user).toBeDefined() + expect(user.wallet.address).toEqual(walletAddress) + expect(user.chainInfo).toEqual(chain.chainInfo) + + // Positions Manager + const positionsManager = PositionsManager.createFrom({ + address: Address.createFromEthereum({ + value: config.DPMAddress as AddressValue, + }), + }) + + // Tokens + const WETH: Maybe = await chain.tokens.getTokenBySymbol({ + symbol: CommonTokenSymbols.WETH, + }) + assert(WETH, 'WETH not found') + + const DAI: Maybe = await chain.tokens.getTokenBySymbol({ + symbol: CommonTokenSymbols.DAI, + }) + assert(DAI, 'DAI not found') + + const USDC: Maybe = await chain.tokens.getTokenBySymbol({ + symbol: CommonTokenSymbols.USDC, + }) + assert(USDC, 'USDC not found') + + const WBTC: Maybe = await chain.tokens.getTokenBySymbol({ + symbol: CommonTokenSymbols.WBTC, + }) + assert(WBTC, 'WBTC not found') + + const WSTETH: Maybe = await chain.tokens.getTokenBySymbol({ + symbol: CommonTokenSymbols.WSTETH, + }) + assert(WSTETH, 'WSTETH not found') + + const SDAI: Maybe = await chain.tokens.getTokenBySymbol({ + symbol: CommonTokenSymbols.SDAI, + }) + assert(SDAI, 'WSTETH not found') + + const maker = await chain.protocols.getProtocol({ name: ProtocolName.Maker }) + assert(maker, 'Maker protocol not found') + + if (!isMakerProtocol(maker)) { + assert(false, 'Maker protocol type is not lending') + } + + const makerPoolId = MakerLendingPoolId.createFrom({ + protocol: maker, + debtToken: DAI, + collateralToken: WETH, + ilkType: ILKType.ETH_C, + }) + + const makerPool = await maker.getLendingPool({ + poolId: makerPoolId, + }) + assert(makerPool, 'Maker pool not found') + + if (!isMakerLendingPool(makerPool)) { + assert(false, 'Maker pool type is not lending') + } + + // Source position + const makerPosition: MakerPosition = MakerPosition.createFrom({ + type: PositionType.Multiply, + id: MakerPositionId.createFrom({ id: '31697', vaultId: '31697' }), + debtAmount: TokenAmount.createFrom({ + token: DAI, + amount: config.debtAmount, + }), + collateralAmount: TokenAmount.createFrom({ + token: WETH, + amount: config.collateralAmount, + }), + pool: makerPool, + }) + + // Target protocol + const spark: Maybe = await chain.protocols.getProtocol({ + name: ProtocolName.Spark, + }) + assert(spark, 'Spark not found') + + if (!isSparkProtocol(spark)) { + assert(false, 'Protocol type is not Spark') + } + + const poolId = SparkLendingPoolId.createFrom({ + protocol: spark, + collateralToken: WETH, + debtToken: DAI, + emodeType: EmodeType.None, + }) + + const sparkPool = await spark.getLendingPool({ + poolId, + }) + + assert(sparkPool, 'Pool not found') + + if (!isSparkLendingPoolId(sparkPool.id)) { + assert(false, 'Pool ID is not a Spark one') + } + + if (!isLendingPool(sparkPool)) { + assert(false, 'Spark pool type is not lending') + } + + const emptyTargetPosition = newEmptyPositionFromPool(sparkPool) + const refinanceSimulation: ISimulation = + await sdk.simulator.refinance.simulateRefinancePosition({ + sourcePosition: makerPosition, + targetPosition: emptyTargetPosition, + slippage: Percentage.createFrom({ value: 0.2 }), + } as IRefinanceParameters) + + expect(refinanceSimulation).toBeDefined() + + expect(refinanceSimulation.sourcePosition?.id).toEqual(makerPosition.id) + expect(refinanceSimulation.targetPosition.pool.id).toEqual(sparkPool.id) + + const refinanceOrder: Maybe = await user.newOrder({ + positionsManager, + simulation: refinanceSimulation, + }) + + assert(refinanceOrder, 'Order not found') + + // Send transaction + console.log('Sending transaction...') + + const privateKey = process.env.DEPLOYER_PRIVATE_KEY as Hex + const transactionUtils = new TransactionUtils({ + rpcUrl: config.TenderlyForkUrl, + walletPrivateKey: privateKey, + }) + + const receipt = await transactionUtils.sendTransaction({ + transaction: refinanceOrder.transactions[0].transaction, + }) + + console.log('Transaction sent:', receipt) + }) +}) diff --git a/sdk/simulator-service/src/implementation/simulator-engine/reducer/depositBorrowReducer.ts b/sdk/simulator-service/src/implementation/simulator-engine/reducer/depositBorrowReducer.ts index a4968649e8..a467b3d5b8 100644 --- a/sdk/simulator-service/src/implementation/simulator-engine/reducer/depositBorrowReducer.ts +++ b/sdk/simulator-service/src/implementation/simulator-engine/reducer/depositBorrowReducer.ts @@ -1,6 +1,6 @@ import { borrowFromPosition, depositToPosition } from '@summerfi/sdk-common/common/utils' import { steps } from '@summerfi/sdk-common/simulation' -import { addBalance, subtractBalance, getReferencedValue } from '../../utils' +import { addBalance, subtractBalance, getValueFromReference } from '../../utils' import { ISimulationState } from '../../../interfaces/simulation' export function depositBorrowReducer( @@ -8,24 +8,24 @@ export function depositBorrowReducer( state: ISimulationState, ): ISimulationState { const afterDeposit = subtractBalance( - getReferencedValue(step.inputs.depositAmount), + getValueFromReference(step.inputs.depositAmount), state.balances, ) - const afterBorrow = addBalance(getReferencedValue(step.inputs.borrowAmount), afterDeposit) + const afterBorrow = addBalance(getValueFromReference(step.inputs.borrowAmount), afterDeposit) return { ...state, positions: { ...state.positions, [step.inputs.position.id.id]: borrowFromPosition( - depositToPosition(step.inputs.position, getReferencedValue(step.inputs.depositAmount)), - getReferencedValue(step.inputs.borrowAmount), + depositToPosition(step.inputs.position, getValueFromReference(step.inputs.depositAmount)), + getValueFromReference(step.inputs.borrowAmount), ), }, - steps: { + steps: [ ...state.steps, - [step.name]: step, - }, + step, + ], balances: afterBorrow, } } diff --git a/sdk/simulator-service/src/implementation/simulator-engine/reducer/flashloanReducer.ts b/sdk/simulator-service/src/implementation/simulator-engine/reducer/flashloanReducer.ts index 50ca342708..fd68e331fa 100644 --- a/sdk/simulator-service/src/implementation/simulator-engine/reducer/flashloanReducer.ts +++ b/sdk/simulator-service/src/implementation/simulator-engine/reducer/flashloanReducer.ts @@ -8,10 +8,10 @@ export function flashloanReducer( ): ISimulationState { return { ...state, - steps: { + steps: [ ...state.steps, - [step.name]: step, - }, + step, + ], balances: addBalance(step.inputs.amount, state.balances), } } diff --git a/sdk/simulator-service/src/implementation/simulator-engine/reducer/importReducer.ts b/sdk/simulator-service/src/implementation/simulator-engine/reducer/importReducer.ts index 78c5a18b3f..b98df66302 100644 --- a/sdk/simulator-service/src/implementation/simulator-engine/reducer/importReducer.ts +++ b/sdk/simulator-service/src/implementation/simulator-engine/reducer/importReducer.ts @@ -4,9 +4,9 @@ import { ISimulationState } from '../../../interfaces/simulation' export function importReducer(step: steps.ImportStep, state: ISimulationState): ISimulationState { return { ...state, - steps: { + steps: [ ...state.steps, - [step.name]: step, - }, + step, + ], } } diff --git a/sdk/simulator-service/src/implementation/simulator-engine/reducer/newPositionEventReducer.ts b/sdk/simulator-service/src/implementation/simulator-engine/reducer/newPositionEventReducer.ts index 84df627a03..80675311f9 100644 --- a/sdk/simulator-service/src/implementation/simulator-engine/reducer/newPositionEventReducer.ts +++ b/sdk/simulator-service/src/implementation/simulator-engine/reducer/newPositionEventReducer.ts @@ -7,9 +7,9 @@ export function newPositionEventReducer( ): ISimulationState { return { ...state, - steps: { + steps: [ ...state.steps, - [step.name]: step, - }, + step, + ], } } diff --git a/sdk/simulator-service/src/implementation/simulator-engine/reducer/openPositionReducer.ts b/sdk/simulator-service/src/implementation/simulator-engine/reducer/openPositionReducer.ts index 1422d79a70..cf86383411 100644 --- a/sdk/simulator-service/src/implementation/simulator-engine/reducer/openPositionReducer.ts +++ b/sdk/simulator-service/src/implementation/simulator-engine/reducer/openPositionReducer.ts @@ -4,9 +4,13 @@ import { ISimulationState } from '../../../interfaces/simulation' export function openPositionReducer(step: steps.OpenPosition, state: ISimulationState): ISimulationState { return { ...state, - steps: { - ...state.steps, - [step.name]: step, + positions: { + ...state.positions, + [step.outputs.position.id.id]: step.outputs.position, }, + steps: [ + ...state.steps, + step, + ], } } diff --git a/sdk/simulator-service/src/implementation/simulator-engine/reducer/paybackWithdrawReducer.ts b/sdk/simulator-service/src/implementation/simulator-engine/reducer/paybackWithdrawReducer.ts index 16605be8f8..aac026de6f 100644 --- a/sdk/simulator-service/src/implementation/simulator-engine/reducer/paybackWithdrawReducer.ts +++ b/sdk/simulator-service/src/implementation/simulator-engine/reducer/paybackWithdrawReducer.ts @@ -1,15 +1,15 @@ import { depositToPosition } from '@summerfi/sdk-common/common/utils' import { steps } from '@summerfi/sdk-common/simulation' -import { addBalance, getReferencedValue, subtractBalance } from '../../utils' +import { addBalance, getValueFromReference, subtractBalance } from '../../utils' import { ISimulationState } from '../../../interfaces/simulation' export function paybackWithdrawReducer( step: steps.PaybackWithdrawStep, state: ISimulationState, ): ISimulationState { - const afterPayback = addBalance(getReferencedValue(step.inputs.paybackAmount), state.balances) + const afterPayback = addBalance(getValueFromReference(step.inputs.paybackAmount), state.balances) const afterWithdraw = subtractBalance( - getReferencedValue(step.inputs.withdrawAmount), + getValueFromReference(step.inputs.withdrawAmount), afterPayback, ) return { @@ -18,13 +18,13 @@ export function paybackWithdrawReducer( ...state.positions, [step.inputs.position.id.id]: depositToPosition( step.inputs.position, - getReferencedValue(step.inputs.withdrawAmount), + getValueFromReference(step.inputs.withdrawAmount), ), }, - steps: { + steps: [ ...state.steps, - [step.name]: step, - }, + step, + ], balances: afterWithdraw, } } diff --git a/sdk/simulator-service/src/implementation/simulator-engine/reducer/pullTokenReducer.ts b/sdk/simulator-service/src/implementation/simulator-engine/reducer/pullTokenReducer.ts index 493d13a83f..1e8f8ce594 100644 --- a/sdk/simulator-service/src/implementation/simulator-engine/reducer/pullTokenReducer.ts +++ b/sdk/simulator-service/src/implementation/simulator-engine/reducer/pullTokenReducer.ts @@ -1,5 +1,5 @@ import { steps } from '@summerfi/sdk-common/simulation' -import { addBalance, getReferencedValue } from '../../utils' +import { addBalance, getValueFromReference } from '../../utils' import { ISimulationState } from '../../../interfaces/simulation' export function pullTokenReducer( @@ -8,10 +8,10 @@ export function pullTokenReducer( ): ISimulationState { return { ...state, - steps: { + steps: [ ...state.steps, - [step.name]: step, - }, - balances: addBalance(getReferencedValue(step.inputs.amount), state.balances), + step, + ], + balances: addBalance(getValueFromReference(step.inputs.amount), state.balances), } } diff --git a/sdk/simulator-service/src/implementation/simulator-engine/reducer/repayFlashloanReducer.ts b/sdk/simulator-service/src/implementation/simulator-engine/reducer/repayFlashloanReducer.ts index 70a196865d..a8b72ba2ec 100644 --- a/sdk/simulator-service/src/implementation/simulator-engine/reducer/repayFlashloanReducer.ts +++ b/sdk/simulator-service/src/implementation/simulator-engine/reducer/repayFlashloanReducer.ts @@ -8,10 +8,10 @@ export function repayFlashloanReducer( ): ISimulationState { return { ...state, - steps: { + steps: [ ...state.steps, - [step.name]: step, - }, + step, + ], balances: subtractBalance(step.inputs.amount, state.balances), } } diff --git a/sdk/simulator-service/src/implementation/simulator-engine/reducer/returnFundsReducer.ts b/sdk/simulator-service/src/implementation/simulator-engine/reducer/returnFundsReducer.ts index c37f52b471..9e0103e454 100644 --- a/sdk/simulator-service/src/implementation/simulator-engine/reducer/returnFundsReducer.ts +++ b/sdk/simulator-service/src/implementation/simulator-engine/reducer/returnFundsReducer.ts @@ -8,10 +8,10 @@ export function returnFundsReducer( ): ISimulationState { return { ...state, - steps: { + steps: [ ...state.steps, - [step.name]: step, - }, + step, + ], balances: subtractBalance(getTokenBalance(step.inputs.token, state.balances), state.balances), } } diff --git a/sdk/simulator-service/src/implementation/simulator-engine/reducer/swapReducer.ts b/sdk/simulator-service/src/implementation/simulator-engine/reducer/swapReducer.ts index 58871f36e3..e6c22414e9 100644 --- a/sdk/simulator-service/src/implementation/simulator-engine/reducer/swapReducer.ts +++ b/sdk/simulator-service/src/implementation/simulator-engine/reducer/swapReducer.ts @@ -12,13 +12,13 @@ export function swapReducer(step: steps.SwapStep, state: ISimulationState): ISim return { ...state, - steps: { + steps: [ ...state.steps, - [step.name]: step, - }, - swaps: { + step, + ], + swaps: [ ...state.swaps, - [step.name]: { + { provider: step.inputs.provider, // Note: Can add routes back in later if we need them for the UI // routes: step.inputs.routes, @@ -35,7 +35,7 @@ export function swapReducer(step: steps.SwapStep, state: ISimulationState): ISim amount: fromAmountPreSummerFee.multiply(step.inputs.summerFee.toProportion()).amount, }), }, - }, + ], balances: balanceWithToToken, } } diff --git a/sdk/simulator-service/src/implementation/simulator-engine/simulator.ts b/sdk/simulator-service/src/implementation/simulator-engine/simulator.ts index 854500bc15..ffd9139fbc 100644 --- a/sdk/simulator-service/src/implementation/simulator-engine/simulator.ts +++ b/sdk/simulator-service/src/implementation/simulator-engine/simulator.ts @@ -20,7 +20,7 @@ export class Simulator< private constructor( schema: Strategy, originalSchema: SimulationStrategy, - state: ISimulationState = { swaps: {}, balances: {}, positions: {}, steps: {} }, + state: ISimulationState = { swaps: [], balances: {}, positions: {}, steps: [] }, nextArray: Readonly[]> = [], ) { this.schema = schema @@ -37,7 +37,9 @@ export class Simulator< private getReference = (path: Paths) => { const [stepName, output] = path - const step: Maybe = this.state.steps[stepName] + const stepNames = this.originalSchema.map((step) => step.name) + const index = stepNames.indexOf(stepName as string) + const step: Maybe = this.state.steps[index] if (!step) { throw new Error( @@ -68,44 +70,13 @@ export class Simulator< public async run(): Promise }> { for (let i = 0; i < this.nextArray.length; i++) { - const getReference = (path: Paths) => { - const [stepName, output] = path - const step: Maybe = this.state.steps[stepName] - - if (!step) { - throw new Error( - `Step not found: ${stepName} in ${this.originalSchema[i].step} at iteration ${i}`, - ) - } - - const outputs = step.outputs - - if (!outputs) { - throw new Error(`Step has no outputs: ${stepName} in ${this.originalSchema[i].step}`) - } - - // eslint-disable-next-line @typescript-eslint/no-explicit-any - const value = (outputs as any)[output] - // validation if path exists - if (!value) { - throw new Error( - `Output not found: ${stepName}.outputs.${output as string} in ${this.originalSchema[i].step}`, - ) - } - - return { - estimatedValue: value, - path, - } - } - - const nextStep = await this.nextArray[i]({ state: this.state, getReference: getReference as GetReferencedValue }) + const nextStep = await this.nextArray[i]({ state: this.state, getReference: this.getReference as GetReferencedValue }) const fullStep = await processStepOutput(nextStep) this.state = stateReducer(fullStep, this.state) } - return this.state + return {...this.state, getReference: this.getReference as GetReferencedValue} } public next( diff --git a/sdk/simulator-service/src/implementation/simulator-engine/stepProcessor/depositBorrowOutputProcessor.ts b/sdk/simulator-service/src/implementation/simulator-engine/stepProcessor/depositBorrowOutputProcessor.ts index 3954fad229..bb1e860c87 100644 --- a/sdk/simulator-service/src/implementation/simulator-engine/stepProcessor/depositBorrowOutputProcessor.ts +++ b/sdk/simulator-service/src/implementation/simulator-engine/stepProcessor/depositBorrowOutputProcessor.ts @@ -1,21 +1,21 @@ import { steps } from '@summerfi/sdk-common/simulation' -import { getReferencedValue } from '../../utils' +import { getValueFromReference } from '../../utils' import type { StepOutputProcessor } from '../../../interfaces/steps' export const depositBorrowOutputProcessor: StepOutputProcessor = async ( step, ) => { const depositAmount = step.inputs.additionalDeposit - ? getReferencedValue(step.inputs.additionalDeposit).add( - getReferencedValue(step.inputs.depositAmount), + ? getValueFromReference(step.inputs.additionalDeposit).add( + getValueFromReference(step.inputs.depositAmount), ) - : getReferencedValue(step.inputs.depositAmount) + : getValueFromReference(step.inputs.depositAmount) return { ...step, outputs: { depositAmount: depositAmount, - borrowAmount: getReferencedValue(step.inputs.borrowAmount), + borrowAmount: getValueFromReference(step.inputs.borrowAmount), }, } } diff --git a/sdk/simulator-service/src/implementation/simulator-engine/stepProcessor/paybackWithdrawOutputProcessor.ts b/sdk/simulator-service/src/implementation/simulator-engine/stepProcessor/paybackWithdrawOutputProcessor.ts index 404fd7183a..a292b35843 100644 --- a/sdk/simulator-service/src/implementation/simulator-engine/stepProcessor/paybackWithdrawOutputProcessor.ts +++ b/sdk/simulator-service/src/implementation/simulator-engine/stepProcessor/paybackWithdrawOutputProcessor.ts @@ -1,20 +1,20 @@ import { steps } from '@summerfi/sdk-common/simulation' -import { getReferencedValue } from '../../utils' +import { getValueFromReference } from '../../utils' import type { StepOutputProcessor } from '../../../interfaces/steps' export const paybackWithdrawOutputProcessor: StepOutputProcessor< steps.PaybackWithdrawStep > = async (step) => { const paybackAmount = - getReferencedValue(step.inputs.paybackAmount).amount > step.inputs.position.debtAmount.amount + getValueFromReference(step.inputs.paybackAmount).amount > step.inputs.position.debtAmount.amount ? step.inputs.position.debtAmount - : getReferencedValue(step.inputs.paybackAmount) + : getValueFromReference(step.inputs.paybackAmount) const withdrawAmount = - getReferencedValue(step.inputs.withdrawAmount).amount > - step.inputs.position.collateralAmount.amount + getValueFromReference(step.inputs.withdrawAmount).amount > + step.inputs.position.collateralAmount.amount ? step.inputs.position.collateralAmount - : getReferencedValue(step.inputs.withdrawAmount) + : getValueFromReference(step.inputs.withdrawAmount) return { ...step, diff --git a/sdk/simulator-service/src/implementation/utils/EstimateSwapFromAmount.ts b/sdk/simulator-service/src/implementation/utils/EstimateSwapFromAmount.ts new file mode 100644 index 0000000000..f95c827d3d --- /dev/null +++ b/sdk/simulator-service/src/implementation/utils/EstimateSwapFromAmount.ts @@ -0,0 +1,53 @@ +import { TokenAmount, Percentage, Token, isSameTokens } from '@summerfi/sdk-common/common'; +import { ISwapManager } from '@summerfi/swap-common/interfaces'; +import { BigNumber } from 'bignumber.js'; +import { IOracleManager } from '@summerfi/oracle-common'; + +/** + * EstimateTokenAmountAfterSwap + * @description Estimates how much you will recive after swap. + * If target token is the same as source token, we return the same amount. + * When we perform a swap, we need to account for the summer fee, + * and we assume maximum slippage. + */ +export async function estimateSwapFromAmount(params: { + receiveAtLeast: TokenAmount; + fromToken: Token; + slippage: Percentage; + swapManager: ISwapManager; + oracleManager: IOracleManager; +}): Promise { + const { receiveAtLeast, slippage } = params; + + if (isSameTokens(receiveAtLeast.token, params.fromToken)) { + return receiveAtLeast; + } + + const spotPrice = ( + await params.oracleManager.getSpotPrice({ + chainInfo: receiveAtLeast.token.chainInfo, + baseToken: receiveAtLeast.token, + quoteToken: params.fromToken, + }) + ).price; + + const summerFee = await params.swapManager.getSummerFee({ + from: { token: receiveAtLeast.token }, + to: { token: params.fromToken }, + }); + + const ONE = new BigNumber(1); + /* + TargetAmt = SourceAmt * (1 - SummerFee) / (SpotPrice * (1 + Slippage)) + SourceAmt = TargetAmt * SpotPrice * (1 + Slippage) / (1 - SummerFee) + */ + const sourceAmount = receiveAtLeast + .toBN() + .multipliedBy(spotPrice.toBN().times(ONE.plus(slippage.toProportion()))) + .div(ONE.minus(summerFee.toProportion())); + + return TokenAmount.createFrom({ + amount: sourceAmount.toString(), + token: params.fromToken, + }); +} diff --git a/sdk/simulator-service/src/implementation/utils/GetRefinanceSimulationType.ts b/sdk/simulator-service/src/implementation/utils/GetRefinanceSimulationType.ts new file mode 100644 index 0000000000..3dd8bc159a --- /dev/null +++ b/sdk/simulator-service/src/implementation/utils/GetRefinanceSimulationType.ts @@ -0,0 +1,20 @@ +import { RefinanceSimulationTypes, SimulationType } from '@summerfi/sdk-common/simulation'; + +export function getRefinanceSimulationType( + hasCollateralSwap: boolean, + hasDebtSwap: boolean +): RefinanceSimulationTypes { + if (hasCollateralSwap && hasDebtSwap) { + return SimulationType.RefinanceDifferentPair; + } + + if (hasCollateralSwap) { + return SimulationType.RefinanceDifferentCollateral; + } + + if (hasDebtSwap) { + return SimulationType.RefinanceDifferentDebt; + } + + return SimulationType.Refinance; +} diff --git a/sdk/simulator-service/src/implementation/utils/SimulatorUtils.ts b/sdk/simulator-service/src/implementation/utils/SimulatorUtils.ts index cfe0278e1b..42a13c2c91 100644 --- a/sdk/simulator-service/src/implementation/utils/SimulatorUtils.ts +++ b/sdk/simulator-service/src/implementation/utils/SimulatorUtils.ts @@ -16,7 +16,7 @@ export function isValueReference(value: ReferenceableField): value is Valu ) } -export function getValueFromReference(referenceableValue: ReferenceableField): Readonly { +export function getValueFromReference(referenceableValue: ReferenceableField): T { if (isValueReference(referenceableValue)) { return referenceableValue.estimatedValue } diff --git a/sdk/simulator-service/src/interfaces/simulation.ts b/sdk/simulator-service/src/interfaces/simulation.ts index fd1581b6f6..92c352764b 100644 --- a/sdk/simulator-service/src/interfaces/simulation.ts +++ b/sdk/simulator-service/src/interfaces/simulation.ts @@ -1,8 +1,8 @@ -import { BalancesRecord, PositionsRecord, StepsRecord, SwapsRecord } from '../types/Types' +import { BalancesRecord, PositionsRecord, StepsArray, SwapArray } from '../types/Types' export interface ISimulationState { - swaps: SwapsRecord + swaps: SwapArray balances: BalancesRecord positions: PositionsRecord - steps: StepsRecord + steps: StepsArray } diff --git a/sdk/simulator-service/src/strategies/refinanceAnyPair/RefinanceLendingToLendingAnyPair.ts b/sdk/simulator-service/src/strategies/refinanceAnyPair/RefinanceLendingToLendingAnyPair.ts index c74f8d80d1..3aaee8963f 100644 --- a/sdk/simulator-service/src/strategies/refinanceAnyPair/RefinanceLendingToLendingAnyPair.ts +++ b/sdk/simulator-service/src/strategies/refinanceAnyPair/RefinanceLendingToLendingAnyPair.ts @@ -3,20 +3,18 @@ import { ISimulation, RefinanceSimulationTypes, SimulationSteps, - SimulationType, TokenTransferTargetType, getValueFromReference, } from '@summerfi/sdk-common/simulation' import { Simulator } from '../../implementation/simulator-engine' -import { Position, TokenAmount, Percentage, Token, isSameTokens } from '@summerfi/sdk-common/common' +import { Position, TokenAmount, Percentage } from '@summerfi/sdk-common/common' import { IRefinanceParameters } from '@summerfi/sdk-common/orders' import { isLendingPool } from '@summerfi/sdk-common/protocols' import { refinanceLendingToLendingAnyPairStrategy } from './Strategy' import { type IRefinanceDependencies } from '../common/Types' import { getSwapStepData } from '../../implementation/utils/GetSwapStepData' -import { ISwapManager } from '@summerfi/swap-common/interfaces' -import { BigNumber } from 'bignumber.js' -import { IOracleManager } from '@summerfi/oracle-common' +import { estimateSwapFromAmount } from '../../implementation/utils/EstimateSwapFromAmount' +import { getRefinanceSimulationType } from '../../implementation/utils/GetRefinanceSimulationType' export async function refinanceLendingToLendingAnyPair( args: IRefinanceParameters, @@ -161,88 +159,18 @@ export async function refinanceLendingToLendingAnyPair( }) .run() - const targetPosition = Object.values(simulation.positions).find((p) => - p.pool.id.protocol.equals(targetPool.id.protocol), - ) + const targetPositionId = getValueFromReference(simulation.getReference(['OpenTargetPosition','position'])) + const targetPosition = Object.values(simulation.positions).find((p) => p.id.id === targetPositionId.id.id) if (!targetPosition) { throw new Error('Target position not found') } return { - simulationType: getSimulationType(!isCollateralSwapSkipped, !isDebtSwapSkipped), + simulationType: getRefinanceSimulationType(!isCollateralSwapSkipped, !isDebtSwapSkipped), sourcePosition: position, targetPosition, - swaps: Object.values(simulation.swaps), - steps: Object.values(simulation.steps), + swaps: simulation.swaps, + steps: simulation.steps, } satisfies ISimulation } - -function getSimulationType( - hasCollateralSwap: boolean, - hasDebtSwap: boolean, -): RefinanceSimulationTypes { - if (hasCollateralSwap && hasDebtSwap) { - return SimulationType.RefinanceDifferentPair - } - - if (hasCollateralSwap) { - return SimulationType.RefinanceDifferentCollateral - } - - if (hasDebtSwap) { - return SimulationType.RefinanceDifferentDebt - } - - return SimulationType.Refinance -} - -/** - * EstimateTokenAmountAfterSwap - * @description Estimates how much you will recive after swap. - * If target token is the same as source token, we return the same amount. - * When we perform a swap, we need to account for the summer fee, - * and we assume maximum slippage. - */ -async function estimateSwapFromAmount(params: { - receiveAtLeast: TokenAmount - fromToken: Token - slippage: Percentage - swapManager: ISwapManager - oracleManager: IOracleManager -}): Promise { - const { receiveAtLeast, slippage } = params - - if (isSameTokens(receiveAtLeast.token, params.fromToken)) { - return receiveAtLeast - } - - const spotPrice = ( - await params.oracleManager.getSpotPrice({ - chainInfo: receiveAtLeast.token.chainInfo, - baseToken: receiveAtLeast.token, - quoteToken: params.fromToken, - }) - ).price - - const summerFee = await params.swapManager.getSummerFee({ - from: { token: receiveAtLeast.token }, - to: { token: params.fromToken }, - }) - - const ONE = new BigNumber(1) - /* - TargetAmt = SourceAmt * (1 - SummerFee) / (SpotPrice * (1 + Slippage)) - SourceAmt = TargetAmt * SpotPrice * (1 + Slippage) / (1 - SummerFee) - */ - - const sourceAmount = receiveAtLeast - .toBN() - .multipliedBy(spotPrice.toBN().times(ONE.plus(slippage.toProportion()))) - .div(ONE.minus(summerFee.toProportion())) - - return TokenAmount.createFrom({ - amount: sourceAmount.toString(), - token: params.fromToken, - }) -} diff --git a/sdk/simulator-service/src/strategies/refinanceNoDebt/RefinanceLendingToLendingNoDebt.ts b/sdk/simulator-service/src/strategies/refinanceNoDebt/RefinanceLendingToLendingNoDebt.ts index ced48c547f..0a73f5dc57 100644 --- a/sdk/simulator-service/src/strategies/refinanceNoDebt/RefinanceLendingToLendingNoDebt.ts +++ b/sdk/simulator-service/src/strategies/refinanceNoDebt/RefinanceLendingToLendingNoDebt.ts @@ -104,10 +104,8 @@ export async function refinanceLendingToLendingNoDebt( }) .run() - // find better way to get position (maybe expose getReference on the simulation object) - const targetPosition = Object.values(simulation.positions).find((p) => - p.pool.id.protocol.equals(targetPool.id.protocol), - ) + const targetPositionId = getValueFromReference(simulation.getReference(['OpenTargetPosition', 'position'])) + const targetPosition = Object.values(simulation.positions).find((p) => p.id.id === targetPositionId.id.id) if (!targetPosition) { throw new Error('Target position not found') diff --git a/sdk/simulator-service/src/strategies/refinanceSamePair/RefinanceLendingToLendingSamePair.ts b/sdk/simulator-service/src/strategies/refinanceSamePair/RefinanceLendingToLendingSamePair.ts index bea59978d9..da7f9562f3 100644 --- a/sdk/simulator-service/src/strategies/refinanceSamePair/RefinanceLendingToLendingSamePair.ts +++ b/sdk/simulator-service/src/strategies/refinanceSamePair/RefinanceLendingToLendingSamePair.ts @@ -4,6 +4,7 @@ import { SimulationSteps, SimulationType, TokenTransferTargetType, + getValueFromReference, } from '@summerfi/sdk-common/simulation' import { Simulator } from '../../implementation/simulator-engine' import { Position, TokenAmount } from '@summerfi/sdk-common/common' @@ -64,13 +65,13 @@ export async function refinanceLendingToLendingSamePair( pool: targetPool, }, })) - .next(async () => ({ + .next(async (ctx) => ({ name: 'DepositBorrowToTarget', type: SimulationSteps.DepositBorrow, inputs: { depositAmount: position.collateralAmount, borrowAmount: position.debtAmount, // TODO figure the debt amount - position: newEmptyPositionFromPool(targetPool), + position: getValueFromReference(ctx.getReference(['OpenTargetPosition','position'])), borrowTargetType: TokenTransferTargetType.PositionsManager, }, })) @@ -100,9 +101,8 @@ export async function refinanceLendingToLendingSamePair( }) .run() - const targetPosition = Object.values(simulation.positions).find( - (p) => p.pool.id.protocol === targetPool.id.protocol, - ) + const targetPositionId = getValueFromReference(simulation.getReference(['OpenTargetPosition', 'position'])) + const targetPosition = Object.values(simulation.positions).find((p) => p.id.id === targetPositionId.id.id) if (!targetPosition) { throw new Error('Target position not found') diff --git a/sdk/simulator-service/src/types/Types.ts b/sdk/simulator-service/src/types/Types.ts index 10334aba37..cd163ee7ba 100644 --- a/sdk/simulator-service/src/types/Types.ts +++ b/sdk/simulator-service/src/types/Types.ts @@ -6,5 +6,5 @@ export type StepName = string export type BalancesRecord = Record export type PositionsRecord = Record -export type StepsRecord = Record -export type SwapsRecord = Record +export type StepsArray = steps.Steps[] +export type SwapArray = SimulatedSwapData[] From e325effd1e6668cbefb8159c5c5af22c2d6b1604 Mon Sep 17 00:00:00 2001 From: Damian Paszkowski Date: Mon, 13 May 2024 17:12:39 +0200 Subject: [PATCH 14/45] refactor: add name to steps --- sdk/sdk-common/src/simulation/Steps.ts | 1 + sdk/simulator-service/src/interfaces/steps.ts | 10 +++++++++- .../RefinanceLendingToLendingAnyPair.ts | 6 ++++++ .../refinanceNoDebt/RefinanceLendingToLendingNoDebt.ts | 6 ++++-- .../RefinanceLendingToLendingSamePair.ts | 6 +++--- 5 files changed, 23 insertions(+), 6 deletions(-) diff --git a/sdk/sdk-common/src/simulation/Steps.ts b/sdk/sdk-common/src/simulation/Steps.ts index 177daf8251..92ace920d5 100644 --- a/sdk/sdk-common/src/simulation/Steps.ts +++ b/sdk/sdk-common/src/simulation/Steps.ts @@ -11,6 +11,7 @@ import { Pool } from 'src/protocols' export interface Step { type: T + name: string inputs: I outputs: O skip?: boolean diff --git a/sdk/simulator-service/src/interfaces/steps.ts b/sdk/simulator-service/src/interfaces/steps.ts index 3aeeb761a0..56bd39aaf8 100644 --- a/sdk/simulator-service/src/interfaces/steps.ts +++ b/sdk/simulator-service/src/interfaces/steps.ts @@ -16,7 +16,15 @@ export type StateReducers = { [Type in steps.Steps['type']]: StateReducer> } -export type NextStep> = Promise['step'] }>, 'outputs'>> +export type NextStep> = + Promise< + Omit< + Where< + steps.Steps, + { type: Head['step'] } + >, + 'outputs'> & { name: Head['name']} + > export type StepsAdded = { name: string, step: steps.Steps }[] export type ProccessedStep> = { diff --git a/sdk/simulator-service/src/strategies/refinanceAnyPair/RefinanceLendingToLendingAnyPair.ts b/sdk/simulator-service/src/strategies/refinanceAnyPair/RefinanceLendingToLendingAnyPair.ts index 3aaee8963f..6908dede9f 100644 --- a/sdk/simulator-service/src/strategies/refinanceAnyPair/RefinanceLendingToLendingAnyPair.ts +++ b/sdk/simulator-service/src/strategies/refinanceAnyPair/RefinanceLendingToLendingAnyPair.ts @@ -48,6 +48,7 @@ export async function refinanceLendingToLendingAnyPair( const simulation = await simulator .next(async () => ({ + name: 'Flashloan', type: SimulationSteps.Flashloan, inputs: { amount: flashloanAmount, @@ -55,6 +56,7 @@ export async function refinanceLendingToLendingAnyPair( }, })) .next(async () => ({ + name: 'PaybackWithdrawFromSourcePosition', type: SimulationSteps.PaybackWithdraw, inputs: { paybackAmount: TokenAmount.createFrom({ @@ -68,6 +70,7 @@ export async function refinanceLendingToLendingAnyPair( })) .next( async () => ({ + name: 'SwapCollateralFromSourcePosition', type: SimulationSteps.Swap, inputs: await getSwapStepData({ chainInfo: position.pool.id.protocol.chainInfo, @@ -81,12 +84,14 @@ export async function refinanceLendingToLendingAnyPair( isCollateralSwapSkipped, ) .next(async () => ({ + name: 'OpenTargetPosition', type: SimulationSteps.OpenPosition, inputs: { pool: targetPool, }, })) .next(async (ctx) => ({ + name: 'DepositBorrowToTargetPosition', type: SimulationSteps.DepositBorrow, inputs: { // refactor @@ -108,6 +113,7 @@ export async function refinanceLendingToLendingAnyPair( })) .next( async (ctx) => ({ + name: 'SwapDebtFromTargetPosition', type: SimulationSteps.Swap, inputs: await getSwapStepData({ chainInfo: position.pool.id.protocol.chainInfo, diff --git a/sdk/simulator-service/src/strategies/refinanceNoDebt/RefinanceLendingToLendingNoDebt.ts b/sdk/simulator-service/src/strategies/refinanceNoDebt/RefinanceLendingToLendingNoDebt.ts index 0a73f5dc57..8246c963b8 100644 --- a/sdk/simulator-service/src/strategies/refinanceNoDebt/RefinanceLendingToLendingNoDebt.ts +++ b/sdk/simulator-service/src/strategies/refinanceNoDebt/RefinanceLendingToLendingNoDebt.ts @@ -44,6 +44,7 @@ export async function refinanceLendingToLendingNoDebt( const simulation = await simulator .next(async () => ({ + name: 'PaybackWithdrawFromSourcePosition', type: SimulationSteps.PaybackWithdraw, inputs: { paybackAmount: zeroAmount, @@ -54,7 +55,7 @@ export async function refinanceLendingToLendingNoDebt( })) .next( async () => ({ - name: 'CollateralSwap', + name: 'SwapCollateralFromSourcePosition', type: SimulationSteps.Swap, inputs: await getSwapStepData({ chainInfo: position.pool.id.protocol.chainInfo, @@ -68,13 +69,14 @@ export async function refinanceLendingToLendingNoDebt( isCollateralSwapSkipped, ) .next(async () => ({ + name: 'OpenTargetPosition', type: SimulationSteps.OpenPosition, inputs: { pool: targetPool, }, })) .next(async (ctx) => ({ - name: 'DepositBorrowToTarget', + name: 'DepositBorrowToTargetPosition', type: SimulationSteps.DepositBorrow, inputs: { depositAmount: isCollateralSwapSkipped diff --git a/sdk/simulator-service/src/strategies/refinanceSamePair/RefinanceLendingToLendingSamePair.ts b/sdk/simulator-service/src/strategies/refinanceSamePair/RefinanceLendingToLendingSamePair.ts index da7f9562f3..024fa20fb3 100644 --- a/sdk/simulator-service/src/strategies/refinanceSamePair/RefinanceLendingToLendingSamePair.ts +++ b/sdk/simulator-service/src/strategies/refinanceSamePair/RefinanceLendingToLendingSamePair.ts @@ -8,7 +8,6 @@ import { } from '@summerfi/sdk-common/simulation' import { Simulator } from '../../implementation/simulator-engine' import { Position, TokenAmount } from '@summerfi/sdk-common/common' -import { newEmptyPositionFromPool } from '@summerfi/sdk-common/common/utils' import { IRefinanceParameters } from '@summerfi/sdk-common/orders' import { isLendingPool } from '@summerfi/sdk-common/protocols' import { refinanceLendingToLendingSamePairStrategy } from './Strategy' @@ -47,7 +46,7 @@ export async function refinanceLendingToLendingSamePair( }, })) .next(async () => ({ - name: 'PaybackWithdrawFromSource', + name: 'PaybackWithdrawFromSourcePosition', type: SimulationSteps.PaybackWithdraw, inputs: { paybackAmount: TokenAmount.createFrom({ @@ -60,13 +59,14 @@ export async function refinanceLendingToLendingSamePair( }, })) .next(async () => ({ + name: 'OpenTargetPosition', type: SimulationSteps.OpenPosition, inputs: { pool: targetPool, }, })) .next(async (ctx) => ({ - name: 'DepositBorrowToTarget', + name: 'DepositBorrowToTargetPosition', type: SimulationSteps.DepositBorrow, inputs: { depositAmount: position.collateralAmount, From 35a765edb0abef938c780156c7f9839025af88a9 Mon Sep 17 00:00:00 2001 From: Damian Paszkowski Date: Mon, 13 May 2024 17:20:14 +0200 Subject: [PATCH 15/45] chore: create new test --- .../aave-v3/builders/AaveV3OpenPositionActionBuilder.ts | 2 +- .../spark/builders/SparkOpenPositionActionBuilder.ts | 2 +- .../tests/{refinanceSpark.test.ts => refinance.test.ts} | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) rename sdk/sdk-e2e/tests/{refinanceSpark.test.ts => refinance.test.ts} (96%) diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3OpenPositionActionBuilder.ts b/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3OpenPositionActionBuilder.ts index 6e6ee4dfe8..54c9a00d15 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3OpenPositionActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3OpenPositionActionBuilder.ts @@ -12,7 +12,7 @@ export const AaveV3OpenPositionActionBuilder: ActionBuilder ): Promise => { const { context, step } = params - const pool = params.step.inputs.position.pool + const pool = params.step.inputs.pool if (!isAaveV3LendingPool(pool)) { throw new Error('Only Aave lending pool is supported') diff --git a/sdk/protocol-plugins/src/plugins/spark/builders/SparkOpenPositionActionBuilder.ts b/sdk/protocol-plugins/src/plugins/spark/builders/SparkOpenPositionActionBuilder.ts index bdc0be448b..b145ecbecb 100644 --- a/sdk/protocol-plugins/src/plugins/spark/builders/SparkOpenPositionActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/spark/builders/SparkOpenPositionActionBuilder.ts @@ -12,7 +12,7 @@ export const SparkOpenPositionActionBuilder: ActionBuilder = ): Promise => { const { context, step } = params - const pool = params.step.inputs.position.pool + const pool = params.step.inputs.pool if (!isSparkLendingPool(pool)) { throw new Error('Only Spark lending pool is supported') diff --git a/sdk/sdk-e2e/tests/refinanceSpark.test.ts b/sdk/sdk-e2e/tests/refinance.test.ts similarity index 96% rename from sdk/sdk-e2e/tests/refinanceSpark.test.ts rename to sdk/sdk-e2e/tests/refinance.test.ts index 5dc652d165..0b7f5476a0 100644 --- a/sdk/sdk-e2e/tests/refinanceSpark.test.ts +++ b/sdk/sdk-e2e/tests/refinance.test.ts @@ -37,16 +37,16 @@ jest.setTimeout(300000) /** TEST CONFIG */ const config = { - SDKAPiUrl: 'https://zmjmtfsocb.execute-api.us-east-1.amazonaws.com/api/sdk', + SDKAPiUrl: 'https://nkllstfoy8.execute-api.us-east-1.amazonaws.com', TenderlyForkUrl: 'https://virtual.mainnet.rpc.tenderly.co/5a4e0cc3-48d2-4819-8426-068f029b23be', makerVaultId: '31709', DPMAddress: '0xc1475b2735fb9130a4701ee9e2215b6305dd501b', - walletAddress: '0xbEf4befb4F230F43905313077e3824d7386E09F8', + walletAddress: '0x34314adbfBb5d239bb67f0265c9c45EB8b834412', collateralAmount: '5000.0', debtAmount: '5000000.0', } -describe.only('Refinance Maker Spark | SDK', () => { +describe.only('Refinance All | SDK', () => { it('should allow refinance Maker -> Spark with same pair', async () => { // SDK const sdk = makeSDK({ apiURL: config.SDKAPiUrl }) From 94b8eb804d29c6032a76410ab9145174319d10c9 Mon Sep 17 00:00:00 2001 From: Damian Paszkowski Date: Mon, 13 May 2024 17:46:41 +0200 Subject: [PATCH 16/45] fix: types --- sdk/sdk-common/src/simulation/Steps.ts | 4 ++-- sdk/simulator-service/src/strategies/import/Strategy.ts | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/sdk/sdk-common/src/simulation/Steps.ts b/sdk/sdk-common/src/simulation/Steps.ts index 92ace920d5..aadc8a2704 100644 --- a/sdk/sdk-common/src/simulation/Steps.ts +++ b/sdk/sdk-common/src/simulation/Steps.ts @@ -7,7 +7,7 @@ import { FlashloanProvider, SimulationSteps, TokenTransferTargetType } from './E import { SwapProviderType, SwapRoute } from '../swap' import { ReferenceableField, ValueReference } from './ValueReference' import { IExternalPosition } from '../orders/interfaces/importing/IExternalPosition' -import { Pool } from 'src/protocols' +import { ILendingPool } from '../protocols/interfaces/ILendingPool' export interface Step { type: T @@ -110,7 +110,7 @@ export interface NewPositionEventStep export interface ImportStep extends Step {} -export interface OpenPosition extends Step {} +export interface OpenPosition extends Step {} export type Steps = | FlashloanStep diff --git a/sdk/simulator-service/src/strategies/import/Strategy.ts b/sdk/simulator-service/src/strategies/import/Strategy.ts index 5c08399787..c47f330ef3 100644 --- a/sdk/simulator-service/src/strategies/import/Strategy.ts +++ b/sdk/simulator-service/src/strategies/import/Strategy.ts @@ -3,6 +3,7 @@ import { makeStrategy } from '../../implementation/utils' export const importPositionStrategy = makeStrategy([ { + name: 'Import', step: SimulationSteps.Import, optional: false, }, From 7ccf90c8a407ecc035626326251b601e3e9cfc0f Mon Sep 17 00:00:00 2001 From: Roberto Cano <3525807+robercano@users.noreply.github.com> Date: Mon, 13 May 2024 19:42:45 +0200 Subject: [PATCH 17/45] fix: e2e tests --- .../src/common/enums/CommonTokenSymbols.ts | 4 ++-- sdk/sdk-e2e/tests/refinance.test.ts | 8 +++---- .../tests/refinanceMakerSparkAnyPair.test.ts | 24 +++++++++---------- sdk/sdk-server/src/handlers/getLendingPool.ts | 2 +- .../implementation/static/StaticTokensList.ts | 9 +++++++ 5 files changed, 28 insertions(+), 19 deletions(-) diff --git a/sdk/sdk-common/src/common/enums/CommonTokenSymbols.ts b/sdk/sdk-common/src/common/enums/CommonTokenSymbols.ts index fd67f5ae35..6e7ad7be0c 100644 --- a/sdk/sdk-common/src/common/enums/CommonTokenSymbols.ts +++ b/sdk/sdk-common/src/common/enums/CommonTokenSymbols.ts @@ -11,6 +11,6 @@ export enum CommonTokenSymbols { WETH = 'WETH', WBTC = 'WBTC', ETH = 'ETH', - WSTETH = 'WSTETH', - SDAI = 'SDAI', + wstETH = 'wstETH', + sDAI = 'sDAI', } diff --git a/sdk/sdk-e2e/tests/refinance.test.ts b/sdk/sdk-e2e/tests/refinance.test.ts index 7def07c3a9..0f3a32e7ac 100644 --- a/sdk/sdk-e2e/tests/refinance.test.ts +++ b/sdk/sdk-e2e/tests/refinance.test.ts @@ -37,7 +37,7 @@ jest.setTimeout(300000) /** TEST CONFIG */ const config = { - SDKAPiUrl: 'https://nkllstfoy8.execute-api.us-east-1.amazonaws.com', + SDKAPiUrl: 'https://nkllstfoy8.execute-api.us-east-1.amazonaws.com/api/sdk', TenderlyForkUrl: 'https://virtual.mainnet.rpc.tenderly.co/5a4e0cc3-48d2-4819-8426-068f029b23be', makerVaultId: '31709', DPMAddress: '0xc1475b2735fb9130a4701ee9e2215b6305dd501b', @@ -46,7 +46,7 @@ const config = { debtAmount: '5000000.0', } -describe.skip('Refinance All | SDK', () => { +describe.only('Refinance All | SDK', () => { it('should allow refinance Maker -> Spark with same pair', async () => { // SDK const sdk = makeSDK({ apiURL: config.SDKAPiUrl }) @@ -99,12 +99,12 @@ describe.skip('Refinance All | SDK', () => { assert(WBTC, 'WBTC not found') const WSTETH: Maybe = await chain.tokens.getTokenBySymbol({ - symbol: CommonTokenSymbols.WSTETH, + symbol: CommonTokenSymbols.wstETH, }) assert(WSTETH, 'WSTETH not found') const SDAI: Maybe = await chain.tokens.getTokenBySymbol({ - symbol: CommonTokenSymbols.SDAI, + symbol: CommonTokenSymbols.sDAI, }) assert(SDAI, 'WSTETH not found') diff --git a/sdk/sdk-e2e/tests/refinanceMakerSparkAnyPair.test.ts b/sdk/sdk-e2e/tests/refinanceMakerSparkAnyPair.test.ts index 9b197ba3c3..06a4f3ec5a 100644 --- a/sdk/sdk-e2e/tests/refinanceMakerSparkAnyPair.test.ts +++ b/sdk/sdk-e2e/tests/refinanceMakerSparkAnyPair.test.ts @@ -99,12 +99,12 @@ describe.skip('Refinance Maker Spark | SDK', () => { assert(WBTC, 'WBTC not found') const WSTETH: Maybe = await chain.tokens.getTokenBySymbol({ - symbol: CommonTokenSymbols.WSTETH, + symbol: CommonTokenSymbols.wstETH, }) assert(WSTETH, 'WSTETH not found') const SDAI: Maybe = await chain.tokens.getTokenBySymbol({ - symbol: CommonTokenSymbols.SDAI, + symbol: CommonTokenSymbols.sDAI, }) assert(SDAI, 'WSTETH not found') @@ -198,18 +198,18 @@ describe.skip('Refinance Maker Spark | SDK', () => { assert(refinanceOrder, 'Order not found') // Send transaction - console.log('Sending transaction...') + //console.log('Sending transaction...') - const privateKey = process.env.DEPLOYER_PRIVATE_KEY as Hex - const transactionUtils = new TransactionUtils({ - rpcUrl: config.TenderlyForkUrl, - walletPrivateKey: privateKey, - }) + //const privateKey = process.env.DEPLOYER_PRIVATE_KEY as Hex + // const transactionUtils = new TransactionUtils({ + // rpcUrl: config.TenderlyForkUrl, + // walletPrivateKey: privateKey, + // }) - const receipt = await transactionUtils.sendTransaction({ - transaction: refinanceOrder.transactions[0].transaction, - }) + // const receipt = await transactionUtils.sendTransaction({ + // transaction: refinanceOrder.transactions[0].transaction, + // }) - console.log('Transaction sent:', receipt) + // console.log('Transaction sent:', receipt) }) }) diff --git a/sdk/sdk-server/src/handlers/getLendingPool.ts b/sdk/sdk-server/src/handlers/getLendingPool.ts index 86194aedfe..2c16675fd5 100644 --- a/sdk/sdk-server/src/handlers/getLendingPool.ts +++ b/sdk/sdk-server/src/handlers/getLendingPool.ts @@ -3,7 +3,7 @@ import { PoolIdSchema } from '@summerfi/sdk-common/protocols' import { z } from 'zod' export const getLendingPool = publicProcedure - .input(z.object({ poolId: PoolIdSchema })) + .input(z.object({ poolId: PoolIdSchema.passthrough() })) .query(async (opts) => { return await opts.ctx.protocolManager.getLendingPool(opts.input.poolId) }) diff --git a/sdk/tokens-service/src/implementation/static/StaticTokensList.ts b/sdk/tokens-service/src/implementation/static/StaticTokensList.ts index 815473577a..e16356043a 100644 --- a/sdk/tokens-service/src/implementation/static/StaticTokensList.ts +++ b/sdk/tokens-service/src/implementation/static/StaticTokensList.ts @@ -12,6 +12,15 @@ export const StaticTokensData: TokenListData = { logoURI: 'https://summer.fi/static/img/logos/logo_dark.svg', keywords: ['Summer.fi', 'MakerDAO'], tokens: [ + { + name: 'Savings Dai', + address: '0x83F20F44975D03b1b09e64809B757c47f942BEeA', + symbol: 'sDAI', + decimals: 18, + chainId: 1, + logoURI: + 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x83F20F44975D03b1b09e64809B757c47f942BEeA/logo.png', + }, { name: 'Dai Stablecoin', address: '0x6B175474E89094C44Da98b954EedeAC495271d0F', From 015a6cb6f222a81ead7dc3c03c41289f8f16c32b Mon Sep 17 00:00:00 2001 From: Roberto Cano <3525807+robercano@users.noreply.github.com> Date: Thu, 16 May 2024 12:37:57 +0200 Subject: [PATCH 18/45] fix: build --- .../AaveV3DepositBorrowActionBuilder.ts | 34 ++++++++++------ .../AaveV3PaybackWithdrawActionBuilder.ts | 40 ++++++++++++------- .../SparkPaybackWithdrawActionBuilder.ts | 40 ++++++++++++------- 3 files changed, 71 insertions(+), 43 deletions(-) diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3DepositBorrowActionBuilder.ts b/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3DepositBorrowActionBuilder.ts index 4ffd4cd2ec..4d38db489e 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3DepositBorrowActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3DepositBorrowActionBuilder.ts @@ -4,31 +4,39 @@ import { TokenTransferTargetType, } from '@summerfi/sdk-common/simulation' import { ActionNames } from '@summerfi/deployment-types' -import { Address, AddressValue } from '@summerfi/sdk-common/common' +import { IAddress } from '@summerfi/sdk-common/common' import { ActionBuilder, ActionBuilderParams } from '@summerfi/protocol-plugins-common' import { SetApprovalAction } from '../../common' import { AaveV3DepositAction } from '../actions/AaveV3DepositAction' import { AaveV3BorrowAction } from '../actions/AaveV3BorrowAction' +import { getContractAddress } from '../../utils/GetContractAddress' export const AaveV3DepositBorrowActionList: ActionNames[] = ['AaveV3Deposit', 'AaveV3Borrow'] -function getBorrowTargetAddress(params: ActionBuilderParams): Address { - const { step, positionsManager, deployment } = params +async function getBorrowTargetAddress( + params: ActionBuilderParams, +): Promise { + const { user, step, positionsManager, addressBookManager } = params + if (step.inputs.borrowTargetType === TokenTransferTargetType.PositionsManager) { + return positionsManager.address + } - return step.inputs.borrowTargetType === TokenTransferTargetType.PositionsManager - ? positionsManager.address - : Address.createFromEthereum({ - value: deployment.contracts.OperationExecutor.address as AddressValue, - }) + return getContractAddress({ + addressBookManager, + chainInfo: user.chainInfo, + contractName: 'OperationExecutor', + }) } export const AaveV3DepositBorrowActionBuilder: ActionBuilder = async ( params, ): Promise => { - const { context, step, deployment } = params + const { context, step, addressBookManager, user } = params - const aaveV3LendingPool = Address.createFromEthereum({ - value: deployment.dependencies.AaveV3LendingPool.address as AddressValue, + const aaveV3LendingPoolAddress = await getContractAddress({ + addressBookManager, + chainInfo: user.chainInfo, + contractName: 'AaveV3LendingPool', }) context.addActionCall({ @@ -36,7 +44,7 @@ export const AaveV3DepositBorrowActionBuilder: ActionBuilder): Address { - const { step, positionsManager, deployment } = params +async function getWithdrawTargetAddress( + params: ActionBuilderParams, +): Promise { + const { user, step, positionsManager, addressBookManager } = params + if (step.inputs.withdrawTargetType === TokenTransferTargetType.PositionsManager) { + return positionsManager.address + } - return step.inputs.withdrawTargetType === TokenTransferTargetType.PositionsManager - ? positionsManager.address - : Address.createFromEthereum({ - value: deployment.contracts.OperationExecutor.address as AddressValue, - }) + return getContractAddress({ + addressBookManager, + chainInfo: user.chainInfo, + contractName: 'OperationExecutor', + }) } export const AaveV3PaybackWithdrawActionBuilder: ActionBuilder = async ( params, ): Promise => { - const { context, step, deployment } = params + const { context, step, addressBookManager, user } = params - const sparkLendingPool = Address.createFromEthereum({ - value: deployment.dependencies.SparkLendingPool.address as AddressValue, + const sparkLendingPoolAddress = await getContractAddress({ + addressBookManager, + chainInfo: user.chainInfo, + contractName: 'SparkLendingPool', }) const paybackAmount = getValueFromReference(step.inputs.paybackAmount) @@ -40,7 +48,7 @@ export const AaveV3PaybackWithdrawActionBuilder: ActionBuilder): Address { - const { step, positionsManager, deployment } = params +async function getWithdrawTargetAddress( + params: ActionBuilderParams, +): Promise { + const { user, step, positionsManager, addressBookManager } = params + if (step.inputs.withdrawTargetType === TokenTransferTargetType.PositionsManager) { + return positionsManager.address + } - return step.inputs.withdrawTargetType === TokenTransferTargetType.PositionsManager - ? positionsManager.address - : Address.createFromEthereum({ - value: deployment.contracts.OperationExecutor.address as AddressValue, - }) + return getContractAddress({ + addressBookManager, + chainInfo: user.chainInfo, + contractName: 'OperationExecutor', + }) } export const SparkPaybackWithdrawActionBuilder: ActionBuilder = async ( params, ): Promise => { - const { context, step, deployment } = params + const { context, step, addressBookManager, user } = params - const sparkLendingPool = Address.createFromEthereum({ - value: deployment.dependencies.SparkLendingPool.address as AddressValue, + const sparkLendingPoolAddress = await getContractAddress({ + addressBookManager, + chainInfo: user.chainInfo, + contractName: 'SparkLendingPool', }) const paybackAmount = getValueFromReference(step.inputs.paybackAmount) @@ -40,7 +48,7 @@ export const SparkPaybackWithdrawActionBuilder: ActionBuilder Date: Thu, 16 May 2024 13:03:37 +0200 Subject: [PATCH 19/45] fix: cicheck --- package.json | 1 + .../aave-v3/actions/AaveV3BorrowAction.ts | 12 +++++++---- .../aave-v3/actions/AaveV3DepositAction.ts | 12 +++++++---- .../aave-v3/actions/AaveV3PaybackAction.ts | 12 +++++++---- .../aave-v3/actions/AaveV3SetEmodeAction.ts | 10 +++++++--- .../aave-v3/actions/AaveV3WithdrawAction.ts | 12 +++++++---- .../implementation/EmodeCategoryMap.ts | 10 ++++++---- .../AAVEv3LikeBaseProtocolPlugin.ts | 6 +++--- .../AAVEv3LikeProtocolDataBuilder.ts | 6 +++--- .../spark/actions/SparkPaybackAction.ts | 12 +++++++---- .../spark/actions/SparkSetEmodeAction.ts | 11 ++++++---- .../spark/actions/SparkWithdrawAction.ts | 12 +++++++---- .../spark/implementation/EmodeCategoryMap.ts | 10 ++++++---- .../PaybackWithdrawActionBuilder.spec.ts | 3 ++- ...MorphoPaybackWithdrawActionBuilder.spec.ts | 3 ++- sdk/sdk-e2e/tests/refinance.test.ts | 6 ++---- .../tests/refinanceMakerSparkAnyPair.test.ts | 20 +++++++++---------- .../RefinanceLendingToLendingAnyPair.ts | 3 --- 18 files changed, 97 insertions(+), 64 deletions(-) diff --git a/package.json b/package.json index a730577562..2af3bad0a4 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ "test:integration": "turbo run test:integration --cache-dir=.turbo", "check-circular": "turbo run check-circular --cache-dir=.turbo", "cicheck": "turbo run cicheck --cache-dir=.turbo && pnpm run coverage:total", + "cicheck:dev": "turbo run cicheck --cache-dir=.turbo --output-logs=new-only --concurrency=100% --continue", "sst:dev": "sst dev", "sst:build": "sst build", "sst:deploy:dev": "sst deploy", diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3BorrowAction.ts b/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3BorrowAction.ts index ebd4a5baad..7c718a8c8c 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3BorrowAction.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3BorrowAction.ts @@ -1,11 +1,11 @@ import { ActionCall, BaseAction, InputSlotsMapping } from '@summerfi/protocol-plugins-common' import { IAddress, ITokenAmount } from '@summerfi/sdk-common/common' -export class AaveV3BorrowAction extends BaseAction { - public readonly config = { +export class AaveV3BorrowAction extends BaseAction { + public static readonly Config = { name: 'AaveV3Borrow', version: 0, - parametersAbi: '(address asset, uint256 amount, address to)', + parametersAbi: ['(address asset, uint256 amount, address to)'], storageInputs: [], storageOutputs: ['borrowedAmount'], } as const @@ -18,11 +18,15 @@ export class AaveV3BorrowAction extends BaseAction { arguments: [ { asset: params.borrowAmount.token.address.value, - amount: params.borrowAmount.toBaseUnit(), + amount: BigInt(params.borrowAmount.toBaseUnit()), to: params.borrowTo.value, }, ], mapping: paramsMapping, }) } + + public get config() { + return AaveV3BorrowAction.Config + } } diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3DepositAction.ts b/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3DepositAction.ts index 15e2c2735b..0de89601cb 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3DepositAction.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3DepositAction.ts @@ -1,11 +1,11 @@ import { ActionCall, BaseAction, InputSlotsMapping } from '@summerfi/protocol-plugins-common' import { ITokenAmount } from '@summerfi/sdk-common/common' -export class AaveV3DepositAction extends BaseAction { - public readonly config = { +export class AaveV3DepositAction extends BaseAction { + public static readonly Config = { name: 'AaveV3Deposit', version: 0, - parametersAbi: '(address asset, uint256 amount, bool sumAmounts, bool setAsCollateral)', + parametersAbi: ['(address asset, uint256 amount, bool sumAmounts, bool setAsCollateral)'], storageInputs: ['asset', 'amountToDeposit'], storageOutputs: ['depositedAmount'], } as const @@ -22,7 +22,7 @@ export class AaveV3DepositAction extends BaseAction { arguments: [ { asset: params.depositAmount.token.address.value, - amount: params.depositAmount.toBaseUnit(), + amount: BigInt(params.depositAmount.toBaseUnit()), sumAmounts: params.sumAmounts, setAsCollateral: params.setAsCollateral, }, @@ -30,4 +30,8 @@ export class AaveV3DepositAction extends BaseAction { mapping: paramsMapping, }) } + + public get config() { + return AaveV3DepositAction.Config + } } diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3PaybackAction.ts b/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3PaybackAction.ts index de94a77808..e32af1a94e 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3PaybackAction.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3PaybackAction.ts @@ -1,11 +1,11 @@ import { ActionCall, BaseAction, InputSlotsMapping } from '@summerfi/protocol-plugins-common' import { ITokenAmount } from '@summerfi/sdk-common/common' -export class AaveV3PaybackAction extends BaseAction { - public readonly config = { +export class AaveV3PaybackAction extends BaseAction { + public static readonly Config = { name: 'AaveV3Payback', version: 0, - parametersAbi: '(address asset, uint256 amount, bool paybackAll)', + parametersAbi: ['(address asset, uint256 amount, bool paybackAll)'], storageInputs: ['asset', 'amountToPayback'], storageOutputs: ['paybackedAmount'], } as const @@ -21,11 +21,15 @@ export class AaveV3PaybackAction extends BaseAction { arguments: [ { asset: params.paybackAmount.token.address.value, - amount: params.paybackAmount.toBaseUnit(), + amount: BigInt(params.paybackAmount.toBaseUnit()), paybackAll: params.paybackAll, }, ], mapping: paramsMapping, }) } + + public get config() { + return AaveV3PaybackAction.Config + } } diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3SetEmodeAction.ts b/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3SetEmodeAction.ts index 62670fdbaf..267729f706 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3SetEmodeAction.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3SetEmodeAction.ts @@ -2,11 +2,11 @@ import { ActionCall, BaseAction, InputSlotsMapping } from '@summerfi/protocol-pl import { EmodeType } from '../../common/enums/EmodeType' import { aaveV3EmodeCategoryMap } from '../implementation/EmodeCategoryMap' -export class AaveV3SetEmodeAction extends BaseAction { - public readonly config = { +export class AaveV3SetEmodeAction extends BaseAction { + public static readonly Config = { name: 'AaveV3SetEMode', version: 0, - parametersAbi: '(uint8 categoryId)', + parametersAbi: ['(uint8 categoryId)'], storageInputs: [], storageOutputs: ['emodeCategory'], } as const @@ -26,4 +26,8 @@ export class AaveV3SetEmodeAction extends BaseAction { mapping: paramsMapping, }) } + + public get config() { + return AaveV3SetEmodeAction.Config + } } diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3WithdrawAction.ts b/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3WithdrawAction.ts index c19179c2bb..c976c06835 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3WithdrawAction.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3WithdrawAction.ts @@ -1,11 +1,11 @@ import { ActionCall, BaseAction, InputSlotsMapping } from '@summerfi/protocol-plugins-common' import { IAddress, ITokenAmount } from '@summerfi/sdk-common/common' -export class AaveV3WithdrawAction extends BaseAction { - public readonly config = { +export class AaveV3WithdrawAction extends BaseAction { + public static readonly Config = { name: 'AaveV3Withdraw', version: 0, - parametersAbi: '(address asset, uint256 amount, address to)', + parametersAbi: ['(address asset, uint256 amount, address to)'], storageInputs: [], storageOutputs: ['withdrawnAmount'], } as const @@ -21,11 +21,15 @@ export class AaveV3WithdrawAction extends BaseAction { arguments: [ { asset: params.withdrawAmount.token.address.value, - amount: params.withdrawAmount.toBaseUnit(), + amount: BigInt(params.withdrawAmount.toBaseUnit()), to: params.withdrawTo.value, }, ], mapping: paramsMapping, }) } + + public get config() { + return AaveV3WithdrawAction.Config + } } diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/implementation/EmodeCategoryMap.ts b/sdk/protocol-plugins/src/plugins/aave-v3/implementation/EmodeCategoryMap.ts index a76cb6db16..eac52da26d 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/implementation/EmodeCategoryMap.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/implementation/EmodeCategoryMap.ts @@ -1,11 +1,13 @@ import { EmodeType } from '../../common/enums/EmodeType' -export const aaveV3EmodeCategoryMap: Record = Object.keys(EmodeType).reduce< - Record +// TODO: this is only correct for Mainnet, each network has its own category map + +export const aaveV3EmodeCategoryMap: Record = Object.keys(EmodeType).reduce< + Record >( (accumulator, key, index) => { - accumulator[EmodeType[key as keyof typeof EmodeType]] = BigInt(index) + accumulator[EmodeType[key as keyof typeof EmodeType]] = index return accumulator }, - {} as Record, + {} as Record, ) diff --git a/sdk/protocol-plugins/src/plugins/common/helpers/aaveV3Like/AAVEv3LikeBaseProtocolPlugin.ts b/sdk/protocol-plugins/src/plugins/common/helpers/aaveV3Like/AAVEv3LikeBaseProtocolPlugin.ts index e6afa8ab5b..8fae171d03 100644 --- a/sdk/protocol-plugins/src/plugins/common/helpers/aaveV3Like/AAVEv3LikeBaseProtocolPlugin.ts +++ b/sdk/protocol-plugins/src/plugins/common/helpers/aaveV3Like/AAVEv3LikeBaseProtocolPlugin.ts @@ -106,7 +106,7 @@ export abstract class AAVEv3LikeBaseProtocolPlugin< */ protected async _getAssetFromToken( token: IToken, - emode: bigint, + emode: number, ): Promise> { if (!this._assetsList) { throw new Error('Assets list not initialized') @@ -133,7 +133,7 @@ export abstract class AAVEv3LikeBaseProtocolPlugin< */ protected async _getCollateralInfo(params: { token: IToken - emode: bigint + emode: number poolBaseCurrencyToken: Denomination }): Promise> { const { token, emode, poolBaseCurrencyToken } = params @@ -198,7 +198,7 @@ export abstract class AAVEv3LikeBaseProtocolPlugin< */ protected async _getDebtInfo( token: IToken, - emode: bigint, + emode: number, poolBaseCurrencyToken: Denomination, ): Promise> { const asset = await this._getAssetFromToken(token, emode) diff --git a/sdk/protocol-plugins/src/plugins/common/helpers/aaveV3Like/AAVEv3LikeProtocolDataBuilder.ts b/sdk/protocol-plugins/src/plugins/common/helpers/aaveV3Like/AAVEv3LikeProtocolDataBuilder.ts index 7b62a84d0e..416d24afc5 100644 --- a/sdk/protocol-plugins/src/plugins/common/helpers/aaveV3Like/AAVEv3LikeProtocolDataBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/common/helpers/aaveV3Like/AAVEv3LikeProtocolDataBuilder.ts @@ -399,12 +399,12 @@ export class AaveV3LikeProtocolDataBuilder< // FILTERS export function filterAssetsListByEMode( assetsList: T[], - emode: bigint, + emode: number, ): T[] { // All reserves allowed for category 0n - if (emode === 0n) { + if (emode === 0) { return assetsList } - return assetsList.filter((asset) => asset.emode === emode) + return assetsList.filter((asset) => Number(asset.emode) === emode) } diff --git a/sdk/protocol-plugins/src/plugins/spark/actions/SparkPaybackAction.ts b/sdk/protocol-plugins/src/plugins/spark/actions/SparkPaybackAction.ts index 286ae5839c..e38bea6c27 100644 --- a/sdk/protocol-plugins/src/plugins/spark/actions/SparkPaybackAction.ts +++ b/sdk/protocol-plugins/src/plugins/spark/actions/SparkPaybackAction.ts @@ -1,11 +1,11 @@ import { ActionCall, BaseAction, InputSlotsMapping } from '@summerfi/protocol-plugins-common' import { ITokenAmount } from '@summerfi/sdk-common/common' -export class SparkPaybackAction extends BaseAction { - public readonly config = { +export class SparkPaybackAction extends BaseAction { + public static readonly Config = { name: 'SparkPayback', version: 0, - parametersAbi: '(address asset, uint256 amount, bool paybackAll)', + parametersAbi: ['(address asset, uint256 amount, bool paybackAll)'], storageInputs: ['asset', 'amountToPayback'], storageOutputs: ['paybackedAmount'], } as const @@ -21,11 +21,15 @@ export class SparkPaybackAction extends BaseAction { arguments: [ { asset: params.paybackAmount.token.address.value, - amount: params.paybackAmount.toBaseUnit(), + amount: BigInt(params.paybackAmount.toBaseUnit()), paybackAll: params.paybackAll, }, ], mapping: paramsMapping, }) } + + public get config() { + return SparkPaybackAction.Config + } } diff --git a/sdk/protocol-plugins/src/plugins/spark/actions/SparkSetEmodeAction.ts b/sdk/protocol-plugins/src/plugins/spark/actions/SparkSetEmodeAction.ts index 7ba7c2352c..d4edab63ac 100644 --- a/sdk/protocol-plugins/src/plugins/spark/actions/SparkSetEmodeAction.ts +++ b/sdk/protocol-plugins/src/plugins/spark/actions/SparkSetEmodeAction.ts @@ -2,12 +2,11 @@ import { ActionCall, BaseAction, InputSlotsMapping } from '@summerfi/protocol-pl import { EmodeType } from '../../common/enums/EmodeType' import { sparkEmodeCategoryMap } from '../implementation/EmodeCategoryMap' - -export class SparkSetEmodeAction extends BaseAction { - public readonly config = { +export class SparkSetEmodeAction extends BaseAction { + public static readonly Config = { name: 'SparkSetEMode', version: 0, - parametersAbi: '(uint8 categoryId)', + parametersAbi: ['(uint8 categoryId)'], storageInputs: [], storageOutputs: ['emodeCategory'], } as const @@ -27,4 +26,8 @@ export class SparkSetEmodeAction extends BaseAction { mapping: paramsMapping, }) } + + public get config() { + return SparkSetEmodeAction.Config + } } diff --git a/sdk/protocol-plugins/src/plugins/spark/actions/SparkWithdrawAction.ts b/sdk/protocol-plugins/src/plugins/spark/actions/SparkWithdrawAction.ts index c75228f1a8..c3d4ee653e 100644 --- a/sdk/protocol-plugins/src/plugins/spark/actions/SparkWithdrawAction.ts +++ b/sdk/protocol-plugins/src/plugins/spark/actions/SparkWithdrawAction.ts @@ -1,11 +1,11 @@ import { ActionCall, BaseAction, InputSlotsMapping } from '@summerfi/protocol-plugins-common' import { IAddress, ITokenAmount } from '@summerfi/sdk-common/common' -export class SparkWithdrawAction extends BaseAction { - public readonly config = { +export class SparkWithdrawAction extends BaseAction { + public static readonly Config = { name: 'SparkWithdraw', version: 0, - parametersAbi: '(address asset, uint256 amount, address to)', + parametersAbi: ['(address asset, uint256 amount, address to)'], storageInputs: [], storageOutputs: ['withdrawnAmount'], } as const @@ -21,11 +21,15 @@ export class SparkWithdrawAction extends BaseAction { arguments: [ { asset: params.withdrawAmount.token.address.value, - amount: params.withdrawAmount.toBaseUnit(), + amount: BigInt(params.withdrawAmount.toBaseUnit()), to: params.withdrawTo.value, }, ], mapping: paramsMapping, }) } + + public get config() { + return SparkWithdrawAction.Config + } } diff --git a/sdk/protocol-plugins/src/plugins/spark/implementation/EmodeCategoryMap.ts b/sdk/protocol-plugins/src/plugins/spark/implementation/EmodeCategoryMap.ts index 4b33bac4fc..33ac639d42 100644 --- a/sdk/protocol-plugins/src/plugins/spark/implementation/EmodeCategoryMap.ts +++ b/sdk/protocol-plugins/src/plugins/spark/implementation/EmodeCategoryMap.ts @@ -1,11 +1,13 @@ import { EmodeType } from '../../common/enums/EmodeType' -export const sparkEmodeCategoryMap: Record = Object.keys(EmodeType).reduce< - Record +// TODO: this is only correct for Mainnet, each network has its own category map + +export const sparkEmodeCategoryMap: Record = Object.keys(EmodeType).reduce< + Record >( (accumulator, key, index) => { - accumulator[EmodeType[key as keyof typeof EmodeType]] = BigInt(index) + accumulator[EmodeType[key as keyof typeof EmodeType]] = index return accumulator }, - {} as Record, + {} as Record, ) diff --git a/sdk/protocol-plugins/tests/unit/builders/PaybackWithdrawActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/PaybackWithdrawActionBuilder.spec.ts index 995c43bb71..517ecf8b11 100644 --- a/sdk/protocol-plugins/tests/unit/builders/PaybackWithdrawActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/PaybackWithdrawActionBuilder.spec.ts @@ -8,7 +8,7 @@ import { Token, TokenAmount, } from '@summerfi/sdk-common/common' -import { SimulationSteps, steps } from '@summerfi/sdk-common/simulation' +import { SimulationSteps, TokenTransferTargetType, steps } from '@summerfi/sdk-common/simulation' import { SetupBuilderReturnType, setupBuilderParams } from '../../utils/SetupBuilderParams' import { PoolType, ProtocolName } from '@summerfi/sdk-common/protocols' import { getErrorMessage } from '@summerfi/testing-utils' @@ -84,6 +84,7 @@ describe('Payback Withdraw Action Builder', () => { paybackAmount: paybackAmount, withdrawAmount: withdrawAmount, position: position, + withdrawTargetType: TokenTransferTargetType.PositionsManager, }, outputs: { paybackAmount: paybackAmount, diff --git a/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoPaybackWithdrawActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoPaybackWithdrawActionBuilder.spec.ts index 1361ddfd11..6baf51bbfe 100644 --- a/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoPaybackWithdrawActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoPaybackWithdrawActionBuilder.spec.ts @@ -113,11 +113,12 @@ describe('Morpho Payback Withdraw Action Builder', () => { const derivedStep: steps.PaybackWithdrawStep = { type: SimulationSteps.PaybackWithdraw, - name: 'DepositBorrowStep', + name: 'PaybackWithdrawStep', inputs: { paybackAmount: paybackAmount, withdrawAmount: withdrawAmount, position: position, + withdrawTargetType: TokenTransferTargetType.PositionsManager, }, outputs: { paybackAmount: paybackAmount, diff --git a/sdk/sdk-e2e/tests/refinance.test.ts b/sdk/sdk-e2e/tests/refinance.test.ts index 0f3a32e7ac..41aa6a2611 100644 --- a/sdk/sdk-e2e/tests/refinance.test.ts +++ b/sdk/sdk-e2e/tests/refinance.test.ts @@ -5,7 +5,6 @@ import { Address, type Maybe, ChainFamilyMap, - newEmptyPositionFromPool, PositionType, } from '@summerfi/sdk-common/common' @@ -46,7 +45,7 @@ const config = { debtAmount: '5000000.0', } -describe.only('Refinance All | SDK', () => { +describe.skip('Refinance All | SDK', () => { it('should allow refinance Maker -> Spark with same pair', async () => { // SDK const sdk = makeSDK({ apiURL: config.SDKAPiUrl }) @@ -177,11 +176,10 @@ describe.only('Refinance All | SDK', () => { assert(false, 'Spark pool type is not lending') } - const emptyTargetPosition = newEmptyPositionFromPool(sparkPool) const refinanceSimulation: ISimulation = await sdk.simulator.refinance.simulateRefinancePosition({ sourcePosition: makerPosition, - targetPosition: emptyTargetPosition, + targetPool: sparkPool, slippage: Percentage.createFrom({ value: 0.2 }), } as IRefinanceParameters) diff --git a/sdk/sdk-e2e/tests/refinanceMakerSparkAnyPair.test.ts b/sdk/sdk-e2e/tests/refinanceMakerSparkAnyPair.test.ts index b5821a1878..579a6d4478 100644 --- a/sdk/sdk-e2e/tests/refinanceMakerSparkAnyPair.test.ts +++ b/sdk/sdk-e2e/tests/refinanceMakerSparkAnyPair.test.ts @@ -198,18 +198,18 @@ describe.skip('Refinance Maker Spark | SDK', () => { assert(refinanceOrder, 'Order not found') // Send transaction - //console.log('Sending transaction...') + console.log('Sending transaction...') - //const privateKey = process.env.DEPLOYER_PRIVATE_KEY as Hex - // const transactionUtils = new TransactionUtils({ - // rpcUrl: config.TenderlyForkUrl, - // walletPrivateKey: privateKey, - // }) + const privateKey = process.env.DEPLOYER_PRIVATE_KEY as Hex + const transactionUtils = new TransactionUtils({ + rpcUrl: config.TenderlyForkUrl, + walletPrivateKey: privateKey, + }) - // const receipt = await transactionUtils.sendTransaction({ - // transaction: refinanceOrder.transactions[0].transaction, - // }) + const receipt = await transactionUtils.sendTransaction({ + transaction: refinanceOrder.transactions[0].transaction, + }) - // console.log('Transaction sent:', receipt) + console.log('Transaction sent:', receipt) }) }) diff --git a/sdk/simulator-service/src/strategies/refinanceAnyPair/RefinanceLendingToLendingAnyPair.ts b/sdk/simulator-service/src/strategies/refinanceAnyPair/RefinanceLendingToLendingAnyPair.ts index 657cdca274..2505fcf09a 100644 --- a/sdk/simulator-service/src/strategies/refinanceAnyPair/RefinanceLendingToLendingAnyPair.ts +++ b/sdk/simulator-service/src/strategies/refinanceAnyPair/RefinanceLendingToLendingAnyPair.ts @@ -40,9 +40,6 @@ export async function refinanceLendingToLendingAnyPair( throw new Error('Target pool is not a lending pool') } - console.log(sourcePool) - console.log(targetPool) - const FLASHLOAN_MARGIN = 1.001 const flashloanAmount = position.debtAmount.multiply(FLASHLOAN_MARGIN) const simulator = Simulator.create(refinanceLendingToLendingAnyPairStrategy) From 23353d8d59b7a5ab7e67dd4d964e5cf6604bd1df Mon Sep 17 00:00:00 2001 From: Roberto Cano <3525807+robercano@users.noreply.github.com> Date: Thu, 16 May 2024 15:56:02 +0200 Subject: [PATCH 20/45] feat: add unit tests --- .../aave-v3/actions/AaveV3BorrowAction.ts | 2 +- .../aave-v3/actions/AaveV3PaybackAction.ts | 2 +- .../src/plugins/aave-v3/actions/index.ts | 10 +- .../AaveV3DepositBorrowActionBuilder.ts | 5 + .../AaveV3OpenPositionActionBuilder.ts | 7 +- .../AaveV3PaybackWithdrawActionBuilder.ts | 5 + .../src/plugins/aave-v3/builders/index.ts | 3 + .../src/plugins/aave-v3/index.ts | 2 + .../MakerImportPositionActionBuilder.ts | 4 +- .../MakerOpenPositionActionBuilder.ts | 15 ++ .../MakerPaybackWithdrawActionBuilder.ts | 4 +- .../src/plugins/maker/builders/index.ts | 7 +- .../MorphoOpenPositionActionBuilder.ts | 15 ++ .../src/plugins/morphoblue/builders/index.ts | 2 + .../spark/actions/SparkPaybackAction.ts | 2 +- .../src/plugins/spark/actions/index.ts | 10 +- .../SparkDepositBorrowActionBuilder.ts | 5 + .../SparkOpenPositionActionBuilder.ts | 9 +- .../SparkPaybackWithdrawActionBuilder.ts | 5 + .../src/plugins/spark/builders/index.ts | 2 + .../actions/aaveV3/AaveV3BorrowAction.spec.ts | 54 +++++ .../aaveV3/AaveV3DepositAction.spec.ts | 52 +++++ .../aaveV3/AaveV3PaybackAction.spec.ts | 54 +++++ .../aaveV3/AaveV3SetEModeAction.spec.ts | 35 +++ .../aaveV3/AaveV3WithdrawAction.spec.ts | 54 +++++ .../actions/morpho/MorphoBorrowAction.spec.ts | 1 - .../morpho/MorphoDepositAction.spec.ts | 1 - .../morpho/MorphoPaybackAction.spec.ts | 1 - .../morpho/MorphoWithdrawAction.spec.ts | 3 +- .../actions/spark/SparkBorrowAction.spec.ts | 54 +++++ .../actions/spark/SparkDepositAction.spec.ts | 52 +++++ .../actions/spark/SparkPaybackAction.spec.ts | 54 +++++ .../actions/spark/SparkSetEModeAction.spec.ts | 35 +++ .../actions/spark/SparkWithdrawAction.spec.ts | 54 +++++ .../AaveV3DepositBorrowActionBuilder.spec.ts | 214 ++++++++++++++++++ .../AaveV3OpenPositionActionBuilder.spec.ts | 151 ++++++++++++ ...AaveV3PaybackWithdrawActionBuilder.spec.ts | 189 ++++++++++++++++ .../MakerImportPositionActionBuilder.spec.ts | 178 +++++++++++++++ .../MakerOpenPositionActionBuilder.spec.ts | 155 +++++++++++++ .../MakerPaybackWithdrawActionBuilder.spec.ts | 194 ++++++++++++++++ .../MorphoDepositBorrowActionBuilder.spec.ts | 3 +- .../MorphoOpenPositionActionBuilder.spec.ts | 155 +++++++++++++ .../SparkDepositBorrowActionBuilder.spec.ts | 214 ++++++++++++++++++ .../SparkOpenPositionActionBuilder.spec.ts | 151 ++++++++++++ .../SparkPaybackWithdrawActionBuilder.spec.ts | 189 ++++++++++++++++ .../tests/utils/ProtocolPluginMock.ts | 2 +- .../utils/ProtocolsPluginRegistryMock.ts | 2 + 47 files changed, 2379 insertions(+), 38 deletions(-) create mode 100644 sdk/protocol-plugins/src/plugins/maker/builders/MakerOpenPositionActionBuilder.ts create mode 100644 sdk/protocol-plugins/src/plugins/morphoblue/builders/MorphoOpenPositionActionBuilder.ts create mode 100644 sdk/protocol-plugins/tests/unit/actions/aaveV3/AaveV3BorrowAction.spec.ts create mode 100644 sdk/protocol-plugins/tests/unit/actions/aaveV3/AaveV3DepositAction.spec.ts create mode 100644 sdk/protocol-plugins/tests/unit/actions/aaveV3/AaveV3PaybackAction.spec.ts create mode 100644 sdk/protocol-plugins/tests/unit/actions/aaveV3/AaveV3SetEModeAction.spec.ts create mode 100644 sdk/protocol-plugins/tests/unit/actions/aaveV3/AaveV3WithdrawAction.spec.ts create mode 100644 sdk/protocol-plugins/tests/unit/actions/spark/SparkBorrowAction.spec.ts create mode 100644 sdk/protocol-plugins/tests/unit/actions/spark/SparkDepositAction.spec.ts create mode 100644 sdk/protocol-plugins/tests/unit/actions/spark/SparkPaybackAction.spec.ts create mode 100644 sdk/protocol-plugins/tests/unit/actions/spark/SparkSetEModeAction.spec.ts create mode 100644 sdk/protocol-plugins/tests/unit/actions/spark/SparkWithdrawAction.spec.ts create mode 100644 sdk/protocol-plugins/tests/unit/builders/aaveV3/AaveV3DepositBorrowActionBuilder.spec.ts create mode 100644 sdk/protocol-plugins/tests/unit/builders/aaveV3/AaveV3OpenPositionActionBuilder.spec.ts create mode 100644 sdk/protocol-plugins/tests/unit/builders/aaveV3/AaveV3PaybackWithdrawActionBuilder.spec.ts create mode 100644 sdk/protocol-plugins/tests/unit/builders/maker/MakerImportPositionActionBuilder.spec.ts create mode 100644 sdk/protocol-plugins/tests/unit/builders/maker/MakerOpenPositionActionBuilder.spec.ts create mode 100644 sdk/protocol-plugins/tests/unit/builders/maker/MakerPaybackWithdrawActionBuilder.spec.ts create mode 100644 sdk/protocol-plugins/tests/unit/builders/morpho/MorphoOpenPositionActionBuilder.spec.ts create mode 100644 sdk/protocol-plugins/tests/unit/builders/spark/SparkDepositBorrowActionBuilder.spec.ts create mode 100644 sdk/protocol-plugins/tests/unit/builders/spark/SparkOpenPositionActionBuilder.spec.ts create mode 100644 sdk/protocol-plugins/tests/unit/builders/spark/SparkPaybackWithdrawActionBuilder.spec.ts diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3BorrowAction.ts b/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3BorrowAction.ts index 7c718a8c8c..039d45354e 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3BorrowAction.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3BorrowAction.ts @@ -4,7 +4,7 @@ import { IAddress, ITokenAmount } from '@summerfi/sdk-common/common' export class AaveV3BorrowAction extends BaseAction { public static readonly Config = { name: 'AaveV3Borrow', - version: 0, + version: 4, parametersAbi: ['(address asset, uint256 amount, address to)'], storageInputs: [], storageOutputs: ['borrowedAmount'], diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3PaybackAction.ts b/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3PaybackAction.ts index e32af1a94e..fbf7c5ed4c 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3PaybackAction.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3PaybackAction.ts @@ -4,7 +4,7 @@ import { ITokenAmount } from '@summerfi/sdk-common/common' export class AaveV3PaybackAction extends BaseAction { public static readonly Config = { name: 'AaveV3Payback', - version: 0, + version: 4, parametersAbi: ['(address asset, uint256 amount, bool paybackAll)'], storageInputs: ['asset', 'amountToPayback'], storageOutputs: ['paybackedAmount'], diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/actions/index.ts b/sdk/protocol-plugins/src/plugins/aave-v3/actions/index.ts index 80eb1a4cfa..954431beb6 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/actions/index.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/actions/index.ts @@ -1,5 +1,5 @@ -export { AaveV3BorrowAction } from './AaveV3BorrowAction' -export { AaveV3DepositAction } from './AaveV3DepositAction' -export { AaveV3PaybackAction } from './AaveV3PaybackAction' -export { AaveV3WithdrawAction } from './AaveV3WithdrawAction' -export { AaveV3SetEmodeAction } from './AaveV3SetEmodeAction' \ No newline at end of file +export * from './AaveV3BorrowAction' +export * from './AaveV3DepositAction' +export * from './AaveV3PaybackAction' +export * from './AaveV3WithdrawAction' +export * from './AaveV3SetEmodeAction' diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3DepositBorrowActionBuilder.ts b/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3DepositBorrowActionBuilder.ts index 4d38db489e..a3e19b8dcb 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3DepositBorrowActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3DepositBorrowActionBuilder.ts @@ -10,6 +10,7 @@ import { SetApprovalAction } from '../../common' import { AaveV3DepositAction } from '../actions/AaveV3DepositAction' import { AaveV3BorrowAction } from '../actions/AaveV3BorrowAction' import { getContractAddress } from '../../utils/GetContractAddress' +import { isAaveV3LendingPool } from '../interfaces/IAaveV3LendingPool' export const AaveV3DepositBorrowActionList: ActionNames[] = ['AaveV3Deposit', 'AaveV3Borrow'] @@ -33,6 +34,10 @@ export const AaveV3DepositBorrowActionBuilder: ActionBuilder => { const { context, step, addressBookManager, user } = params + if (!isAaveV3LendingPool(step.inputs.position.pool)) { + throw new Error('Invalid AaveV3 lending pool') + } + const aaveV3LendingPoolAddress = await getContractAddress({ addressBookManager, chainInfo: user.chainInfo, diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3OpenPositionActionBuilder.ts b/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3OpenPositionActionBuilder.ts index e599404b6d..66d3659129 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3OpenPositionActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3OpenPositionActionBuilder.ts @@ -11,12 +11,13 @@ export const AaveV3OpenPositionActionBuilder: ActionBuilder params, ): Promise => { const { context, step } = params - const pool = params.step.inputs.pool - if (!isAaveV3LendingPool(pool)) { - throw new Error('Only Aave lending pool is supported') + if (!isAaveV3LendingPool(step.inputs.pool)) { + throw new Error('Invalid AaveV3 lending pool') } + const pool = step.inputs.pool + context.addActionCall({ step: step, action: new AaveV3SetEmodeAction(), diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3PaybackWithdrawActionBuilder.ts b/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3PaybackWithdrawActionBuilder.ts index 3afdfd2a62..f0c82cbb0c 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3PaybackWithdrawActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3PaybackWithdrawActionBuilder.ts @@ -11,6 +11,7 @@ import { SetApprovalAction } from '../../common' import { AaveV3WithdrawAction } from '../actions/AaveV3WithdrawAction' import { AaveV3PaybackAction } from '../actions/AaveV3PaybackAction' import { getContractAddress } from '../../utils/GetContractAddress' +import { isAaveV3LendingPool } from '../interfaces/IAaveV3LendingPool' export const AaveV3PaybackWithdrawActionList: ActionNames[] = ['AaveV3Payback', 'AaveV3Withdraw'] @@ -34,6 +35,10 @@ export const AaveV3PaybackWithdrawActionBuilder: ActionBuilder => { const { context, step, addressBookManager, user } = params + if (!isAaveV3LendingPool(step.inputs.position.pool)) { + throw new Error('Invalid AaveV3 lending pool') + } + const sparkLendingPoolAddress = await getContractAddress({ addressBookManager, chainInfo: user.chainInfo, diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/builders/index.ts b/sdk/protocol-plugins/src/plugins/aave-v3/builders/index.ts index cf848f3266..eac6fa26f0 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/builders/index.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/builders/index.ts @@ -1 +1,4 @@ export * from './AaveV3StepBuilders' +export * from './AaveV3DepositBorrowActionBuilder' +export * from './AaveV3PaybackWithdrawActionBuilder' +export * from './AaveV3OpenPositionActionBuilder' diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/index.ts b/sdk/protocol-plugins/src/plugins/aave-v3/index.ts index 6d23aa57ac..8fb7ae608c 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/index.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/index.ts @@ -1,2 +1,4 @@ export * from './interfaces' export * from './implementation' +export * from './actions' +export * from './builders' diff --git a/sdk/protocol-plugins/src/plugins/maker/builders/MakerImportPositionActionBuilder.ts b/sdk/protocol-plugins/src/plugins/maker/builders/MakerImportPositionActionBuilder.ts index 814686f2d1..eafbb11486 100644 --- a/sdk/protocol-plugins/src/plugins/maker/builders/MakerImportPositionActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/maker/builders/MakerImportPositionActionBuilder.ts @@ -1,9 +1,7 @@ import { steps } from '@summerfi/sdk-common/simulation' -import { ActionNames } from '@summerfi/deployment-types' import { ActionBuilder } from '@summerfi/protocol-plugins-common' import { ProtocolName } from '@summerfi/sdk-common/protocols' import { isMakerLendingPoolId } from '../interfaces/IMakerLendingPoolId' -export const MakerPaybackWithdrawActionList: ActionNames[] = ['MakerPayback', 'MakerWithdraw'] export const MakerImportPositionActionBuilder: ActionBuilder = async ( params, @@ -11,7 +9,7 @@ export const MakerImportPositionActionBuilder: ActionBuilder = const { protocolsRegistry, step, user, context, positionsManager } = params if (!isMakerLendingPoolId(step.inputs.externalPosition.position.pool.id)) { - throw new Error('Maker: Invalid pool id') + throw new Error('Invalid Maker lending pool id') } const makerPlugin = protocolsRegistry.getPlugin({ protocolName: ProtocolName.Maker }) diff --git a/sdk/protocol-plugins/src/plugins/maker/builders/MakerOpenPositionActionBuilder.ts b/sdk/protocol-plugins/src/plugins/maker/builders/MakerOpenPositionActionBuilder.ts new file mode 100644 index 0000000000..c0de352ce9 --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/maker/builders/MakerOpenPositionActionBuilder.ts @@ -0,0 +1,15 @@ +import { steps } from '@summerfi/sdk-common/simulation' +import { ActionBuilder } from '@summerfi/protocol-plugins-common' +import { isMakerLendingPool } from '../interfaces/IMakerLendingPool' + +export const MakerOpenPositionActionBuilder: ActionBuilder = async ( + params, +): Promise => { + const { step } = params + + if (!isMakerLendingPool(step.inputs.pool)) { + throw new Error('Invalid Maker lending pool id') + } + + // No-op for Maker +} diff --git a/sdk/protocol-plugins/src/plugins/maker/builders/MakerPaybackWithdrawActionBuilder.ts b/sdk/protocol-plugins/src/plugins/maker/builders/MakerPaybackWithdrawActionBuilder.ts index 3a30a94906..dc45d0b96e 100644 --- a/sdk/protocol-plugins/src/plugins/maker/builders/MakerPaybackWithdrawActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/maker/builders/MakerPaybackWithdrawActionBuilder.ts @@ -1,12 +1,10 @@ import { getValueFromReference, steps } from '@summerfi/sdk-common/simulation' -import { ActionNames } from '@summerfi/deployment-types' import { MakerPaybackAction } from '../actions/MakerPaybackAction' import { MakerWithdrawAction } from '../actions/MakerWithdrawAction' import { ActionBuilder } from '@summerfi/protocol-plugins-common' import { MakerIlkToJoinMap } from '../types/MakerIlkToJoinMap' import { isMakerLendingPoolId } from '../interfaces/IMakerLendingPoolId' import { getContractAddress } from '../../utils/GetContractAddress' -export const MakerPaybackWithdrawActionList: ActionNames[] = ['MakerPayback', 'MakerWithdraw'] export const MakerPaybackWithdrawActionBuilder: ActionBuilder = async ( params, @@ -14,7 +12,7 @@ export const MakerPaybackWithdrawActionBuilder: ActionBuilder = async ( + params, +): Promise => { + const { step } = params + + if (!isMorphoLendingPool(step.inputs.pool)) { + throw new Error('Invalid Morpho lending pool id') + } + + // No-op for Morpho +} diff --git a/sdk/protocol-plugins/src/plugins/morphoblue/builders/index.ts b/sdk/protocol-plugins/src/plugins/morphoblue/builders/index.ts index 50121dd717..c272629560 100644 --- a/sdk/protocol-plugins/src/plugins/morphoblue/builders/index.ts +++ b/sdk/protocol-plugins/src/plugins/morphoblue/builders/index.ts @@ -1,2 +1,4 @@ export * from './MorphoDepositBorrowActionBuilder' +export * from './MorphoPaybackWithdrawActionBuilder' +export * from './MorphoOpenPositionActionBuilder' export * from './MorphoStepBuilders' diff --git a/sdk/protocol-plugins/src/plugins/spark/actions/SparkPaybackAction.ts b/sdk/protocol-plugins/src/plugins/spark/actions/SparkPaybackAction.ts index e38bea6c27..910cd68569 100644 --- a/sdk/protocol-plugins/src/plugins/spark/actions/SparkPaybackAction.ts +++ b/sdk/protocol-plugins/src/plugins/spark/actions/SparkPaybackAction.ts @@ -4,7 +4,7 @@ import { ITokenAmount } from '@summerfi/sdk-common/common' export class SparkPaybackAction extends BaseAction { public static readonly Config = { name: 'SparkPayback', - version: 0, + version: 2, parametersAbi: ['(address asset, uint256 amount, bool paybackAll)'], storageInputs: ['asset', 'amountToPayback'], storageOutputs: ['paybackedAmount'], diff --git a/sdk/protocol-plugins/src/plugins/spark/actions/index.ts b/sdk/protocol-plugins/src/plugins/spark/actions/index.ts index fae9e7e404..76cf502cdd 100644 --- a/sdk/protocol-plugins/src/plugins/spark/actions/index.ts +++ b/sdk/protocol-plugins/src/plugins/spark/actions/index.ts @@ -1,5 +1,5 @@ -export { SparkBorrowAction } from './SparkBorrowAction' -export { SparkDepositAction } from './SparkDepositAction' -export { SparkPaybackAction } from './SparkPaybackAction' -export { SparkWithdrawAction } from './SparkWithdrawAction' -export { SparkSetEmodeAction } from './SparkSetEmodeAction' \ No newline at end of file +export * from './SparkBorrowAction' +export * from './SparkDepositAction' +export * from './SparkPaybackAction' +export * from './SparkWithdrawAction' +export * from './SparkSetEmodeAction' diff --git a/sdk/protocol-plugins/src/plugins/spark/builders/SparkDepositBorrowActionBuilder.ts b/sdk/protocol-plugins/src/plugins/spark/builders/SparkDepositBorrowActionBuilder.ts index 5d1fbd8ca9..c7cc6a491f 100644 --- a/sdk/protocol-plugins/src/plugins/spark/builders/SparkDepositBorrowActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/spark/builders/SparkDepositBorrowActionBuilder.ts @@ -11,6 +11,7 @@ import { IAddress } from '@summerfi/sdk-common/common' import { ActionBuilder, ActionBuilderParams } from '@summerfi/protocol-plugins-common' import { SetApprovalAction } from '../../common' import { getContractAddress } from '../../utils/GetContractAddress' +import { isSparkLendingPool } from '../interfaces/ISparkLendingPool' export const SparkDepositBorrowActionList: ActionNames[] = ['SparkDeposit', 'SparkBorrow'] @@ -34,6 +35,10 @@ export const SparkDepositBorrowActionBuilder: ActionBuilder => { const { context, user, step, addressBookManager } = params + if (!isSparkLendingPool(step.inputs.position.pool)) { + throw new Error('Invalid Spark lending pool') + } + const sparkLendingPoolAddress = await getContractAddress({ addressBookManager, chainInfo: user.chainInfo, diff --git a/sdk/protocol-plugins/src/plugins/spark/builders/SparkOpenPositionActionBuilder.ts b/sdk/protocol-plugins/src/plugins/spark/builders/SparkOpenPositionActionBuilder.ts index b145ecbecb..1186305240 100644 --- a/sdk/protocol-plugins/src/plugins/spark/builders/SparkOpenPositionActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/spark/builders/SparkOpenPositionActionBuilder.ts @@ -10,20 +10,19 @@ export const SparkOpenPositionList: ActionNames[] = ['SparkSetEMode'] export const SparkOpenPositionActionBuilder: ActionBuilder = async ( params, ): Promise => { - const { context, step } = params - const pool = params.step.inputs.pool - if (!isSparkLendingPool(pool)) { - throw new Error('Only Spark lending pool is supported') + if (!isSparkLendingPool(step.inputs.pool)) { + throw new Error('Invalid Spark lending pool') } + const pool = step.inputs.pool + context.addActionCall({ step: step, action: new SparkSetEmodeAction(), arguments: { emode: pool.id.emodeType, - }, connectedInputs: {}, connectedOutputs: {}, diff --git a/sdk/protocol-plugins/src/plugins/spark/builders/SparkPaybackWithdrawActionBuilder.ts b/sdk/protocol-plugins/src/plugins/spark/builders/SparkPaybackWithdrawActionBuilder.ts index 25bbdc647d..18bc8081d3 100644 --- a/sdk/protocol-plugins/src/plugins/spark/builders/SparkPaybackWithdrawActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/spark/builders/SparkPaybackWithdrawActionBuilder.ts @@ -11,6 +11,7 @@ import { SetApprovalAction } from '../../common' import { SparkWithdrawAction } from '../actions/SparkWithdrawAction' import { SparkPaybackAction } from '../actions/SparkPaybackAction' import { getContractAddress } from '../../utils/GetContractAddress' +import { isSparkLendingPool } from '../interfaces/ISparkLendingPool' export const SparkPaybackWithdrawActionList: ActionNames[] = ['SparkPayback', 'SparkWithdraw'] @@ -34,6 +35,10 @@ export const SparkPaybackWithdrawActionBuilder: ActionBuilder => { const { context, step, addressBookManager, user } = params + if (!isSparkLendingPool(step.inputs.position.pool)) { + throw new Error('Invalid Spark lending pool') + } + const sparkLendingPoolAddress = await getContractAddress({ addressBookManager, chainInfo: user.chainInfo, diff --git a/sdk/protocol-plugins/src/plugins/spark/builders/index.ts b/sdk/protocol-plugins/src/plugins/spark/builders/index.ts index a9c7ff8ef0..40ab2e5bdd 100644 --- a/sdk/protocol-plugins/src/plugins/spark/builders/index.ts +++ b/sdk/protocol-plugins/src/plugins/spark/builders/index.ts @@ -1,2 +1,4 @@ export * from './SparkDepositBorrowActionBuilder' +export * from './SparkPaybackWithdrawActionBuilder' +export * from './SparkOpenPositionActionBuilder' export * from './SparkStepBuilders' diff --git a/sdk/protocol-plugins/tests/unit/actions/aaveV3/AaveV3BorrowAction.spec.ts b/sdk/protocol-plugins/tests/unit/actions/aaveV3/AaveV3BorrowAction.spec.ts new file mode 100644 index 0000000000..e6d156da5d --- /dev/null +++ b/sdk/protocol-plugins/tests/unit/actions/aaveV3/AaveV3BorrowAction.spec.ts @@ -0,0 +1,54 @@ +import { Address, Token, TokenAmount } from '@summerfi/sdk-common/common' +import { decodeActionCalldata, getTargetHash } from '@summerfi/testing-utils' +import { ChainFamilyMap } from '@summerfi/sdk-common' +import { AaveV3BorrowAction } from '../../../../src' + +describe('AaveV3BorrowAction Action', () => { + const action = new AaveV3BorrowAction() + const contractNameWithVersion = `${action.config.name}_${action.config.version}` + + const DAI = Token.createFrom({ + chainInfo: ChainFamilyMap.Ethereum.Mainnet, + address: Address.createFromEthereum({ value: '0x6B175474E89094C44Da98b954EedeAC495271d0F' }), + decimals: 18, + name: 'Dai Stablecoin', + symbol: 'DAI', + }) + + const recipient = Address.createFromEthereum({ + value: '0x6ADb2E268de2aA1aBF6578E4a8119b960E02928F', + }) + + const tokenAmount = TokenAmount.createFrom({ token: DAI, amount: '578' }) + + it('should return the versioned name', () => { + expect(action.getVersionedName()).toBe(contractNameWithVersion) + }) + + it('should encode calls', async () => { + const call = action.encodeCall( + { + borrowAmount: tokenAmount, + borrowTo: recipient, + }, + [1, 8, 5, 3], + ) + + expect(call.targetHash).toBe(getTargetHash(action)) + + const actionDecodedArgs = decodeActionCalldata({ + action, + calldata: call.callData, + }) + + expect(actionDecodedArgs).toBeDefined() + expect(actionDecodedArgs?.args).toEqual([ + { + asset: tokenAmount.token.address.value, + amount: BigInt(tokenAmount.toBaseUnit()), + to: recipient.value, + }, + ]) + expect(actionDecodedArgs?.mapping).toEqual([1, 8, 5, 3]) + }) +}) diff --git a/sdk/protocol-plugins/tests/unit/actions/aaveV3/AaveV3DepositAction.spec.ts b/sdk/protocol-plugins/tests/unit/actions/aaveV3/AaveV3DepositAction.spec.ts new file mode 100644 index 0000000000..a982e418e0 --- /dev/null +++ b/sdk/protocol-plugins/tests/unit/actions/aaveV3/AaveV3DepositAction.spec.ts @@ -0,0 +1,52 @@ +import { Address, Token, TokenAmount } from '@summerfi/sdk-common/common' +import { decodeActionCalldata, getTargetHash } from '@summerfi/testing-utils' +import { AaveV3DepositAction } from '../../../../src' +import { ChainFamilyMap } from '@summerfi/sdk-common' + +describe('AaveV3DepositAction Action', () => { + const action = new AaveV3DepositAction() + const contractNameWithVersion = `${action.config.name}` + + const DAI = Token.createFrom({ + chainInfo: ChainFamilyMap.Ethereum.Mainnet, + address: Address.createFromEthereum({ value: '0x6B175474E89094C44Da98b954EedeAC495271d0F' }), + decimals: 18, + name: 'Dai Stablecoin', + symbol: 'DAI', + }) + + const tokenAmount = TokenAmount.createFrom({ token: DAI, amount: '578' }) + + it('should return the versioned name', () => { + expect(action.getVersionedName()).toBe(contractNameWithVersion) + }) + + it('should encode calls', async () => { + const call = action.encodeCall( + { + depositAmount: tokenAmount, + sumAmounts: false, + setAsCollateral: true, + }, + [1, 8, 5, 3], + ) + + expect(call.targetHash).toBe(getTargetHash(action)) + + const actionDecodedArgs = decodeActionCalldata({ + action, + calldata: call.callData, + }) + + expect(actionDecodedArgs).toBeDefined() + expect(actionDecodedArgs?.args).toEqual([ + { + asset: tokenAmount.token.address.value, + amount: BigInt(tokenAmount.toBaseUnit()), + sumAmounts: false, + setAsCollateral: true, + }, + ]) + expect(actionDecodedArgs?.mapping).toEqual([1, 8, 5, 3]) + }) +}) diff --git a/sdk/protocol-plugins/tests/unit/actions/aaveV3/AaveV3PaybackAction.spec.ts b/sdk/protocol-plugins/tests/unit/actions/aaveV3/AaveV3PaybackAction.spec.ts new file mode 100644 index 0000000000..864fe0748e --- /dev/null +++ b/sdk/protocol-plugins/tests/unit/actions/aaveV3/AaveV3PaybackAction.spec.ts @@ -0,0 +1,54 @@ +import { Address, Token, TokenAmount } from '@summerfi/sdk-common/common' +import { decodeActionCalldata, getTargetHash } from '@summerfi/testing-utils' +import { AaveV3PaybackAction } from '../../../../src' +import { ChainFamilyMap } from '@summerfi/sdk-common' + +describe('AaveV3PaybackAction Action', () => { + const action = new AaveV3PaybackAction() + const contractNameWithVersion = `${action.config.name}_${action.config.version}` + + const DAI = Token.createFrom({ + chainInfo: ChainFamilyMap.Ethereum.Mainnet, + address: Address.createFromEthereum({ value: '0x6B175474E89094C44Da98b954EedeAC495271d0F' }), + decimals: 18, + name: 'Dai Stablecoin', + symbol: 'DAI', + }) + + const onBehalf = Address.createFromEthereum({ + value: '0x6ADb2E268de2aA1aBF6578E4a8119b960E02928F', + }) + + const tokenAmount = TokenAmount.createFrom({ token: DAI, amount: '578' }) + + it('should return the versioned name', () => { + expect(action.getVersionedName()).toBe(contractNameWithVersion) + }) + + it('should encode calls', async () => { + const call = action.encodeCall( + { + paybackAmount: tokenAmount, + paybackAll: true, + }, + [2, 6, 7, 9], + ) + + expect(call.targetHash).toBe(getTargetHash(action)) + + const actionDecodedArgs = decodeActionCalldata({ + action, + calldata: call.callData, + }) + + expect(actionDecodedArgs).toBeDefined() + expect(actionDecodedArgs?.args).toEqual([ + { + asset: tokenAmount.token.address.value, + amount: BigInt(tokenAmount.toBaseUnit()), + paybackAll: true, + }, + ]) + expect(actionDecodedArgs?.mapping).toEqual([2, 6, 7, 9]) + }) +}) diff --git a/sdk/protocol-plugins/tests/unit/actions/aaveV3/AaveV3SetEModeAction.spec.ts b/sdk/protocol-plugins/tests/unit/actions/aaveV3/AaveV3SetEModeAction.spec.ts new file mode 100644 index 0000000000..933c4f7014 --- /dev/null +++ b/sdk/protocol-plugins/tests/unit/actions/aaveV3/AaveV3SetEModeAction.spec.ts @@ -0,0 +1,35 @@ +import { decodeActionCalldata, getTargetHash } from '@summerfi/testing-utils' +import { EmodeType, AaveV3SetEmodeAction, aaveV3EmodeCategoryMap } from '../../../../src' + +describe('MorphoPaybackAction Action', () => { + const action = new AaveV3SetEmodeAction() + const contractNameWithVersion = `${action.config.name}` + + it('should return the versioned name', () => { + expect(action.getVersionedName()).toBe(contractNameWithVersion) + }) + + it('should encode calls', async () => { + const call = action.encodeCall( + { + emode: EmodeType.Stablecoins, + }, + [2, 6, 7, 9], + ) + + expect(call.targetHash).toBe(getTargetHash(action)) + + const actionDecodedArgs = decodeActionCalldata({ + action, + calldata: call.callData, + }) + + expect(actionDecodedArgs).toBeDefined() + expect(actionDecodedArgs?.args).toEqual([ + { + categoryId: aaveV3EmodeCategoryMap[EmodeType.Stablecoins], + }, + ]) + expect(actionDecodedArgs?.mapping).toEqual([2, 6, 7, 9]) + }) +}) diff --git a/sdk/protocol-plugins/tests/unit/actions/aaveV3/AaveV3WithdrawAction.spec.ts b/sdk/protocol-plugins/tests/unit/actions/aaveV3/AaveV3WithdrawAction.spec.ts new file mode 100644 index 0000000000..18a6237919 --- /dev/null +++ b/sdk/protocol-plugins/tests/unit/actions/aaveV3/AaveV3WithdrawAction.spec.ts @@ -0,0 +1,54 @@ +import { Address, Token, TokenAmount } from '@summerfi/sdk-common/common' +import { decodeActionCalldata, getTargetHash } from '@summerfi/testing-utils' +import { AaveV3WithdrawAction } from '../../../../src' +import { ChainFamilyMap } from '@summerfi/sdk-common' + +describe('AaveV3WithdrawAction Action', () => { + const action = new AaveV3WithdrawAction() + const contractNameWithVersion = `${action.config.name}` + + const DAI = Token.createFrom({ + chainInfo: ChainFamilyMap.Ethereum.Mainnet, + address: Address.createFromEthereum({ value: '0x6B175474E89094C44Da98b954EedeAC495271d0F' }), + decimals: 18, + name: 'Dai Stablecoin', + symbol: 'DAI', + }) + + const recipient = Address.createFromEthereum({ + value: '0x6ADb2E268de2aA1aBF6578E4a8119b960E02928F', + }) + + const tokenAmount = TokenAmount.createFrom({ token: DAI, amount: '578' }) + + it('should return the versioned name', () => { + expect(action.getVersionedName()).toBe(contractNameWithVersion) + }) + + it('should encode calls', async () => { + const call = action.encodeCall( + { + withdrawAmount: tokenAmount, + withdrawTo: recipient, + }, + [2, 6, 7, 9], + ) + + expect(call.targetHash).toBe(getTargetHash(action)) + + const actionDecodedArgs = decodeActionCalldata({ + action, + calldata: call.callData, + }) + + expect(actionDecodedArgs).toBeDefined() + expect(actionDecodedArgs?.args).toEqual([ + { + amount: BigInt(tokenAmount.toBaseUnit()), + asset: tokenAmount.token.address.value, + to: recipient.value, + }, + ]) + expect(actionDecodedArgs?.mapping).toEqual([2, 6, 7, 9]) + }) +}) diff --git a/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoBorrowAction.spec.ts b/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoBorrowAction.spec.ts index 207e96ec8f..eeaebf1e3f 100644 --- a/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoBorrowAction.spec.ts +++ b/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoBorrowAction.spec.ts @@ -9,7 +9,6 @@ import { import { ChainFamilyMap, Percentage, - Protocol, ProtocolName, RiskRatio, RiskRatioType, diff --git a/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoDepositAction.spec.ts b/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoDepositAction.spec.ts index 6efc3d5bf9..0743a0a74e 100644 --- a/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoDepositAction.spec.ts +++ b/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoDepositAction.spec.ts @@ -9,7 +9,6 @@ import { import { ChainFamilyMap, Percentage, - Protocol, ProtocolName, RiskRatio, RiskRatioType, diff --git a/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoPaybackAction.spec.ts b/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoPaybackAction.spec.ts index 23c469f995..c4b0cbe58c 100644 --- a/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoPaybackAction.spec.ts +++ b/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoPaybackAction.spec.ts @@ -9,7 +9,6 @@ import { import { ChainFamilyMap, Percentage, - Protocol, ProtocolName, RiskRatio, RiskRatioType, diff --git a/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoWithdrawAction.spec.ts b/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoWithdrawAction.spec.ts index 86f1d74cf7..45545d2b4d 100644 --- a/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoWithdrawAction.spec.ts +++ b/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoWithdrawAction.spec.ts @@ -9,7 +9,6 @@ import { import { ChainFamilyMap, Percentage, - Protocol, ProtocolName, RiskRatio, RiskRatioType, @@ -17,7 +16,7 @@ import { import { PoolType } from '@summerfi/sdk-common/protocols' import { MorphoLLTVPrecision } from '../../../../src/plugins/morphoblue/constants/MorphoConstants' -describe('MorphoPaybackAction Action', () => { +describe('MorphoWithdrawAction Action', () => { const action = new MorphoWithdrawAction() const contractNameWithVersion = `${action.config.name}` diff --git a/sdk/protocol-plugins/tests/unit/actions/spark/SparkBorrowAction.spec.ts b/sdk/protocol-plugins/tests/unit/actions/spark/SparkBorrowAction.spec.ts new file mode 100644 index 0000000000..8acad32b2e --- /dev/null +++ b/sdk/protocol-plugins/tests/unit/actions/spark/SparkBorrowAction.spec.ts @@ -0,0 +1,54 @@ +import { Address, Token, TokenAmount } from '@summerfi/sdk-common/common' +import { decodeActionCalldata, getTargetHash } from '@summerfi/testing-utils' +import { SparkBorrowAction } from '../../../../src' +import { ChainFamilyMap } from '@summerfi/sdk-common' + +describe('SparkBorrowAction Action', () => { + const action = new SparkBorrowAction() + const contractNameWithVersion = `${action.config.name}_${action.config.version}` + + const DAI = Token.createFrom({ + chainInfo: ChainFamilyMap.Ethereum.Mainnet, + address: Address.createFromEthereum({ value: '0x6B175474E89094C44Da98b954EedeAC495271d0F' }), + decimals: 18, + name: 'Dai Stablecoin', + symbol: 'DAI', + }) + + const recipient = Address.createFromEthereum({ + value: '0x6ADb2E268de2aA1aBF6578E4a8119b960E02928F', + }) + + const tokenAmount = TokenAmount.createFrom({ token: DAI, amount: '578' }) + + it('should return the versioned name', () => { + expect(action.getVersionedName()).toBe(contractNameWithVersion) + }) + + it('should encode calls', async () => { + const call = action.encodeCall( + { + borrowAmount: tokenAmount, + borrowTo: recipient, + }, + [1, 8, 5, 3], + ) + + expect(call.targetHash).toBe(getTargetHash(action)) + + const actionDecodedArgs = decodeActionCalldata({ + action, + calldata: call.callData, + }) + + expect(actionDecodedArgs).toBeDefined() + expect(actionDecodedArgs?.args).toEqual([ + { + asset: tokenAmount.token.address.value, + amount: BigInt(tokenAmount.toBaseUnit()), + to: recipient.value, + }, + ]) + expect(actionDecodedArgs?.mapping).toEqual([1, 8, 5, 3]) + }) +}) diff --git a/sdk/protocol-plugins/tests/unit/actions/spark/SparkDepositAction.spec.ts b/sdk/protocol-plugins/tests/unit/actions/spark/SparkDepositAction.spec.ts new file mode 100644 index 0000000000..e650e5b786 --- /dev/null +++ b/sdk/protocol-plugins/tests/unit/actions/spark/SparkDepositAction.spec.ts @@ -0,0 +1,52 @@ +import { Address, Token, TokenAmount } from '@summerfi/sdk-common/common' +import { decodeActionCalldata, getTargetHash } from '@summerfi/testing-utils' +import { SparkDepositAction } from '../../../../src' +import { ChainFamilyMap } from '@summerfi/sdk-common' + +describe('SparkDepositAction Action', () => { + const action = new SparkDepositAction() + const contractNameWithVersion = `${action.config.name}` + + const DAI = Token.createFrom({ + chainInfo: ChainFamilyMap.Ethereum.Mainnet, + address: Address.createFromEthereum({ value: '0x6B175474E89094C44Da98b954EedeAC495271d0F' }), + decimals: 18, + name: 'Dai Stablecoin', + symbol: 'DAI', + }) + + const tokenAmount = TokenAmount.createFrom({ token: DAI, amount: '578' }) + + it('should return the versioned name', () => { + expect(action.getVersionedName()).toBe(contractNameWithVersion) + }) + + it('should encode calls', async () => { + const call = action.encodeCall( + { + depositAmount: tokenAmount, + sumAmounts: false, + setAsCollateral: true, + }, + [1, 8, 5, 3], + ) + + expect(call.targetHash).toBe(getTargetHash(action)) + + const actionDecodedArgs = decodeActionCalldata({ + action, + calldata: call.callData, + }) + + expect(actionDecodedArgs).toBeDefined() + expect(actionDecodedArgs?.args).toEqual([ + { + asset: tokenAmount.token.address.value, + amount: BigInt(tokenAmount.toBaseUnit()), + sumAmounts: false, + setAsCollateral: true, + }, + ]) + expect(actionDecodedArgs?.mapping).toEqual([1, 8, 5, 3]) + }) +}) diff --git a/sdk/protocol-plugins/tests/unit/actions/spark/SparkPaybackAction.spec.ts b/sdk/protocol-plugins/tests/unit/actions/spark/SparkPaybackAction.spec.ts new file mode 100644 index 0000000000..9b0d2c10c9 --- /dev/null +++ b/sdk/protocol-plugins/tests/unit/actions/spark/SparkPaybackAction.spec.ts @@ -0,0 +1,54 @@ +import { Address, Token, TokenAmount } from '@summerfi/sdk-common/common' +import { decodeActionCalldata, getTargetHash } from '@summerfi/testing-utils' +import { SparkPaybackAction } from '../../../../src' +import { ChainFamilyMap } from '@summerfi/sdk-common' + +describe('SparkPaybackAction Action', () => { + const action = new SparkPaybackAction() + const contractNameWithVersion = `${action.config.name}_${action.config.version}` + + const DAI = Token.createFrom({ + chainInfo: ChainFamilyMap.Ethereum.Mainnet, + address: Address.createFromEthereum({ value: '0x6B175474E89094C44Da98b954EedeAC495271d0F' }), + decimals: 18, + name: 'Dai Stablecoin', + symbol: 'DAI', + }) + + const onBehalf = Address.createFromEthereum({ + value: '0x6ADb2E268de2aA1aBF6578E4a8119b960E02928F', + }) + + const tokenAmount = TokenAmount.createFrom({ token: DAI, amount: '578' }) + + it('should return the versioned name', () => { + expect(action.getVersionedName()).toBe(contractNameWithVersion) + }) + + it('should encode calls', async () => { + const call = action.encodeCall( + { + paybackAmount: tokenAmount, + paybackAll: true, + }, + [2, 6, 7, 9], + ) + + expect(call.targetHash).toBe(getTargetHash(action)) + + const actionDecodedArgs = decodeActionCalldata({ + action, + calldata: call.callData, + }) + + expect(actionDecodedArgs).toBeDefined() + expect(actionDecodedArgs?.args).toEqual([ + { + asset: tokenAmount.token.address.value, + amount: BigInt(tokenAmount.toBaseUnit()), + paybackAll: true, + }, + ]) + expect(actionDecodedArgs?.mapping).toEqual([2, 6, 7, 9]) + }) +}) diff --git a/sdk/protocol-plugins/tests/unit/actions/spark/SparkSetEModeAction.spec.ts b/sdk/protocol-plugins/tests/unit/actions/spark/SparkSetEModeAction.spec.ts new file mode 100644 index 0000000000..b044373d10 --- /dev/null +++ b/sdk/protocol-plugins/tests/unit/actions/spark/SparkSetEModeAction.spec.ts @@ -0,0 +1,35 @@ +import { decodeActionCalldata, getTargetHash } from '@summerfi/testing-utils' +import { EmodeType, SparkSetEmodeAction, aaveV3EmodeCategoryMap } from '../../../../src' + +describe('MorphoPaybackAction Action', () => { + const action = new SparkSetEmodeAction() + const contractNameWithVersion = `${action.config.name}` + + it('should return the versioned name', () => { + expect(action.getVersionedName()).toBe(contractNameWithVersion) + }) + + it('should encode calls', async () => { + const call = action.encodeCall( + { + emode: EmodeType.Stablecoins, + }, + [2, 6, 7, 9], + ) + + expect(call.targetHash).toBe(getTargetHash(action)) + + const actionDecodedArgs = decodeActionCalldata({ + action, + calldata: call.callData, + }) + + expect(actionDecodedArgs).toBeDefined() + expect(actionDecodedArgs?.args).toEqual([ + { + categoryId: aaveV3EmodeCategoryMap[EmodeType.Stablecoins], + }, + ]) + expect(actionDecodedArgs?.mapping).toEqual([2, 6, 7, 9]) + }) +}) diff --git a/sdk/protocol-plugins/tests/unit/actions/spark/SparkWithdrawAction.spec.ts b/sdk/protocol-plugins/tests/unit/actions/spark/SparkWithdrawAction.spec.ts new file mode 100644 index 0000000000..3df761c3c5 --- /dev/null +++ b/sdk/protocol-plugins/tests/unit/actions/spark/SparkWithdrawAction.spec.ts @@ -0,0 +1,54 @@ +import { Address, Token, TokenAmount } from '@summerfi/sdk-common/common' +import { decodeActionCalldata, getTargetHash } from '@summerfi/testing-utils' +import { SparkWithdrawAction } from '../../../../src' +import { ChainFamilyMap } from '@summerfi/sdk-common' + +describe('SparkWithdrawAction Action', () => { + const action = new SparkWithdrawAction() + const contractNameWithVersion = `${action.config.name}` + + const DAI = Token.createFrom({ + chainInfo: ChainFamilyMap.Ethereum.Mainnet, + address: Address.createFromEthereum({ value: '0x6B175474E89094C44Da98b954EedeAC495271d0F' }), + decimals: 18, + name: 'Dai Stablecoin', + symbol: 'DAI', + }) + + const recipient = Address.createFromEthereum({ + value: '0x6ADb2E268de2aA1aBF6578E4a8119b960E02928F', + }) + + const tokenAmount = TokenAmount.createFrom({ token: DAI, amount: '578' }) + + it('should return the versioned name', () => { + expect(action.getVersionedName()).toBe(contractNameWithVersion) + }) + + it('should encode calls', async () => { + const call = action.encodeCall( + { + withdrawAmount: tokenAmount, + withdrawTo: recipient, + }, + [2, 6, 7, 9], + ) + + expect(call.targetHash).toBe(getTargetHash(action)) + + const actionDecodedArgs = decodeActionCalldata({ + action, + calldata: call.callData, + }) + + expect(actionDecodedArgs).toBeDefined() + expect(actionDecodedArgs?.args).toEqual([ + { + amount: BigInt(tokenAmount.toBaseUnit()), + asset: tokenAmount.token.address.value, + to: recipient.value, + }, + ]) + expect(actionDecodedArgs?.mapping).toEqual([2, 6, 7, 9]) + }) +}) diff --git a/sdk/protocol-plugins/tests/unit/builders/aaveV3/AaveV3DepositBorrowActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/aaveV3/AaveV3DepositBorrowActionBuilder.spec.ts new file mode 100644 index 0000000000..8531258dea --- /dev/null +++ b/sdk/protocol-plugins/tests/unit/builders/aaveV3/AaveV3DepositBorrowActionBuilder.spec.ts @@ -0,0 +1,214 @@ +import { + Address, + ChainFamilyMap, + ChainInfo, + PositionType, + Token, + TokenAmount, +} from '@summerfi/sdk-common/common' +import { SimulationSteps, TokenTransferTargetType, steps } from '@summerfi/sdk-common/simulation' +import { SetupBuilderReturnType, setupBuilderParams } from '../../../utils/SetupBuilderParams' +import { PoolType, ProtocolName } from '@summerfi/sdk-common/protocols' +import { getErrorMessage } from '@summerfi/testing-utils' +import assert from 'assert' +import { + EmodeType, + ILKType, + MakerLendingPool, + MakerLendingPoolId, + MakerPosition, + MakerPositionId, + MakerProtocol, + AaveV3DepositBorrowActionBuilder, + AaveV3LendingPool, + AaveV3LendingPoolId, + AaveV3Position, + AaveV3Protocol, +} from '../../../../src' + +describe('AaveV3 Deposit Borrow Action Builder', () => { + let builderParams: SetupBuilderReturnType + + const chainInfo: ChainInfo = ChainFamilyMap.Ethereum.Mainnet + + // Tokens + const WETH = Token.createFrom({ + chainInfo, + address: Address.createFromEthereum({ value: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2' }), + symbol: 'WETH', + name: 'Wrapped Ether', + decimals: 18, + }) + + const DAI = Token.createFrom({ + chainInfo, + address: Address.createFromEthereum({ value: '0x6B175474E89094C44Da98b954EedeAC495271d0F' }), + symbol: 'DAI', + name: 'Dai Stablecoin', + decimals: 18, + }) + + const depositAmount = TokenAmount.createFrom({ + token: WETH, + amount: '134.5', + }) + + const borrowAmount = TokenAmount.createFrom({ + token: DAI, + amount: '1000', + }) + + const protocol = AaveV3Protocol.createFrom({ + name: ProtocolName.AAVEv3, + chainInfo: ChainFamilyMap.Ethereum.Mainnet, + }) + + const poolId = AaveV3LendingPoolId.createFrom({ + protocol: protocol, + collateralToken: WETH, + debtToken: DAI, + emodeType: EmodeType.None, + }) + + const pool = AaveV3LendingPool.createFrom({ + collateralToken: WETH, + debtToken: DAI, + id: poolId, + type: PoolType.Lending, + }) + + const position = AaveV3Position.createFrom({ + type: PositionType.Multiply, + id: MakerPositionId.createFrom({ id: 'someposition', vaultId: '123' }), + debtAmount: borrowAmount, + collateralAmount: depositAmount, + pool: pool, + }) + + const wrongPosition = MakerPosition.createFrom({ + type: PositionType.Multiply, + id: MakerPositionId.createFrom({ id: 'someposition', vaultId: '123' }), + debtAmount: borrowAmount, + collateralAmount: depositAmount, + pool: MakerLendingPool.createFrom({ + collateralToken: WETH, + debtToken: DAI, + id: MakerLendingPoolId.createFrom({ + collateralToken: WETH, + debtToken: DAI, + protocol: MakerProtocol.createFrom({ + name: ProtocolName.Maker, + chainInfo: ChainFamilyMap.Ethereum.Mainnet, + }), + ilkType: ILKType.ETH_A, + }), + type: PoolType.Lending, + }), + }) + + const derivedStep: steps.DepositBorrowStep = { + type: SimulationSteps.DepositBorrow, + name: 'DepositBorrowStep', + inputs: { + depositAmount: depositAmount, + borrowAmount: borrowAmount, + position: position, + borrowTargetType: TokenTransferTargetType.StrategyExecutor, + }, + outputs: { + depositAmount: depositAmount, + borrowAmount: borrowAmount, + }, + } + + beforeEach(() => { + builderParams = setupBuilderParams({ chainInfo: ChainFamilyMap.Ethereum.Mainnet }) + }) + + it('should fail the position is not a AaveV3 one', async () => { + try { + await AaveV3DepositBorrowActionBuilder({ + ...builderParams, + step: { + ...derivedStep, + inputs: { + ...derivedStep.inputs, + position: wrongPosition, + }, + }, + protocolsRegistry: builderParams.emptyProtocolsRegistry, + }) + assert.fail('Should have thrown an error') + } catch (error: unknown) { + expect(getErrorMessage(error)).toEqual('Invalid AaveV3 lending pool') + } + }) + + it('should add all the action calls', async () => { + builderParams.context.startSubContext() + + await AaveV3DepositBorrowActionBuilder({ + ...builderParams, + step: derivedStep, + protocolsRegistry: builderParams.emptyProtocolsRegistry, + }) + + const { callsBatch } = builderParams.context.endSubContext() + + expect(callsBatch.length).toEqual(3) + + expect(callsBatch[0].name).toBe('SetApproval') + expect(callsBatch[1].name).toBe('AaveV3Deposit') + expect(callsBatch[2].name).toBe('AaveV3Borrow') + }) + + it('should not add borrow nor send token when borrow amount is 0', async () => { + builderParams.context.startSubContext() + + await AaveV3DepositBorrowActionBuilder({ + ...builderParams, + step: { + ...derivedStep, + inputs: { + ...derivedStep.inputs, + borrowAmount: TokenAmount.createFrom({ + token: DAI, + amount: '0', + }), + }, + }, + protocolsRegistry: builderParams.emptyProtocolsRegistry, + }) + + const { callsBatch } = builderParams.context.endSubContext() + + expect(callsBatch.length).toEqual(2) + + expect(callsBatch[0].name).toBe('SetApproval') + expect(callsBatch[1].name).toBe('AaveV3Deposit') + }) + + it('should add borrow but not send token when borrow target is positions manager', async () => { + builderParams.context.startSubContext() + + await AaveV3DepositBorrowActionBuilder({ + ...builderParams, + step: { + ...derivedStep, + inputs: { + ...derivedStep.inputs, + borrowTargetType: TokenTransferTargetType.PositionsManager, + }, + }, + protocolsRegistry: builderParams.emptyProtocolsRegistry, + }) + + const { callsBatch } = builderParams.context.endSubContext() + + expect(callsBatch.length).toEqual(3) + + expect(callsBatch[0].name).toBe('SetApproval') + expect(callsBatch[1].name).toBe('AaveV3Deposit') + expect(callsBatch[2].name).toBe('AaveV3Borrow') + }) +}) diff --git a/sdk/protocol-plugins/tests/unit/builders/aaveV3/AaveV3OpenPositionActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/aaveV3/AaveV3OpenPositionActionBuilder.spec.ts new file mode 100644 index 0000000000..874ce0977b --- /dev/null +++ b/sdk/protocol-plugins/tests/unit/builders/aaveV3/AaveV3OpenPositionActionBuilder.spec.ts @@ -0,0 +1,151 @@ +import { + Address, + ChainFamilyMap, + ChainInfo, + PositionType, + Token, + TokenAmount, +} from '@summerfi/sdk-common/common' +import { SimulationSteps, TokenTransferTargetType, steps } from '@summerfi/sdk-common/simulation' +import { SetupBuilderReturnType, setupBuilderParams } from '../../../utils/SetupBuilderParams' +import { PoolType, ProtocolName } from '@summerfi/sdk-common/protocols' +import { getErrorMessage } from '@summerfi/testing-utils' +import assert from 'assert' +import { + EmodeType, + ILKType, + MakerLendingPool, + MakerLendingPoolId, + MakerPositionId, + MakerProtocol, + AaveV3LendingPool, + AaveV3LendingPoolId, + AaveV3OpenPositionActionBuilder, + AaveV3Position, + AaveV3Protocol, +} from '../../../../src' + +describe('AaveV3 Open Position Action Builder', () => { + let builderParams: SetupBuilderReturnType + + const chainInfo: ChainInfo = ChainFamilyMap.Ethereum.Mainnet + + // Tokens + const WETH = Token.createFrom({ + chainInfo, + address: Address.createFromEthereum({ value: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2' }), + symbol: 'WETH', + name: 'Wrapped Ether', + decimals: 18, + }) + + const DAI = Token.createFrom({ + chainInfo, + address: Address.createFromEthereum({ value: '0x6B175474E89094C44Da98b954EedeAC495271d0F' }), + symbol: 'DAI', + name: 'Dai Stablecoin', + decimals: 18, + }) + + const depositAmount = TokenAmount.createFrom({ + token: WETH, + amount: '134.5', + }) + + const borrowAmount = TokenAmount.createFrom({ + token: DAI, + amount: '1000', + }) + + const protocol = AaveV3Protocol.createFrom({ + name: ProtocolName.AAVEv3, + chainInfo: ChainFamilyMap.Ethereum.Mainnet, + }) + + const poolId = AaveV3LendingPoolId.createFrom({ + protocol: protocol, + collateralToken: WETH, + debtToken: DAI, + emodeType: EmodeType.None, + }) + + const pool = AaveV3LendingPool.createFrom({ + collateralToken: WETH, + debtToken: DAI, + id: poolId, + type: PoolType.Lending, + }) + + const position = AaveV3Position.createFrom({ + type: PositionType.Multiply, + id: MakerPositionId.createFrom({ id: 'someposition', vaultId: '123' }), + debtAmount: borrowAmount, + collateralAmount: depositAmount, + pool: pool, + }) + + const wrongPool = MakerLendingPool.createFrom({ + collateralToken: WETH, + debtToken: DAI, + id: MakerLendingPoolId.createFrom({ + collateralToken: WETH, + debtToken: DAI, + protocol: MakerProtocol.createFrom({ + name: ProtocolName.Maker, + chainInfo: ChainFamilyMap.Ethereum.Mainnet, + }), + ilkType: ILKType.ETH_A, + }), + type: PoolType.Lending, + }) + + const derivedStep: steps.OpenPosition = { + type: SimulationSteps.OpenPosition, + name: 'OpenPosition', + inputs: { + pool: pool, + }, + outputs: { + position: position, + }, + } + + beforeEach(() => { + builderParams = setupBuilderParams({ chainInfo: ChainFamilyMap.Ethereum.Mainnet }) + }) + + it('should fail the position is not a AaveV3 one', async () => { + try { + await AaveV3OpenPositionActionBuilder({ + ...builderParams, + step: { + ...derivedStep, + inputs: { + ...derivedStep.inputs, + pool: wrongPool, + }, + }, + protocolsRegistry: builderParams.emptyProtocolsRegistry, + }) + assert.fail('Should have thrown an error') + } catch (error: unknown) { + expect(getErrorMessage(error)).toEqual('Invalid AaveV3 lending pool') + } + }) + + it('should add a transaction to the context', async () => { + builderParams.context.startSubContext() + + await AaveV3OpenPositionActionBuilder({ + ...builderParams, + step: derivedStep, + protocolsRegistry: builderParams.emptyProtocolsRegistry, + }) + + const { callsBatch } = builderParams.context.endSubContext() + + expect(callsBatch.length).toEqual(1) + + expect(callsBatch[0].name).toBe('AaveV3SetEMode') + }) +}) diff --git a/sdk/protocol-plugins/tests/unit/builders/aaveV3/AaveV3PaybackWithdrawActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/aaveV3/AaveV3PaybackWithdrawActionBuilder.spec.ts new file mode 100644 index 0000000000..3d17c20353 --- /dev/null +++ b/sdk/protocol-plugins/tests/unit/builders/aaveV3/AaveV3PaybackWithdrawActionBuilder.spec.ts @@ -0,0 +1,189 @@ +import { + Address, + ChainFamilyMap, + ChainInfo, + PositionType, + Token, + TokenAmount, +} from '@summerfi/sdk-common/common' +import { SimulationSteps, TokenTransferTargetType, steps } from '@summerfi/sdk-common/simulation' +import { SetupBuilderReturnType, setupBuilderParams } from '../../../utils/SetupBuilderParams' +import { PoolType, ProtocolName } from '@summerfi/sdk-common/protocols' +import { getErrorMessage } from '@summerfi/testing-utils' +import assert from 'assert' +import { + EmodeType, + ILKType, + MakerLendingPool, + MakerLendingPoolId, + MakerPosition, + MakerPositionId, + MakerProtocol, + AaveV3LendingPool, + AaveV3LendingPoolId, + AaveV3Position, + AaveV3Protocol, +} from '../../../../src' +import { AaveV3PaybackWithdrawActionBuilder } from '../../../../src' + +describe('AaveV3 Payback Withdraw Action Builder', () => { + let builderParams: SetupBuilderReturnType + + const chainInfo: ChainInfo = ChainFamilyMap.Ethereum.Mainnet + + // Tokens + const WETH = Token.createFrom({ + chainInfo, + address: Address.createFromEthereum({ value: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2' }), + symbol: 'WETH', + name: 'Wrapped Ether', + decimals: 18, + }) + + const DAI = Token.createFrom({ + chainInfo, + address: Address.createFromEthereum({ value: '0x6B175474E89094C44Da98b954EedeAC495271d0F' }), + symbol: 'DAI', + name: 'Dai Stablecoin', + decimals: 18, + }) + + const paybackAmount = TokenAmount.createFrom({ + token: WETH, + amount: '134.5', + }) + + const withdrawAmount = TokenAmount.createFrom({ + token: DAI, + amount: '1000', + }) + + const protocol = AaveV3Protocol.createFrom({ + name: ProtocolName.AAVEv3, + chainInfo: ChainFamilyMap.Ethereum.Mainnet, + }) + + const poolId = AaveV3LendingPoolId.createFrom({ + protocol: protocol, + collateralToken: WETH, + debtToken: DAI, + emodeType: EmodeType.None, + }) + + const pool = AaveV3LendingPool.createFrom({ + collateralToken: WETH, + debtToken: DAI, + id: poolId, + type: PoolType.Lending, + }) + + const position = AaveV3Position.createFrom({ + type: PositionType.Multiply, + id: MakerPositionId.createFrom({ id: 'someposition', vaultId: '123' }), + debtAmount: withdrawAmount, + collateralAmount: paybackAmount, + pool: pool, + }) + + const wrongPosition = MakerPosition.createFrom({ + type: PositionType.Multiply, + id: MakerPositionId.createFrom({ id: 'someposition', vaultId: '123' }), + debtAmount: withdrawAmount, + collateralAmount: paybackAmount, + pool: MakerLendingPool.createFrom({ + collateralToken: WETH, + debtToken: DAI, + id: MakerLendingPoolId.createFrom({ + collateralToken: WETH, + debtToken: DAI, + protocol: MakerProtocol.createFrom({ + name: ProtocolName.Maker, + chainInfo: ChainFamilyMap.Ethereum.Mainnet, + }), + ilkType: ILKType.ETH_A, + }), + type: PoolType.Lending, + }), + }) + + const derivedStep: steps.PaybackWithdrawStep = { + type: SimulationSteps.PaybackWithdraw, + name: 'PaybackWithdrawStep', + inputs: { + paybackAmount: paybackAmount, + withdrawAmount: withdrawAmount, + position: position, + withdrawTargetType: TokenTransferTargetType.PositionsManager, + }, + outputs: { + paybackAmount: paybackAmount, + withdrawAmount: withdrawAmount, + }, + } + + beforeEach(() => { + builderParams = setupBuilderParams({ chainInfo: ChainFamilyMap.Ethereum.Mainnet }) + }) + + it('should fail the position is not a AaveV3 one', async () => { + try { + await AaveV3PaybackWithdrawActionBuilder({ + ...builderParams, + step: { + ...derivedStep, + inputs: { + ...derivedStep.inputs, + position: wrongPosition, + }, + }, + protocolsRegistry: builderParams.emptyProtocolsRegistry, + }) + assert.fail('Should have thrown an error') + } catch (error: unknown) { + expect(getErrorMessage(error)).toEqual('Invalid AaveV3 lending pool') + } + }) + + it('should add all the action calls', async () => { + builderParams.context.startSubContext() + + await AaveV3PaybackWithdrawActionBuilder({ + ...builderParams, + step: derivedStep, + protocolsRegistry: builderParams.emptyProtocolsRegistry, + }) + + const { callsBatch } = builderParams.context.endSubContext() + + expect(callsBatch.length).toEqual(3) + + expect(callsBatch[0].name).toBe('SetApproval') + expect(callsBatch[1].name).toBe('AaveV3Payback') + expect(callsBatch[2].name).toBe('AaveV3Withdraw') + }) + + it('should not add payback when payback amount is 0', async () => { + builderParams.context.startSubContext() + + await AaveV3PaybackWithdrawActionBuilder({ + ...builderParams, + step: { + ...derivedStep, + inputs: { + ...derivedStep.inputs, + paybackAmount: TokenAmount.createFrom({ + token: DAI, + amount: '0', + }), + }, + }, + protocolsRegistry: builderParams.emptyProtocolsRegistry, + }) + + const { callsBatch } = builderParams.context.endSubContext() + + expect(callsBatch.length).toEqual(1) + + expect(callsBatch[0].name).toBe('AaveV3Withdraw') + }) +}) diff --git a/sdk/protocol-plugins/tests/unit/builders/maker/MakerImportPositionActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/maker/MakerImportPositionActionBuilder.spec.ts new file mode 100644 index 0000000000..be318185e5 --- /dev/null +++ b/sdk/protocol-plugins/tests/unit/builders/maker/MakerImportPositionActionBuilder.spec.ts @@ -0,0 +1,178 @@ +import { + Address, + ChainFamilyMap, + ChainInfo, + Percentage, + PositionType, + RiskRatio, + RiskRatioType, + Token, + TokenAmount, +} from '@summerfi/sdk-common/common' +import { SimulationSteps, TokenTransferTargetType, steps } from '@summerfi/sdk-common/simulation' +import { SetupBuilderReturnType, setupBuilderParams } from '../../../utils/SetupBuilderParams' +import { PoolType, ProtocolName } from '@summerfi/sdk-common/protocols' +import { getErrorMessage } from '@summerfi/testing-utils' +import assert from 'assert' +import { + ILKType, + MakerPositionId, + MakerLendingPool, + MakerLendingPoolId, + MakerPosition, + MakerProtocol, + MakerImportPositionActionBuilder, + MorphoPosition, + MorphoLendingPool, + MorphoLendingPoolId, + MorphoProtocol, +} from '../../../../src' +import { ExternalPositionType } from '@summerfi/sdk-common' + +describe('Maker Import Position Action Builder', () => { + let builderParams: SetupBuilderReturnType + + const chainInfo: ChainInfo = ChainFamilyMap.Ethereum.Mainnet + + // Tokens + const WETH = Token.createFrom({ + chainInfo, + address: Address.createFromEthereum({ value: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2' }), + symbol: 'WETH', + name: 'Wrapped Ether', + decimals: 18, + }) + + const DAI = Token.createFrom({ + chainInfo, + address: Address.createFromEthereum({ value: '0x6B175474E89094C44Da98b954EedeAC495271d0F' }), + symbol: 'DAI', + name: 'Dai Stablecoin', + decimals: 18, + }) + + const externalPositionOwner = Address.createFromEthereum({ + value: '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', + }) + + const depositAmount = TokenAmount.createFrom({ + token: WETH, + amount: '134.5', + }) + + const borrowAmount = TokenAmount.createFrom({ + token: DAI, + amount: '1000', + }) + + const protocol = MakerProtocol.createFrom({ + name: ProtocolName.Maker, + chainInfo: ChainFamilyMap.Ethereum.Mainnet, + }) + + const poolId = MakerLendingPoolId.createFrom({ + collateralToken: WETH, + debtToken: DAI, + ilkType: ILKType.ETH_A, + protocol: protocol, + }) + + const pool = MakerLendingPool.createFrom({ + collateralToken: WETH, + debtToken: DAI, + id: poolId, + type: PoolType.Lending, + }) + + const position = MakerPosition.createFrom({ + type: PositionType.Multiply, + id: MakerPositionId.createFrom({ id: 'someposition', vaultId: '123' }), + debtAmount: borrowAmount, + collateralAmount: depositAmount, + pool: pool, + }) + + const wrongPosition = MorphoPosition.createFrom({ + type: PositionType.Multiply, + id: MakerPositionId.createFrom({ id: 'someposition', vaultId: '123' }), + debtAmount: borrowAmount, + collateralAmount: depositAmount, + pool: MorphoLendingPool.createFrom({ + collateralToken: WETH, + debtToken: DAI, + id: MorphoLendingPoolId.createFrom({ + marketId: '0x1234', + protocol: MorphoProtocol.createFrom({ + name: ProtocolName.Morpho, + chainInfo: ChainFamilyMap.Ethereum.Mainnet, + }), + }), + irm: Address.createFromEthereum({ value: '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599' }), + oracle: Address.createFromEthereum({ value: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48' }), + lltv: RiskRatio.createFrom({ + value: Percentage.createFrom({ value: 0.5 }), + type: RiskRatioType.LTV, + }), + type: PoolType.Lending, + }), + }) + + const derivedStep: steps.ImportStep = { + type: SimulationSteps.Import, + name: 'ImportPosition', + inputs: { + externalPosition: { + position: position, + externalId: { + address: externalPositionOwner, + type: ExternalPositionType.WALLET, + }, + }, + }, + outputs: undefined, + } + + beforeEach(() => { + builderParams = setupBuilderParams({ chainInfo: ChainFamilyMap.Ethereum.Mainnet }) + }) + + it('should fail the position is not a Maker one', async () => { + try { + await MakerImportPositionActionBuilder({ + ...builderParams, + step: { + ...derivedStep, + inputs: { + ...derivedStep.inputs, + externalPosition: { + position: wrongPosition, + externalId: { + address: externalPositionOwner, + type: ExternalPositionType.WALLET, + }, + }, + }, + }, + protocolsRegistry: builderParams.emptyProtocolsRegistry, + }) + assert.fail('Should have thrown an error') + } catch (error: unknown) { + expect(getErrorMessage(error)).toEqual('Invalid Maker lending pool id') + } + }) + + it('should add a new transaction to the context', async () => { + builderParams.context.startSubContext() + + await MakerImportPositionActionBuilder({ + ...builderParams, + step: derivedStep, + protocolsRegistry: builderParams.protocolsRegistry, + }) + + const { callsBatch } = builderParams.context.endSubContext() + + expect(callsBatch.length).toEqual(0) + expect(builderParams.context.transactions.length).toEqual(1) + }) +}) diff --git a/sdk/protocol-plugins/tests/unit/builders/maker/MakerOpenPositionActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/maker/MakerOpenPositionActionBuilder.spec.ts new file mode 100644 index 0000000000..bcd2154c07 --- /dev/null +++ b/sdk/protocol-plugins/tests/unit/builders/maker/MakerOpenPositionActionBuilder.spec.ts @@ -0,0 +1,155 @@ +import { + Address, + ChainFamilyMap, + ChainInfo, + Percentage, + PositionType, + RiskRatio, + RiskRatioType, + Token, + TokenAmount, +} from '@summerfi/sdk-common/common' +import { SimulationSteps, TokenTransferTargetType, steps } from '@summerfi/sdk-common/simulation' +import { SetupBuilderReturnType, setupBuilderParams } from '../../../utils/SetupBuilderParams' +import { PoolType, ProtocolName } from '@summerfi/sdk-common/protocols' +import { getErrorMessage } from '@summerfi/testing-utils' +import assert from 'assert' +import { + ILKType, + MakerPositionId, + MakerLendingPool, + MakerLendingPoolId, + MakerOpenPositionActionBuilder, + MakerPosition, + MakerProtocol, + MorphoLendingPool, + MorphoLendingPoolId, + MorphoProtocol, +} from '../../../../src' + +describe('Maker Open Position Action Builder', () => { + let builderParams: SetupBuilderReturnType + + const chainInfo: ChainInfo = ChainFamilyMap.Ethereum.Mainnet + + // Tokens + const WETH = Token.createFrom({ + chainInfo, + address: Address.createFromEthereum({ value: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2' }), + symbol: 'WETH', + name: 'Wrapped Ether', + decimals: 18, + }) + + const DAI = Token.createFrom({ + chainInfo, + address: Address.createFromEthereum({ value: '0x6B175474E89094C44Da98b954EedeAC495271d0F' }), + symbol: 'DAI', + name: 'Dai Stablecoin', + decimals: 18, + }) + + const depositAmount = TokenAmount.createFrom({ + token: WETH, + amount: '134.5', + }) + + const borrowAmount = TokenAmount.createFrom({ + token: DAI, + amount: '1000', + }) + + const protocol = MakerProtocol.createFrom({ + name: ProtocolName.Maker, + chainInfo: ChainFamilyMap.Ethereum.Mainnet, + }) + + const poolId = MakerLendingPoolId.createFrom({ + protocol: protocol, + collateralToken: WETH, + debtToken: DAI, + ilkType: ILKType.ETH_A, + }) + + const pool = MakerLendingPool.createFrom({ + collateralToken: WETH, + debtToken: DAI, + id: poolId, + type: PoolType.Lending, + }) + + const position = MakerPosition.createFrom({ + type: PositionType.Multiply, + id: MakerPositionId.createFrom({ id: 'someposition', vaultId: '123' }), + debtAmount: borrowAmount, + collateralAmount: depositAmount, + pool: pool, + }) + + const wrongPool = MorphoLendingPool.createFrom({ + collateralToken: WETH, + debtToken: DAI, + id: MorphoLendingPoolId.createFrom({ + marketId: '0x1234', + protocol: MorphoProtocol.createFrom({ + name: ProtocolName.Morpho, + chainInfo: ChainFamilyMap.Ethereum.Mainnet, + }), + }), + irm: Address.createFromEthereum({ value: '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599' }), + oracle: Address.createFromEthereum({ value: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48' }), + lltv: RiskRatio.createFrom({ + value: Percentage.createFrom({ value: 0.5 }), + type: RiskRatioType.LTV, + }), + type: PoolType.Lending, + }) + + const derivedStep: steps.OpenPosition = { + type: SimulationSteps.OpenPosition, + name: 'OpenPosition', + inputs: { + pool: pool, + }, + outputs: { + position: position, + }, + } + + beforeEach(() => { + builderParams = setupBuilderParams({ chainInfo: ChainFamilyMap.Ethereum.Mainnet }) + }) + + it('should fail the position is not a Maker one', async () => { + try { + await MakerOpenPositionActionBuilder({ + ...builderParams, + step: { + ...derivedStep, + inputs: { + ...derivedStep.inputs, + pool: wrongPool, + }, + }, + protocolsRegistry: builderParams.emptyProtocolsRegistry, + }) + assert.fail('Should have thrown an error') + } catch (error: unknown) { + expect(getErrorMessage(error)).toEqual('Invalid Maker lending pool id') + } + }) + + it('should not add a transaction to the context', async () => { + builderParams.context.startSubContext() + + await MakerOpenPositionActionBuilder({ + ...builderParams, + step: derivedStep, + protocolsRegistry: builderParams.emptyProtocolsRegistry, + }) + + const { callsBatch } = builderParams.context.endSubContext() + + expect(callsBatch.length).toEqual(0) + }) +}) diff --git a/sdk/protocol-plugins/tests/unit/builders/maker/MakerPaybackWithdrawActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/maker/MakerPaybackWithdrawActionBuilder.spec.ts new file mode 100644 index 0000000000..13d0e1bd8e --- /dev/null +++ b/sdk/protocol-plugins/tests/unit/builders/maker/MakerPaybackWithdrawActionBuilder.spec.ts @@ -0,0 +1,194 @@ +import { + Address, + ChainFamilyMap, + ChainInfo, + Percentage, + PositionType, + Token, + TokenAmount, +} from '@summerfi/sdk-common/common' +import { SimulationSteps, TokenTransferTargetType, steps } from '@summerfi/sdk-common/simulation' +import { SetupBuilderReturnType, setupBuilderParams } from '../../../utils/SetupBuilderParams' +import { PoolType, ProtocolName } from '@summerfi/sdk-common/protocols' +import { getErrorMessage } from '@summerfi/testing-utils' +import assert from 'assert' +import { + ILKType, + MakerPositionId, + MakerLendingPool, + MakerLendingPoolId, + MakerPosition, + MakerProtocol, + MorphoPosition, + MorphoLendingPool, + MorphoLendingPoolId, + MorphoProtocol, + MakerPaybackWithdrawActionBuilder, +} from '../../../../src' + +import { RiskRatio, RiskRatioType } from '@summerfi/sdk-common' + +describe('Maker Payback Withdraw Action Builder', () => { + let builderParams: SetupBuilderReturnType + + const chainInfo: ChainInfo = ChainFamilyMap.Ethereum.Mainnet + + // Tokens + const WETH = Token.createFrom({ + chainInfo, + address: Address.createFromEthereum({ value: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2' }), + symbol: 'WETH', + name: 'Wrapped Ether', + decimals: 18, + }) + + const DAI = Token.createFrom({ + chainInfo, + address: Address.createFromEthereum({ value: '0x6B175474E89094C44Da98b954EedeAC495271d0F' }), + symbol: 'DAI', + name: 'Dai Stablecoin', + decimals: 18, + }) + + const debtAmount = TokenAmount.createFrom({ + token: WETH, + amount: '134.5', + }) + + const collateralAmount = TokenAmount.createFrom({ + token: DAI, + amount: '1000', + }) + + const protocol = MakerProtocol.createFrom({ + name: ProtocolName.Maker, + chainInfo: ChainFamilyMap.Ethereum.Mainnet, + }) + + const poolId = MakerLendingPoolId.createFrom({ + collateralToken: collateralAmount.token, + debtToken: debtAmount.token, + ilkType: ILKType.ETH_A, + protocol: protocol, + }) + + const pool = MakerLendingPool.createFrom({ + collateralToken: WETH, + debtToken: DAI, + id: poolId, + type: PoolType.Lending, + }) + + const position = MakerPosition.createFrom({ + type: PositionType.Multiply, + id: MakerPositionId.createFrom({ id: 'someposition', vaultId: '123' }), + debtAmount: debtAmount, + collateralAmount: collateralAmount, + pool: pool, + }) + + const wrongPosition = MorphoPosition.createFrom({ + type: PositionType.Multiply, + id: MakerPositionId.createFrom({ id: 'someposition', vaultId: '123' }), + debtAmount: debtAmount, + collateralAmount: collateralAmount, + pool: MorphoLendingPool.createFrom({ + collateralToken: WETH, + debtToken: DAI, + id: MorphoLendingPoolId.createFrom({ + marketId: '0x1234', + protocol: MorphoProtocol.createFrom({ + name: ProtocolName.Morpho, + chainInfo: ChainFamilyMap.Ethereum.Mainnet, + }), + }), + irm: Address.createFromEthereum({ value: '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599' }), + oracle: Address.createFromEthereum({ value: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48' }), + lltv: RiskRatio.createFrom({ + value: Percentage.createFrom({ value: 0.5 }), + type: RiskRatioType.LTV, + }), + type: PoolType.Lending, + }), + }) + + const derivedStep: steps.PaybackWithdrawStep = { + type: SimulationSteps.PaybackWithdraw, + name: 'PaybackWithdrawStep', + inputs: { + paybackAmount: debtAmount, + withdrawAmount: collateralAmount, + position: position, + withdrawTargetType: TokenTransferTargetType.PositionsManager, + }, + outputs: { + paybackAmount: debtAmount, + withdrawAmount: collateralAmount, + }, + } + + beforeEach(() => { + builderParams = setupBuilderParams({ chainInfo: ChainFamilyMap.Ethereum.Mainnet }) + }) + + it('should fail the position is not a Maker one', async () => { + try { + await MakerPaybackWithdrawActionBuilder({ + ...builderParams, + step: { + ...derivedStep, + inputs: { + ...derivedStep.inputs, + position: wrongPosition, + }, + }, + protocolsRegistry: builderParams.emptyProtocolsRegistry, + }) + assert.fail('Should have thrown an error') + } catch (error: unknown) { + expect(getErrorMessage(error)).toEqual('Invalid Maker lending pool id') + } + }) + + it('should add all the action calls', async () => { + builderParams.context.startSubContext() + + await MakerPaybackWithdrawActionBuilder({ + ...builderParams, + step: derivedStep, + protocolsRegistry: builderParams.emptyProtocolsRegistry, + }) + + const { callsBatch } = builderParams.context.endSubContext() + + expect(callsBatch.length).toEqual(2) + + expect(callsBatch[0].name).toBe('MakerPayback') + expect(callsBatch[1].name).toBe('MakerWithdraw') + }) + + it('should not add payback when payback amount is 0', async () => { + builderParams.context.startSubContext() + + await MakerPaybackWithdrawActionBuilder({ + ...builderParams, + step: { + ...derivedStep, + inputs: { + ...derivedStep.inputs, + paybackAmount: TokenAmount.createFrom({ + token: DAI, + amount: '0', + }), + }, + }, + protocolsRegistry: builderParams.emptyProtocolsRegistry, + }) + + const { callsBatch } = builderParams.context.endSubContext() + + expect(callsBatch.length).toEqual(1) + + expect(callsBatch[0].name).toBe('MakerWithdraw') + }) +}) diff --git a/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoDepositBorrowActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoDepositBorrowActionBuilder.spec.ts index ecdf1d35db..c9ceb71345 100644 --- a/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoDepositBorrowActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoDepositBorrowActionBuilder.spec.ts @@ -25,6 +25,7 @@ import { MorphoLendingPool, MorphoLendingPoolId, MorphoPosition, + MorphoPositionId, MorphoProtocol, } from '../../../../src' @@ -85,7 +86,7 @@ describe('Morpho Deposit Borrow Action Builder', () => { const position = MorphoPosition.createFrom({ type: PositionType.Multiply, - id: MakerPositionId.createFrom({ id: 'someposition', vaultId: '123' }), + id: MorphoPositionId.createFrom({ id: 'someposition' }), debtAmount: borrowAmount, collateralAmount: depositAmount, pool: pool, diff --git a/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoOpenPositionActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoOpenPositionActionBuilder.spec.ts new file mode 100644 index 0000000000..e37a8402bc --- /dev/null +++ b/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoOpenPositionActionBuilder.spec.ts @@ -0,0 +1,155 @@ +import { + Address, + ChainFamilyMap, + ChainInfo, + Percentage, + PositionType, + RiskRatio, + RiskRatioType, + Token, + TokenAmount, +} from '@summerfi/sdk-common/common' +import { SimulationSteps, TokenTransferTargetType, steps } from '@summerfi/sdk-common/simulation' +import { SetupBuilderReturnType, setupBuilderParams } from '../../../utils/SetupBuilderParams' +import { PoolType, ProtocolName } from '@summerfi/sdk-common/protocols' +import { getErrorMessage } from '@summerfi/testing-utils' +import assert from 'assert' +import { + ILKType, + MorphoPositionId, + MorphoPosition, + MorphoLendingPool, + MorphoLendingPoolId, + MorphoProtocol, + MakerLendingPool, + MakerLendingPoolId, + MakerProtocol, + MorphoOpenPositionActionBuilder, +} from '../../../../src' + +describe('Morpho Open Position Action Builder', () => { + let builderParams: SetupBuilderReturnType + + const chainInfo: ChainInfo = ChainFamilyMap.Ethereum.Mainnet + + // Tokens + const WETH = Token.createFrom({ + chainInfo, + address: Address.createFromEthereum({ value: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2' }), + symbol: 'WETH', + name: 'Wrapped Ether', + decimals: 18, + }) + + const DAI = Token.createFrom({ + chainInfo, + address: Address.createFromEthereum({ value: '0x6B175474E89094C44Da98b954EedeAC495271d0F' }), + symbol: 'DAI', + name: 'Dai Stablecoin', + decimals: 18, + }) + + const depositAmount = TokenAmount.createFrom({ + token: WETH, + amount: '134.5', + }) + + const borrowAmount = TokenAmount.createFrom({ + token: DAI, + amount: '1000', + }) + + const protocol = MorphoProtocol.createFrom({ + name: ProtocolName.Morpho, + chainInfo: ChainFamilyMap.Ethereum.Mainnet, + }) + + const poolId = MorphoLendingPoolId.createFrom({ + marketId: '0x1234', + protocol: protocol, + }) + + const pool = MorphoLendingPool.createFrom({ + collateralToken: WETH, + debtToken: DAI, + id: poolId, + irm: Address.createFromEthereum({ value: '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599' }), + oracle: Address.createFromEthereum({ value: '0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48' }), + lltv: RiskRatio.createFrom({ + value: Percentage.createFrom({ value: 0.5 }), + type: RiskRatioType.LTV, + }), + type: PoolType.Lending, + }) + + const position = MorphoPosition.createFrom({ + type: PositionType.Multiply, + id: MorphoPositionId.createFrom({ id: 'someposition' }), + debtAmount: borrowAmount, + collateralAmount: depositAmount, + pool: pool, + }) + + const wrongPool = MakerLendingPool.createFrom({ + collateralToken: WETH, + debtToken: DAI, + id: MakerLendingPoolId.createFrom({ + collateralToken: WETH, + debtToken: DAI, + protocol: MakerProtocol.createFrom({ + name: ProtocolName.Maker, + chainInfo: ChainFamilyMap.Ethereum.Mainnet, + }), + ilkType: ILKType.ETH_A, + }), + type: PoolType.Lending, + }) + + const derivedStep: steps.OpenPosition = { + type: SimulationSteps.OpenPosition, + name: 'OpenPosition', + inputs: { + pool: pool, + }, + outputs: { + position: position, + }, + } + + beforeEach(() => { + builderParams = setupBuilderParams({ chainInfo: ChainFamilyMap.Ethereum.Mainnet }) + }) + + it('should fail the position is not a Morpho one', async () => { + try { + await MorphoOpenPositionActionBuilder({ + ...builderParams, + step: { + ...derivedStep, + inputs: { + ...derivedStep.inputs, + pool: wrongPool, + }, + }, + protocolsRegistry: builderParams.emptyProtocolsRegistry, + }) + assert.fail('Should have thrown an error') + } catch (error: unknown) { + expect(getErrorMessage(error)).toEqual('Invalid Morpho lending pool id') + } + }) + + it('should not add a transaction to the context', async () => { + builderParams.context.startSubContext() + + await MorphoOpenPositionActionBuilder({ + ...builderParams, + step: derivedStep, + protocolsRegistry: builderParams.emptyProtocolsRegistry, + }) + + const { callsBatch } = builderParams.context.endSubContext() + + expect(callsBatch.length).toEqual(0) + }) +}) diff --git a/sdk/protocol-plugins/tests/unit/builders/spark/SparkDepositBorrowActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/spark/SparkDepositBorrowActionBuilder.spec.ts new file mode 100644 index 0000000000..2c095989c1 --- /dev/null +++ b/sdk/protocol-plugins/tests/unit/builders/spark/SparkDepositBorrowActionBuilder.spec.ts @@ -0,0 +1,214 @@ +import { + Address, + ChainFamilyMap, + ChainInfo, + PositionType, + Token, + TokenAmount, +} from '@summerfi/sdk-common/common' +import { SimulationSteps, TokenTransferTargetType, steps } from '@summerfi/sdk-common/simulation' +import { SetupBuilderReturnType, setupBuilderParams } from '../../../utils/SetupBuilderParams' +import { PoolType, ProtocolName } from '@summerfi/sdk-common/protocols' +import { getErrorMessage } from '@summerfi/testing-utils' +import assert from 'assert' +import { + EmodeType, + ILKType, + MakerLendingPool, + MakerLendingPoolId, + MakerPosition, + MakerPositionId, + MakerProtocol, + SparkDepositBorrowActionBuilder, + SparkLendingPool, + SparkLendingPoolId, + SparkPosition, + SparkProtocol, +} from '../../../../src' + +describe('Spark Deposit Borrow Action Builder', () => { + let builderParams: SetupBuilderReturnType + + const chainInfo: ChainInfo = ChainFamilyMap.Ethereum.Mainnet + + // Tokens + const WETH = Token.createFrom({ + chainInfo, + address: Address.createFromEthereum({ value: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2' }), + symbol: 'WETH', + name: 'Wrapped Ether', + decimals: 18, + }) + + const DAI = Token.createFrom({ + chainInfo, + address: Address.createFromEthereum({ value: '0x6B175474E89094C44Da98b954EedeAC495271d0F' }), + symbol: 'DAI', + name: 'Dai Stablecoin', + decimals: 18, + }) + + const depositAmount = TokenAmount.createFrom({ + token: WETH, + amount: '134.5', + }) + + const borrowAmount = TokenAmount.createFrom({ + token: DAI, + amount: '1000', + }) + + const protocol = SparkProtocol.createFrom({ + name: ProtocolName.Spark, + chainInfo: ChainFamilyMap.Ethereum.Mainnet, + }) + + const poolId = SparkLendingPoolId.createFrom({ + protocol: protocol, + collateralToken: WETH, + debtToken: DAI, + emodeType: EmodeType.None, + }) + + const pool = SparkLendingPool.createFrom({ + collateralToken: WETH, + debtToken: DAI, + id: poolId, + type: PoolType.Lending, + }) + + const position = SparkPosition.createFrom({ + type: PositionType.Multiply, + id: MakerPositionId.createFrom({ id: 'someposition', vaultId: '123' }), + debtAmount: borrowAmount, + collateralAmount: depositAmount, + pool: pool, + }) + + const wrongPosition = MakerPosition.createFrom({ + type: PositionType.Multiply, + id: MakerPositionId.createFrom({ id: 'someposition', vaultId: '123' }), + debtAmount: borrowAmount, + collateralAmount: depositAmount, + pool: MakerLendingPool.createFrom({ + collateralToken: WETH, + debtToken: DAI, + id: MakerLendingPoolId.createFrom({ + collateralToken: WETH, + debtToken: DAI, + protocol: MakerProtocol.createFrom({ + name: ProtocolName.Maker, + chainInfo: ChainFamilyMap.Ethereum.Mainnet, + }), + ilkType: ILKType.ETH_A, + }), + type: PoolType.Lending, + }), + }) + + const derivedStep: steps.DepositBorrowStep = { + type: SimulationSteps.DepositBorrow, + name: 'DepositBorrowStep', + inputs: { + depositAmount: depositAmount, + borrowAmount: borrowAmount, + position: position, + borrowTargetType: TokenTransferTargetType.StrategyExecutor, + }, + outputs: { + depositAmount: depositAmount, + borrowAmount: borrowAmount, + }, + } + + beforeEach(() => { + builderParams = setupBuilderParams({ chainInfo: ChainFamilyMap.Ethereum.Mainnet }) + }) + + it('should fail the position is not a Spark one', async () => { + try { + await SparkDepositBorrowActionBuilder({ + ...builderParams, + step: { + ...derivedStep, + inputs: { + ...derivedStep.inputs, + position: wrongPosition, + }, + }, + protocolsRegistry: builderParams.emptyProtocolsRegistry, + }) + assert.fail('Should have thrown an error') + } catch (error: unknown) { + expect(getErrorMessage(error)).toEqual('Invalid Spark lending pool') + } + }) + + it('should add all the action calls', async () => { + builderParams.context.startSubContext() + + await SparkDepositBorrowActionBuilder({ + ...builderParams, + step: derivedStep, + protocolsRegistry: builderParams.emptyProtocolsRegistry, + }) + + const { callsBatch } = builderParams.context.endSubContext() + + expect(callsBatch.length).toEqual(3) + + expect(callsBatch[0].name).toBe('SetApproval') + expect(callsBatch[1].name).toBe('SparkDeposit') + expect(callsBatch[2].name).toBe('SparkBorrow') + }) + + it('should not add borrow nor send token when borrow amount is 0', async () => { + builderParams.context.startSubContext() + + await SparkDepositBorrowActionBuilder({ + ...builderParams, + step: { + ...derivedStep, + inputs: { + ...derivedStep.inputs, + borrowAmount: TokenAmount.createFrom({ + token: DAI, + amount: '0', + }), + }, + }, + protocolsRegistry: builderParams.emptyProtocolsRegistry, + }) + + const { callsBatch } = builderParams.context.endSubContext() + + expect(callsBatch.length).toEqual(2) + + expect(callsBatch[0].name).toBe('SetApproval') + expect(callsBatch[1].name).toBe('SparkDeposit') + }) + + it('should add borrow but not send token when borrow target is positions manager', async () => { + builderParams.context.startSubContext() + + await SparkDepositBorrowActionBuilder({ + ...builderParams, + step: { + ...derivedStep, + inputs: { + ...derivedStep.inputs, + borrowTargetType: TokenTransferTargetType.PositionsManager, + }, + }, + protocolsRegistry: builderParams.emptyProtocolsRegistry, + }) + + const { callsBatch } = builderParams.context.endSubContext() + + expect(callsBatch.length).toEqual(3) + + expect(callsBatch[0].name).toBe('SetApproval') + expect(callsBatch[1].name).toBe('SparkDeposit') + expect(callsBatch[2].name).toBe('SparkBorrow') + }) +}) diff --git a/sdk/protocol-plugins/tests/unit/builders/spark/SparkOpenPositionActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/spark/SparkOpenPositionActionBuilder.spec.ts new file mode 100644 index 0000000000..23744076fb --- /dev/null +++ b/sdk/protocol-plugins/tests/unit/builders/spark/SparkOpenPositionActionBuilder.spec.ts @@ -0,0 +1,151 @@ +import { + Address, + ChainFamilyMap, + ChainInfo, + PositionType, + Token, + TokenAmount, +} from '@summerfi/sdk-common/common' +import { SimulationSteps, TokenTransferTargetType, steps } from '@summerfi/sdk-common/simulation' +import { SetupBuilderReturnType, setupBuilderParams } from '../../../utils/SetupBuilderParams' +import { PoolType, ProtocolName } from '@summerfi/sdk-common/protocols' +import { getErrorMessage } from '@summerfi/testing-utils' +import assert from 'assert' +import { + EmodeType, + ILKType, + MakerLendingPool, + MakerLendingPoolId, + MakerPositionId, + MakerProtocol, + SparkLendingPool, + SparkLendingPoolId, + SparkOpenPositionActionBuilder, + SparkPosition, + SparkProtocol, +} from '../../../../src' + +describe('Spark Deposit Borrow Action Builder', () => { + let builderParams: SetupBuilderReturnType + + const chainInfo: ChainInfo = ChainFamilyMap.Ethereum.Mainnet + + // Tokens + const WETH = Token.createFrom({ + chainInfo, + address: Address.createFromEthereum({ value: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2' }), + symbol: 'WETH', + name: 'Wrapped Ether', + decimals: 18, + }) + + const DAI = Token.createFrom({ + chainInfo, + address: Address.createFromEthereum({ value: '0x6B175474E89094C44Da98b954EedeAC495271d0F' }), + symbol: 'DAI', + name: 'Dai Stablecoin', + decimals: 18, + }) + + const depositAmount = TokenAmount.createFrom({ + token: WETH, + amount: '134.5', + }) + + const borrowAmount = TokenAmount.createFrom({ + token: DAI, + amount: '1000', + }) + + const protocol = SparkProtocol.createFrom({ + name: ProtocolName.Spark, + chainInfo: ChainFamilyMap.Ethereum.Mainnet, + }) + + const poolId = SparkLendingPoolId.createFrom({ + protocol: protocol, + collateralToken: WETH, + debtToken: DAI, + emodeType: EmodeType.None, + }) + + const pool = SparkLendingPool.createFrom({ + collateralToken: WETH, + debtToken: DAI, + id: poolId, + type: PoolType.Lending, + }) + + const position = SparkPosition.createFrom({ + type: PositionType.Multiply, + id: MakerPositionId.createFrom({ id: 'someposition', vaultId: '123' }), + debtAmount: borrowAmount, + collateralAmount: depositAmount, + pool: pool, + }) + + const wrongPool = MakerLendingPool.createFrom({ + collateralToken: WETH, + debtToken: DAI, + id: MakerLendingPoolId.createFrom({ + collateralToken: WETH, + debtToken: DAI, + protocol: MakerProtocol.createFrom({ + name: ProtocolName.Maker, + chainInfo: ChainFamilyMap.Ethereum.Mainnet, + }), + ilkType: ILKType.ETH_A, + }), + type: PoolType.Lending, + }) + + const derivedStep: steps.OpenPosition = { + type: SimulationSteps.OpenPosition, + name: 'OpenPosition', + inputs: { + pool: pool, + }, + outputs: { + position: position, + }, + } + + beforeEach(() => { + builderParams = setupBuilderParams({ chainInfo: ChainFamilyMap.Ethereum.Mainnet }) + }) + + it('should fail the position is not a Spark one', async () => { + try { + await SparkOpenPositionActionBuilder({ + ...builderParams, + step: { + ...derivedStep, + inputs: { + ...derivedStep.inputs, + pool: wrongPool, + }, + }, + protocolsRegistry: builderParams.emptyProtocolsRegistry, + }) + assert.fail('Should have thrown an error') + } catch (error: unknown) { + expect(getErrorMessage(error)).toEqual('Invalid Spark lending pool') + } + }) + + it('should add all the action calls', async () => { + builderParams.context.startSubContext() + + await SparkOpenPositionActionBuilder({ + ...builderParams, + step: derivedStep, + protocolsRegistry: builderParams.emptyProtocolsRegistry, + }) + + const { callsBatch } = builderParams.context.endSubContext() + + expect(callsBatch.length).toEqual(1) + + expect(callsBatch[0].name).toBe('SparkSetEMode') + }) +}) diff --git a/sdk/protocol-plugins/tests/unit/builders/spark/SparkPaybackWithdrawActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/spark/SparkPaybackWithdrawActionBuilder.spec.ts new file mode 100644 index 0000000000..e39cd39f08 --- /dev/null +++ b/sdk/protocol-plugins/tests/unit/builders/spark/SparkPaybackWithdrawActionBuilder.spec.ts @@ -0,0 +1,189 @@ +import { + Address, + ChainFamilyMap, + ChainInfo, + PositionType, + Token, + TokenAmount, +} from '@summerfi/sdk-common/common' +import { SimulationSteps, TokenTransferTargetType, steps } from '@summerfi/sdk-common/simulation' +import { SetupBuilderReturnType, setupBuilderParams } from '../../../utils/SetupBuilderParams' +import { PoolType, ProtocolName } from '@summerfi/sdk-common/protocols' +import { getErrorMessage } from '@summerfi/testing-utils' +import assert from 'assert' +import { + EmodeType, + ILKType, + MakerLendingPool, + MakerLendingPoolId, + MakerPosition, + MakerPositionId, + MakerProtocol, + SparkLendingPool, + SparkLendingPoolId, + SparkPosition, + SparkProtocol, +} from '../../../../src' +import { SparkPaybackWithdrawActionBuilder } from '../../../../src/' + +describe('Spark Payback Withdraw Action Builder', () => { + let builderParams: SetupBuilderReturnType + + const chainInfo: ChainInfo = ChainFamilyMap.Ethereum.Mainnet + + // Tokens + const WETH = Token.createFrom({ + chainInfo, + address: Address.createFromEthereum({ value: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2' }), + symbol: 'WETH', + name: 'Wrapped Ether', + decimals: 18, + }) + + const DAI = Token.createFrom({ + chainInfo, + address: Address.createFromEthereum({ value: '0x6B175474E89094C44Da98b954EedeAC495271d0F' }), + symbol: 'DAI', + name: 'Dai Stablecoin', + decimals: 18, + }) + + const paybackAmount = TokenAmount.createFrom({ + token: WETH, + amount: '134.5', + }) + + const withdrawAmount = TokenAmount.createFrom({ + token: DAI, + amount: '1000', + }) + + const protocol = SparkProtocol.createFrom({ + name: ProtocolName.Spark, + chainInfo: ChainFamilyMap.Ethereum.Mainnet, + }) + + const poolId = SparkLendingPoolId.createFrom({ + protocol: protocol, + collateralToken: WETH, + debtToken: DAI, + emodeType: EmodeType.None, + }) + + const pool = SparkLendingPool.createFrom({ + collateralToken: WETH, + debtToken: DAI, + id: poolId, + type: PoolType.Lending, + }) + + const position = SparkPosition.createFrom({ + type: PositionType.Multiply, + id: MakerPositionId.createFrom({ id: 'someposition', vaultId: '123' }), + debtAmount: withdrawAmount, + collateralAmount: paybackAmount, + pool: pool, + }) + + const wrongPosition = MakerPosition.createFrom({ + type: PositionType.Multiply, + id: MakerPositionId.createFrom({ id: 'someposition', vaultId: '123' }), + debtAmount: withdrawAmount, + collateralAmount: paybackAmount, + pool: MakerLendingPool.createFrom({ + collateralToken: WETH, + debtToken: DAI, + id: MakerLendingPoolId.createFrom({ + collateralToken: WETH, + debtToken: DAI, + protocol: MakerProtocol.createFrom({ + name: ProtocolName.Maker, + chainInfo: ChainFamilyMap.Ethereum.Mainnet, + }), + ilkType: ILKType.ETH_A, + }), + type: PoolType.Lending, + }), + }) + + const derivedStep: steps.PaybackWithdrawStep = { + type: SimulationSteps.PaybackWithdraw, + name: 'PaybackWithdrawStep', + inputs: { + paybackAmount: paybackAmount, + withdrawAmount: withdrawAmount, + position: position, + withdrawTargetType: TokenTransferTargetType.PositionsManager, + }, + outputs: { + paybackAmount: paybackAmount, + withdrawAmount: withdrawAmount, + }, + } + + beforeEach(() => { + builderParams = setupBuilderParams({ chainInfo: ChainFamilyMap.Ethereum.Mainnet }) + }) + + it('should fail the position is not a Spark one', async () => { + try { + await SparkPaybackWithdrawActionBuilder({ + ...builderParams, + step: { + ...derivedStep, + inputs: { + ...derivedStep.inputs, + position: wrongPosition, + }, + }, + protocolsRegistry: builderParams.emptyProtocolsRegistry, + }) + assert.fail('Should have thrown an error') + } catch (error: unknown) { + expect(getErrorMessage(error)).toEqual('Invalid Spark lending pool') + } + }) + + it('should add all the action calls', async () => { + builderParams.context.startSubContext() + + await SparkPaybackWithdrawActionBuilder({ + ...builderParams, + step: derivedStep, + protocolsRegistry: builderParams.emptyProtocolsRegistry, + }) + + const { callsBatch } = builderParams.context.endSubContext() + + expect(callsBatch.length).toEqual(3) + + expect(callsBatch[0].name).toBe('SetApproval') + expect(callsBatch[1].name).toBe('SparkPayback') + expect(callsBatch[2].name).toBe('SparkWithdraw') + }) + + it('should not add payback when payback amount is 0', async () => { + builderParams.context.startSubContext() + + await SparkPaybackWithdrawActionBuilder({ + ...builderParams, + step: { + ...derivedStep, + inputs: { + ...derivedStep.inputs, + paybackAmount: TokenAmount.createFrom({ + token: DAI, + amount: '0', + }), + }, + }, + protocolsRegistry: builderParams.emptyProtocolsRegistry, + }) + + const { callsBatch } = builderParams.context.endSubContext() + + expect(callsBatch.length).toEqual(1) + + expect(callsBatch[0].name).toBe('SparkWithdraw') + }) +}) diff --git a/sdk/protocol-plugins/tests/utils/ProtocolPluginMock.ts b/sdk/protocol-plugins/tests/utils/ProtocolPluginMock.ts index d62495b08b..ffbc497eae 100644 --- a/sdk/protocol-plugins/tests/utils/ProtocolPluginMock.ts +++ b/sdk/protocol-plugins/tests/utils/ProtocolPluginMock.ts @@ -78,7 +78,7 @@ export class ProtocolPluginMock implements IProtocolPlugin { externalPosition: IExternalPosition positionsManager: IPositionsManager }): Promise> { - return undefined as unknown as TransactionInfo + return {} as unknown as TransactionInfo } } diff --git a/sdk/protocol-plugins/tests/utils/ProtocolsPluginRegistryMock.ts b/sdk/protocol-plugins/tests/utils/ProtocolsPluginRegistryMock.ts index 602753295c..bb76e24605 100644 --- a/sdk/protocol-plugins/tests/utils/ProtocolsPluginRegistryMock.ts +++ b/sdk/protocol-plugins/tests/utils/ProtocolsPluginRegistryMock.ts @@ -30,7 +30,9 @@ export function createProtocolPluginsRegistry(): IProtocolPluginsRegistry { return new ProtocolPluginsRegistry({ plugins: { [ProtocolName.Maker]: ProtocolPluginMock, + [ProtocolName.AAVEv3]: ProtocolPluginMock, [ProtocolName.Spark]: ProtocolPluginMock, + [ProtocolName.Morpho]: ProtocolPluginMock, }, context: protocolPluginContext, }) From ea5306fd0857c51fa181ddf595d5ee4987a000dd Mon Sep 17 00:00:00 2001 From: Roberto Cano <3525807+robercano@users.noreply.github.com> Date: Thu, 16 May 2024 17:09:04 +0200 Subject: [PATCH 21/45] feat: add more unit tests --- .../builders/OpenPositionActionBuilder.ts | 2 +- .../DepositBorrowActionBuilder.spec.ts | 64 ++------ .../builders/FlashloanActionBuilder.spec.ts | 20 +-- .../ImportPositionActionBuilder.spec.ts | 144 ++++++++++++++++++ .../OpenPositionActionBuilder.spec.ts | 135 ++++++++++++++++ .../builders/PullTokenActionBuilder.spec.ts | 20 ++- .../builders/ReturnFundsActionBuilder.spec.ts | 20 ++- .../unit/builders/SwapActionBuilder.spec.ts | 40 ++--- .../tests/utils/ProtocolPluginMock.ts | 24 +++ 9 files changed, 367 insertions(+), 102 deletions(-) create mode 100644 sdk/protocol-plugins/tests/unit/builders/ImportPositionActionBuilder.spec.ts create mode 100644 sdk/protocol-plugins/tests/unit/builders/OpenPositionActionBuilder.spec.ts diff --git a/sdk/protocol-plugins/src/plugins/common/builders/OpenPositionActionBuilder.ts b/sdk/protocol-plugins/src/plugins/common/builders/OpenPositionActionBuilder.ts index ee1b935988..2ce24cd86e 100644 --- a/sdk/protocol-plugins/src/plugins/common/builders/OpenPositionActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/common/builders/OpenPositionActionBuilder.ts @@ -7,7 +7,7 @@ export const OpenPositionActionBuilder: ActionBuilder = asyn ): Promise => { const pool = params.step.inputs.pool - delegateToProtocolActionBuilder({ + await delegateToProtocolActionBuilder({ protocolName: pool.id.protocol.name, actionBuilderParams: params, }) diff --git a/sdk/protocol-plugins/tests/unit/builders/DepositBorrowActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/DepositBorrowActionBuilder.spec.ts index 9a25c962fc..3c15776ec4 100644 --- a/sdk/protocol-plugins/tests/unit/builders/DepositBorrowActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/DepositBorrowActionBuilder.spec.ts @@ -82,26 +82,26 @@ describe('Deposit Borrow Action Builder', () => { pool: pool, }) + const derivedStep: steps.DepositBorrowStep = { + type: SimulationSteps.DepositBorrow, + name: 'DepositBorrowStep', + inputs: { + depositAmount: depositAmount, + borrowAmount: borrowAmount, + position: position, + borrowTargetType: TokenTransferTargetType.PositionsManager, + }, + outputs: { + depositAmount: depositAmount, + borrowAmount: borrowAmount, + }, + } + beforeEach(() => { builderParams = setupBuilderParams({ chainInfo: ChainFamilyMap.Ethereum.Mainnet }) }) it('should fail if no protocol plugin exists', async () => { - const derivedStep: steps.DepositBorrowStep = { - type: SimulationSteps.DepositBorrow, - name: 'DepositBorrowStep', - inputs: { - depositAmount: depositAmount, - borrowAmount: borrowAmount, - position: position, - borrowTargetType: TokenTransferTargetType.PositionsManager, - }, - outputs: { - depositAmount: depositAmount, - borrowAmount: borrowAmount, - }, - } - try { await DepositBorrowActionBuilder({ ...builderParams, @@ -115,23 +115,6 @@ describe('Deposit Borrow Action Builder', () => { }) it('should fail if no protocol builder for the step exists', async () => { - const builderParams = setupBuilderParams({ chainInfo: ChainFamilyMap.Ethereum.Mainnet }) - - const derivedStep: steps.DepositBorrowStep = { - type: SimulationSteps.DepositBorrow, - name: 'DepositBorrowStep', - inputs: { - depositAmount: depositAmount, - borrowAmount: borrowAmount, - position: position, - borrowTargetType: TokenTransferTargetType.PositionsManager, - }, - outputs: { - depositAmount: depositAmount, - borrowAmount: borrowAmount, - }, - } - try { await DepositBorrowActionBuilder({ ...builderParams, @@ -145,23 +128,6 @@ describe('Deposit Borrow Action Builder', () => { }) it('should call the proper builder', async () => { - const builderParams = setupBuilderParams({ chainInfo: ChainFamilyMap.Ethereum.Mainnet }) - - const derivedStep: steps.DepositBorrowStep = { - type: SimulationSteps.DepositBorrow, - name: 'DepositBorrowStep', - inputs: { - depositAmount: depositAmount, - borrowAmount: borrowAmount, - position: position, - borrowTargetType: TokenTransferTargetType.PositionsManager, - }, - outputs: { - depositAmount: depositAmount, - borrowAmount: borrowAmount, - }, - } - await DepositBorrowActionBuilder({ ...builderParams, step: derivedStep, diff --git a/sdk/protocol-plugins/tests/unit/builders/FlashloanActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/FlashloanActionBuilder.spec.ts index dcccc8f00b..5f55485eee 100644 --- a/sdk/protocol-plugins/tests/unit/builders/FlashloanActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/FlashloanActionBuilder.spec.ts @@ -22,21 +22,21 @@ describe('Flashloan Action Builder', () => { amount: '134.5', }) + const derivedStep: steps.FlashloanStep = { + type: SimulationSteps.Flashloan, + name: 'FlashloanStep', + inputs: { + amount: flashloanAmount, + provider: FlashloanProvider.Balancer, + }, + outputs: undefined, + } + beforeEach(() => { builderParams = setupBuilderParams({ chainInfo: ChainFamilyMap.Ethereum.Mainnet }) }) it('should start a new subcontext', async () => { - const derivedStep: steps.FlashloanStep = { - type: SimulationSteps.Flashloan, - name: 'FlashloanStep', - inputs: { - amount: flashloanAmount, - provider: FlashloanProvider.Balancer, - }, - outputs: undefined, - } - await FlashloanActionBuilder({ ...builderParams, step: derivedStep, diff --git a/sdk/protocol-plugins/tests/unit/builders/ImportPositionActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/ImportPositionActionBuilder.spec.ts new file mode 100644 index 0000000000..febac39244 --- /dev/null +++ b/sdk/protocol-plugins/tests/unit/builders/ImportPositionActionBuilder.spec.ts @@ -0,0 +1,144 @@ +import { + Address, + ChainFamilyMap, + ChainInfo, + Position, + PositionId, + PositionType, + Token, + TokenAmount, +} from '@summerfi/sdk-common/common' +import { SimulationSteps, TokenTransferTargetType, steps } from '@summerfi/sdk-common/simulation' +import { SetupBuilderReturnType, setupBuilderParams } from '../../utils/SetupBuilderParams' +import { DepositBorrowActionBuilder } from '../../../src/plugins/common/builders/DepositBorrowActionBuilder' +import { PoolType, ProtocolName } from '@summerfi/sdk-common/protocols' +import { getErrorMessage } from '@summerfi/testing-utils' +import assert from 'assert' +import { ILKType } from '../../../src/plugins/maker/enums/ILKType' +import { + ImportPositionActionBuilder, + MakerLendingPool, + MakerLendingPoolId, + MakerPosition, + MakerPositionId, + MakerProtocol, +} from '../../../src' +import { ExternalPositionType } from '@summerfi/sdk-common' + +describe('Deposit Borrow Action Builder', () => { + let builderParams: SetupBuilderReturnType + + const chainInfo: ChainInfo = ChainFamilyMap.Ethereum.Mainnet + + // Tokens + const WETH = Token.createFrom({ + chainInfo, + address: Address.createFromEthereum({ value: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2' }), + symbol: 'WETH', + name: 'Wrapped Ether', + decimals: 18, + }) + + const DAI = Token.createFrom({ + chainInfo, + address: Address.createFromEthereum({ value: '0x6B175474E89094C44Da98b954EedeAC495271d0F' }), + symbol: 'DAI', + name: 'Dai Stablecoin', + decimals: 18, + }) + + const depositAmount = TokenAmount.createFrom({ + token: WETH, + amount: '134.5', + }) + + const borrowAmount = TokenAmount.createFrom({ + token: DAI, + amount: '1000', + }) + + const protocol = MakerProtocol.createFrom({ + name: ProtocolName.Maker, + chainInfo: ChainFamilyMap.Ethereum.Mainnet, + }) + + const poolId = MakerLendingPoolId.createFrom({ + protocol: protocol, + ilkType: ILKType.ETH_A, + collateralToken: WETH, + debtToken: DAI, + }) + + const pool = MakerLendingPool.createFrom({ + type: PoolType.Lending, + id: poolId, + collateralToken: WETH, + debtToken: DAI, + }) + + const position = MakerPosition.createFrom({ + type: PositionType.Multiply, + id: MakerPositionId.createFrom({ id: 'someposition', vaultId: '123' }), + debtAmount: borrowAmount, + collateralAmount: depositAmount, + pool: pool, + }) + + const externalPositionOwner = Address.createFromEthereum({ + value: '0x2260FAC5E5542a773Aa44fBCfeDf7C193bc2C599', + }) + + const derivedStep: steps.ImportStep = { + type: SimulationSteps.Import, + name: 'ImportPosition', + inputs: { + externalPosition: { + position: position, + externalId: { + address: externalPositionOwner, + type: ExternalPositionType.WALLET, + }, + }, + }, + outputs: undefined, + } + + beforeEach(() => { + builderParams = setupBuilderParams({ chainInfo: ChainFamilyMap.Ethereum.Mainnet }) + }) + + it('should fail if no protocol plugin exists', async () => { + try { + await ImportPositionActionBuilder({ + ...builderParams, + step: derivedStep, + protocolsRegistry: builderParams.emptyProtocolsRegistry, + }) + assert.fail('Should have thrown an error') + } catch (error: unknown) { + expect(getErrorMessage(error)).toEqual('No protocol plugin found for protocol Maker') + } + }) + + it('should fail if no protocol builder for the step exists', async () => { + try { + await ImportPositionActionBuilder({ + ...builderParams, + step: derivedStep, + protocolsRegistry: builderParams.emptyBuildersProtocolRegistry, + }) + assert.fail('Should have thrown an error') + } catch (error: unknown) { + expect(getErrorMessage(error)).toEqual('No action builder found for protocol Maker') + } + }) + + it('should call the proper builder', async () => { + await ImportPositionActionBuilder({ + ...builderParams, + step: derivedStep, + }) + + expect(builderParams.context.checkpoints[0]).toEqual('ImportPositionActionBuilderMock') + }) +}) diff --git a/sdk/protocol-plugins/tests/unit/builders/OpenPositionActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/OpenPositionActionBuilder.spec.ts new file mode 100644 index 0000000000..d54e59b9b9 --- /dev/null +++ b/sdk/protocol-plugins/tests/unit/builders/OpenPositionActionBuilder.spec.ts @@ -0,0 +1,135 @@ +import { + Address, + ChainFamilyMap, + ChainInfo, + Position, + PositionId, + PositionType, + Token, + TokenAmount, +} from '@summerfi/sdk-common/common' +import { SimulationSteps, TokenTransferTargetType, steps } from '@summerfi/sdk-common/simulation' +import { SetupBuilderReturnType, setupBuilderParams } from '../../utils/SetupBuilderParams' +import { DepositBorrowActionBuilder } from '../../../src/plugins/common/builders/DepositBorrowActionBuilder' +import { PoolType, ProtocolName } from '@summerfi/sdk-common/protocols' +import { getErrorMessage } from '@summerfi/testing-utils' +import assert from 'assert' +import { ILKType } from '../../../src/plugins/maker/enums/ILKType' +import { + MakerLendingPool, + MakerLendingPoolId, + MakerPosition, + MakerPositionId, + MakerProtocol, + OpenPositionActionBuilder, +} from '../../../src' + +describe('Deposit Borrow Action Builder', () => { + let builderParams: SetupBuilderReturnType + + const chainInfo: ChainInfo = ChainFamilyMap.Ethereum.Mainnet + + // Tokens + const WETH = Token.createFrom({ + chainInfo, + address: Address.createFromEthereum({ value: '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2' }), + symbol: 'WETH', + name: 'Wrapped Ether', + decimals: 18, + }) + + const DAI = Token.createFrom({ + chainInfo, + address: Address.createFromEthereum({ value: '0x6B175474E89094C44Da98b954EedeAC495271d0F' }), + symbol: 'DAI', + name: 'Dai Stablecoin', + decimals: 18, + }) + + const depositAmount = TokenAmount.createFrom({ + token: WETH, + amount: '134.5', + }) + + const borrowAmount = TokenAmount.createFrom({ + token: DAI, + amount: '1000', + }) + + const protocol = MakerProtocol.createFrom({ + name: ProtocolName.Maker, + chainInfo: ChainFamilyMap.Ethereum.Mainnet, + }) + + const poolId = MakerLendingPoolId.createFrom({ + protocol: protocol, + ilkType: ILKType.ETH_A, + collateralToken: WETH, + debtToken: DAI, + }) + + const pool = MakerLendingPool.createFrom({ + type: PoolType.Lending, + id: poolId, + collateralToken: WETH, + debtToken: DAI, + }) + + const position = MakerPosition.createFrom({ + type: PositionType.Multiply, + id: MakerPositionId.createFrom({ id: 'someposition', vaultId: '123' }), + debtAmount: borrowAmount, + collateralAmount: depositAmount, + pool: pool, + }) + + const derivedStep: steps.OpenPosition = { + type: SimulationSteps.OpenPosition, + name: 'OpenPosition', + inputs: { + pool: pool, + }, + outputs: { + position: position, + }, + } + + beforeEach(() => { + builderParams = setupBuilderParams({ chainInfo: ChainFamilyMap.Ethereum.Mainnet }) + }) + + it('should fail if no protocol plugin exists', async () => { + try { + await OpenPositionActionBuilder({ + ...builderParams, + step: derivedStep, + protocolsRegistry: builderParams.emptyProtocolsRegistry, + }) + assert.fail('Should have thrown an error') + } catch (error: unknown) { + expect(getErrorMessage(error)).toEqual('No protocol plugin found for protocol Maker') + } + }) + + it('should fail if no protocol builder for the step exists', async () => { + try { + await OpenPositionActionBuilder({ + ...builderParams, + step: derivedStep, + protocolsRegistry: builderParams.emptyBuildersProtocolRegistry, + }) + assert.fail('Should have thrown an error') + } catch (error: unknown) { + expect(getErrorMessage(error)).toEqual('No action builder found for protocol Maker') + } + }) + + it('should call the proper builder', async () => { + await OpenPositionActionBuilder({ + ...builderParams, + step: derivedStep, + }) + + expect(builderParams.context.checkpoints[0]).toEqual('OpenPositionActionBuilderMock') + }) +}) diff --git a/sdk/protocol-plugins/tests/unit/builders/PullTokenActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/PullTokenActionBuilder.spec.ts index 53ee99f8cc..872cb88138 100644 --- a/sdk/protocol-plugins/tests/unit/builders/PullTokenActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/PullTokenActionBuilder.spec.ts @@ -24,22 +24,20 @@ describe('Pull TokenAction Builder', () => { amount: '134.5', }) + const derivedStep: steps.PullTokenStep = { + type: SimulationSteps.PullToken, + name: 'PullTokenStep', + inputs: { + amount: pullAmount, + }, + outputs: undefined, + } + beforeEach(() => { builderParams = setupBuilderParams({ chainInfo: ChainFamilyMap.Ethereum.Mainnet }) }) it('should encode the action calldata correctly', async () => { - const builderParams = setupBuilderParams({ chainInfo: ChainFamilyMap.Ethereum.Mainnet }) - - const derivedStep: steps.PullTokenStep = { - type: SimulationSteps.PullToken, - name: 'PullTokenStep', - inputs: { - amount: pullAmount, - }, - outputs: undefined, - } - builderParams.context.startSubContext() await PullTokenActionBuilder({ diff --git a/sdk/protocol-plugins/tests/unit/builders/ReturnFundsActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/ReturnFundsActionBuilder.spec.ts index 1fce12a109..1d340a7a44 100644 --- a/sdk/protocol-plugins/tests/unit/builders/ReturnFundsActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/ReturnFundsActionBuilder.spec.ts @@ -19,22 +19,20 @@ describe('Return Funds Action Builder', () => { decimals: 18, }) + const derivedStep: steps.ReturnFundsStep = { + type: SimulationSteps.ReturnFunds, + name: 'ReturnFundsStep', + inputs: { + token: WETH, + }, + outputs: undefined, + } + beforeEach(() => { builderParams = setupBuilderParams({ chainInfo: ChainFamilyMap.Ethereum.Mainnet }) }) it('should encode the action calldata correctly', async () => { - const builderParams = setupBuilderParams({ chainInfo: ChainFamilyMap.Ethereum.Mainnet }) - - const derivedStep: steps.ReturnFundsStep = { - type: SimulationSteps.ReturnFunds, - name: 'ReturnFundsStep', - inputs: { - token: WETH, - }, - outputs: undefined, - } - builderParams.context.startSubContext() await ReturnFundsActionBuilder({ diff --git a/sdk/protocol-plugins/tests/unit/builders/SwapActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/SwapActionBuilder.spec.ts index a818da59f9..f24f1b0e97 100644 --- a/sdk/protocol-plugins/tests/unit/builders/SwapActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/SwapActionBuilder.spec.ts @@ -69,6 +69,26 @@ describe('Swap Action Builder', () => { const inputAmountAfterFee = inputAmount.multiply(percent100.subtract(fee)) + const derivedStep: steps.SwapStep = { + type: SimulationSteps.Swap, + name: 'SwapStep', + inputs: { + provider: SwapProviderType.OneInch, + routes: [], + spotPrice: spotPrice, + offerPrice: offerPrice, + inputAmount: inputAmount, + inputAmountAfterFee: inputAmountAfterFee, + estimatedReceivedAmount: toAmount, + minimumReceivedAmount: toAmount, + summerFee: fee, + slippage, + }, + outputs: { + received: toAmount, + }, + } + beforeEach(() => { builderParams = setupBuilderParams({ chainInfo: ChainFamilyMap.Ethereum.Mainnet }) ;(builderParams.addressBookManager as AddressBookManagerMock).setAddressByName({ @@ -79,26 +99,6 @@ describe('Swap Action Builder', () => { }) it('should encode the action calldata correctly', async () => { - const derivedStep: steps.SwapStep = { - type: SimulationSteps.Swap, - name: 'SwapStep', - inputs: { - provider: SwapProviderType.OneInch, - routes: [], - spotPrice: spotPrice, - offerPrice: offerPrice, - inputAmount: inputAmount, - inputAmountAfterFee: inputAmountAfterFee, - estimatedReceivedAmount: toAmount, - minimumReceivedAmount: toAmount, - summerFee: fee, - slippage, - }, - outputs: { - received: toAmount, - }, - } - // Setup swap manager returned data builderParams.swapManager.setSwapData({ provider: SwapProviderType.OneInch, diff --git a/sdk/protocol-plugins/tests/utils/ProtocolPluginMock.ts b/sdk/protocol-plugins/tests/utils/ProtocolPluginMock.ts index ffbc497eae..7866c2bc6f 100644 --- a/sdk/protocol-plugins/tests/utils/ProtocolPluginMock.ts +++ b/sdk/protocol-plugins/tests/utils/ProtocolPluginMock.ts @@ -34,6 +34,18 @@ export const DepositBorrowActionBuilderMock: ActionBuilder = async ( + params, +): Promise => { + ;(params.context as StepBuilderContextMock).setCheckpoint('ImportPositionActionBuilderMock') +} + +export const OpenPositionActionBuilderMock: ActionBuilder = async ( + params, +): Promise => { + ;(params.context as StepBuilderContextMock).setCheckpoint('OpenPositionActionBuilderMock') +} + export const PaybackWithdrawActionBuilderNoCheckpointMock: ActionBuilder< steps.PaybackWithdrawStep > = async (params): Promise => {} @@ -42,12 +54,22 @@ export const DepositBorrowActionBuilderNoCheckpointMock: ActionBuilder< steps.DepositBorrowStep > = async (params): Promise => {} +export const ImportPositionActionBuilderNoCheckpointMock: ActionBuilder = async ( + params, +): Promise => {} + +export const OpenPositionActionBuilderNoCheckpointMock: ActionBuilder = async ( + params, +): Promise => {} + export class ProtocolPluginMock implements IProtocolPlugin { protocolName = ProtocolName.Spark supportedChains = [ChainFamilyMap.Ethereum.Mainnet] stepBuilders: Partial = { [SimulationSteps.PaybackWithdraw]: PaybackWithdrawActionBuilderMock, [SimulationSteps.DepositBorrow]: DepositBorrowActionBuilderMock, + [SimulationSteps.Import]: ImportPositionActionBuilderMock, + [SimulationSteps.OpenPosition]: OpenPositionActionBuilderMock, } context = undefined as unknown as IProtocolPluginContext @@ -125,6 +147,8 @@ export class NoCheckpointProtocolPluginMock implements IProtocolPlugin { stepBuilders: Partial = { [SimulationSteps.PaybackWithdraw]: PaybackWithdrawActionBuilderNoCheckpointMock, [SimulationSteps.DepositBorrow]: DepositBorrowActionBuilderNoCheckpointMock, + [SimulationSteps.Import]: ImportPositionActionBuilderNoCheckpointMock, + [SimulationSteps.OpenPosition]: OpenPositionActionBuilderNoCheckpointMock, } context = undefined as unknown as IProtocolPluginContext From be36dc3798f39e773cba435ef1bd5716968beb41 Mon Sep 17 00:00:00 2001 From: Roberto Cano <3525807+robercano@users.noreply.github.com> Date: Thu, 16 May 2024 17:18:57 +0200 Subject: [PATCH 22/45] fix: format --- .../src/config/Config.ts | 2 +- .../src/plugins/common/builders/index.ts | 2 +- .../reducer/flashloanReducer.ts | 5 +- .../simulator-engine/reducer/importReducer.ts | 5 +- .../reducer/newPositionEventReducer.ts | 5 +- .../reducer/openPositionReducer.ts | 10 ++-- .../reducer/paybackWithdrawReducer.ts | 5 +- .../reducer/pullTokenReducer.ts | 5 +- .../reducer/repayFlashloanReducer.ts | 5 +- .../reducer/returnFundsReducer.ts | 5 +- .../simulator-engine/reducer/swapReducer.ts | 5 +- .../depositBorrowOutputProcessor.ts | 2 +- .../stepProcessor/openPositionProcessor.ts | 2 +- .../paybackWithdrawOutputProcessor.ts | 2 +- .../utils/GetRefinanceSimulationType.ts | 12 ++-- sdk/simulator-service/src/interfaces/steps.ts | 56 ++++++++++--------- .../strategies/refinanceAnyPair/Strategy.ts | 20 +++---- .../strategies/refinanceNoDebt/Strategy.ts | 12 ++-- .../strategies/refinanceSamePair/Strategy.ts | 12 ++-- 19 files changed, 75 insertions(+), 97 deletions(-) diff --git a/sdk/order-planner-service/src/config/Config.ts b/sdk/order-planner-service/src/config/Config.ts index 33ac0df376..29b8af3e55 100644 --- a/sdk/order-planner-service/src/config/Config.ts +++ b/sdk/order-planner-service/src/config/Config.ts @@ -23,5 +23,5 @@ export const ActionBuildersConfig: ActionBuildersMap = { [SimulationSteps.ReturnFunds]: ReturnFundsActionBuilder, [SimulationSteps.NewPositionEvent]: PositionCreatedActionBuilder, [SimulationSteps.Import]: ImportPositionActionBuilder, - [SimulationSteps.OpenPosition]: OpenPositionActionBuilder + [SimulationSteps.OpenPosition]: OpenPositionActionBuilder, } diff --git a/sdk/protocol-plugins/src/plugins/common/builders/index.ts b/sdk/protocol-plugins/src/plugins/common/builders/index.ts index 4dcc14c57a..99456eab44 100644 --- a/sdk/protocol-plugins/src/plugins/common/builders/index.ts +++ b/sdk/protocol-plugins/src/plugins/common/builders/index.ts @@ -11,4 +11,4 @@ export { ReturnFundsActionBuilder } from './ReturnFundsActionBuilder' export { SwapActionBuilder } from './SwapActionBuilder' export { PositionCreatedActionBuilder } from './PositionCreatedActionBuilder' export { ImportPositionActionBuilder } from './ImportPositionActionBuilder' -export { OpenPositionActionBuilder } from './OpenPositionActionBuilder' \ No newline at end of file +export { OpenPositionActionBuilder } from './OpenPositionActionBuilder' diff --git a/sdk/simulator-service/src/implementation/simulator-engine/reducer/flashloanReducer.ts b/sdk/simulator-service/src/implementation/simulator-engine/reducer/flashloanReducer.ts index fd68e331fa..8f5d9556e3 100644 --- a/sdk/simulator-service/src/implementation/simulator-engine/reducer/flashloanReducer.ts +++ b/sdk/simulator-service/src/implementation/simulator-engine/reducer/flashloanReducer.ts @@ -8,10 +8,7 @@ export function flashloanReducer( ): ISimulationState { return { ...state, - steps: [ - ...state.steps, - step, - ], + steps: [...state.steps, step], balances: addBalance(step.inputs.amount, state.balances), } } diff --git a/sdk/simulator-service/src/implementation/simulator-engine/reducer/importReducer.ts b/sdk/simulator-service/src/implementation/simulator-engine/reducer/importReducer.ts index b98df66302..995f5720e6 100644 --- a/sdk/simulator-service/src/implementation/simulator-engine/reducer/importReducer.ts +++ b/sdk/simulator-service/src/implementation/simulator-engine/reducer/importReducer.ts @@ -4,9 +4,6 @@ import { ISimulationState } from '../../../interfaces/simulation' export function importReducer(step: steps.ImportStep, state: ISimulationState): ISimulationState { return { ...state, - steps: [ - ...state.steps, - step, - ], + steps: [...state.steps, step], } } diff --git a/sdk/simulator-service/src/implementation/simulator-engine/reducer/newPositionEventReducer.ts b/sdk/simulator-service/src/implementation/simulator-engine/reducer/newPositionEventReducer.ts index 80675311f9..e178e5e430 100644 --- a/sdk/simulator-service/src/implementation/simulator-engine/reducer/newPositionEventReducer.ts +++ b/sdk/simulator-service/src/implementation/simulator-engine/reducer/newPositionEventReducer.ts @@ -7,9 +7,6 @@ export function newPositionEventReducer( ): ISimulationState { return { ...state, - steps: [ - ...state.steps, - step, - ], + steps: [...state.steps, step], } } diff --git a/sdk/simulator-service/src/implementation/simulator-engine/reducer/openPositionReducer.ts b/sdk/simulator-service/src/implementation/simulator-engine/reducer/openPositionReducer.ts index cf86383411..95fa3b323e 100644 --- a/sdk/simulator-service/src/implementation/simulator-engine/reducer/openPositionReducer.ts +++ b/sdk/simulator-service/src/implementation/simulator-engine/reducer/openPositionReducer.ts @@ -1,16 +1,16 @@ import { steps } from '@summerfi/sdk-common/simulation' import { ISimulationState } from '../../../interfaces/simulation' -export function openPositionReducer(step: steps.OpenPosition, state: ISimulationState): ISimulationState { +export function openPositionReducer( + step: steps.OpenPosition, + state: ISimulationState, +): ISimulationState { return { ...state, positions: { ...state.positions, [step.outputs.position.id.id]: step.outputs.position, }, - steps: [ - ...state.steps, - step, - ], + steps: [...state.steps, step], } } diff --git a/sdk/simulator-service/src/implementation/simulator-engine/reducer/paybackWithdrawReducer.ts b/sdk/simulator-service/src/implementation/simulator-engine/reducer/paybackWithdrawReducer.ts index aac026de6f..d0d0f55ca2 100644 --- a/sdk/simulator-service/src/implementation/simulator-engine/reducer/paybackWithdrawReducer.ts +++ b/sdk/simulator-service/src/implementation/simulator-engine/reducer/paybackWithdrawReducer.ts @@ -21,10 +21,7 @@ export function paybackWithdrawReducer( getValueFromReference(step.inputs.withdrawAmount), ), }, - steps: [ - ...state.steps, - step, - ], + steps: [...state.steps, step], balances: afterWithdraw, } } diff --git a/sdk/simulator-service/src/implementation/simulator-engine/reducer/pullTokenReducer.ts b/sdk/simulator-service/src/implementation/simulator-engine/reducer/pullTokenReducer.ts index 1e8f8ce594..e45b8e8537 100644 --- a/sdk/simulator-service/src/implementation/simulator-engine/reducer/pullTokenReducer.ts +++ b/sdk/simulator-service/src/implementation/simulator-engine/reducer/pullTokenReducer.ts @@ -8,10 +8,7 @@ export function pullTokenReducer( ): ISimulationState { return { ...state, - steps: [ - ...state.steps, - step, - ], + steps: [...state.steps, step], balances: addBalance(getValueFromReference(step.inputs.amount), state.balances), } } diff --git a/sdk/simulator-service/src/implementation/simulator-engine/reducer/repayFlashloanReducer.ts b/sdk/simulator-service/src/implementation/simulator-engine/reducer/repayFlashloanReducer.ts index a8b72ba2ec..46e25d2e60 100644 --- a/sdk/simulator-service/src/implementation/simulator-engine/reducer/repayFlashloanReducer.ts +++ b/sdk/simulator-service/src/implementation/simulator-engine/reducer/repayFlashloanReducer.ts @@ -8,10 +8,7 @@ export function repayFlashloanReducer( ): ISimulationState { return { ...state, - steps: [ - ...state.steps, - step, - ], + steps: [...state.steps, step], balances: subtractBalance(step.inputs.amount, state.balances), } } diff --git a/sdk/simulator-service/src/implementation/simulator-engine/reducer/returnFundsReducer.ts b/sdk/simulator-service/src/implementation/simulator-engine/reducer/returnFundsReducer.ts index 9e0103e454..9e95daa527 100644 --- a/sdk/simulator-service/src/implementation/simulator-engine/reducer/returnFundsReducer.ts +++ b/sdk/simulator-service/src/implementation/simulator-engine/reducer/returnFundsReducer.ts @@ -8,10 +8,7 @@ export function returnFundsReducer( ): ISimulationState { return { ...state, - steps: [ - ...state.steps, - step, - ], + steps: [...state.steps, step], balances: subtractBalance(getTokenBalance(step.inputs.token, state.balances), state.balances), } } diff --git a/sdk/simulator-service/src/implementation/simulator-engine/reducer/swapReducer.ts b/sdk/simulator-service/src/implementation/simulator-engine/reducer/swapReducer.ts index 154ec97f9e..fdb87c4b94 100644 --- a/sdk/simulator-service/src/implementation/simulator-engine/reducer/swapReducer.ts +++ b/sdk/simulator-service/src/implementation/simulator-engine/reducer/swapReducer.ts @@ -12,10 +12,7 @@ export function swapReducer(step: steps.SwapStep, state: ISimulationState): ISim return { ...state, - steps: [ - ...state.steps, - step, - ], + steps: [...state.steps, step], swaps: [ ...state.swaps, { diff --git a/sdk/simulator-service/src/implementation/simulator-engine/stepProcessor/depositBorrowOutputProcessor.ts b/sdk/simulator-service/src/implementation/simulator-engine/stepProcessor/depositBorrowOutputProcessor.ts index bb1e860c87..f0e6cd9557 100644 --- a/sdk/simulator-service/src/implementation/simulator-engine/stepProcessor/depositBorrowOutputProcessor.ts +++ b/sdk/simulator-service/src/implementation/simulator-engine/stepProcessor/depositBorrowOutputProcessor.ts @@ -7,7 +7,7 @@ export const depositBorrowOutputProcessor: StepOutputProcessor { const depositAmount = step.inputs.additionalDeposit ? getValueFromReference(step.inputs.additionalDeposit).add( - getValueFromReference(step.inputs.depositAmount), + getValueFromReference(step.inputs.depositAmount), ) : getValueFromReference(step.inputs.depositAmount) diff --git a/sdk/simulator-service/src/implementation/simulator-engine/stepProcessor/openPositionProcessor.ts b/sdk/simulator-service/src/implementation/simulator-engine/stepProcessor/openPositionProcessor.ts index 616ca3a1fe..92193a9fa6 100644 --- a/sdk/simulator-service/src/implementation/simulator-engine/stepProcessor/openPositionProcessor.ts +++ b/sdk/simulator-service/src/implementation/simulator-engine/stepProcessor/openPositionProcessor.ts @@ -6,7 +6,7 @@ export const openPositionProcessor: StepOutputProcessor = as return { ...step, outputs: { - position: newEmptyPositionFromPool(step.inputs.pool) + position: newEmptyPositionFromPool(step.inputs.pool), }, } } diff --git a/sdk/simulator-service/src/implementation/simulator-engine/stepProcessor/paybackWithdrawOutputProcessor.ts b/sdk/simulator-service/src/implementation/simulator-engine/stepProcessor/paybackWithdrawOutputProcessor.ts index a292b35843..e07a47e71f 100644 --- a/sdk/simulator-service/src/implementation/simulator-engine/stepProcessor/paybackWithdrawOutputProcessor.ts +++ b/sdk/simulator-service/src/implementation/simulator-engine/stepProcessor/paybackWithdrawOutputProcessor.ts @@ -12,7 +12,7 @@ export const paybackWithdrawOutputProcessor: StepOutputProcessor< const withdrawAmount = getValueFromReference(step.inputs.withdrawAmount).amount > - step.inputs.position.collateralAmount.amount + step.inputs.position.collateralAmount.amount ? step.inputs.position.collateralAmount : getValueFromReference(step.inputs.withdrawAmount) diff --git a/sdk/simulator-service/src/implementation/utils/GetRefinanceSimulationType.ts b/sdk/simulator-service/src/implementation/utils/GetRefinanceSimulationType.ts index 3dd8bc159a..1f4ba198e9 100644 --- a/sdk/simulator-service/src/implementation/utils/GetRefinanceSimulationType.ts +++ b/sdk/simulator-service/src/implementation/utils/GetRefinanceSimulationType.ts @@ -1,20 +1,20 @@ -import { RefinanceSimulationTypes, SimulationType } from '@summerfi/sdk-common/simulation'; +import { RefinanceSimulationTypes, SimulationType } from '@summerfi/sdk-common/simulation' export function getRefinanceSimulationType( hasCollateralSwap: boolean, - hasDebtSwap: boolean + hasDebtSwap: boolean, ): RefinanceSimulationTypes { if (hasCollateralSwap && hasDebtSwap) { - return SimulationType.RefinanceDifferentPair; + return SimulationType.RefinanceDifferentPair } if (hasCollateralSwap) { - return SimulationType.RefinanceDifferentCollateral; + return SimulationType.RefinanceDifferentCollateral } if (hasDebtSwap) { - return SimulationType.RefinanceDifferentDebt; + return SimulationType.RefinanceDifferentDebt } - return SimulationType.Refinance; + return SimulationType.Refinance } diff --git a/sdk/simulator-service/src/interfaces/steps.ts b/sdk/simulator-service/src/interfaces/steps.ts index 56bd39aaf8..5cdbb59890 100644 --- a/sdk/simulator-service/src/interfaces/steps.ts +++ b/sdk/simulator-service/src/interfaces/steps.ts @@ -1,8 +1,12 @@ -import { SimulationStrategy, ValueReference, steps, StrategyStep } from '@summerfi/sdk-common/simulation' +import { + SimulationStrategy, + ValueReference, + steps, + StrategyStep, +} from '@summerfi/sdk-common/simulation' import { EmptyArray, Head, Where } from './helperTypes' import { ISimulationState } from './simulation' - export type StepOutputProcessor = (step: Omit) => Promise export type StepOutputProcessors = { [Type in steps.Steps['type']]: StepOutputProcessor> @@ -16,38 +20,36 @@ export type StateReducers = { [Type in steps.Steps['type']]: StateReducer> } -export type NextStep> = - Promise< - Omit< - Where< - steps.Steps, - { type: Head['step'] } - >, - 'outputs'> & { name: Head['name']} - > +export type NextStep> = Promise< + Omit['step'] }>, 'outputs'> & { name: Head['name'] } +> -export type StepsAdded = { name: string, step: steps.Steps }[] +export type StepsAdded = { name: string; step: steps.Steps }[] export type ProccessedStep> = { - name: Head['name'], + name: Head['name'] step: Where['step'] }> } export type Paths = Exclude< { [Step in keyof StepsStore]: { - [OutputKey in keyof StepsStore[Step]['step']['outputs']]: [StepsStore[Step]['name'], OutputKey] + [OutputKey in keyof StepsStore[Step]['step']['outputs']]: [ + StepsStore[Step]['name'], + OutputKey, + ] }[keyof StepsStore[Step]['step']['outputs']] - }[number], [string, never]> + }[number], + [string, never] +> -export type GetReferencedValue = -

>(path: P) => ValueReference< - Pick< - Where['step']['outputs'], - P[1] - >[keyof Pick< - Where['step']['outputs'], - P[1]> - ]> +export type GetReferencedValue =

>( + path: P, +) => ValueReference< + Pick['step']['outputs'], P[1]>[keyof Pick< + Where['step']['outputs'], + P[1] + >] +> export type NextFunction< Strategy extends SimulationStrategy, @@ -55,6 +57,6 @@ export type NextFunction< > = Strategy extends EmptyArray ? never : (ctx: { - state: ISimulationState - getReference: GetReferencedValue - }) => NextStep + state: ISimulationState + getReference: GetReferencedValue + }) => NextStep diff --git a/sdk/simulator-service/src/strategies/refinanceAnyPair/Strategy.ts b/sdk/simulator-service/src/strategies/refinanceAnyPair/Strategy.ts index 3670a08c57..f97670b62a 100644 --- a/sdk/simulator-service/src/strategies/refinanceAnyPair/Strategy.ts +++ b/sdk/simulator-service/src/strategies/refinanceAnyPair/Strategy.ts @@ -3,48 +3,48 @@ import { makeStrategy } from '../../implementation/utils' export const refinanceLendingToLendingAnyPairStrategy = makeStrategy([ { - name: "Flashloan", + name: 'Flashloan', step: SimulationSteps.Flashloan, optional: false, }, { - name: "PaybackWithdrawFromSourcePosition", + name: 'PaybackWithdrawFromSourcePosition', step: SimulationSteps.PaybackWithdraw, optional: false, }, { - name: "SwapCollateralFromSourcePosition", + name: 'SwapCollateralFromSourcePosition', step: SimulationSteps.Swap, optional: true, }, { - name: "OpenTargetPosition", + name: 'OpenTargetPosition', step: SimulationSteps.OpenPosition, optional: false, }, { - name: "DepositBorrowToTargetPosition", + name: 'DepositBorrowToTargetPosition', step: SimulationSteps.DepositBorrow, optional: false, }, { - name: "SwapDebtFromTargetPosition", + name: 'SwapDebtFromTargetPosition', step: SimulationSteps.Swap, optional: true, }, { - name: "RepayFlashloan", + name: 'RepayFlashloan', step: SimulationSteps.RepayFlashloan, optional: false, }, { - name: "ReturnFunds", + name: 'ReturnFunds', step: SimulationSteps.ReturnFunds, optional: true, }, { - name: "NewPositionEvent", + name: 'NewPositionEvent', step: SimulationSteps.NewPositionEvent, optional: false, }, -]as const) +] as const) diff --git a/sdk/simulator-service/src/strategies/refinanceNoDebt/Strategy.ts b/sdk/simulator-service/src/strategies/refinanceNoDebt/Strategy.ts index e1fea75fcd..b95a1fe56e 100644 --- a/sdk/simulator-service/src/strategies/refinanceNoDebt/Strategy.ts +++ b/sdk/simulator-service/src/strategies/refinanceNoDebt/Strategy.ts @@ -3,28 +3,28 @@ import { makeStrategy } from '../../implementation/utils' export const refinanceLendingToLendingNoDebtStrategy = makeStrategy([ { - name: "PaybackWithdrawFromSourcePosition", + name: 'PaybackWithdrawFromSourcePosition', step: SimulationSteps.PaybackWithdraw, optional: false, }, { - name: "SwapCollateralFromSourcePosition", + name: 'SwapCollateralFromSourcePosition', step: SimulationSteps.Swap, optional: true, }, { - name: "OpenTargetPosition", + name: 'OpenTargetPosition', step: SimulationSteps.OpenPosition, optional: false, }, { - name: "DepositBorrowToTargetPosition", + name: 'DepositBorrowToTargetPosition', step: SimulationSteps.DepositBorrow, optional: false, }, { - name: "NewPositionEvent", + name: 'NewPositionEvent', step: SimulationSteps.NewPositionEvent, optional: false, }, -] as const) \ No newline at end of file +] as const) diff --git a/sdk/simulator-service/src/strategies/refinanceSamePair/Strategy.ts b/sdk/simulator-service/src/strategies/refinanceSamePair/Strategy.ts index e0cb547aed..9645f4fb5a 100644 --- a/sdk/simulator-service/src/strategies/refinanceSamePair/Strategy.ts +++ b/sdk/simulator-service/src/strategies/refinanceSamePair/Strategy.ts @@ -3,32 +3,32 @@ import { makeStrategy } from '../../implementation/utils' export const refinanceLendingToLendingSamePairStrategy = makeStrategy([ { - name: "Flashloan", + name: 'Flashloan', step: SimulationSteps.Flashloan, optional: false, }, { - name: "PaybackWithdrawFromSourcePosition", + name: 'PaybackWithdrawFromSourcePosition', step: SimulationSteps.PaybackWithdraw, optional: false, }, { - name: "OpenTargetPosition", + name: 'OpenTargetPosition', step: SimulationSteps.OpenPosition, optional: false, }, { - name: "DepositBorrowToTargetPosition", + name: 'DepositBorrowToTargetPosition', step: SimulationSteps.DepositBorrow, optional: false, }, { - name: "RepayFlashloan", + name: 'RepayFlashloan', step: SimulationSteps.RepayFlashloan, optional: false, }, { - name: "NewPositionEvent", + name: 'NewPositionEvent', step: SimulationSteps.NewPositionEvent, optional: false, }, From 1e37a274fb195b332eba05eb379585ddf59f8c11 Mon Sep 17 00:00:00 2001 From: Roberto Cano <3525807+robercano@users.noreply.github.com> Date: Thu, 16 May 2024 17:59:35 +0200 Subject: [PATCH 23/45] feat: add e2e Refinance AaveV3 Spark --- .../contracts/actions/aave/v3/Payback.sol | 6 +- .../contracts/core/types/Aave.sol | 1 + .../aave-v3/actions/AaveV3PaybackAction.ts | 5 +- .../AaveV3PaybackWithdrawActionBuilder.ts | 4 +- .../tests/refinanceAaveV3SparkAnyPair.test.ts | 201 ++++++++++++++++++ 5 files changed, 214 insertions(+), 3 deletions(-) create mode 100644 sdk/sdk-e2e/tests/refinanceAaveV3SparkAnyPair.test.ts diff --git a/packages/core-contracts/contracts/actions/aave/v3/Payback.sol b/packages/core-contracts/contracts/actions/aave/v3/Payback.sol index 1ee27e1b04..57b3010e90 100644 --- a/packages/core-contracts/contracts/actions/aave/v3/Payback.sol +++ b/packages/core-contracts/contracts/actions/aave/v3/Payback.sol @@ -33,11 +33,15 @@ contract AaveV3Payback is Executable, UseStore { payback.amount = store().readUint(bytes32(payback.amount), paramsMap[1], address(this)); + if (payback.onBehalf == address(0)) { + payback.onBehalf = address(this); + } + IPoolV3(registry.getRegisteredService(AAVE_POOL)).repay( payback.asset, payback.paybackAll ? type(uint256).max : payback.amount, 2, - address(this) + payback.onBehalf ); store().write(bytes32(payback.amount)); diff --git a/packages/core-contracts/contracts/core/types/Aave.sol b/packages/core-contracts/contracts/core/types/Aave.sol index 135208c2f0..779a11a680 100644 --- a/packages/core-contracts/contracts/core/types/Aave.sol +++ b/packages/core-contracts/contracts/core/types/Aave.sol @@ -24,6 +24,7 @@ struct PaybackData { address asset; uint256 amount; bool paybackAll; + address onBehalf; } /** diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3PaybackAction.ts b/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3PaybackAction.ts index fbf7c5ed4c..910ac9f948 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3PaybackAction.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/actions/AaveV3PaybackAction.ts @@ -1,11 +1,12 @@ import { ActionCall, BaseAction, InputSlotsMapping } from '@summerfi/protocol-plugins-common' +import { IAddress } from '@summerfi/sdk-common' import { ITokenAmount } from '@summerfi/sdk-common/common' export class AaveV3PaybackAction extends BaseAction { public static readonly Config = { name: 'AaveV3Payback', version: 4, - parametersAbi: ['(address asset, uint256 amount, bool paybackAll)'], + parametersAbi: ['(address asset, uint256 amount, bool paybackAll, address onBehalf)'], storageInputs: ['asset', 'amountToPayback'], storageOutputs: ['paybackedAmount'], } as const @@ -14,6 +15,7 @@ export class AaveV3PaybackAction extends BaseAction { + it('should allow refinance Maker -> Spark with same pair', async () => { + // SDK + const sdk = makeSDK({ apiURL: config.SDKAPiUrl }) + + // Chain + const chain: Maybe = await sdk.chains.getChain({ + chainInfo: ChainFamilyMap.Ethereum.Mainnet, + }) + + assert(chain, 'Chain not found') + + // User + const walletAddress = Address.createFromEthereum({ + value: config.walletAddress as AddressValue, + }) + const user: User = await sdk.users.getUser({ + chainInfo: chain.chainInfo, + walletAddress: walletAddress, + }) + expect(user).toBeDefined() + expect(user.wallet.address).toEqual(walletAddress) + expect(user.chainInfo).toEqual(chain.chainInfo) + + // Positions Manager + const positionsManager = PositionsManager.createFrom({ + address: Address.createFromEthereum({ + value: config.DPMAddress as AddressValue, + }), + }) + + // Tokens + const debtToken: Maybe = await chain.tokens.getTokenBySymbol({ + symbol: config.debtTokenSymbol, + }) + assert(debtToken, `${config.debtTokenSymbol} not found`) + + const collateralToken: Maybe = await chain.tokens.getTokenBySymbol({ + symbol: config.collateralTokenSymbol, + }) + assert(collateralToken, `${config.collateralTokenSymbol} not found`) + + const aaveV3 = await chain.protocols.getProtocol({ name: ProtocolName.AAVEv3 }) + assert(aaveV3, 'AaveV3 protocol not found') + + if (!isAaveV3Protocol(aaveV3)) { + assert(false, 'AaveV3 protocol type is not lending') + } + + const aaveV3PoolId = AaveV3LendingPoolId.createFrom({ + protocol: aaveV3, + collateralToken: collateralToken, + debtToken: debtToken, + emodeType: EmodeType.None, + }) + + const aaveV3Pool = await aaveV3.getLendingPool({ + poolId: aaveV3PoolId, + }) + assert(aaveV3Pool, 'AaveV3 pool not found') + + if (!isAaveV3LendingPool(aaveV3Pool)) { + assert(false, 'AaveV3 pool type is not lending') + } + + // Source position + const morphoPosition = AaveV3Position.createFrom({ + type: PositionType.Multiply, + id: AaveV3PositionId.createFrom({ + id: 'AaveV3Position', + }), + debtAmount: TokenAmount.createFrom({ + token: debtToken, + amount: config.debtAmount, + }), + collateralAmount: TokenAmount.createFrom({ + token: collateralToken, + amount: config.collateralAmount, + }), + pool: aaveV3Pool, + }) + + // Target protocol + const spark: Maybe = await chain.protocols.getProtocol({ + name: ProtocolName.Spark, + }) + assert(spark, 'Spark not found') + + if (!isSparkProtocol(spark)) { + assert(false, 'Protocol type is not Spark') + } + + const poolId = SparkLendingPoolId.createFrom({ + protocol: spark, + collateralToken: collateralToken, + debtToken: debtToken, + emodeType: EmodeType.None, + }) + + const sparkPool = await spark.getLendingPool({ + poolId, + }) + + assert(sparkPool, 'Pool not found') + + if (!isSparkLendingPoolId(sparkPool.id)) { + assert(false, 'Pool ID is not a Spark one') + } + + if (!isLendingPool(sparkPool)) { + assert(false, 'Spark pool type is not lending') + } + + const refinanceParameters = RefinanceParameters.createFrom({ + sourcePosition: morphoPosition, + targetPool: sparkPool, + slippage: Percentage.createFrom({ value: 0.2 }), + }) + + const refinanceSimulation: ISimulation = + await sdk.simulator.refinance.simulateRefinancePosition(refinanceParameters) + + expect(refinanceSimulation).toBeDefined() + + expect(refinanceSimulation.sourcePosition?.id).toEqual(morphoPosition.id) + expect(refinanceSimulation.targetPosition.pool.id).toEqual(sparkPool.id) + + const refinanceOrder: Maybe = await user.newOrder({ + positionsManager, + simulation: refinanceSimulation, + }) + + assert(refinanceOrder, 'Order not found') + + // Send transaction + console.log('Sending transaction...') + + if (config.sendTransactionEnabled) { + const privateKey = process.env.DEPLOYER_PRIVATE_KEY as Hex + const transactionUtils = new TransactionUtils({ + rpcUrl: config.TenderlyForkUrl, + walletPrivateKey: privateKey, + }) + + const receipt = await transactionUtils.sendTransaction({ + transaction: refinanceOrder.transactions[0].transaction, + }) + + console.log('Transaction sent:', receipt) + } + }) +}) From 261509e555b2119e4df448379d3fe311f7a11b03 Mon Sep 17 00:00:00 2001 From: Roberto Cano <3525807+robercano@users.noreply.github.com> Date: Thu, 16 May 2024 18:12:31 +0200 Subject: [PATCH 24/45] feat: fix tests --- .../tests/unit/actions/aaveV3/AaveV3PaybackAction.spec.ts | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sdk/protocol-plugins/tests/unit/actions/aaveV3/AaveV3PaybackAction.spec.ts b/sdk/protocol-plugins/tests/unit/actions/aaveV3/AaveV3PaybackAction.spec.ts index 864fe0748e..c06b2954e0 100644 --- a/sdk/protocol-plugins/tests/unit/actions/aaveV3/AaveV3PaybackAction.spec.ts +++ b/sdk/protocol-plugins/tests/unit/actions/aaveV3/AaveV3PaybackAction.spec.ts @@ -2,6 +2,7 @@ import { Address, Token, TokenAmount } from '@summerfi/sdk-common/common' import { decodeActionCalldata, getTargetHash } from '@summerfi/testing-utils' import { AaveV3PaybackAction } from '../../../../src' import { ChainFamilyMap } from '@summerfi/sdk-common' +import { on } from 'events' describe('AaveV3PaybackAction Action', () => { const action = new AaveV3PaybackAction() @@ -30,6 +31,7 @@ describe('AaveV3PaybackAction Action', () => { { paybackAmount: tokenAmount, paybackAll: true, + onBehalf: onBehalf, }, [2, 6, 7, 9], ) @@ -47,6 +49,7 @@ describe('AaveV3PaybackAction Action', () => { asset: tokenAmount.token.address.value, amount: BigInt(tokenAmount.toBaseUnit()), paybackAll: true, + onBehalf: onBehalf.value, }, ]) expect(actionDecodedArgs?.mapping).toEqual([2, 6, 7, 9]) From 3515e4243261f917b373bb06df98872d1b9cbd90 Mon Sep 17 00:00:00 2001 From: Roberto Cano <3525807+robercano@users.noreply.github.com> Date: Thu, 16 May 2024 19:45:29 +0200 Subject: [PATCH 25/45] feat: refactor action builder into classes --- .../src/implementation/OrderPlanner.ts | 18 ++- .../src/interfaces/IActionBuilder.ts | 57 +++++++ .../src/interfaces/IProtocolPlugin.ts | 4 +- .../src/types/StepBuilderTypes.ts | 34 ---- .../src/types/index.ts | 2 +- sdk/protocol-plugins-common/tsconfig.json | 6 +- .../src/implementation/BaseActionBuilder.ts | 71 +++++++++ .../src/implementation/BaseProtocolPlugin.ts | 12 +- .../src/implementation/index.ts | 1 + .../AaveV3DepositBorrowActionBuilder.ts | 141 +++++++++-------- .../AaveV3OpenPositionActionBuilder.ts | 41 +++-- .../AaveV3PaybackWithdrawActionBuilder.ts | 148 +++++++++--------- .../builders/DepositBorrowActionBuilder.ts | 18 +-- .../common/builders/FlashloanActionBuilder.ts | 20 ++- .../builders/ImportPositionActionBuilder.ts | 20 +-- .../builders/OpenPositionActionBuilder.ts | 20 +-- .../builders/PaybackWithdrawActionBuilder.ts | 18 +-- .../builders/PositionCreatedActionBuilder.ts | 30 ++-- .../common/builders/PullTokenActionBuilder.ts | 34 ++-- .../builders/RepayFlashloanActionBuilder.ts | 76 +++++---- .../builders/ReturnFundsActionBuilder.ts | 29 ++-- .../common/builders/SwapActionBuilder.ts | 64 ++++---- .../src/plugins/common/builders/index.ts | 24 ++- .../MakerImportPositionActionBuilder.ts | 43 ++--- .../MakerOpenPositionActionBuilder.ts | 19 +-- .../MakerPaybackWithdrawActionBuilder.ts | 76 ++++----- .../MorphoDepositBorrowActionBuilder.ts | 127 ++++++++------- .../MorphoOpenPositionActionBuilder.ts | 19 +-- .../MorphoPaybackWithdrawActionBuilder.ts | 104 ++++++------ .../SparkDepositBorrowActionBuilder.ts | 142 ++++++++--------- .../SparkOpenPositionActionBuilder.ts | 41 +++-- .../SparkPaybackWithdrawActionBuilder.ts | 146 ++++++++--------- .../utils/DelegateToProtocolActionBuilder.ts | 23 --- .../aaveV3/AaveV3PaybackAction.spec.ts | 3 + .../DepositBorrowActionBuilder.spec.ts | 6 +- .../builders/FlashloanActionBuilder.spec.ts | 2 +- .../ImportPositionActionBuilder.spec.ts | 6 +- .../OpenPositionActionBuilder.spec.ts | 6 +- .../PaybackWithdrawActionBuilder.spec.ts | 6 +- .../builders/PullTokenActionBuilder.spec.ts | 2 +- .../RepayFlashloanActionBuilder.spec.ts | 4 +- .../builders/ReturnFundsActionBuilder.spec.ts | 2 +- .../unit/builders/SwapActionBuilder.spec.ts | 2 +- .../AaveV3DepositBorrowActionBuilder.spec.ts | 8 +- .../AaveV3OpenPositionActionBuilder.spec.ts | 4 +- ...AaveV3PaybackWithdrawActionBuilder.spec.ts | 6 +- .../MakerImportPositionActionBuilder.spec.ts | 4 +- .../MakerOpenPositionActionBuilder.spec.ts | 4 +- .../MakerPaybackWithdrawActionBuilder.spec.ts | 6 +- .../MorphoDepositBorrowActionBuilder.spec.ts | 8 +- .../MorphoOpenPositionActionBuilder.spec.ts | 4 +- ...MorphoPaybackWithdrawActionBuilder.spec.ts | 6 +- .../SparkDepositBorrowActionBuilder.spec.ts | 8 +- .../SparkOpenPositionActionBuilder.spec.ts | 4 +- .../SparkPaybackWithdrawActionBuilder.spec.ts | 6 +- .../tests/utils/ProtocolPluginMock.ts | 90 ++++++----- 56 files changed, 967 insertions(+), 858 deletions(-) create mode 100644 sdk/protocol-plugins-common/src/interfaces/IActionBuilder.ts delete mode 100644 sdk/protocol-plugins-common/src/types/StepBuilderTypes.ts create mode 100644 sdk/protocol-plugins/src/implementation/BaseActionBuilder.ts delete mode 100644 sdk/protocol-plugins/src/plugins/utils/DelegateToProtocolActionBuilder.ts diff --git a/sdk/order-planner-common/src/implementation/OrderPlanner.ts b/sdk/order-planner-common/src/implementation/OrderPlanner.ts index 092f37e597..0eb90e6c7f 100644 --- a/sdk/order-planner-common/src/implementation/OrderPlanner.ts +++ b/sdk/order-planner-common/src/implementation/OrderPlanner.ts @@ -2,9 +2,9 @@ import { Order, type IPositionsManager, TransactionInfo } from '@summerfi/sdk-co import { ISimulation, SimulationType, steps } from '@summerfi/sdk-common/simulation' import { Maybe } from '@summerfi/sdk-common/common' import { - ActionBuilder, ActionBuildersMap, ActionCall, + IActionBuilder, IStepBuilderContext, StepBuilderContext, } from '@summerfi/protocol-plugins-common' @@ -39,7 +39,7 @@ export class OrderPlanner implements IOrderPlanner { throw new Error(`No step builder found for step type ${step.type}`) } - await stepBuilder({ + await stepBuilder.build({ context, user, positionsManager, @@ -68,11 +68,17 @@ export class OrderPlanner implements IOrderPlanner { }) } - private _getActionBuilder( + private _getActionBuilder( actionBuildersMap: ActionBuildersMap, - step: T, - ): Maybe> { - return actionBuildersMap[step.type] as ActionBuilder + step: StepType, + ): Maybe> { + const builder = actionBuildersMap[step.type] + + if (!builder) { + return undefined + } + + return new builder() as IActionBuilder } private async _generateOrder(params: { diff --git a/sdk/protocol-plugins-common/src/interfaces/IActionBuilder.ts b/sdk/protocol-plugins-common/src/interfaces/IActionBuilder.ts new file mode 100644 index 0000000000..59295955f3 --- /dev/null +++ b/sdk/protocol-plugins-common/src/interfaces/IActionBuilder.ts @@ -0,0 +1,57 @@ +import { SimulationSteps, steps } from '@summerfi/sdk-common/simulation' +import { ISwapManager } from '@summerfi/swap-common/interfaces' +import { type IPositionsManager } from '@summerfi/sdk-common/orders' +import { IUser } from '@summerfi/sdk-common/user' +import { IStepBuilderContext } from './IStepBuilderContext' +import { type IProtocolPluginsRegistry } from './IProtocolPluginsRegistry' +import { IAddressBookManager } from '@summerfi/address-book-common' + +/** + * Parameters for an action builder + */ +export type ActionBuilderParams = { + context: IStepBuilderContext + user: IUser + positionsManager: IPositionsManager + swapManager: ISwapManager + addressBookManager: IAddressBookManager + protocolsRegistry: IProtocolPluginsRegistry + step: Step +} + +/** + * Constructor for an action builder + */ +export type IActionBuilderConstructor = + new () => IActionBuilder + +/** + * Helper type to filter the steps by the simulation step type + */ +export type FilterStep< + SimulationStep extends SimulationSteps, + Step extends steps.Steps, +> = Step extends { type: SimulationStep } ? Step : never + +/** + * Map of action builders to be used to register the action builders in the protocol plugins + */ +export type ActionBuildersMap = { + [StepType in steps.Steps['type']]: IActionBuilderConstructor> +} + +/** + * Interface for an action builder + * + * The actions builders are responsible for building the actions for the simulation steps, + * this is they translate the simulation steps into actual actions that can be executed + * in a transaction + */ +export interface IActionBuilder { + /** + * Main function to build the action + * + * @param params Specific parameters for the action builder. @see ActionBuilderParams + */ + build(params: ActionBuilderParams>): Promise +} diff --git a/sdk/protocol-plugins-common/src/interfaces/IProtocolPlugin.ts b/sdk/protocol-plugins-common/src/interfaces/IProtocolPlugin.ts index 7dfc33e023..3a4604e85a 100644 --- a/sdk/protocol-plugins-common/src/interfaces/IProtocolPlugin.ts +++ b/sdk/protocol-plugins-common/src/interfaces/IProtocolPlugin.ts @@ -7,9 +7,9 @@ import { } from '@summerfi/sdk-common/protocols' import { type IProtocolPluginContext } from './IProtocolPluginContext' import { steps } from '@summerfi/sdk-common/simulation' -import { ActionBuilder, ActionBuildersMap } from '../types/StepBuilderTypes' import { IUser } from '@summerfi/sdk-common/user' import { IExternalPosition, IPositionsManager, TransactionInfo } from '@summerfi/sdk-common/orders' +import { IActionBuilder, ActionBuildersMap } from './IActionBuilder' /** * @interface IProtocolPlugin @@ -57,7 +57,7 @@ export interface IProtocolPlugin { * @param step The simulation step for which to get the action builder * @returns The action builder for the given step for the specific protocol, or undefined if not found */ - getActionBuilder(step: StepType): Maybe> + getActionBuilder(step: StepType): Maybe> /** IMPORT POSITION */ diff --git a/sdk/protocol-plugins-common/src/types/StepBuilderTypes.ts b/sdk/protocol-plugins-common/src/types/StepBuilderTypes.ts deleted file mode 100644 index 74edc07f41..0000000000 --- a/sdk/protocol-plugins-common/src/types/StepBuilderTypes.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { SimulationSteps, steps } from '@summerfi/sdk-common/simulation' -import { ISwapManager } from '@summerfi/swap-common/interfaces' -import { type IPositionsManager } from '@summerfi/sdk-common/orders' -import { IUser } from '@summerfi/sdk-common/user' -import { IStepBuilderContext } from '../interfaces/IStepBuilderContext' -import { type IProtocolPluginsRegistry } from '../interfaces/IProtocolPluginsRegistry' -import { IAddressBookManager } from '@summerfi/address-book-common' - -export type FilterStep< - SimulationStep extends SimulationSteps, - Step extends steps.Steps, -> = Step extends { type: SimulationStep } ? Step : never - -export type ActionBuilderParams = { - context: IStepBuilderContext - user: IUser - positionsManager: IPositionsManager - swapManager: ISwapManager - addressBookManager: IAddressBookManager - protocolsRegistry: IProtocolPluginsRegistry - step: Step -} - -export type ActionBuilderFunction = ( - params: ActionBuilderParams, -) => Promise - -export type ActionBuilder = ActionBuilderFunction< - FilterStep -> - -export type ActionBuildersMap = { - [StepType in steps.Steps['type']]: ActionBuilderFunction> -} diff --git a/sdk/protocol-plugins-common/src/types/index.ts b/sdk/protocol-plugins-common/src/types/index.ts index 57dabaccd7..aee2391b55 100644 --- a/sdk/protocol-plugins-common/src/types/index.ts +++ b/sdk/protocol-plugins-common/src/types/index.ts @@ -1,3 +1,3 @@ export * from './ActionStorageTypes' -export * from './StepBuilderTypes' +export * from '../interfaces/IActionBuilder' export * from './InputSlotsMapping' diff --git a/sdk/protocol-plugins-common/tsconfig.json b/sdk/protocol-plugins-common/tsconfig.json index 5e2401452d..6d0a0b86ad 100644 --- a/sdk/protocol-plugins-common/tsconfig.json +++ b/sdk/protocol-plugins-common/tsconfig.json @@ -13,6 +13,10 @@ "path": "../testing-utils" } ], - "include": ["src/**/*.ts", "tests/**/*.ts"], + "include": [ + "src/**/*.ts", + "tests/**/*.ts", + "../protocol-plugins/src/implementation/BaseActionBuilder.ts" + ], "exclude": ["node_modules", "dist"] } diff --git a/sdk/protocol-plugins/src/implementation/BaseActionBuilder.ts b/sdk/protocol-plugins/src/implementation/BaseActionBuilder.ts new file mode 100644 index 0000000000..b98249d2a1 --- /dev/null +++ b/sdk/protocol-plugins/src/implementation/BaseActionBuilder.ts @@ -0,0 +1,71 @@ +import { SimulationSteps, steps } from '@summerfi/sdk-common/simulation' +import { ProtocolName } from '@summerfi/sdk-common/protocols' +import { IAddressBookManager } from '@summerfi/address-book-common' +import { IAddress, IChainInfo } from '@summerfi/sdk-common/common' +import { getContractAddress } from '../plugins/utils/GetContractAddress' +import { ActionBuilderParams, FilterStep, IActionBuilder } from '@summerfi/protocol-plugins-common' + +/** + * Base class for all action builders + * + * It provides convenience functions like `_delegateToProtocol` and establishes + * a common interface for all action builders + * + * The side effects of this class will be reflected in the IStepBuilderContext passed to it as a parameter + */ +export abstract class BaseActionBuilder + implements IActionBuilder +{ + /** + * Main function to build the action + * + * @param params Specific parameters for the action builder. @see ActionBuilderParams + */ + public abstract build( + params: ActionBuilderParams>, + ): Promise + + /** + * Delegates the building of the action to the specific builder in the corresponding protocol plugin + * @param protocolName The name of the protocol to delegate the action to + * @param actionBuilderParams The parameters for the action builder + */ + protected async _delegateToProtocol(params: { + protocolName: ProtocolName + actionBuilderParams: ActionBuilderParams> + }): Promise { + const { protocolName } = params + const { protocolsRegistry } = params.actionBuilderParams + + const plugin = protocolsRegistry.getPlugin({ protocolName }) + if (!plugin) { + throw new Error(`No protocol plugin found for protocol ${protocolName}`) + } + + const builder = plugin.getActionBuilder(params.actionBuilderParams.step) + if (!builder) { + throw new Error(`No action builder found for protocol ${protocolName}`) + } + + return builder.build(params.actionBuilderParams) + } + + /** + * Resolves the address of a contract by its name using the address book manager + * @param addressBookManager The address book manager to use + * @param chainInfo The chain where the contract is + * @param contractName The name of the contract + * @returns The address of the contract + */ + protected async _getContractAddress(params: { + addressBookManager: IAddressBookManager + chainInfo: IChainInfo + contractName: string + }): Promise { + return getContractAddress({ + addressBookManager: params.addressBookManager, + chainInfo: params.chainInfo, + contractName: params.contractName, + }) + } +} diff --git a/sdk/protocol-plugins/src/implementation/BaseProtocolPlugin.ts b/sdk/protocol-plugins/src/implementation/BaseProtocolPlugin.ts index 2f6153912a..ee078e0122 100644 --- a/sdk/protocol-plugins/src/implementation/BaseProtocolPlugin.ts +++ b/sdk/protocol-plugins/src/implementation/BaseProtocolPlugin.ts @@ -1,6 +1,6 @@ import { - ActionBuilder, ActionBuildersMap, + IActionBuilder, IProtocolPlugin, IProtocolPluginContext, } from '@summerfi/protocol-plugins-common' @@ -136,8 +136,14 @@ export abstract class BaseProtocolPlugin implements IProtocolPlugin { /** ACTION BUILDERS */ /** @see IProtocolPlugin.getActionBuilder */ - getActionBuilder(step: T): Maybe> { - return this.stepBuilders[step.type] as ActionBuilder + getActionBuilder(step: StepType): Maybe> { + const builder = this.stepBuilders[step.type] + + if (!builder) { + return undefined + } + + return new builder() as IActionBuilder } /** HELPERS */ diff --git a/sdk/protocol-plugins/src/implementation/index.ts b/sdk/protocol-plugins/src/implementation/index.ts index 5c734a6225..a310bd0696 100644 --- a/sdk/protocol-plugins/src/implementation/index.ts +++ b/sdk/protocol-plugins/src/implementation/index.ts @@ -1,2 +1,3 @@ export * from './ProtocolPluginsRegistry' export * from './BaseProtocolPlugin' +export * from './BaseActionBuilder' diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3DepositBorrowActionBuilder.ts b/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3DepositBorrowActionBuilder.ts index a3e19b8dcb..5f9eaccda7 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3DepositBorrowActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3DepositBorrowActionBuilder.ts @@ -3,91 +3,94 @@ import { getValueFromReference, TokenTransferTargetType, } from '@summerfi/sdk-common/simulation' -import { ActionNames } from '@summerfi/deployment-types' import { IAddress } from '@summerfi/sdk-common/common' -import { ActionBuilder, ActionBuilderParams } from '@summerfi/protocol-plugins-common' +import { ActionBuilderParams } from '@summerfi/protocol-plugins-common' import { SetApprovalAction } from '../../common' import { AaveV3DepositAction } from '../actions/AaveV3DepositAction' import { AaveV3BorrowAction } from '../actions/AaveV3BorrowAction' import { getContractAddress } from '../../utils/GetContractAddress' import { isAaveV3LendingPool } from '../interfaces/IAaveV3LendingPool' +import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' -export const AaveV3DepositBorrowActionList: ActionNames[] = ['AaveV3Deposit', 'AaveV3Borrow'] +export class AaveV3DepositBorrowActionBuilder extends BaseActionBuilder { + async build(params: ActionBuilderParams): Promise { + const { context, step, addressBookManager, user } = params -async function getBorrowTargetAddress( - params: ActionBuilderParams, -): Promise { - const { user, step, positionsManager, addressBookManager } = params - if (step.inputs.borrowTargetType === TokenTransferTargetType.PositionsManager) { - return positionsManager.address - } - - return getContractAddress({ - addressBookManager, - chainInfo: user.chainInfo, - contractName: 'OperationExecutor', - }) -} - -export const AaveV3DepositBorrowActionBuilder: ActionBuilder = async ( - params, -): Promise => { - const { context, step, addressBookManager, user } = params - - if (!isAaveV3LendingPool(step.inputs.position.pool)) { - throw new Error('Invalid AaveV3 lending pool') - } + if (!isAaveV3LendingPool(step.inputs.position.pool)) { + throw new Error('Invalid AaveV3 lending pool') + } - const aaveV3LendingPoolAddress = await getContractAddress({ - addressBookManager, - chainInfo: user.chainInfo, - contractName: 'AaveV3LendingPool', - }) - - context.addActionCall({ - step: step, - action: new SetApprovalAction(), - arguments: { - approvalAmount: getValueFromReference(step.inputs.depositAmount), - delegate: aaveV3LendingPoolAddress, - sumAmounts: false, - }, - connectedInputs: { - depositAmount: 'approvalAmount', - }, - connectedOutputs: {}, - }) - - context.addActionCall({ - step: params.step, - action: new AaveV3DepositAction(), - arguments: { - depositAmount: getValueFromReference(step.inputs.depositAmount), - sumAmounts: false, - setAsCollateral: true, - }, - connectedInputs: { - depositAmount: 'amountToDeposit', - }, - connectedOutputs: { - depositAmount: 'depositedAmount', - }, - }) - - const borrowAmount = getValueFromReference(step.inputs.borrowAmount) + const aaveV3LendingPoolAddress = await getContractAddress({ + addressBookManager, + chainInfo: user.chainInfo, + contractName: 'AaveV3LendingPool', + }) - if (!borrowAmount.toBN().isZero()) { context.addActionCall({ step: step, - action: new AaveV3BorrowAction(), + action: new SetApprovalAction(), arguments: { - borrowAmount: borrowAmount, - borrowTo: await getBorrowTargetAddress(params), + approvalAmount: getValueFromReference(step.inputs.depositAmount), + delegate: aaveV3LendingPoolAddress, + sumAmounts: false, + }, + connectedInputs: { + depositAmount: 'approvalAmount', + }, + connectedOutputs: {}, + }) + + context.addActionCall({ + step: params.step, + action: new AaveV3DepositAction(), + arguments: { + depositAmount: getValueFromReference(step.inputs.depositAmount), + sumAmounts: false, + setAsCollateral: true, + }, + connectedInputs: { + depositAmount: 'amountToDeposit', }, - connectedInputs: {}, connectedOutputs: { - borrowAmount: 'borrowedAmount', + depositAmount: 'depositedAmount', }, }) + + const borrowAmount = getValueFromReference(step.inputs.borrowAmount) + + if (!borrowAmount.toBN().isZero()) { + context.addActionCall({ + step: step, + action: new AaveV3BorrowAction(), + arguments: { + borrowAmount: borrowAmount, + borrowTo: await this._getBorrowTargetAddress(params), + }, + connectedInputs: {}, + connectedOutputs: { + borrowAmount: 'borrowedAmount', + }, + }) + } + } + + /** + * Resolves the target address for the borrow action based on the borrow target type + * @param params The parameters for the action builder + * @returns The address of the target contract + */ + private async _getBorrowTargetAddress( + params: ActionBuilderParams, + ): Promise { + const { user, step, positionsManager, addressBookManager } = params + if (step.inputs.borrowTargetType === TokenTransferTargetType.PositionsManager) { + return positionsManager.address + } + + return getContractAddress({ + addressBookManager, + chainInfo: user.chainInfo, + contractName: 'OperationExecutor', + }) } } diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3OpenPositionActionBuilder.ts b/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3OpenPositionActionBuilder.ts index 66d3659129..52701ed21f 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3OpenPositionActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3OpenPositionActionBuilder.ts @@ -1,30 +1,27 @@ import { steps } from '@summerfi/sdk-common/simulation' -import { ActionNames } from '@summerfi/deployment-types' - -import { ActionBuilder } from '@summerfi/protocol-plugins-common' +import { ActionBuilderParams } from '@summerfi/protocol-plugins-common' import { isAaveV3LendingPool } from '../interfaces' import { AaveV3SetEmodeAction } from '../actions/AaveV3SetEmodeAction' +import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' -export const AaveV3OpenPositionList: ActionNames[] = ['AaveV3SetEMode'] - -export const AaveV3OpenPositionActionBuilder: ActionBuilder = async ( - params, -): Promise => { - const { context, step } = params +export class AaveV3OpenPositionActionBuilder extends BaseActionBuilder { + async build(params: ActionBuilderParams): Promise { + const { context, step } = params - if (!isAaveV3LendingPool(step.inputs.pool)) { - throw new Error('Invalid AaveV3 lending pool') - } + if (!isAaveV3LendingPool(step.inputs.pool)) { + throw new Error('Invalid AaveV3 lending pool') + } - const pool = step.inputs.pool + const pool = step.inputs.pool - context.addActionCall({ - step: step, - action: new AaveV3SetEmodeAction(), - arguments: { - emode: pool.id.emodeType, - }, - connectedInputs: {}, - connectedOutputs: {}, - }) + context.addActionCall({ + step: step, + action: new AaveV3SetEmodeAction(), + arguments: { + emode: pool.id.emodeType, + }, + connectedInputs: {}, + connectedOutputs: {}, + }) + } } diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3PaybackWithdrawActionBuilder.ts b/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3PaybackWithdrawActionBuilder.ts index 90e3721881..0df760470b 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3PaybackWithdrawActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3PaybackWithdrawActionBuilder.ts @@ -3,97 +3,99 @@ import { getValueFromReference, TokenTransferTargetType, } from '@summerfi/sdk-common/simulation' -import { ActionNames } from '@summerfi/deployment-types' - import { IAddress } from '@summerfi/sdk-common/common' -import { ActionBuilder, ActionBuilderParams } from '@summerfi/protocol-plugins-common' +import { ActionBuilderParams } from '@summerfi/protocol-plugins-common' import { SetApprovalAction } from '../../common' import { AaveV3WithdrawAction } from '../actions/AaveV3WithdrawAction' import { AaveV3PaybackAction } from '../actions/AaveV3PaybackAction' import { getContractAddress } from '../../utils/GetContractAddress' import { isAaveV3LendingPool } from '../interfaces/IAaveV3LendingPool' import { Address } from '@summerfi/sdk-common' +import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' -export const AaveV3PaybackWithdrawActionList: ActionNames[] = ['AaveV3Payback', 'AaveV3Withdraw'] - -async function getWithdrawTargetAddress( - params: ActionBuilderParams, -): Promise { - const { user, step, positionsManager, addressBookManager } = params - if (step.inputs.withdrawTargetType === TokenTransferTargetType.PositionsManager) { - return positionsManager.address - } +export class AaveV3PaybackWithdrawActionBuilder extends BaseActionBuilder { + async build(params: ActionBuilderParams): Promise { + const { context, step, addressBookManager, user } = params - return getContractAddress({ - addressBookManager, - chainInfo: user.chainInfo, - contractName: 'OperationExecutor', - }) -} + if (!isAaveV3LendingPool(step.inputs.position.pool)) { + throw new Error('Invalid AaveV3 lending pool') + } -export const AaveV3PaybackWithdrawActionBuilder: ActionBuilder = async ( - params, -): Promise => { - const { context, step, addressBookManager, user } = params + const sparkLendingPoolAddress = await getContractAddress({ + addressBookManager, + chainInfo: user.chainInfo, + contractName: 'AavePool', + }) - if (!isAaveV3LendingPool(step.inputs.position.pool)) { - throw new Error('Invalid AaveV3 lending pool') - } + const paybackAmount = getValueFromReference(step.inputs.paybackAmount) - const sparkLendingPoolAddress = await getContractAddress({ - addressBookManager, - chainInfo: user.chainInfo, - contractName: 'AavePool', - }) + if (!paybackAmount.toBN().isZero()) { + context.addActionCall({ + step: step, + action: new SetApprovalAction(), + arguments: { + approvalAmount: getValueFromReference(step.inputs.paybackAmount), + delegate: sparkLendingPoolAddress, + sumAmounts: false, + }, + connectedInputs: { + paybackAmount: 'approvalAmount', + }, + connectedOutputs: {}, + }) - const paybackAmount = getValueFromReference(step.inputs.paybackAmount) + context.addActionCall({ + step: params.step, + action: new AaveV3PaybackAction(), + arguments: { + paybackAmount: getValueFromReference(step.inputs.paybackAmount), + paybackAll: getValueFromReference(step.inputs.paybackAmount) + .toBN() + .gt(step.inputs.position.debtAmount.toBN()), + onBehalf: Address.ZeroAddressEthereum, + }, + connectedInputs: {}, + connectedOutputs: { + paybackAmount: 'paybackedAmount', + }, + }) + } - if (!paybackAmount.toBN().isZero()) { - context.addActionCall({ - step: step, - action: new SetApprovalAction(), - arguments: { - approvalAmount: getValueFromReference(step.inputs.paybackAmount), - delegate: sparkLendingPoolAddress, - sumAmounts: false, - }, - connectedInputs: { - paybackAmount: 'approvalAmount', - }, - connectedOutputs: {}, - }) + const withdrawAmount = getValueFromReference(step.inputs.withdrawAmount) - context.addActionCall({ - step: params.step, - action: new AaveV3PaybackAction(), - arguments: { - paybackAmount: getValueFromReference(step.inputs.paybackAmount), - paybackAll: getValueFromReference(step.inputs.paybackAmount) - .toBN() - .gt(step.inputs.position.debtAmount.toBN()), - onBehalf: Address.ZeroAddressEthereum, - }, - connectedInputs: {}, - connectedOutputs: { - paybackAmount: 'paybackedAmount', - }, - }) + if (!withdrawAmount.toBN().isZero()) { + context.addActionCall({ + step: step, + action: new AaveV3WithdrawAction(), + arguments: { + withdrawAmount: withdrawAmount, + withdrawTo: await this._getWithdrawTargetAddress(params), + }, + connectedInputs: {}, + connectedOutputs: { + withdrawAmount: 'withdrawnAmount', + }, + }) + } } - const withdrawAmount = getValueFromReference(step.inputs.withdrawAmount) + /** + * Resolves the target address for the withdraw action based on the withdraw target type + * @param params The parameters for the action builder + * @returns The address of the target contract + */ + private async _getWithdrawTargetAddress( + params: ActionBuilderParams, + ): Promise { + const { user, step, positionsManager, addressBookManager } = params + if (step.inputs.withdrawTargetType === TokenTransferTargetType.PositionsManager) { + return positionsManager.address + } - if (!withdrawAmount.toBN().isZero()) { - context.addActionCall({ - step: step, - action: new AaveV3WithdrawAction(), - arguments: { - withdrawAmount: withdrawAmount, - withdrawTo: await getWithdrawTargetAddress(params), - }, - connectedInputs: {}, - connectedOutputs: { - withdrawAmount: 'withdrawnAmount', - }, + return getContractAddress({ + addressBookManager, + chainInfo: user.chainInfo, + contractName: 'OperationExecutor', }) } } diff --git a/sdk/protocol-plugins/src/plugins/common/builders/DepositBorrowActionBuilder.ts b/sdk/protocol-plugins/src/plugins/common/builders/DepositBorrowActionBuilder.ts index 8dbfcf0e4f..a4056d21df 100644 --- a/sdk/protocol-plugins/src/plugins/common/builders/DepositBorrowActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/common/builders/DepositBorrowActionBuilder.ts @@ -1,12 +1,12 @@ -import { ActionBuilder } from '@summerfi/protocol-plugins-common' +import { ActionBuilderParams } from '@summerfi/protocol-plugins-common' import { steps } from '@summerfi/sdk-common/simulation' -import { delegateToProtocolActionBuilder } from '../../utils/DelegateToProtocolActionBuilder' +import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' -export const DepositBorrowActionBuilder: ActionBuilder = async ( - params, -): Promise => { - return delegateToProtocolActionBuilder({ - protocolName: params.step.inputs.position.pool.id.protocol.name, - actionBuilderParams: params, - }) +export class DepositBorrowActionBuilder extends BaseActionBuilder { + async build(params: ActionBuilderParams): Promise { + return this._delegateToProtocol({ + protocolName: params.step.inputs.position.pool.id.protocol.name, + actionBuilderParams: params, + }) + } } diff --git a/sdk/protocol-plugins/src/plugins/common/builders/FlashloanActionBuilder.ts b/sdk/protocol-plugins/src/plugins/common/builders/FlashloanActionBuilder.ts index b98c1e8876..580b43de83 100644 --- a/sdk/protocol-plugins/src/plugins/common/builders/FlashloanActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/common/builders/FlashloanActionBuilder.ts @@ -1,14 +1,12 @@ -import { ActionNames } from '@summerfi/deployment-types' -import { ActionBuilder } from '@summerfi/protocol-plugins-common' +import { ActionBuilderParams } from '@summerfi/protocol-plugins-common' import { steps } from '@summerfi/sdk-common/simulation' +import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' -export const FlashloanActionList: ActionNames[] = ['TakeFlashloan'] - -export const FlashloanActionBuilder: ActionBuilder = async ( - params, -): Promise => { - // Start a new calls level until the flashloan is finished - params.context.startSubContext({ - customData: params.step.inputs, - }) +export class FlashloanActionBuilder extends BaseActionBuilder { + async build(params: ActionBuilderParams): Promise { + // Start a new calls level until the flashloan is finished + params.context.startSubContext({ + customData: params.step.inputs, + }) + } } diff --git a/sdk/protocol-plugins/src/plugins/common/builders/ImportPositionActionBuilder.ts b/sdk/protocol-plugins/src/plugins/common/builders/ImportPositionActionBuilder.ts index 3b80b3f38c..c1838af0de 100644 --- a/sdk/protocol-plugins/src/plugins/common/builders/ImportPositionActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/common/builders/ImportPositionActionBuilder.ts @@ -1,14 +1,14 @@ -import { ActionBuilder } from '@summerfi/protocol-plugins-common' +import { ActionBuilderParams } from '@summerfi/protocol-plugins-common' import { steps } from '@summerfi/sdk-common/simulation' -import { delegateToProtocolActionBuilder } from '../../utils/DelegateToProtocolActionBuilder' +import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' -export const ImportPositionActionBuilder: ActionBuilder = async ( - params, -): Promise => { - const externalPosition = params.step.inputs.externalPosition +export class ImportPositionActionBuilder extends BaseActionBuilder { + async build(params: ActionBuilderParams): Promise { + const externalPosition = params.step.inputs.externalPosition - return delegateToProtocolActionBuilder({ - protocolName: externalPosition.position.pool.id.protocol.name, - actionBuilderParams: params, - }) + return this._delegateToProtocol({ + protocolName: externalPosition.position.pool.id.protocol.name, + actionBuilderParams: params, + }) + } } diff --git a/sdk/protocol-plugins/src/plugins/common/builders/OpenPositionActionBuilder.ts b/sdk/protocol-plugins/src/plugins/common/builders/OpenPositionActionBuilder.ts index 2ce24cd86e..076970e250 100644 --- a/sdk/protocol-plugins/src/plugins/common/builders/OpenPositionActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/common/builders/OpenPositionActionBuilder.ts @@ -1,14 +1,14 @@ -import { ActionBuilder } from '@summerfi/protocol-plugins-common' +import { ActionBuilderParams } from '@summerfi/protocol-plugins-common' import { steps } from '@summerfi/sdk-common/simulation' -import { delegateToProtocolActionBuilder } from '../../utils/DelegateToProtocolActionBuilder' +import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' -export const OpenPositionActionBuilder: ActionBuilder = async ( - params, -): Promise => { - const pool = params.step.inputs.pool +export class OpenPositionActionBuilder extends BaseActionBuilder { + async build(params: ActionBuilderParams): Promise { + const pool = params.step.inputs.pool - await delegateToProtocolActionBuilder({ - protocolName: pool.id.protocol.name, - actionBuilderParams: params, - }) + await this._delegateToProtocol({ + protocolName: pool.id.protocol.name, + actionBuilderParams: params, + }) + } } diff --git a/sdk/protocol-plugins/src/plugins/common/builders/PaybackWithdrawActionBuilder.ts b/sdk/protocol-plugins/src/plugins/common/builders/PaybackWithdrawActionBuilder.ts index 3aebbf0fcd..ce9e92b1f8 100644 --- a/sdk/protocol-plugins/src/plugins/common/builders/PaybackWithdrawActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/common/builders/PaybackWithdrawActionBuilder.ts @@ -1,12 +1,12 @@ -import { ActionBuilder } from '@summerfi/protocol-plugins-common' +import { ActionBuilderParams } from '@summerfi/protocol-plugins-common' import { steps } from '@summerfi/sdk-common/simulation' -import { delegateToProtocolActionBuilder } from '../../utils/DelegateToProtocolActionBuilder' +import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' -export const PaybackWithdrawActionBuilder: ActionBuilder = async ( - params, -): Promise => { - return delegateToProtocolActionBuilder({ - protocolName: params.step.inputs.position.pool.id.protocol.name, - actionBuilderParams: params, - }) +export class PaybackWithdrawActionBuilder extends BaseActionBuilder { + async build(params: ActionBuilderParams): Promise { + return this._delegateToProtocol({ + protocolName: params.step.inputs.position.pool.id.protocol.name, + actionBuilderParams: params, + }) + } } diff --git a/sdk/protocol-plugins/src/plugins/common/builders/PositionCreatedActionBuilder.ts b/sdk/protocol-plugins/src/plugins/common/builders/PositionCreatedActionBuilder.ts index 4bcff20413..83ac201703 100644 --- a/sdk/protocol-plugins/src/plugins/common/builders/PositionCreatedActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/common/builders/PositionCreatedActionBuilder.ts @@ -1,19 +1,19 @@ import { steps } from '@summerfi/sdk-common/simulation' -import { ActionBuilder } from '@summerfi/protocol-plugins-common' +import { ActionBuilderParams } from '@summerfi/protocol-plugins-common' import { PositionCreatedAction } from '../actions/PositionCreatedAction' +import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' +export class PositionCreatedActionBuilder extends BaseActionBuilder { + async build(params: ActionBuilderParams): Promise { + const { context, step } = params -export const PositionCreatedActionBuilder: ActionBuilder = async ( - params, -): Promise => { - const { context, step } = params - - context.addActionCall({ - step: step, - action: new PositionCreatedAction(), - arguments: { - position: step.inputs.position, - }, - connectedInputs: {}, - connectedOutputs: {}, - }) + context.addActionCall({ + step: step, + action: new PositionCreatedAction(), + arguments: { + position: step.inputs.position, + }, + connectedInputs: {}, + connectedOutputs: {}, + }) + } } diff --git a/sdk/protocol-plugins/src/plugins/common/builders/PullTokenActionBuilder.ts b/sdk/protocol-plugins/src/plugins/common/builders/PullTokenActionBuilder.ts index 90ff3c00bc..ca770c77b8 100644 --- a/sdk/protocol-plugins/src/plugins/common/builders/PullTokenActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/common/builders/PullTokenActionBuilder.ts @@ -1,23 +1,21 @@ import { steps, getValueFromReference } from '@summerfi/sdk-common/simulation' -import { ActionNames } from '@summerfi/deployment-types' -import { ActionBuilder } from '@summerfi/protocol-plugins-common' +import { ActionBuilderParams } from '@summerfi/protocol-plugins-common' import { PullTokenAction } from '../actions/PullTokenAction' +import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' -export const PullTokenActionList: ActionNames[] = ['PullToken'] +export class PullTokenActionBuilder extends BaseActionBuilder { + async build(params: ActionBuilderParams): Promise { + const { context, positionsManager, step } = params -export const PullTokenActionBuilder: ActionBuilder = async ( - params, -): Promise => { - const { context, positionsManager, step } = params - - context.addActionCall({ - step: params.step, - action: new PullTokenAction(), - arguments: { - pullAmount: getValueFromReference(step.inputs.amount), - pullFrom: positionsManager.address, - }, - connectedInputs: {}, - connectedOutputs: {}, - }) + context.addActionCall({ + step: params.step, + action: new PullTokenAction(), + arguments: { + pullAmount: getValueFromReference(step.inputs.amount), + pullFrom: positionsManager.address, + }, + connectedInputs: {}, + connectedOutputs: {}, + }) + } } diff --git a/sdk/protocol-plugins/src/plugins/common/builders/RepayFlashloanActionBuilder.ts b/sdk/protocol-plugins/src/plugins/common/builders/RepayFlashloanActionBuilder.ts index 6f028a35ae..213f3629ea 100644 --- a/sdk/protocol-plugins/src/plugins/common/builders/RepayFlashloanActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/common/builders/RepayFlashloanActionBuilder.ts @@ -1,11 +1,9 @@ import { FlashloanProvider, steps } from '@summerfi/sdk-common/simulation' -import { ActionNames } from '@summerfi/deployment-types' -import { ActionBuilder, ActionBuilderParams } from '@summerfi/protocol-plugins-common' +import { ActionBuilderParams } from '@summerfi/protocol-plugins-common' import { SendTokenAction } from '../actions/SendTokenAction' import { FlashloanAction } from '../actions/FlashloanAction' import { getContractAddress } from '../../utils/GetContractAddress' - -export const PaybackFlashloanActionList: ActionNames[] = [] +import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' /* This values are coming from TakeFlashloan contract data types */ export const FlashloanProviderMap: Record = { @@ -13,43 +11,43 @@ export const FlashloanProviderMap: Record = { [FlashloanProvider.Balancer]: 1, } -export const RepayFlashloanActionBuilder: ActionBuilder = async ( - params: ActionBuilderParams, -): Promise => { - const { user, context, step, addressBookManager } = params +export class RepayFlashloanActionBuilder extends BaseActionBuilder { + async build(params: ActionBuilderParams): Promise { + const { user, context, step, addressBookManager } = params - const operationExecutorAddress = await getContractAddress({ - addressBookManager, - chainInfo: user.chainInfo, - contractName: 'OperationExecutor', - }) + const operationExecutorAddress = await getContractAddress({ + addressBookManager, + chainInfo: user.chainInfo, + contractName: 'OperationExecutor', + }) - context.addActionCall({ - step: step, - action: new SendTokenAction(), - arguments: { - sendAmount: step.inputs.amount, - sendTo: operationExecutorAddress, - }, - connectedInputs: {}, - connectedOutputs: {}, - }) + context.addActionCall({ + step: step, + action: new SendTokenAction(), + arguments: { + sendAmount: step.inputs.amount, + sendTo: operationExecutorAddress, + }, + connectedInputs: {}, + connectedOutputs: {}, + }) - // End the current subcontext and pass the subcontext calls to the flashloan action - const { callsBatch, customData } = context.endSubContext() - if (!customData) { - throw new Error('RepayFlashloanBuilder: customData is undefined') - } + // End the current subcontext and pass the subcontext calls to the flashloan action + const { callsBatch, customData } = context.endSubContext() + if (!customData) { + throw new Error('RepayFlashloanBuilder: customData is undefined') + } - context.addActionCall({ - step: step, - action: new FlashloanAction(), - arguments: { - amount: customData.amount, - provider: FlashloanProviderMap[customData.provider], - calls: callsBatch, - }, - connectedInputs: {}, - connectedOutputs: {}, - }) + context.addActionCall({ + step: step, + action: new FlashloanAction(), + arguments: { + amount: customData.amount, + provider: FlashloanProviderMap[customData.provider], + calls: callsBatch, + }, + connectedInputs: {}, + connectedOutputs: {}, + }) + } } diff --git a/sdk/protocol-plugins/src/plugins/common/builders/ReturnFundsActionBuilder.ts b/sdk/protocol-plugins/src/plugins/common/builders/ReturnFundsActionBuilder.ts index 4e69f45b54..a208f24ede 100644 --- a/sdk/protocol-plugins/src/plugins/common/builders/ReturnFundsActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/common/builders/ReturnFundsActionBuilder.ts @@ -1,19 +1,20 @@ import { steps } from '@summerfi/sdk-common/simulation' -import { ActionBuilder } from '@summerfi/protocol-plugins-common' +import { ActionBuilderParams } from '@summerfi/protocol-plugins-common' import { ReturnFundsAction } from '../actions/ReturnFundsAction' +import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' -export const ReturnFundsActionBuilder: ActionBuilder = async ( - params, -): Promise => { - const { context, step } = params +export class ReturnFundsActionBuilder extends BaseActionBuilder { + async build(params: ActionBuilderParams): Promise { + const { context, step } = params - context.addActionCall({ - step: step, - action: new ReturnFundsAction(), - arguments: { - asset: step.inputs.token, - }, - connectedInputs: {}, - connectedOutputs: {}, - }) + context.addActionCall({ + step: step, + action: new ReturnFundsAction(), + arguments: { + asset: step.inputs.token, + }, + connectedInputs: {}, + connectedOutputs: {}, + }) + } } diff --git a/sdk/protocol-plugins/src/plugins/common/builders/SwapActionBuilder.ts b/sdk/protocol-plugins/src/plugins/common/builders/SwapActionBuilder.ts index 8a0026acef..4973797ed4 100644 --- a/sdk/protocol-plugins/src/plugins/common/builders/SwapActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/common/builders/SwapActionBuilder.ts @@ -1,38 +1,40 @@ import { steps } from '@summerfi/sdk-common/simulation' -import { ActionBuilder } from '@summerfi/protocol-plugins-common' +import { ActionBuilderParams } from '@summerfi/protocol-plugins-common' import { SwapAction } from '../actions/SwapAction' -import { getContractAddress } from '../../utils/GetContractAddress' +import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' -export const SwapActionBuilder: ActionBuilder = async (params): Promise => { - const { context, user, swapManager, addressBookManager, step } = params +export class SwapActionBuilder extends BaseActionBuilder { + async build(params: ActionBuilderParams): Promise { + const { context, user, swapManager, addressBookManager, step } = params - const swapContractAddress = await getContractAddress({ - addressBookManager, - chainInfo: user.chainInfo, - contractName: 'Swap', - }) + const swapContractAddress = await this._getContractAddress({ + addressBookManager, + chainInfo: user.chainInfo, + contractName: 'Swap', + }) - const swapData = await swapManager.getSwapDataExactInput({ - chainInfo: params.user.chainInfo, - fromAmount: step.inputs.inputAmountAfterFee, - toToken: step.inputs.minimumReceivedAmount.token, - recipient: swapContractAddress, - slippage: step.inputs.slippage, - }) + const swapData = await swapManager.getSwapDataExactInput({ + chainInfo: params.user.chainInfo, + fromAmount: step.inputs.inputAmountAfterFee, + toToken: step.inputs.minimumReceivedAmount.token, + recipient: swapContractAddress, + slippage: step.inputs.slippage, + }) - context.addActionCall({ - step: step, - action: new SwapAction(), - arguments: { - fromAmount: step.inputs.inputAmount, - toMinimumAmount: step.inputs.minimumReceivedAmount, - fee: step.inputs.summerFee, - withData: swapData.calldata, - collectFeeInFromToken: true, - }, - connectedInputs: {}, - connectedOutputs: { - received: 'received', - }, - }) + context.addActionCall({ + step: step, + action: new SwapAction(), + arguments: { + fromAmount: step.inputs.inputAmount, + toMinimumAmount: step.inputs.minimumReceivedAmount, + fee: step.inputs.summerFee, + withData: swapData.calldata, + collectFeeInFromToken: true, + }, + connectedInputs: {}, + connectedOutputs: { + received: 'received', + }, + }) + } } diff --git a/sdk/protocol-plugins/src/plugins/common/builders/index.ts b/sdk/protocol-plugins/src/plugins/common/builders/index.ts index 99456eab44..d56f468f26 100644 --- a/sdk/protocol-plugins/src/plugins/common/builders/index.ts +++ b/sdk/protocol-plugins/src/plugins/common/builders/index.ts @@ -1,14 +1,10 @@ -export { DepositBorrowActionBuilder } from './DepositBorrowActionBuilder' -export { FlashloanActionBuilder, FlashloanActionList } from './FlashloanActionBuilder' -export { PaybackWithdrawActionBuilder } from './PaybackWithdrawActionBuilder' -export { PullTokenActionBuilder, PullTokenActionList } from './PullTokenActionBuilder' -export { - FlashloanProviderMap, - PaybackFlashloanActionList, - RepayFlashloanActionBuilder, -} from './RepayFlashloanActionBuilder' -export { ReturnFundsActionBuilder } from './ReturnFundsActionBuilder' -export { SwapActionBuilder } from './SwapActionBuilder' -export { PositionCreatedActionBuilder } from './PositionCreatedActionBuilder' -export { ImportPositionActionBuilder } from './ImportPositionActionBuilder' -export { OpenPositionActionBuilder } from './OpenPositionActionBuilder' +export * from './DepositBorrowActionBuilder' +export * from './FlashloanActionBuilder' +export * from './PaybackWithdrawActionBuilder' +export * from './PullTokenActionBuilder' +export * from './RepayFlashloanActionBuilder' +export * from './ReturnFundsActionBuilder' +export * from './SwapActionBuilder' +export * from './PositionCreatedActionBuilder' +export * from './ImportPositionActionBuilder' +export * from './OpenPositionActionBuilder' diff --git a/sdk/protocol-plugins/src/plugins/maker/builders/MakerImportPositionActionBuilder.ts b/sdk/protocol-plugins/src/plugins/maker/builders/MakerImportPositionActionBuilder.ts index eafbb11486..3ac45329bc 100644 --- a/sdk/protocol-plugins/src/plugins/maker/builders/MakerImportPositionActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/maker/builders/MakerImportPositionActionBuilder.ts @@ -1,31 +1,32 @@ import { steps } from '@summerfi/sdk-common/simulation' -import { ActionBuilder } from '@summerfi/protocol-plugins-common' +import { ActionBuilderParams } from '@summerfi/protocol-plugins-common' import { ProtocolName } from '@summerfi/sdk-common/protocols' import { isMakerLendingPoolId } from '../interfaces/IMakerLendingPoolId' +import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' -export const MakerImportPositionActionBuilder: ActionBuilder = async ( - params, -): Promise => { - const { protocolsRegistry, step, user, context, positionsManager } = params +export class MakerImportPositionActionBuilder extends BaseActionBuilder { + async build(params: ActionBuilderParams): Promise { + const { protocolsRegistry, step, user, context, positionsManager } = params - if (!isMakerLendingPoolId(step.inputs.externalPosition.position.pool.id)) { - throw new Error('Invalid Maker lending pool id') - } + if (!isMakerLendingPoolId(step.inputs.externalPosition.position.pool.id)) { + throw new Error('Invalid Maker lending pool id') + } - const makerPlugin = protocolsRegistry.getPlugin({ protocolName: ProtocolName.Maker }) - if (!makerPlugin) { - throw new Error('Maker plugin not found') - } + const makerPlugin = protocolsRegistry.getPlugin({ protocolName: ProtocolName.Maker }) + if (!makerPlugin) { + throw new Error('Maker plugin not found') + } - const importPositionTransaction = await makerPlugin.getImportPositionTransaction({ - user: user, - externalPosition: step.inputs.externalPosition, - positionsManager: positionsManager, - }) + const importPositionTransaction = await makerPlugin.getImportPositionTransaction({ + user: user, + externalPosition: step.inputs.externalPosition, + positionsManager: positionsManager, + }) - if (!importPositionTransaction) { - throw new Error('Maker: Import position transaction not found') - } + if (!importPositionTransaction) { + throw new Error('Maker: Import position transaction not found') + } - context.addTransaction({ transaction: importPositionTransaction }) + context.addTransaction({ transaction: importPositionTransaction }) + } } diff --git a/sdk/protocol-plugins/src/plugins/maker/builders/MakerOpenPositionActionBuilder.ts b/sdk/protocol-plugins/src/plugins/maker/builders/MakerOpenPositionActionBuilder.ts index c0de352ce9..27bb66ca9c 100644 --- a/sdk/protocol-plugins/src/plugins/maker/builders/MakerOpenPositionActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/maker/builders/MakerOpenPositionActionBuilder.ts @@ -1,15 +1,16 @@ import { steps } from '@summerfi/sdk-common/simulation' -import { ActionBuilder } from '@summerfi/protocol-plugins-common' +import { ActionBuilderParams } from '@summerfi/protocol-plugins-common' import { isMakerLendingPool } from '../interfaces/IMakerLendingPool' +import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' -export const MakerOpenPositionActionBuilder: ActionBuilder = async ( - params, -): Promise => { - const { step } = params +export class MakerOpenPositionActionBuilder extends BaseActionBuilder { + async build(params: ActionBuilderParams): Promise { + const { step } = params - if (!isMakerLendingPool(step.inputs.pool)) { - throw new Error('Invalid Maker lending pool id') - } + if (!isMakerLendingPool(step.inputs.pool)) { + throw new Error('Invalid Maker lending pool id') + } - // No-op for Maker + // No-op for Maker + } } diff --git a/sdk/protocol-plugins/src/plugins/maker/builders/MakerPaybackWithdrawActionBuilder.ts b/sdk/protocol-plugins/src/plugins/maker/builders/MakerPaybackWithdrawActionBuilder.ts index dc45d0b96e..71d166bd55 100644 --- a/sdk/protocol-plugins/src/plugins/maker/builders/MakerPaybackWithdrawActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/maker/builders/MakerPaybackWithdrawActionBuilder.ts @@ -1,60 +1,60 @@ import { getValueFromReference, steps } from '@summerfi/sdk-common/simulation' import { MakerPaybackAction } from '../actions/MakerPaybackAction' import { MakerWithdrawAction } from '../actions/MakerWithdrawAction' -import { ActionBuilder } from '@summerfi/protocol-plugins-common' +import { ActionBuilderParams } from '@summerfi/protocol-plugins-common' import { MakerIlkToJoinMap } from '../types/MakerIlkToJoinMap' import { isMakerLendingPoolId } from '../interfaces/IMakerLendingPoolId' -import { getContractAddress } from '../../utils/GetContractAddress' +import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' -export const MakerPaybackWithdrawActionBuilder: ActionBuilder = async ( - params, -): Promise => { - const { context, user, positionsManager, step, addressBookManager } = params +export class MakerPaybackWithdrawActionBuilder extends BaseActionBuilder { + async build(params: ActionBuilderParams): Promise { + const { context, user, positionsManager, step, addressBookManager } = params - if (!isMakerLendingPoolId(step.inputs.position.pool.id)) { - throw new Error('Invalid Maker lending pool id') - } + if (!isMakerLendingPoolId(step.inputs.position.pool.id)) { + throw new Error('Invalid Maker lending pool id') + } + + const ilkType = step.inputs.position.pool.id.ilkType - const ilkType = step.inputs.position.pool.id.ilkType + const joinName = MakerIlkToJoinMap[ilkType] + const joinAddress = await this._getContractAddress({ + addressBookManager, + chainInfo: user.chainInfo, + contractName: joinName, + }) - const joinName = MakerIlkToJoinMap[ilkType] - const joinAddress = await getContractAddress({ - addressBookManager, - chainInfo: user.chainInfo, - contractName: joinName, - }) + const paybackAmount = getValueFromReference(step.inputs.paybackAmount) - const paybackAmount = getValueFromReference(step.inputs.paybackAmount) + if (!paybackAmount.toBN().isZero()) { + context.addActionCall({ + step: params.step, + action: new MakerPaybackAction(), + arguments: { + position: step.inputs.position, + positionsManager: positionsManager, + amount: getValueFromReference(step.inputs.paybackAmount), + paybackAll: paybackAmount.toBN().gte(step.inputs.position.debtAmount.toBN()), + }, + connectedInputs: {}, + connectedOutputs: { + paybackAmount: 'amountPaidBack', + }, + }) + } - if (!paybackAmount.toBN().isZero()) { context.addActionCall({ - step: params.step, - action: new MakerPaybackAction(), + step: step, + action: new MakerWithdrawAction(), arguments: { position: step.inputs.position, positionsManager: positionsManager, - amount: getValueFromReference(step.inputs.paybackAmount), - paybackAll: paybackAmount.toBN().gte(step.inputs.position.debtAmount.toBN()), + amount: step.inputs.withdrawAmount, + joinAddress: joinAddress, }, connectedInputs: {}, connectedOutputs: { - paybackAmount: 'amountPaidBack', + withdrawAmount: 'amountWithdrawn', }, }) } - - context.addActionCall({ - step: step, - action: new MakerWithdrawAction(), - arguments: { - position: step.inputs.position, - positionsManager: positionsManager, - amount: step.inputs.withdrawAmount, - joinAddress: joinAddress, - }, - connectedInputs: {}, - connectedOutputs: { - withdrawAmount: 'amountWithdrawn', - }, - }) } diff --git a/sdk/protocol-plugins/src/plugins/morphoblue/builders/MorphoDepositBorrowActionBuilder.ts b/sdk/protocol-plugins/src/plugins/morphoblue/builders/MorphoDepositBorrowActionBuilder.ts index eac143fae6..58b0f76cd4 100644 --- a/sdk/protocol-plugins/src/plugins/morphoblue/builders/MorphoDepositBorrowActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/morphoblue/builders/MorphoDepositBorrowActionBuilder.ts @@ -3,94 +3,93 @@ import { getValueFromReference, TokenTransferTargetType, } from '@summerfi/sdk-common/simulation' - import { MorphoBorrowAction } from '../actions/MorphoBorrowAction' import { MorphoDepositAction } from '../actions/MorphoDepositAction' -import { ActionBuilder } from '@summerfi/protocol-plugins-common' +import { ActionBuilderParams } from '@summerfi/protocol-plugins-common' import { SendTokenAction, SetApprovalAction } from '../../common' import { isMorphoLendingPool } from '../interfaces/IMorphoLendingPool' -import { getContractAddress } from '../../utils/GetContractAddress' - -export const MorphoDepositBorrowActionBuilder: ActionBuilder = async ( - params, -): Promise => { - const { context, user, step, addressBookManager } = params - - if (!isMorphoLendingPool(step.inputs.position.pool)) { - throw new Error('Invalid Morpho lending pool id') - } - - const morphoBlueAddress = await getContractAddress({ - addressBookManager, - chainInfo: user.chainInfo, - contractName: 'MorphoBlue', - }) +import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' - context.addActionCall({ - step: step, - action: new SetApprovalAction(), - arguments: { - approvalAmount: getValueFromReference(step.inputs.depositAmount), - delegate: morphoBlueAddress, - sumAmounts: false, - }, - connectedInputs: { - depositAmount: 'approvalAmount', - }, - connectedOutputs: {}, - }) +export class MorphoDepositBorrowActionBuilder extends BaseActionBuilder { + async build(params: ActionBuilderParams): Promise { + const { context, user, step, addressBookManager } = params - context.addActionCall({ - step: params.step, - action: new MorphoDepositAction(), - arguments: { - morphoLendingPool: step.inputs.position.pool, - amount: getValueFromReference(step.inputs.depositAmount), - sumAmounts: false, - }, - connectedInputs: { - depositAmount: 'amount', - }, - connectedOutputs: { - depositAmount: 'depositedAmount', - }, - }) + if (!isMorphoLendingPool(step.inputs.position.pool)) { + throw new Error('Invalid Morpho lending pool id') + } - const borrowAmount = getValueFromReference(step.inputs.borrowAmount) + const morphoBlueAddress = await this._getContractAddress({ + addressBookManager, + chainInfo: user.chainInfo, + contractName: 'MorphoBlue', + }) - if (!borrowAmount.toBN().isZero()) { context.addActionCall({ step: step, - action: new MorphoBorrowAction(), + action: new SetApprovalAction(), + arguments: { + approvalAmount: getValueFromReference(step.inputs.depositAmount), + delegate: morphoBlueAddress, + sumAmounts: false, + }, + connectedInputs: { + depositAmount: 'approvalAmount', + }, + connectedOutputs: {}, + }) + + context.addActionCall({ + step: params.step, + action: new MorphoDepositAction(), arguments: { morphoLendingPool: step.inputs.position.pool, - amount: borrowAmount, + amount: getValueFromReference(step.inputs.depositAmount), + sumAmounts: false, + }, + connectedInputs: { + depositAmount: 'amount', }, - connectedInputs: {}, connectedOutputs: { - borrowAmount: 'borrowedAmount', + depositAmount: 'depositedAmount', }, }) - if (step.inputs.borrowTargetType !== TokenTransferTargetType.PositionsManager) { - const operationExecutorAddress = await getContractAddress({ - addressBookManager, - chainInfo: user.chainInfo, - contractName: 'OperationExecutor', - }) + const borrowAmount = getValueFromReference(step.inputs.borrowAmount) + if (!borrowAmount.toBN().isZero()) { context.addActionCall({ step: step, - action: new SendTokenAction(), + action: new MorphoBorrowAction(), arguments: { - sendAmount: borrowAmount, - sendTo: operationExecutorAddress, + morphoLendingPool: step.inputs.position.pool, + amount: borrowAmount, }, - connectedInputs: { - borrowAmount: 'amount', + connectedInputs: {}, + connectedOutputs: { + borrowAmount: 'borrowedAmount', }, - connectedOutputs: {}, }) + + if (step.inputs.borrowTargetType !== TokenTransferTargetType.PositionsManager) { + const operationExecutorAddress = await this._getContractAddress({ + addressBookManager, + chainInfo: user.chainInfo, + contractName: 'OperationExecutor', + }) + + context.addActionCall({ + step: step, + action: new SendTokenAction(), + arguments: { + sendAmount: borrowAmount, + sendTo: operationExecutorAddress, + }, + connectedInputs: { + borrowAmount: 'amount', + }, + connectedOutputs: {}, + }) + } } } } diff --git a/sdk/protocol-plugins/src/plugins/morphoblue/builders/MorphoOpenPositionActionBuilder.ts b/sdk/protocol-plugins/src/plugins/morphoblue/builders/MorphoOpenPositionActionBuilder.ts index de1bc5ea61..b0580180d4 100644 --- a/sdk/protocol-plugins/src/plugins/morphoblue/builders/MorphoOpenPositionActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/morphoblue/builders/MorphoOpenPositionActionBuilder.ts @@ -1,15 +1,16 @@ import { steps } from '@summerfi/sdk-common/simulation' -import { ActionBuilder } from '@summerfi/protocol-plugins-common' +import { ActionBuilderParams } from '@summerfi/protocol-plugins-common' import { isMorphoLendingPool } from '../interfaces/IMorphoLendingPool' +import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' -export const MorphoOpenPositionActionBuilder: ActionBuilder = async ( - params, -): Promise => { - const { step } = params +export class MorphoOpenPositionActionBuilder extends BaseActionBuilder { + async build(params: ActionBuilderParams): Promise { + const { step } = params - if (!isMorphoLendingPool(step.inputs.pool)) { - throw new Error('Invalid Morpho lending pool id') - } + if (!isMorphoLendingPool(step.inputs.pool)) { + throw new Error('Invalid Morpho lending pool id') + } - // No-op for Morpho + // No-op for Morpho + } } diff --git a/sdk/protocol-plugins/src/plugins/morphoblue/builders/MorphoPaybackWithdrawActionBuilder.ts b/sdk/protocol-plugins/src/plugins/morphoblue/builders/MorphoPaybackWithdrawActionBuilder.ts index b3398b1071..6bf22781cc 100644 --- a/sdk/protocol-plugins/src/plugins/morphoblue/builders/MorphoPaybackWithdrawActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/morphoblue/builders/MorphoPaybackWithdrawActionBuilder.ts @@ -1,71 +1,71 @@ import { getValueFromReference, steps } from '@summerfi/sdk-common/simulation' -import { ActionBuilder } from '@summerfi/protocol-plugins-common' +import { ActionBuilderParams } from '@summerfi/protocol-plugins-common' import { isMorphoLendingPool } from '../interfaces/IMorphoLendingPool' import { MorphoPaybackAction, MorphoWithdrawAction } from '../actions' import { SetApprovalAction } from '../../common' -import { getContractAddress } from '../../utils/GetContractAddress' +import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' -export const MorphoPaybackWithdrawActionBuilder: ActionBuilder = async ( - params, -): Promise => { - const { context, positionsManager, step, addressBookManager, user } = params +export class MorphoPaybackWithdrawActionBuilder extends BaseActionBuilder { + async build(params: ActionBuilderParams): Promise { + const { context, positionsManager, step, addressBookManager, user } = params - if (!isMorphoLendingPool(step.inputs.position.pool)) { - throw new Error('Invalid Morpho lending pool id') - } + if (!isMorphoLendingPool(step.inputs.position.pool)) { + throw new Error('Invalid Morpho lending pool id') + } - const morphoBlueAddress = await getContractAddress({ - addressBookManager, - chainInfo: user.chainInfo, - contractName: 'MorphoBlue', - }) + const morphoBlueAddress = await this._getContractAddress({ + addressBookManager, + chainInfo: user.chainInfo, + contractName: 'MorphoBlue', + }) - const paybackAmount = getValueFromReference(step.inputs.paybackAmount) + const paybackAmount = getValueFromReference(step.inputs.paybackAmount) - if (!paybackAmount.toBN().isZero()) { - context.addActionCall({ - step: params.step, - action: new SetApprovalAction(), - arguments: { - approvalAmount: getValueFromReference(step.inputs.paybackAmount), - delegate: morphoBlueAddress, - sumAmounts: false, - }, - connectedInputs: { - paybackAmount: 'approvalAmount', - }, - connectedOutputs: {}, - }) + if (!paybackAmount.toBN().isZero()) { + context.addActionCall({ + step: params.step, + action: new SetApprovalAction(), + arguments: { + approvalAmount: getValueFromReference(step.inputs.paybackAmount), + delegate: morphoBlueAddress, + sumAmounts: false, + }, + connectedInputs: { + paybackAmount: 'approvalAmount', + }, + connectedOutputs: {}, + }) + + context.addActionCall({ + step: params.step, + action: new MorphoPaybackAction(), + arguments: { + morphoLendingPool: step.inputs.position.pool, + amount: getValueFromReference(step.inputs.paybackAmount), + onBehalf: positionsManager.address, + paybackAll: paybackAmount.toBN().gte(step.inputs.position.debtAmount.toBN()), + }, + connectedInputs: { + paybackAmount: 'amount', + }, + connectedOutputs: { + paybackAmount: 'paybackedAmount', + }, + }) + } context.addActionCall({ - step: params.step, - action: new MorphoPaybackAction(), + step: step, + action: new MorphoWithdrawAction(), arguments: { morphoLendingPool: step.inputs.position.pool, - amount: getValueFromReference(step.inputs.paybackAmount), - onBehalf: positionsManager.address, - paybackAll: paybackAmount.toBN().gte(step.inputs.position.debtAmount.toBN()), - }, - connectedInputs: { - paybackAmount: 'amount', + amount: step.inputs.withdrawAmount, + to: positionsManager.address, }, + connectedInputs: {}, connectedOutputs: { - paybackAmount: 'paybackedAmount', + withdrawAmount: 'withdrawnAmount', }, }) } - - context.addActionCall({ - step: step, - action: new MorphoWithdrawAction(), - arguments: { - morphoLendingPool: step.inputs.position.pool, - amount: step.inputs.withdrawAmount, - to: positionsManager.address, - }, - connectedInputs: {}, - connectedOutputs: { - withdrawAmount: 'withdrawnAmount', - }, - }) } diff --git a/sdk/protocol-plugins/src/plugins/spark/builders/SparkDepositBorrowActionBuilder.ts b/sdk/protocol-plugins/src/plugins/spark/builders/SparkDepositBorrowActionBuilder.ts index c7cc6a491f..ef7c31dce7 100644 --- a/sdk/protocol-plugins/src/plugins/spark/builders/SparkDepositBorrowActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/spark/builders/SparkDepositBorrowActionBuilder.ts @@ -3,92 +3,94 @@ import { getValueFromReference, TokenTransferTargetType, } from '@summerfi/sdk-common/simulation' -import { ActionNames } from '@summerfi/deployment-types' - import { SparkBorrowAction } from '../actions/SparkBorrowAction' import { SparkDepositAction } from '../actions/SparkDepositAction' import { IAddress } from '@summerfi/sdk-common/common' -import { ActionBuilder, ActionBuilderParams } from '@summerfi/protocol-plugins-common' +import { ActionBuilderParams } from '@summerfi/protocol-plugins-common' import { SetApprovalAction } from '../../common' import { getContractAddress } from '../../utils/GetContractAddress' import { isSparkLendingPool } from '../interfaces/ISparkLendingPool' +import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' -export const SparkDepositBorrowActionList: ActionNames[] = ['SparkDeposit', 'SparkBorrow'] - -async function getBorrowTargetAddress( - params: ActionBuilderParams, -): Promise { - const { user, step, positionsManager, addressBookManager } = params - if (step.inputs.borrowTargetType === TokenTransferTargetType.PositionsManager) { - return positionsManager.address - } - - return getContractAddress({ - addressBookManager, - chainInfo: user.chainInfo, - contractName: 'OperationExecutor', - }) -} - -export const SparkDepositBorrowActionBuilder: ActionBuilder = async ( - params, -): Promise => { - const { context, user, step, addressBookManager } = params +export class SparkDepositBorrowActionBuilder extends BaseActionBuilder { + async build(params: ActionBuilderParams): Promise { + const { context, user, step, addressBookManager } = params - if (!isSparkLendingPool(step.inputs.position.pool)) { - throw new Error('Invalid Spark lending pool') - } - - const sparkLendingPoolAddress = await getContractAddress({ - addressBookManager, - chainInfo: user.chainInfo, - contractName: 'SparkLendingPool', - }) - - context.addActionCall({ - step: step, - action: new SetApprovalAction(), - arguments: { - approvalAmount: getValueFromReference(step.inputs.depositAmount), - delegate: sparkLendingPoolAddress, - sumAmounts: false, - }, - connectedInputs: { - depositAmount: 'approvalAmount', - }, - connectedOutputs: {}, - }) + if (!isSparkLendingPool(step.inputs.position.pool)) { + throw new Error('Invalid Spark lending pool') + } - context.addActionCall({ - step: params.step, - action: new SparkDepositAction(), - arguments: { - depositAmount: getValueFromReference(step.inputs.depositAmount), - sumAmounts: false, - setAsCollateral: true, - }, - connectedInputs: { - depositAmount: 'amountToDeposit', - }, - connectedOutputs: { - depositAmount: 'depositedAmount', - }, - }) - - const borrowAmount = getValueFromReference(step.inputs.borrowAmount) + const sparkLendingPoolAddress = await this._getContractAddress({ + addressBookManager, + chainInfo: user.chainInfo, + contractName: 'SparkLendingPool', + }) - if (!borrowAmount.toBN().isZero()) { context.addActionCall({ step: step, - action: new SparkBorrowAction(), + action: new SetApprovalAction(), + arguments: { + approvalAmount: getValueFromReference(step.inputs.depositAmount), + delegate: sparkLendingPoolAddress, + sumAmounts: false, + }, + connectedInputs: { + depositAmount: 'approvalAmount', + }, + connectedOutputs: {}, + }) + + context.addActionCall({ + step: params.step, + action: new SparkDepositAction(), arguments: { - borrowAmount: borrowAmount, - borrowTo: await getBorrowTargetAddress(params), + depositAmount: getValueFromReference(step.inputs.depositAmount), + sumAmounts: false, + setAsCollateral: true, + }, + connectedInputs: { + depositAmount: 'amountToDeposit', }, - connectedInputs: {}, connectedOutputs: { - borrowAmount: 'borrowedAmount', + depositAmount: 'depositedAmount', }, }) + + const borrowAmount = getValueFromReference(step.inputs.borrowAmount) + + if (!borrowAmount.toBN().isZero()) { + context.addActionCall({ + step: step, + action: new SparkBorrowAction(), + arguments: { + borrowAmount: borrowAmount, + borrowTo: await this._getBorrowTargetAddress(params), + }, + connectedInputs: {}, + connectedOutputs: { + borrowAmount: 'borrowedAmount', + }, + }) + } + } + + /** + * Resolves the target address for the borrow action based on the borrow target type + * @param params The parameters for the action builder + * @returns The address of the target contract + */ + private async _getBorrowTargetAddress( + params: ActionBuilderParams, + ): Promise { + const { user, step, positionsManager, addressBookManager } = params + if (step.inputs.borrowTargetType === TokenTransferTargetType.PositionsManager) { + return positionsManager.address + } + + return getContractAddress({ + addressBookManager, + chainInfo: user.chainInfo, + contractName: 'OperationExecutor', + }) } } diff --git a/sdk/protocol-plugins/src/plugins/spark/builders/SparkOpenPositionActionBuilder.ts b/sdk/protocol-plugins/src/plugins/spark/builders/SparkOpenPositionActionBuilder.ts index 1186305240..43da357545 100644 --- a/sdk/protocol-plugins/src/plugins/spark/builders/SparkOpenPositionActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/spark/builders/SparkOpenPositionActionBuilder.ts @@ -1,30 +1,27 @@ import { steps } from '@summerfi/sdk-common/simulation' -import { ActionNames } from '@summerfi/deployment-types' - -import { ActionBuilder } from '@summerfi/protocol-plugins-common' import { isSparkLendingPool } from '../interfaces' import { SparkSetEmodeAction } from '../actions' +import { ActionBuilderParams } from '@summerfi/protocol-plugins-common' +import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' -export const SparkOpenPositionList: ActionNames[] = ['SparkSetEMode'] - -export const SparkOpenPositionActionBuilder: ActionBuilder = async ( - params, -): Promise => { - const { context, step } = params +export class SparkOpenPositionActionBuilder extends BaseActionBuilder { + async build(params: ActionBuilderParams): Promise { + const { context, step } = params - if (!isSparkLendingPool(step.inputs.pool)) { - throw new Error('Invalid Spark lending pool') - } + if (!isSparkLendingPool(step.inputs.pool)) { + throw new Error('Invalid Spark lending pool') + } - const pool = step.inputs.pool + const pool = step.inputs.pool - context.addActionCall({ - step: step, - action: new SparkSetEmodeAction(), - arguments: { - emode: pool.id.emodeType, - }, - connectedInputs: {}, - connectedOutputs: {}, - }) + context.addActionCall({ + step: step, + action: new SparkSetEmodeAction(), + arguments: { + emode: pool.id.emodeType, + }, + connectedInputs: {}, + connectedOutputs: {}, + }) + } } diff --git a/sdk/protocol-plugins/src/plugins/spark/builders/SparkPaybackWithdrawActionBuilder.ts b/sdk/protocol-plugins/src/plugins/spark/builders/SparkPaybackWithdrawActionBuilder.ts index 18bc8081d3..b6da9af2f5 100644 --- a/sdk/protocol-plugins/src/plugins/spark/builders/SparkPaybackWithdrawActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/spark/builders/SparkPaybackWithdrawActionBuilder.ts @@ -3,95 +3,97 @@ import { getValueFromReference, TokenTransferTargetType, } from '@summerfi/sdk-common/simulation' -import { ActionNames } from '@summerfi/deployment-types' - import { IAddress } from '@summerfi/sdk-common/common' -import { ActionBuilder, ActionBuilderParams } from '@summerfi/protocol-plugins-common' +import { ActionBuilderParams } from '@summerfi/protocol-plugins-common' import { SetApprovalAction } from '../../common' import { SparkWithdrawAction } from '../actions/SparkWithdrawAction' import { SparkPaybackAction } from '../actions/SparkPaybackAction' import { getContractAddress } from '../../utils/GetContractAddress' import { isSparkLendingPool } from '../interfaces/ISparkLendingPool' +import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' -export const SparkPaybackWithdrawActionList: ActionNames[] = ['SparkPayback', 'SparkWithdraw'] - -async function getWithdrawTargetAddress( - params: ActionBuilderParams, -): Promise { - const { user, step, positionsManager, addressBookManager } = params - if (step.inputs.withdrawTargetType === TokenTransferTargetType.PositionsManager) { - return positionsManager.address - } +export class SparkPaybackWithdrawActionBuilder extends BaseActionBuilder { + async build(params: ActionBuilderParams): Promise { + const { context, step, addressBookManager, user } = params - return getContractAddress({ - addressBookManager, - chainInfo: user.chainInfo, - contractName: 'OperationExecutor', - }) -} + if (!isSparkLendingPool(step.inputs.position.pool)) { + throw new Error('Invalid Spark lending pool') + } -export const SparkPaybackWithdrawActionBuilder: ActionBuilder = async ( - params, -): Promise => { - const { context, step, addressBookManager, user } = params + const sparkLendingPoolAddress = await this._getContractAddress({ + addressBookManager, + chainInfo: user.chainInfo, + contractName: 'SparkLendingPool', + }) - if (!isSparkLendingPool(step.inputs.position.pool)) { - throw new Error('Invalid Spark lending pool') - } + const paybackAmount = getValueFromReference(step.inputs.paybackAmount) - const sparkLendingPoolAddress = await getContractAddress({ - addressBookManager, - chainInfo: user.chainInfo, - contractName: 'SparkLendingPool', - }) + if (!paybackAmount.toBN().isZero()) { + context.addActionCall({ + step: step, + action: new SetApprovalAction(), + arguments: { + approvalAmount: getValueFromReference(step.inputs.paybackAmount), + delegate: sparkLendingPoolAddress, + sumAmounts: false, + }, + connectedInputs: { + paybackAmount: 'approvalAmount', + }, + connectedOutputs: {}, + }) - const paybackAmount = getValueFromReference(step.inputs.paybackAmount) + context.addActionCall({ + step: params.step, + action: new SparkPaybackAction(), + arguments: { + paybackAmount: getValueFromReference(step.inputs.paybackAmount), + paybackAll: getValueFromReference(step.inputs.paybackAmount) + .toBN() + .gt(step.inputs.position.debtAmount.toBN()), + }, + connectedInputs: {}, + connectedOutputs: { + paybackAmount: 'paybackedAmount', + }, + }) + } - if (!paybackAmount.toBN().isZero()) { - context.addActionCall({ - step: step, - action: new SetApprovalAction(), - arguments: { - approvalAmount: getValueFromReference(step.inputs.paybackAmount), - delegate: sparkLendingPoolAddress, - sumAmounts: false, - }, - connectedInputs: { - paybackAmount: 'approvalAmount', - }, - connectedOutputs: {}, - }) + const withdrawAmount = getValueFromReference(step.inputs.withdrawAmount) - context.addActionCall({ - step: params.step, - action: new SparkPaybackAction(), - arguments: { - paybackAmount: getValueFromReference(step.inputs.paybackAmount), - paybackAll: getValueFromReference(step.inputs.paybackAmount) - .toBN() - .gt(step.inputs.position.debtAmount.toBN()), - }, - connectedInputs: {}, - connectedOutputs: { - paybackAmount: 'paybackedAmount', - }, - }) + if (!withdrawAmount.toBN().isZero()) { + context.addActionCall({ + step: step, + action: new SparkWithdrawAction(), + arguments: { + withdrawAmount: withdrawAmount, + withdrawTo: await this._getWithdrawTargetAddress(params), + }, + connectedInputs: {}, + connectedOutputs: { + withdrawAmount: 'withdrawnAmount', + }, + }) + } } - const withdrawAmount = getValueFromReference(step.inputs.withdrawAmount) + /** + * Resolves the target address for the withdraw action based on the withdraw target type + * @param params The parameters for the action builder + * @returns The address of the target contract + */ + private async _getWithdrawTargetAddress( + params: ActionBuilderParams, + ): Promise { + const { user, step, positionsManager, addressBookManager } = params + if (step.inputs.withdrawTargetType === TokenTransferTargetType.PositionsManager) { + return positionsManager.address + } - if (!withdrawAmount.toBN().isZero()) { - context.addActionCall({ - step: step, - action: new SparkWithdrawAction(), - arguments: { - withdrawAmount: withdrawAmount, - withdrawTo: await getWithdrawTargetAddress(params), - }, - connectedInputs: {}, - connectedOutputs: { - withdrawAmount: 'withdrawnAmount', - }, + return getContractAddress({ + addressBookManager, + chainInfo: user.chainInfo, + contractName: 'OperationExecutor', }) } } diff --git a/sdk/protocol-plugins/src/plugins/utils/DelegateToProtocolActionBuilder.ts b/sdk/protocol-plugins/src/plugins/utils/DelegateToProtocolActionBuilder.ts deleted file mode 100644 index 3d08a96133..0000000000 --- a/sdk/protocol-plugins/src/plugins/utils/DelegateToProtocolActionBuilder.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { ActionBuilderParams, FilterStep } from '@summerfi/protocol-plugins-common' -import { ProtocolName } from '@summerfi/sdk-common/protocols' -import { SimulationSteps, steps } from '@summerfi/sdk-common/simulation' - -export async function delegateToProtocolActionBuilder(params: { - protocolName: ProtocolName - actionBuilderParams: ActionBuilderParams> -}): Promise { - const { protocolName } = params - const { protocolsRegistry } = params.actionBuilderParams - - const plugin = protocolsRegistry.getPlugin({ protocolName }) - if (!plugin) { - throw new Error(`No protocol plugin found for protocol ${protocolName}`) - } - - const builder = plugin.getActionBuilder(params.actionBuilderParams.step) - if (!builder) { - throw new Error(`No action builder found for protocol ${protocolName}`) - } - - return builder(params.actionBuilderParams) -} diff --git a/sdk/protocol-plugins/tests/unit/actions/aaveV3/AaveV3PaybackAction.spec.ts b/sdk/protocol-plugins/tests/unit/actions/aaveV3/AaveV3PaybackAction.spec.ts index 864fe0748e..c06b2954e0 100644 --- a/sdk/protocol-plugins/tests/unit/actions/aaveV3/AaveV3PaybackAction.spec.ts +++ b/sdk/protocol-plugins/tests/unit/actions/aaveV3/AaveV3PaybackAction.spec.ts @@ -2,6 +2,7 @@ import { Address, Token, TokenAmount } from '@summerfi/sdk-common/common' import { decodeActionCalldata, getTargetHash } from '@summerfi/testing-utils' import { AaveV3PaybackAction } from '../../../../src' import { ChainFamilyMap } from '@summerfi/sdk-common' +import { on } from 'events' describe('AaveV3PaybackAction Action', () => { const action = new AaveV3PaybackAction() @@ -30,6 +31,7 @@ describe('AaveV3PaybackAction Action', () => { { paybackAmount: tokenAmount, paybackAll: true, + onBehalf: onBehalf, }, [2, 6, 7, 9], ) @@ -47,6 +49,7 @@ describe('AaveV3PaybackAction Action', () => { asset: tokenAmount.token.address.value, amount: BigInt(tokenAmount.toBaseUnit()), paybackAll: true, + onBehalf: onBehalf.value, }, ]) expect(actionDecodedArgs?.mapping).toEqual([2, 6, 7, 9]) diff --git a/sdk/protocol-plugins/tests/unit/builders/DepositBorrowActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/DepositBorrowActionBuilder.spec.ts index 3c15776ec4..65736be223 100644 --- a/sdk/protocol-plugins/tests/unit/builders/DepositBorrowActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/DepositBorrowActionBuilder.spec.ts @@ -103,7 +103,7 @@ describe('Deposit Borrow Action Builder', () => { it('should fail if no protocol plugin exists', async () => { try { - await DepositBorrowActionBuilder({ + await new DepositBorrowActionBuilder().build({ ...builderParams, step: derivedStep, protocolsRegistry: builderParams.emptyProtocolsRegistry, @@ -116,7 +116,7 @@ describe('Deposit Borrow Action Builder', () => { it('should fail if no protocol builder for the step exists', async () => { try { - await DepositBorrowActionBuilder({ + await new DepositBorrowActionBuilder().build({ ...builderParams, step: derivedStep, protocolsRegistry: builderParams.emptyBuildersProtocolRegistry, @@ -128,7 +128,7 @@ describe('Deposit Borrow Action Builder', () => { }) it('should call the proper builder', async () => { - await DepositBorrowActionBuilder({ + await new DepositBorrowActionBuilder().build({ ...builderParams, step: derivedStep, }) diff --git a/sdk/protocol-plugins/tests/unit/builders/FlashloanActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/FlashloanActionBuilder.spec.ts index 5f55485eee..80b7827359 100644 --- a/sdk/protocol-plugins/tests/unit/builders/FlashloanActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/FlashloanActionBuilder.spec.ts @@ -37,7 +37,7 @@ describe('Flashloan Action Builder', () => { }) it('should start a new subcontext', async () => { - await FlashloanActionBuilder({ + await new FlashloanActionBuilder().build({ ...builderParams, step: derivedStep, }) diff --git a/sdk/protocol-plugins/tests/unit/builders/ImportPositionActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/ImportPositionActionBuilder.spec.ts index febac39244..b708483fa0 100644 --- a/sdk/protocol-plugins/tests/unit/builders/ImportPositionActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/ImportPositionActionBuilder.spec.ts @@ -109,7 +109,7 @@ describe('Deposit Borrow Action Builder', () => { it('should fail if no protocol plugin exists', async () => { try { - await ImportPositionActionBuilder({ + await new ImportPositionActionBuilder().build({ ...builderParams, step: derivedStep, protocolsRegistry: builderParams.emptyProtocolsRegistry, @@ -122,7 +122,7 @@ describe('Deposit Borrow Action Builder', () => { it('should fail if no protocol builder for the step exists', async () => { try { - await ImportPositionActionBuilder({ + await new ImportPositionActionBuilder().build({ ...builderParams, step: derivedStep, protocolsRegistry: builderParams.emptyBuildersProtocolRegistry, @@ -134,7 +134,7 @@ describe('Deposit Borrow Action Builder', () => { }) it('should call the proper builder', async () => { - await ImportPositionActionBuilder({ + await new ImportPositionActionBuilder().build({ ...builderParams, step: derivedStep, }) diff --git a/sdk/protocol-plugins/tests/unit/builders/OpenPositionActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/OpenPositionActionBuilder.spec.ts index d54e59b9b9..2977aba66e 100644 --- a/sdk/protocol-plugins/tests/unit/builders/OpenPositionActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/OpenPositionActionBuilder.spec.ts @@ -100,7 +100,7 @@ describe('Deposit Borrow Action Builder', () => { it('should fail if no protocol plugin exists', async () => { try { - await OpenPositionActionBuilder({ + await new OpenPositionActionBuilder().build({ ...builderParams, step: derivedStep, protocolsRegistry: builderParams.emptyProtocolsRegistry, @@ -113,7 +113,7 @@ describe('Deposit Borrow Action Builder', () => { it('should fail if no protocol builder for the step exists', async () => { try { - await OpenPositionActionBuilder({ + await new OpenPositionActionBuilder().build({ ...builderParams, step: derivedStep, protocolsRegistry: builderParams.emptyBuildersProtocolRegistry, @@ -125,7 +125,7 @@ describe('Deposit Borrow Action Builder', () => { }) it('should call the proper builder', async () => { - await OpenPositionActionBuilder({ + await new OpenPositionActionBuilder().build({ ...builderParams, step: derivedStep, }) diff --git a/sdk/protocol-plugins/tests/unit/builders/PaybackWithdrawActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/PaybackWithdrawActionBuilder.spec.ts index 517ecf8b11..d7825779b8 100644 --- a/sdk/protocol-plugins/tests/unit/builders/PaybackWithdrawActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/PaybackWithdrawActionBuilder.spec.ts @@ -98,7 +98,7 @@ describe('Payback Withdraw Action Builder', () => { it('should fail if no protocol plugin exists', async () => { try { - await PaybackWithdrawActionBuilder({ + await new PaybackWithdrawActionBuilder().build({ ...builderParams, step: derivedStep, protocolsRegistry: builderParams.emptyProtocolsRegistry, @@ -111,7 +111,7 @@ describe('Payback Withdraw Action Builder', () => { it('should fail if no protocol builder for the step exists', async () => { try { - await PaybackWithdrawActionBuilder({ + await new PaybackWithdrawActionBuilder().build({ ...builderParams, step: derivedStep, protocolsRegistry: builderParams.emptyBuildersProtocolRegistry, @@ -123,7 +123,7 @@ describe('Payback Withdraw Action Builder', () => { }) it('should call the proper builder', async () => { - await PaybackWithdrawActionBuilder({ + await new PaybackWithdrawActionBuilder().build({ ...builderParams, step: derivedStep, }) diff --git a/sdk/protocol-plugins/tests/unit/builders/PullTokenActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/PullTokenActionBuilder.spec.ts index 872cb88138..5f5941b40d 100644 --- a/sdk/protocol-plugins/tests/unit/builders/PullTokenActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/PullTokenActionBuilder.spec.ts @@ -40,7 +40,7 @@ describe('Pull TokenAction Builder', () => { it('should encode the action calldata correctly', async () => { builderParams.context.startSubContext() - await PullTokenActionBuilder({ + await new PullTokenActionBuilder().build({ ...builderParams, step: derivedStep, }) diff --git a/sdk/protocol-plugins/tests/unit/builders/RepayFlashloanActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/RepayFlashloanActionBuilder.spec.ts index 6c69b16b19..1ff1ad9994 100644 --- a/sdk/protocol-plugins/tests/unit/builders/RepayFlashloanActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/RepayFlashloanActionBuilder.spec.ts @@ -93,7 +93,7 @@ describe('Payback Flashloan Action Builder', () => { }) try { - await RepayFlashloanActionBuilder({ + await new RepayFlashloanActionBuilder().build({ ...builderParams, step: repayFlashloanStep, }) @@ -139,7 +139,7 @@ describe('Payback Flashloan Action Builder', () => { connectedOutputs: {}, }) - await RepayFlashloanActionBuilder({ + await new RepayFlashloanActionBuilder().build({ ...builderParams, step: repayFlashloanStep, }) diff --git a/sdk/protocol-plugins/tests/unit/builders/ReturnFundsActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/ReturnFundsActionBuilder.spec.ts index 1d340a7a44..5dc869785f 100644 --- a/sdk/protocol-plugins/tests/unit/builders/ReturnFundsActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/ReturnFundsActionBuilder.spec.ts @@ -35,7 +35,7 @@ describe('Return Funds Action Builder', () => { it('should encode the action calldata correctly', async () => { builderParams.context.startSubContext() - await ReturnFundsActionBuilder({ + await new ReturnFundsActionBuilder().build({ ...builderParams, step: derivedStep, }) diff --git a/sdk/protocol-plugins/tests/unit/builders/SwapActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/SwapActionBuilder.spec.ts index f24f1b0e97..0f3e91f1f4 100644 --- a/sdk/protocol-plugins/tests/unit/builders/SwapActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/SwapActionBuilder.spec.ts @@ -114,7 +114,7 @@ describe('Swap Action Builder', () => { builderParams.context.startSubContext() - await SwapActionBuilder({ + await new SwapActionBuilder().build({ ...builderParams, step: derivedStep, }) diff --git a/sdk/protocol-plugins/tests/unit/builders/aaveV3/AaveV3DepositBorrowActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/aaveV3/AaveV3DepositBorrowActionBuilder.spec.ts index 8531258dea..08dc7152c1 100644 --- a/sdk/protocol-plugins/tests/unit/builders/aaveV3/AaveV3DepositBorrowActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/aaveV3/AaveV3DepositBorrowActionBuilder.spec.ts @@ -127,7 +127,7 @@ describe('AaveV3 Deposit Borrow Action Builder', () => { it('should fail the position is not a AaveV3 one', async () => { try { - await AaveV3DepositBorrowActionBuilder({ + await new AaveV3DepositBorrowActionBuilder().build({ ...builderParams, step: { ...derivedStep, @@ -147,7 +147,7 @@ describe('AaveV3 Deposit Borrow Action Builder', () => { it('should add all the action calls', async () => { builderParams.context.startSubContext() - await AaveV3DepositBorrowActionBuilder({ + await new AaveV3DepositBorrowActionBuilder().build({ ...builderParams, step: derivedStep, protocolsRegistry: builderParams.emptyProtocolsRegistry, @@ -165,7 +165,7 @@ describe('AaveV3 Deposit Borrow Action Builder', () => { it('should not add borrow nor send token when borrow amount is 0', async () => { builderParams.context.startSubContext() - await AaveV3DepositBorrowActionBuilder({ + await new AaveV3DepositBorrowActionBuilder().build({ ...builderParams, step: { ...derivedStep, @@ -191,7 +191,7 @@ describe('AaveV3 Deposit Borrow Action Builder', () => { it('should add borrow but not send token when borrow target is positions manager', async () => { builderParams.context.startSubContext() - await AaveV3DepositBorrowActionBuilder({ + await new AaveV3DepositBorrowActionBuilder().build({ ...builderParams, step: { ...derivedStep, diff --git a/sdk/protocol-plugins/tests/unit/builders/aaveV3/AaveV3OpenPositionActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/aaveV3/AaveV3OpenPositionActionBuilder.spec.ts index 874ce0977b..daa6b6247e 100644 --- a/sdk/protocol-plugins/tests/unit/builders/aaveV3/AaveV3OpenPositionActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/aaveV3/AaveV3OpenPositionActionBuilder.spec.ts @@ -116,7 +116,7 @@ describe('AaveV3 Open Position Action Builder', () => { it('should fail the position is not a AaveV3 one', async () => { try { - await AaveV3OpenPositionActionBuilder({ + await new AaveV3OpenPositionActionBuilder().build({ ...builderParams, step: { ...derivedStep, @@ -136,7 +136,7 @@ describe('AaveV3 Open Position Action Builder', () => { it('should add a transaction to the context', async () => { builderParams.context.startSubContext() - await AaveV3OpenPositionActionBuilder({ + await new AaveV3OpenPositionActionBuilder().build({ ...builderParams, step: derivedStep, protocolsRegistry: builderParams.emptyProtocolsRegistry, diff --git a/sdk/protocol-plugins/tests/unit/builders/aaveV3/AaveV3PaybackWithdrawActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/aaveV3/AaveV3PaybackWithdrawActionBuilder.spec.ts index 3d17c20353..1311d7b5b6 100644 --- a/sdk/protocol-plugins/tests/unit/builders/aaveV3/AaveV3PaybackWithdrawActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/aaveV3/AaveV3PaybackWithdrawActionBuilder.spec.ts @@ -127,7 +127,7 @@ describe('AaveV3 Payback Withdraw Action Builder', () => { it('should fail the position is not a AaveV3 one', async () => { try { - await AaveV3PaybackWithdrawActionBuilder({ + await new AaveV3PaybackWithdrawActionBuilder().build({ ...builderParams, step: { ...derivedStep, @@ -147,7 +147,7 @@ describe('AaveV3 Payback Withdraw Action Builder', () => { it('should add all the action calls', async () => { builderParams.context.startSubContext() - await AaveV3PaybackWithdrawActionBuilder({ + await new AaveV3PaybackWithdrawActionBuilder().build({ ...builderParams, step: derivedStep, protocolsRegistry: builderParams.emptyProtocolsRegistry, @@ -165,7 +165,7 @@ describe('AaveV3 Payback Withdraw Action Builder', () => { it('should not add payback when payback amount is 0', async () => { builderParams.context.startSubContext() - await AaveV3PaybackWithdrawActionBuilder({ + await new AaveV3PaybackWithdrawActionBuilder().build({ ...builderParams, step: { ...derivedStep, diff --git a/sdk/protocol-plugins/tests/unit/builders/maker/MakerImportPositionActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/maker/MakerImportPositionActionBuilder.spec.ts index be318185e5..11d1abd25a 100644 --- a/sdk/protocol-plugins/tests/unit/builders/maker/MakerImportPositionActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/maker/MakerImportPositionActionBuilder.spec.ts @@ -138,7 +138,7 @@ describe('Maker Import Position Action Builder', () => { it('should fail the position is not a Maker one', async () => { try { - await MakerImportPositionActionBuilder({ + await new MakerImportPositionActionBuilder().build({ ...builderParams, step: { ...derivedStep, @@ -164,7 +164,7 @@ describe('Maker Import Position Action Builder', () => { it('should add a new transaction to the context', async () => { builderParams.context.startSubContext() - await MakerImportPositionActionBuilder({ + await new MakerImportPositionActionBuilder().build({ ...builderParams, step: derivedStep, protocolsRegistry: builderParams.protocolsRegistry, diff --git a/sdk/protocol-plugins/tests/unit/builders/maker/MakerOpenPositionActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/maker/MakerOpenPositionActionBuilder.spec.ts index bcd2154c07..3a51a32b20 100644 --- a/sdk/protocol-plugins/tests/unit/builders/maker/MakerOpenPositionActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/maker/MakerOpenPositionActionBuilder.spec.ts @@ -122,7 +122,7 @@ describe('Maker Open Position Action Builder', () => { it('should fail the position is not a Maker one', async () => { try { - await MakerOpenPositionActionBuilder({ + await new MakerOpenPositionActionBuilder().build({ ...builderParams, step: { ...derivedStep, @@ -142,7 +142,7 @@ describe('Maker Open Position Action Builder', () => { it('should not add a transaction to the context', async () => { builderParams.context.startSubContext() - await MakerOpenPositionActionBuilder({ + await new MakerOpenPositionActionBuilder().build({ ...builderParams, step: derivedStep, protocolsRegistry: builderParams.emptyProtocolsRegistry, diff --git a/sdk/protocol-plugins/tests/unit/builders/maker/MakerPaybackWithdrawActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/maker/MakerPaybackWithdrawActionBuilder.spec.ts index 13d0e1bd8e..ce32551b32 100644 --- a/sdk/protocol-plugins/tests/unit/builders/maker/MakerPaybackWithdrawActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/maker/MakerPaybackWithdrawActionBuilder.spec.ts @@ -133,7 +133,7 @@ describe('Maker Payback Withdraw Action Builder', () => { it('should fail the position is not a Maker one', async () => { try { - await MakerPaybackWithdrawActionBuilder({ + await new MakerPaybackWithdrawActionBuilder().build({ ...builderParams, step: { ...derivedStep, @@ -153,7 +153,7 @@ describe('Maker Payback Withdraw Action Builder', () => { it('should add all the action calls', async () => { builderParams.context.startSubContext() - await MakerPaybackWithdrawActionBuilder({ + await new MakerPaybackWithdrawActionBuilder().build({ ...builderParams, step: derivedStep, protocolsRegistry: builderParams.emptyProtocolsRegistry, @@ -170,7 +170,7 @@ describe('Maker Payback Withdraw Action Builder', () => { it('should not add payback when payback amount is 0', async () => { builderParams.context.startSubContext() - await MakerPaybackWithdrawActionBuilder({ + await new MakerPaybackWithdrawActionBuilder().build({ ...builderParams, step: { ...derivedStep, diff --git a/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoDepositBorrowActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoDepositBorrowActionBuilder.spec.ts index c9ceb71345..be5f917756 100644 --- a/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoDepositBorrowActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoDepositBorrowActionBuilder.spec.ts @@ -134,7 +134,7 @@ describe('Morpho Deposit Borrow Action Builder', () => { it('should fail the position is not a Morpho one', async () => { try { - await MorphoDepositBorrowActionBuilder({ + await new MorphoDepositBorrowActionBuilder().build({ ...builderParams, step: { ...derivedStep, @@ -154,7 +154,7 @@ describe('Morpho Deposit Borrow Action Builder', () => { it('should add all the action calls', async () => { builderParams.context.startSubContext() - await MorphoDepositBorrowActionBuilder({ + await new MorphoDepositBorrowActionBuilder().build({ ...builderParams, step: derivedStep, protocolsRegistry: builderParams.emptyProtocolsRegistry, @@ -173,7 +173,7 @@ describe('Morpho Deposit Borrow Action Builder', () => { it('should not add borrow nor send token when borrow amount is 0', async () => { builderParams.context.startSubContext() - await MorphoDepositBorrowActionBuilder({ + await new MorphoDepositBorrowActionBuilder().build({ ...builderParams, step: { ...derivedStep, @@ -199,7 +199,7 @@ describe('Morpho Deposit Borrow Action Builder', () => { it('should add borrow but not send token when borrow target is positions manager', async () => { builderParams.context.startSubContext() - await MorphoDepositBorrowActionBuilder({ + await new MorphoDepositBorrowActionBuilder().build({ ...builderParams, step: { ...derivedStep, diff --git a/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoOpenPositionActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoOpenPositionActionBuilder.spec.ts index e37a8402bc..ce7a3fe814 100644 --- a/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoOpenPositionActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoOpenPositionActionBuilder.spec.ts @@ -122,7 +122,7 @@ describe('Morpho Open Position Action Builder', () => { it('should fail the position is not a Morpho one', async () => { try { - await MorphoOpenPositionActionBuilder({ + await new MorphoOpenPositionActionBuilder().build({ ...builderParams, step: { ...derivedStep, @@ -142,7 +142,7 @@ describe('Morpho Open Position Action Builder', () => { it('should not add a transaction to the context', async () => { builderParams.context.startSubContext() - await MorphoOpenPositionActionBuilder({ + await new MorphoOpenPositionActionBuilder().build({ ...builderParams, step: derivedStep, protocolsRegistry: builderParams.emptyProtocolsRegistry, diff --git a/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoPaybackWithdrawActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoPaybackWithdrawActionBuilder.spec.ts index 6baf51bbfe..78ff57b58a 100644 --- a/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoPaybackWithdrawActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoPaybackWithdrawActionBuilder.spec.ts @@ -132,7 +132,7 @@ describe('Morpho Payback Withdraw Action Builder', () => { it('should fail the position is not a Morpho one', async () => { try { - await MorphoPaybackWithdrawActionBuilder({ + await new MorphoPaybackWithdrawActionBuilder().build({ ...builderParams, step: { ...derivedStep, @@ -152,7 +152,7 @@ describe('Morpho Payback Withdraw Action Builder', () => { it('should add all the action calls', async () => { builderParams.context.startSubContext() - await MorphoPaybackWithdrawActionBuilder({ + await new MorphoPaybackWithdrawActionBuilder().build({ ...builderParams, step: derivedStep, protocolsRegistry: builderParams.emptyProtocolsRegistry, @@ -170,7 +170,7 @@ describe('Morpho Payback Withdraw Action Builder', () => { it('should not add payback when payback amount is 0', async () => { builderParams.context.startSubContext() - await MorphoPaybackWithdrawActionBuilder({ + await new MorphoPaybackWithdrawActionBuilder().build({ ...builderParams, step: { ...derivedStep, diff --git a/sdk/protocol-plugins/tests/unit/builders/spark/SparkDepositBorrowActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/spark/SparkDepositBorrowActionBuilder.spec.ts index 2c095989c1..6e9e5a2356 100644 --- a/sdk/protocol-plugins/tests/unit/builders/spark/SparkDepositBorrowActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/spark/SparkDepositBorrowActionBuilder.spec.ts @@ -127,7 +127,7 @@ describe('Spark Deposit Borrow Action Builder', () => { it('should fail the position is not a Spark one', async () => { try { - await SparkDepositBorrowActionBuilder({ + await new SparkDepositBorrowActionBuilder().build({ ...builderParams, step: { ...derivedStep, @@ -147,7 +147,7 @@ describe('Spark Deposit Borrow Action Builder', () => { it('should add all the action calls', async () => { builderParams.context.startSubContext() - await SparkDepositBorrowActionBuilder({ + await new SparkDepositBorrowActionBuilder().build({ ...builderParams, step: derivedStep, protocolsRegistry: builderParams.emptyProtocolsRegistry, @@ -165,7 +165,7 @@ describe('Spark Deposit Borrow Action Builder', () => { it('should not add borrow nor send token when borrow amount is 0', async () => { builderParams.context.startSubContext() - await SparkDepositBorrowActionBuilder({ + await new SparkDepositBorrowActionBuilder().build({ ...builderParams, step: { ...derivedStep, @@ -191,7 +191,7 @@ describe('Spark Deposit Borrow Action Builder', () => { it('should add borrow but not send token when borrow target is positions manager', async () => { builderParams.context.startSubContext() - await SparkDepositBorrowActionBuilder({ + await new SparkDepositBorrowActionBuilder().build({ ...builderParams, step: { ...derivedStep, diff --git a/sdk/protocol-plugins/tests/unit/builders/spark/SparkOpenPositionActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/spark/SparkOpenPositionActionBuilder.spec.ts index 23744076fb..e3ae6a5b9c 100644 --- a/sdk/protocol-plugins/tests/unit/builders/spark/SparkOpenPositionActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/spark/SparkOpenPositionActionBuilder.spec.ts @@ -116,7 +116,7 @@ describe('Spark Deposit Borrow Action Builder', () => { it('should fail the position is not a Spark one', async () => { try { - await SparkOpenPositionActionBuilder({ + await new SparkOpenPositionActionBuilder().build({ ...builderParams, step: { ...derivedStep, @@ -136,7 +136,7 @@ describe('Spark Deposit Borrow Action Builder', () => { it('should add all the action calls', async () => { builderParams.context.startSubContext() - await SparkOpenPositionActionBuilder({ + await new SparkOpenPositionActionBuilder().build({ ...builderParams, step: derivedStep, protocolsRegistry: builderParams.emptyProtocolsRegistry, diff --git a/sdk/protocol-plugins/tests/unit/builders/spark/SparkPaybackWithdrawActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/spark/SparkPaybackWithdrawActionBuilder.spec.ts index e39cd39f08..7f247571e6 100644 --- a/sdk/protocol-plugins/tests/unit/builders/spark/SparkPaybackWithdrawActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/spark/SparkPaybackWithdrawActionBuilder.spec.ts @@ -127,7 +127,7 @@ describe('Spark Payback Withdraw Action Builder', () => { it('should fail the position is not a Spark one', async () => { try { - await SparkPaybackWithdrawActionBuilder({ + await new SparkPaybackWithdrawActionBuilder().build({ ...builderParams, step: { ...derivedStep, @@ -147,7 +147,7 @@ describe('Spark Payback Withdraw Action Builder', () => { it('should add all the action calls', async () => { builderParams.context.startSubContext() - await SparkPaybackWithdrawActionBuilder({ + await new SparkPaybackWithdrawActionBuilder().build({ ...builderParams, step: derivedStep, protocolsRegistry: builderParams.emptyProtocolsRegistry, @@ -165,7 +165,7 @@ describe('Spark Payback Withdraw Action Builder', () => { it('should not add payback when payback amount is 0', async () => { builderParams.context.startSubContext() - await SparkPaybackWithdrawActionBuilder({ + await new SparkPaybackWithdrawActionBuilder().build({ ...builderParams, step: { ...derivedStep, diff --git a/sdk/protocol-plugins/tests/utils/ProtocolPluginMock.ts b/sdk/protocol-plugins/tests/utils/ProtocolPluginMock.ts index 7866c2bc6f..7b6060c42a 100644 --- a/sdk/protocol-plugins/tests/utils/ProtocolPluginMock.ts +++ b/sdk/protocol-plugins/tests/utils/ProtocolPluginMock.ts @@ -1,8 +1,9 @@ import { ChainFamilyMap, IPosition, IPositionId, Maybe } from '@summerfi/sdk-common/common' import { SimulationSteps, steps } from '@summerfi/sdk-common/simulation' import { - ActionBuilder, + ActionBuilderParams, ActionBuildersMap, + IActionBuilder, IProtocolPlugin, IProtocolPluginContext, } from '@summerfi/protocol-plugins-common' @@ -19,48 +20,49 @@ import { IExternalPosition, IPositionsManager } from '@summerfi/sdk-common/order import { IUser } from '@summerfi/sdk-common/user' import { TransactionInfo } from '@summerfi/sdk-common' import { StepBuilderContextMock } from '@summerfi/testing-utils' +import { BaseActionBuilder } from '../../src' /* eslint-disable @typescript-eslint/no-unused-vars */ -export const PaybackWithdrawActionBuilderMock: ActionBuilder = async ( - params, -): Promise => { - ;(params.context as StepBuilderContextMock).setCheckpoint('PaybackWithdrawActionBuilderMock') +export class PaybackWithdrawActionBuilderMock extends BaseActionBuilder { + async build(params: ActionBuilderParams): Promise { + ;(params.context as StepBuilderContextMock).setCheckpoint('PaybackWithdrawActionBuilderMock') + } } -export const DepositBorrowActionBuilderMock: ActionBuilder = async ( - params, -): Promise => { - ;(params.context as StepBuilderContextMock).setCheckpoint('DepositBorrowActionBuilderMock') +export class DepositBorrowActionBuilderMock extends BaseActionBuilder { + async build(params: ActionBuilderParams): Promise { + ;(params.context as StepBuilderContextMock).setCheckpoint('DepositBorrowActionBuilderMock') + } } -export const ImportPositionActionBuilderMock: ActionBuilder = async ( - params, -): Promise => { - ;(params.context as StepBuilderContextMock).setCheckpoint('ImportPositionActionBuilderMock') +export class ImportPositionActionBuilderMock extends BaseActionBuilder { + async build(params: ActionBuilderParams): Promise { + ;(params.context as StepBuilderContextMock).setCheckpoint('ImportPositionActionBuilderMock') + } } -export const OpenPositionActionBuilderMock: ActionBuilder = async ( - params, -): Promise => { - ;(params.context as StepBuilderContextMock).setCheckpoint('OpenPositionActionBuilderMock') +export class OpenPositionActionBuilderMock extends BaseActionBuilder { + async build(params: ActionBuilderParams): Promise { + ;(params.context as StepBuilderContextMock).setCheckpoint('OpenPositionActionBuilderMock') + } } -export const PaybackWithdrawActionBuilderNoCheckpointMock: ActionBuilder< - steps.PaybackWithdrawStep -> = async (params): Promise => {} +export class PaybackWithdrawActionBuilderNoCheckpointMock extends BaseActionBuilder { + async build(params: ActionBuilderParams): Promise {} +} -export const DepositBorrowActionBuilderNoCheckpointMock: ActionBuilder< - steps.DepositBorrowStep -> = async (params): Promise => {} +export class DepositBorrowActionBuilderNoCheckpointMock extends BaseActionBuilder { + async build(params: ActionBuilderParams): Promise {} +} -export const ImportPositionActionBuilderNoCheckpointMock: ActionBuilder = async ( - params, -): Promise => {} +export class ImportPositionActionBuilderNoCheckpointMock extends BaseActionBuilder { + async build(params: ActionBuilderParams): Promise {} +} -export const OpenPositionActionBuilderNoCheckpointMock: ActionBuilder = async ( - params, -): Promise => {} +export class OpenPositionActionBuilderNoCheckpointMock extends BaseActionBuilder { + async build(params: ActionBuilderParams): Promise {} +} export class ProtocolPluginMock implements IProtocolPlugin { protocolName = ProtocolName.Spark @@ -91,8 +93,14 @@ export class ProtocolPluginMock implements IProtocolPlugin { return undefined as unknown as IPosition } - getActionBuilder(step: T): Maybe> { - return this.stepBuilders[step.type] as ActionBuilder + getActionBuilder(step: T): Maybe> { + const builder = this.stepBuilders[step.type] + + if (!builder) { + return undefined + } + + return new builder() as IActionBuilder } async getImportPositionTransaction(params: { @@ -128,8 +136,14 @@ export class EmptyProtocolPluginMock implements IProtocolPlugin { return undefined as unknown as IPosition } - getActionBuilder(step: T): Maybe> { - return this.stepBuilders[step.type] as ActionBuilder + getActionBuilder(step: T): Maybe> { + const builder = this.stepBuilders[step.type] + + if (!builder) { + return undefined + } + + return new builder() as IActionBuilder } async getImportPositionTransaction(params: { @@ -170,8 +184,14 @@ export class NoCheckpointProtocolPluginMock implements IProtocolPlugin { return undefined as unknown as IPosition } - getActionBuilder(step: T): Maybe> { - return this.stepBuilders[step.type] as ActionBuilder + getActionBuilder(step: T): Maybe> { + const builder = this.stepBuilders[step.type] + + if (!builder) { + return undefined + } + + return new builder() as IActionBuilder } async getImportPositionTransaction(params: { From f44772f5788d35de589a946c28be80524baf7de4 Mon Sep 17 00:00:00 2001 From: Roberto Cano <3525807+robercano@users.noreply.github.com> Date: Thu, 16 May 2024 19:47:48 +0200 Subject: [PATCH 26/45] fix: disable e2e test --- sdk/sdk-e2e/tests/refinanceAaveV3SparkAnyPair.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/sdk-e2e/tests/refinanceAaveV3SparkAnyPair.test.ts b/sdk/sdk-e2e/tests/refinanceAaveV3SparkAnyPair.test.ts index 023285713c..53b6aa0112 100644 --- a/sdk/sdk-e2e/tests/refinanceAaveV3SparkAnyPair.test.ts +++ b/sdk/sdk-e2e/tests/refinanceAaveV3SparkAnyPair.test.ts @@ -47,7 +47,7 @@ const config = { sendTransactionEnabled: true, } -describe.only('Refinance AaveV3 Spark | SDK', () => { +describe.skip('Refinance AaveV3 Spark | SDK', () => { it('should allow refinance Maker -> Spark with same pair', async () => { // SDK const sdk = makeSDK({ apiURL: config.SDKAPiUrl }) From e8bd5a3535794746f8c92edc6d1df174721ba1ec Mon Sep 17 00:00:00 2001 From: Roberto Cano <3525807+robercano@users.noreply.github.com> Date: Fri, 17 May 2024 11:09:15 +0200 Subject: [PATCH 27/45] feat: convert action builders to classes --- pnpm-lock.yaml | 25 ++++++++++++++ .../src/actions/BaseAction.ts | 4 ++- .../src/interfaces/IAction.ts | 34 +++++++++++++++++++ .../src/interfaces/IActionBuilder.ts | 33 ++++++++++++++++++ sdk/protocol-plugins-common/tsconfig.json | 6 +--- .../src/implementation/BaseActionBuilder.ts | 18 ++++++---- .../AaveV3DepositBorrowActionBuilder.ts | 8 ++++- .../AaveV3OpenPositionActionBuilder.ts | 4 ++- .../AaveV3PaybackWithdrawActionBuilder.ts | 8 ++++- .../builders/DepositBorrowActionBuilder.ts | 4 ++- .../common/builders/FlashloanActionBuilder.ts | 11 +++++- .../builders/ImportPositionActionBuilder.ts | 4 ++- .../builders/OpenPositionActionBuilder.ts | 4 ++- .../builders/PaybackWithdrawActionBuilder.ts | 4 ++- .../builders/PositionCreatedActionBuilder.ts | 4 ++- .../common/builders/PullTokenActionBuilder.ts | 4 ++- .../builders/RepayFlashloanActionBuilder.ts | 10 +++++- .../builders/ReturnFundsActionBuilder.ts | 4 ++- .../common/builders/SwapActionBuilder.ts | 4 ++- .../MakerImportPositionActionBuilder.ts | 6 +++- .../MakerOpenPositionActionBuilder.ts | 6 +++- .../MakerPaybackWithdrawActionBuilder.ts | 7 +++- .../MorphoDepositBorrowActionBuilder.ts | 9 ++++- .../MorphoOpenPositionActionBuilder.ts | 6 +++- .../MorphoPaybackWithdrawActionBuilder.ts | 8 ++++- .../SparkDepositBorrowActionBuilder.ts | 8 ++++- .../SparkOpenPositionActionBuilder.ts | 6 +++- .../SparkPaybackWithdrawActionBuilder.ts | 8 ++++- .../tests/utils/ProtocolPluginMock.ts | 9 +++++ sdk/protocol-plugins/tsconfig.json | 2 +- sdk/sdk-common/src/simulation/index.ts | 9 +++-- 31 files changed, 237 insertions(+), 40 deletions(-) create mode 100644 sdk/protocol-plugins-common/src/interfaces/IAction.ts diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index aab138685c..09bdccab9d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1525,6 +1525,31 @@ importers: specifier: workspace:* version: link:../../packages/typescript-config + sdk/tools: + dependencies: + '@summerfi/protocol-plugins': + specifier: workspace:* + version: link:../protocol-plugins + devDependencies: + '@summerfi/eslint-config': + specifier: workspace:* + version: link:../../packages/eslint-config + '@summerfi/jest-config': + specifier: workspace:* + version: link:../../packages/jest-config + '@summerfi/typescript-config': + specifier: workspace:* + version: link:../../packages/typescript-config + '@types/yargs': + specifier: ^17.0.32 + version: 17.0.32 + tsx: + specifier: ^4.7.2 + version: 4.9.3 + yargs: + specifier: ^17.7.2 + version: 17.7.2 + stacks: devDependencies: '@summerfi/eslint-config': diff --git a/sdk/protocol-plugins-common/src/actions/BaseAction.ts b/sdk/protocol-plugins-common/src/actions/BaseAction.ts index dd851f8015..c17864a8c1 100644 --- a/sdk/protocol-plugins-common/src/actions/BaseAction.ts +++ b/sdk/protocol-plugins-common/src/actions/BaseAction.ts @@ -10,6 +10,7 @@ import { import { ActionConfig, ActionCall } from './Types' import { InputSlotsMapping } from '../types/InputSlotsMapping' import { AbiParametersToPrimitiveTypes } from 'abitype' +import { IAction } from '../interfaces/IAction' /** * @class Base class for all actions. It provides the basic functionality to encode the call to the action and provide @@ -22,7 +23,8 @@ export abstract class BaseAction< >, AbiParametersTypes extends AbiParametersToPrimitiveTypes = AbiParametersToPrimitiveTypes, -> { +> implements IAction +{ private readonly DefaultParamsMapping: InputSlotsMapping = [0, 0, 0, 0] /** diff --git a/sdk/protocol-plugins-common/src/interfaces/IAction.ts b/sdk/protocol-plugins-common/src/interfaces/IAction.ts new file mode 100644 index 0000000000..c5839980bc --- /dev/null +++ b/sdk/protocol-plugins-common/src/interfaces/IAction.ts @@ -0,0 +1,34 @@ +import { ActionConfig, ActionCall } from '../actions/Types' +import { InputSlotsMapping } from '../types/InputSlotsMapping' + +/** + * @class Base class for all actions. It provides the basic functionality to encode the call to the action and provide + * the versioned name of the action. + */ +export interface IAction { + /** + * @description Returns the versioned name of the action + * @returns The versioned name of the action + */ + getVersionedName(): string + + /** + * @description Encodes the call to the action. Provided so the implementer has an opportunity to pre-process + * the parameters before encoding the call. + * @param params The parameters to encode + * @param paramsMapping The mapping of the parameters to the execution storage + * @returns The encoded call to the action + */ + encodeCall(params: unknown, paramsMapping?: InputSlotsMapping): ActionCall + + /** + * @description Returns the configuration of the action + * @returns The configuration of the action + */ + get config(): ActionConfig +} + +/** + * Constructor type for an action + */ +export type IActionConstructor = new () => IAction diff --git a/sdk/protocol-plugins-common/src/interfaces/IActionBuilder.ts b/sdk/protocol-plugins-common/src/interfaces/IActionBuilder.ts index 59295955f3..2b31de4f5b 100644 --- a/sdk/protocol-plugins-common/src/interfaces/IActionBuilder.ts +++ b/sdk/protocol-plugins-common/src/interfaces/IActionBuilder.ts @@ -5,6 +5,7 @@ import { IUser } from '@summerfi/sdk-common/user' import { IStepBuilderContext } from './IStepBuilderContext' import { type IProtocolPluginsRegistry } from './IProtocolPluginsRegistry' import { IAddressBookManager } from '@summerfi/address-book-common' +import { IActionConstructor } from './IAction' /** * Parameters for an action builder @@ -40,6 +41,32 @@ export type ActionBuildersMap = { [StepType in steps.Steps['type']]: IActionBuilderConstructor> } +/** + * Special type to indicate that the build process is delegated to the protocol + */ +export type DelegatedToProtocol = 'DelegatedToProtocol' + +/** + * Declaration of an action that the Action Builder uses internally + * + * This is used by the Strategy Definition generation tool to identify the actions that are used by the Action Builder + * + * The `isOptionalTag` is used to identify whether the action is optional (if the tag is pressent) or not. The tag itself + * will be used by the generation tool to narrow down the amount of possibilites in the Strategy Definition branching + * + * This is done through a definition given to the generation tool that will allow it to identify which strategy level + * optionals are related to the actions optionals + * + * If the action is DelegatedToProtocol, the action will be delegated to the protocol plugin. This indicates to the + * generation tool that it needs to branch for each single protocol plugin + */ +export type ActionBuilderUsedAction = { + /** Action used in the builder */ + action: IActionConstructor | DelegatedToProtocol + /** Tag to identify the action as optional */ + isOptionalTags?: string[] +} + /** * Interface for an action builder * @@ -48,6 +75,12 @@ export type ActionBuildersMap = { * in a transaction */ export interface IActionBuilder { + /** + * List of actions that are used by the action builder and whether they are optional or not + * The order of the declared action must coincide with the order of the actions in the `build` function + */ + readonly actions: ActionBuilderUsedAction[] + /** * Main function to build the action * diff --git a/sdk/protocol-plugins-common/tsconfig.json b/sdk/protocol-plugins-common/tsconfig.json index 6d0a0b86ad..5e2401452d 100644 --- a/sdk/protocol-plugins-common/tsconfig.json +++ b/sdk/protocol-plugins-common/tsconfig.json @@ -13,10 +13,6 @@ "path": "../testing-utils" } ], - "include": [ - "src/**/*.ts", - "tests/**/*.ts", - "../protocol-plugins/src/implementation/BaseActionBuilder.ts" - ], + "include": ["src/**/*.ts", "tests/**/*.ts"], "exclude": ["node_modules", "dist"] } diff --git a/sdk/protocol-plugins/src/implementation/BaseActionBuilder.ts b/sdk/protocol-plugins/src/implementation/BaseActionBuilder.ts index b98249d2a1..cd58538236 100644 --- a/sdk/protocol-plugins/src/implementation/BaseActionBuilder.ts +++ b/sdk/protocol-plugins/src/implementation/BaseActionBuilder.ts @@ -3,7 +3,12 @@ import { ProtocolName } from '@summerfi/sdk-common/protocols' import { IAddressBookManager } from '@summerfi/address-book-common' import { IAddress, IChainInfo } from '@summerfi/sdk-common/common' import { getContractAddress } from '../plugins/utils/GetContractAddress' -import { ActionBuilderParams, FilterStep, IActionBuilder } from '@summerfi/protocol-plugins-common' +import { + ActionBuilderParams, + ActionBuilderUsedAction, + FilterStep, + IActionBuilder, +} from '@summerfi/protocol-plugins-common' /** * Base class for all action builders @@ -16,15 +21,16 @@ import { ActionBuilderParams, FilterStep, IActionBuilder } from '@summerfi/proto export abstract class BaseActionBuilder implements IActionBuilder { - /** - * Main function to build the action - * - * @param params Specific parameters for the action builder. @see ActionBuilderParams - */ + /** @see IActionBuilder.actions */ + abstract readonly actions: ActionBuilderUsedAction[] + + /** @see IActionBuilder.build */ public abstract build( params: ActionBuilderParams>, ): Promise + /** PROTECTED */ + /** * Delegates the building of the action to the specific builder in the corresponding protocol plugin * @param protocolName The name of the protocol to delegate the action to diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3DepositBorrowActionBuilder.ts b/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3DepositBorrowActionBuilder.ts index 5f9eaccda7..eb13c19e46 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3DepositBorrowActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3DepositBorrowActionBuilder.ts @@ -4,7 +4,7 @@ import { TokenTransferTargetType, } from '@summerfi/sdk-common/simulation' import { IAddress } from '@summerfi/sdk-common/common' -import { ActionBuilderParams } from '@summerfi/protocol-plugins-common' +import { ActionBuilderParams, ActionBuilderUsedAction } from '@summerfi/protocol-plugins-common' import { SetApprovalAction } from '../../common' import { AaveV3DepositAction } from '../actions/AaveV3DepositAction' import { AaveV3BorrowAction } from '../actions/AaveV3BorrowAction' @@ -13,6 +13,12 @@ import { isAaveV3LendingPool } from '../interfaces/IAaveV3LendingPool' import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' export class AaveV3DepositBorrowActionBuilder extends BaseActionBuilder { + readonly actions: ActionBuilderUsedAction[] = [ + { action: SetApprovalAction }, + { action: AaveV3DepositAction }, + { action: AaveV3BorrowAction, isOptionalTags: ['borrowAmount'] }, + ] + async build(params: ActionBuilderParams): Promise { const { context, step, addressBookManager, user } = params diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3OpenPositionActionBuilder.ts b/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3OpenPositionActionBuilder.ts index 52701ed21f..b3ba8693f4 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3OpenPositionActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3OpenPositionActionBuilder.ts @@ -1,10 +1,12 @@ import { steps } from '@summerfi/sdk-common/simulation' -import { ActionBuilderParams } from '@summerfi/protocol-plugins-common' +import { ActionBuilderParams, ActionBuilderUsedAction } from '@summerfi/protocol-plugins-common' import { isAaveV3LendingPool } from '../interfaces' import { AaveV3SetEmodeAction } from '../actions/AaveV3SetEmodeAction' import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' export class AaveV3OpenPositionActionBuilder extends BaseActionBuilder { + readonly actions: ActionBuilderUsedAction[] = [{ action: AaveV3SetEmodeAction }] + async build(params: ActionBuilderParams): Promise { const { context, step } = params diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3PaybackWithdrawActionBuilder.ts b/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3PaybackWithdrawActionBuilder.ts index 0df760470b..fa42a21f66 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3PaybackWithdrawActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3PaybackWithdrawActionBuilder.ts @@ -4,7 +4,7 @@ import { TokenTransferTargetType, } from '@summerfi/sdk-common/simulation' import { IAddress } from '@summerfi/sdk-common/common' -import { ActionBuilderParams } from '@summerfi/protocol-plugins-common' +import { ActionBuilderParams, ActionBuilderUsedAction } from '@summerfi/protocol-plugins-common' import { SetApprovalAction } from '../../common' import { AaveV3WithdrawAction } from '../actions/AaveV3WithdrawAction' import { AaveV3PaybackAction } from '../actions/AaveV3PaybackAction' @@ -14,6 +14,12 @@ import { Address } from '@summerfi/sdk-common' import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' export class AaveV3PaybackWithdrawActionBuilder extends BaseActionBuilder { + readonly actions: ActionBuilderUsedAction[] = [ + { action: SetApprovalAction, isOptionalTags: ['paybackAmount'] }, + { action: AaveV3PaybackAction, isOptionalTags: ['paybackAmount'] }, + { action: AaveV3WithdrawAction, isOptionalTags: ['withdrawAmount'] }, + ] + async build(params: ActionBuilderParams): Promise { const { context, step, addressBookManager, user } = params diff --git a/sdk/protocol-plugins/src/plugins/common/builders/DepositBorrowActionBuilder.ts b/sdk/protocol-plugins/src/plugins/common/builders/DepositBorrowActionBuilder.ts index a4056d21df..34a0e491b3 100644 --- a/sdk/protocol-plugins/src/plugins/common/builders/DepositBorrowActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/common/builders/DepositBorrowActionBuilder.ts @@ -1,8 +1,10 @@ -import { ActionBuilderParams } from '@summerfi/protocol-plugins-common' +import { ActionBuilderParams, ActionBuilderUsedAction } from '@summerfi/protocol-plugins-common' import { steps } from '@summerfi/sdk-common/simulation' import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' export class DepositBorrowActionBuilder extends BaseActionBuilder { + readonly actions: ActionBuilderUsedAction[] = [{ action: 'DelegatedToProtocol' }] + async build(params: ActionBuilderParams): Promise { return this._delegateToProtocol({ protocolName: params.step.inputs.position.pool.id.protocol.name, diff --git a/sdk/protocol-plugins/src/plugins/common/builders/FlashloanActionBuilder.ts b/sdk/protocol-plugins/src/plugins/common/builders/FlashloanActionBuilder.ts index 580b43de83..da9a98c3c7 100644 --- a/sdk/protocol-plugins/src/plugins/common/builders/FlashloanActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/common/builders/FlashloanActionBuilder.ts @@ -1,8 +1,17 @@ -import { ActionBuilderParams } from '@summerfi/protocol-plugins-common' +import { ActionBuilderParams, ActionBuilderUsedAction } from '@summerfi/protocol-plugins-common' import { steps } from '@summerfi/sdk-common/simulation' import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' +import { FlashloanAction } from '../actions' export class FlashloanActionBuilder extends BaseActionBuilder { + /** + * Special case for the declared actions: the flashloan action is indicated here although + * it is not used in the builder. This is due to the Flashloan inverstion problem in which + * the flashloan action is used when the RepayFlashloan step is built, but for the + * strategy definition we need to have the action registered at this moment + */ + readonly actions: ActionBuilderUsedAction[] = [{ action: FlashloanAction }] + async build(params: ActionBuilderParams): Promise { // Start a new calls level until the flashloan is finished params.context.startSubContext({ diff --git a/sdk/protocol-plugins/src/plugins/common/builders/ImportPositionActionBuilder.ts b/sdk/protocol-plugins/src/plugins/common/builders/ImportPositionActionBuilder.ts index c1838af0de..b254feb0c5 100644 --- a/sdk/protocol-plugins/src/plugins/common/builders/ImportPositionActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/common/builders/ImportPositionActionBuilder.ts @@ -1,8 +1,10 @@ -import { ActionBuilderParams } from '@summerfi/protocol-plugins-common' +import { ActionBuilderParams, ActionBuilderUsedAction } from '@summerfi/protocol-plugins-common' import { steps } from '@summerfi/sdk-common/simulation' import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' export class ImportPositionActionBuilder extends BaseActionBuilder { + readonly actions: ActionBuilderUsedAction[] = [{ action: 'DelegatedToProtocol' }] + async build(params: ActionBuilderParams): Promise { const externalPosition = params.step.inputs.externalPosition diff --git a/sdk/protocol-plugins/src/plugins/common/builders/OpenPositionActionBuilder.ts b/sdk/protocol-plugins/src/plugins/common/builders/OpenPositionActionBuilder.ts index 076970e250..a8ef2e5034 100644 --- a/sdk/protocol-plugins/src/plugins/common/builders/OpenPositionActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/common/builders/OpenPositionActionBuilder.ts @@ -1,8 +1,10 @@ -import { ActionBuilderParams } from '@summerfi/protocol-plugins-common' +import { ActionBuilderParams, ActionBuilderUsedAction } from '@summerfi/protocol-plugins-common' import { steps } from '@summerfi/sdk-common/simulation' import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' export class OpenPositionActionBuilder extends BaseActionBuilder { + readonly actions: ActionBuilderUsedAction[] = [{ action: 'DelegatedToProtocol' }] + async build(params: ActionBuilderParams): Promise { const pool = params.step.inputs.pool diff --git a/sdk/protocol-plugins/src/plugins/common/builders/PaybackWithdrawActionBuilder.ts b/sdk/protocol-plugins/src/plugins/common/builders/PaybackWithdrawActionBuilder.ts index ce9e92b1f8..8083071fc1 100644 --- a/sdk/protocol-plugins/src/plugins/common/builders/PaybackWithdrawActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/common/builders/PaybackWithdrawActionBuilder.ts @@ -1,8 +1,10 @@ -import { ActionBuilderParams } from '@summerfi/protocol-plugins-common' +import { ActionBuilderParams, ActionBuilderUsedAction } from '@summerfi/protocol-plugins-common' import { steps } from '@summerfi/sdk-common/simulation' import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' export class PaybackWithdrawActionBuilder extends BaseActionBuilder { + readonly actions: ActionBuilderUsedAction[] = [{ action: 'DelegatedToProtocol' }] + async build(params: ActionBuilderParams): Promise { return this._delegateToProtocol({ protocolName: params.step.inputs.position.pool.id.protocol.name, diff --git a/sdk/protocol-plugins/src/plugins/common/builders/PositionCreatedActionBuilder.ts b/sdk/protocol-plugins/src/plugins/common/builders/PositionCreatedActionBuilder.ts index 83ac201703..5269220efa 100644 --- a/sdk/protocol-plugins/src/plugins/common/builders/PositionCreatedActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/common/builders/PositionCreatedActionBuilder.ts @@ -1,8 +1,10 @@ import { steps } from '@summerfi/sdk-common/simulation' -import { ActionBuilderParams } from '@summerfi/protocol-plugins-common' +import { ActionBuilderParams, ActionBuilderUsedAction } from '@summerfi/protocol-plugins-common' import { PositionCreatedAction } from '../actions/PositionCreatedAction' import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' export class PositionCreatedActionBuilder extends BaseActionBuilder { + readonly actions: ActionBuilderUsedAction[] = [{ action: PositionCreatedAction }] + async build(params: ActionBuilderParams): Promise { const { context, step } = params diff --git a/sdk/protocol-plugins/src/plugins/common/builders/PullTokenActionBuilder.ts b/sdk/protocol-plugins/src/plugins/common/builders/PullTokenActionBuilder.ts index ca770c77b8..489a8c1dab 100644 --- a/sdk/protocol-plugins/src/plugins/common/builders/PullTokenActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/common/builders/PullTokenActionBuilder.ts @@ -1,9 +1,11 @@ import { steps, getValueFromReference } from '@summerfi/sdk-common/simulation' -import { ActionBuilderParams } from '@summerfi/protocol-plugins-common' +import { ActionBuilderParams, ActionBuilderUsedAction } from '@summerfi/protocol-plugins-common' import { PullTokenAction } from '../actions/PullTokenAction' import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' export class PullTokenActionBuilder extends BaseActionBuilder { + readonly actions: ActionBuilderUsedAction[] = [{ action: PullTokenAction }] + async build(params: ActionBuilderParams): Promise { const { context, positionsManager, step } = params diff --git a/sdk/protocol-plugins/src/plugins/common/builders/RepayFlashloanActionBuilder.ts b/sdk/protocol-plugins/src/plugins/common/builders/RepayFlashloanActionBuilder.ts index 213f3629ea..cc9be6402d 100644 --- a/sdk/protocol-plugins/src/plugins/common/builders/RepayFlashloanActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/common/builders/RepayFlashloanActionBuilder.ts @@ -1,5 +1,5 @@ import { FlashloanProvider, steps } from '@summerfi/sdk-common/simulation' -import { ActionBuilderParams } from '@summerfi/protocol-plugins-common' +import { ActionBuilderParams, ActionBuilderUsedAction } from '@summerfi/protocol-plugins-common' import { SendTokenAction } from '../actions/SendTokenAction' import { FlashloanAction } from '../actions/FlashloanAction' import { getContractAddress } from '../../utils/GetContractAddress' @@ -12,6 +12,14 @@ export const FlashloanProviderMap: Record = { } export class RepayFlashloanActionBuilder extends BaseActionBuilder { + /** + * Special case for this action builder: the Flashloan action is not declared in the list of used + * actions as it was already declared in the FlashloanActionBuilder. This is due to the Flashloan + * inversion problem in which the flashloan action is used when the RepayFlashloan step is built, + * but for the strategy definition we need to have the action registered at the Flashloan builder moment + */ + readonly actions: ActionBuilderUsedAction[] = [{ action: SendTokenAction }] + async build(params: ActionBuilderParams): Promise { const { user, context, step, addressBookManager } = params diff --git a/sdk/protocol-plugins/src/plugins/common/builders/ReturnFundsActionBuilder.ts b/sdk/protocol-plugins/src/plugins/common/builders/ReturnFundsActionBuilder.ts index a208f24ede..3cc291e9d6 100644 --- a/sdk/protocol-plugins/src/plugins/common/builders/ReturnFundsActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/common/builders/ReturnFundsActionBuilder.ts @@ -1,9 +1,11 @@ import { steps } from '@summerfi/sdk-common/simulation' -import { ActionBuilderParams } from '@summerfi/protocol-plugins-common' +import { ActionBuilderParams, ActionBuilderUsedAction } from '@summerfi/protocol-plugins-common' import { ReturnFundsAction } from '../actions/ReturnFundsAction' import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' export class ReturnFundsActionBuilder extends BaseActionBuilder { + readonly actions: ActionBuilderUsedAction[] = [{ action: ReturnFundsAction }] + async build(params: ActionBuilderParams): Promise { const { context, step } = params diff --git a/sdk/protocol-plugins/src/plugins/common/builders/SwapActionBuilder.ts b/sdk/protocol-plugins/src/plugins/common/builders/SwapActionBuilder.ts index 4973797ed4..6019098c40 100644 --- a/sdk/protocol-plugins/src/plugins/common/builders/SwapActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/common/builders/SwapActionBuilder.ts @@ -1,9 +1,11 @@ import { steps } from '@summerfi/sdk-common/simulation' -import { ActionBuilderParams } from '@summerfi/protocol-plugins-common' +import { ActionBuilderParams, ActionBuilderUsedAction } from '@summerfi/protocol-plugins-common' import { SwapAction } from '../actions/SwapAction' import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' export class SwapActionBuilder extends BaseActionBuilder { + readonly actions: ActionBuilderUsedAction[] = [{ action: SwapAction }] + async build(params: ActionBuilderParams): Promise { const { context, user, swapManager, addressBookManager, step } = params diff --git a/sdk/protocol-plugins/src/plugins/maker/builders/MakerImportPositionActionBuilder.ts b/sdk/protocol-plugins/src/plugins/maker/builders/MakerImportPositionActionBuilder.ts index 3ac45329bc..0879f7e98a 100644 --- a/sdk/protocol-plugins/src/plugins/maker/builders/MakerImportPositionActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/maker/builders/MakerImportPositionActionBuilder.ts @@ -1,10 +1,14 @@ import { steps } from '@summerfi/sdk-common/simulation' -import { ActionBuilderParams } from '@summerfi/protocol-plugins-common' +import { ActionBuilderParams, ActionBuilderUsedAction } from '@summerfi/protocol-plugins-common' import { ProtocolName } from '@summerfi/sdk-common/protocols' import { isMakerLendingPoolId } from '../interfaces/IMakerLendingPoolId' import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' export class MakerImportPositionActionBuilder extends BaseActionBuilder { + readonly actions: ActionBuilderUsedAction[] = [ + // Empty on purpose, no definition needs to be generated for this builder + ] + async build(params: ActionBuilderParams): Promise { const { protocolsRegistry, step, user, context, positionsManager } = params diff --git a/sdk/protocol-plugins/src/plugins/maker/builders/MakerOpenPositionActionBuilder.ts b/sdk/protocol-plugins/src/plugins/maker/builders/MakerOpenPositionActionBuilder.ts index 27bb66ca9c..1440c11077 100644 --- a/sdk/protocol-plugins/src/plugins/maker/builders/MakerOpenPositionActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/maker/builders/MakerOpenPositionActionBuilder.ts @@ -1,9 +1,13 @@ import { steps } from '@summerfi/sdk-common/simulation' -import { ActionBuilderParams } from '@summerfi/protocol-plugins-common' +import { ActionBuilderParams, ActionBuilderUsedAction } from '@summerfi/protocol-plugins-common' import { isMakerLendingPool } from '../interfaces/IMakerLendingPool' import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' export class MakerOpenPositionActionBuilder extends BaseActionBuilder { + readonly actions: ActionBuilderUsedAction[] = [ + // Empty on purpose, no definition needs to be generated for this builder + ] + async build(params: ActionBuilderParams): Promise { const { step } = params diff --git a/sdk/protocol-plugins/src/plugins/maker/builders/MakerPaybackWithdrawActionBuilder.ts b/sdk/protocol-plugins/src/plugins/maker/builders/MakerPaybackWithdrawActionBuilder.ts index 71d166bd55..1c2073045f 100644 --- a/sdk/protocol-plugins/src/plugins/maker/builders/MakerPaybackWithdrawActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/maker/builders/MakerPaybackWithdrawActionBuilder.ts @@ -1,12 +1,17 @@ import { getValueFromReference, steps } from '@summerfi/sdk-common/simulation' import { MakerPaybackAction } from '../actions/MakerPaybackAction' import { MakerWithdrawAction } from '../actions/MakerWithdrawAction' -import { ActionBuilderParams } from '@summerfi/protocol-plugins-common' +import { ActionBuilderParams, ActionBuilderUsedAction } from '@summerfi/protocol-plugins-common' import { MakerIlkToJoinMap } from '../types/MakerIlkToJoinMap' import { isMakerLendingPoolId } from '../interfaces/IMakerLendingPoolId' import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' export class MakerPaybackWithdrawActionBuilder extends BaseActionBuilder { + readonly actions: ActionBuilderUsedAction[] = [ + { action: MakerPaybackAction, isOptionalTags: ['paybackAmount'] }, + { action: MakerWithdrawAction }, + ] + async build(params: ActionBuilderParams): Promise { const { context, user, positionsManager, step, addressBookManager } = params diff --git a/sdk/protocol-plugins/src/plugins/morphoblue/builders/MorphoDepositBorrowActionBuilder.ts b/sdk/protocol-plugins/src/plugins/morphoblue/builders/MorphoDepositBorrowActionBuilder.ts index 58b0f76cd4..3c31f23b86 100644 --- a/sdk/protocol-plugins/src/plugins/morphoblue/builders/MorphoDepositBorrowActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/morphoblue/builders/MorphoDepositBorrowActionBuilder.ts @@ -5,12 +5,19 @@ import { } from '@summerfi/sdk-common/simulation' import { MorphoBorrowAction } from '../actions/MorphoBorrowAction' import { MorphoDepositAction } from '../actions/MorphoDepositAction' -import { ActionBuilderParams } from '@summerfi/protocol-plugins-common' +import { ActionBuilderParams, ActionBuilderUsedAction } from '@summerfi/protocol-plugins-common' import { SendTokenAction, SetApprovalAction } from '../../common' import { isMorphoLendingPool } from '../interfaces/IMorphoLendingPool' import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' export class MorphoDepositBorrowActionBuilder extends BaseActionBuilder { + readonly actions: ActionBuilderUsedAction[] = [ + { action: SetApprovalAction }, + { action: MorphoDepositAction }, + { action: MorphoBorrowAction, isOptionalTags: ['borrowAmount'] }, + { action: SendTokenAction, isOptionalTags: ['borrowAmount', 'borrowTargetType'] }, + ] + async build(params: ActionBuilderParams): Promise { const { context, user, step, addressBookManager } = params diff --git a/sdk/protocol-plugins/src/plugins/morphoblue/builders/MorphoOpenPositionActionBuilder.ts b/sdk/protocol-plugins/src/plugins/morphoblue/builders/MorphoOpenPositionActionBuilder.ts index b0580180d4..e256ad0d35 100644 --- a/sdk/protocol-plugins/src/plugins/morphoblue/builders/MorphoOpenPositionActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/morphoblue/builders/MorphoOpenPositionActionBuilder.ts @@ -1,9 +1,13 @@ import { steps } from '@summerfi/sdk-common/simulation' -import { ActionBuilderParams } from '@summerfi/protocol-plugins-common' +import { ActionBuilderParams, ActionBuilderUsedAction } from '@summerfi/protocol-plugins-common' import { isMorphoLendingPool } from '../interfaces/IMorphoLendingPool' import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' export class MorphoOpenPositionActionBuilder extends BaseActionBuilder { + readonly actions: ActionBuilderUsedAction[] = [ + // Empty on purpose, no definition needs to be generated for this builder + ] + async build(params: ActionBuilderParams): Promise { const { step } = params diff --git a/sdk/protocol-plugins/src/plugins/morphoblue/builders/MorphoPaybackWithdrawActionBuilder.ts b/sdk/protocol-plugins/src/plugins/morphoblue/builders/MorphoPaybackWithdrawActionBuilder.ts index 6bf22781cc..6da70bc675 100644 --- a/sdk/protocol-plugins/src/plugins/morphoblue/builders/MorphoPaybackWithdrawActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/morphoblue/builders/MorphoPaybackWithdrawActionBuilder.ts @@ -1,11 +1,17 @@ import { getValueFromReference, steps } from '@summerfi/sdk-common/simulation' -import { ActionBuilderParams } from '@summerfi/protocol-plugins-common' +import { ActionBuilderParams, ActionBuilderUsedAction } from '@summerfi/protocol-plugins-common' import { isMorphoLendingPool } from '../interfaces/IMorphoLendingPool' import { MorphoPaybackAction, MorphoWithdrawAction } from '../actions' import { SetApprovalAction } from '../../common' import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' export class MorphoPaybackWithdrawActionBuilder extends BaseActionBuilder { + readonly actions: ActionBuilderUsedAction[] = [ + { action: SetApprovalAction, isOptionalTags: ['paybackAmount'] }, + { action: MorphoPaybackAction, isOptionalTags: ['paybackAmount'] }, + { action: MorphoWithdrawAction }, + ] + async build(params: ActionBuilderParams): Promise { const { context, positionsManager, step, addressBookManager, user } = params diff --git a/sdk/protocol-plugins/src/plugins/spark/builders/SparkDepositBorrowActionBuilder.ts b/sdk/protocol-plugins/src/plugins/spark/builders/SparkDepositBorrowActionBuilder.ts index ef7c31dce7..3e923badbc 100644 --- a/sdk/protocol-plugins/src/plugins/spark/builders/SparkDepositBorrowActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/spark/builders/SparkDepositBorrowActionBuilder.ts @@ -6,13 +6,19 @@ import { import { SparkBorrowAction } from '../actions/SparkBorrowAction' import { SparkDepositAction } from '../actions/SparkDepositAction' import { IAddress } from '@summerfi/sdk-common/common' -import { ActionBuilderParams } from '@summerfi/protocol-plugins-common' +import { ActionBuilderParams, ActionBuilderUsedAction } from '@summerfi/protocol-plugins-common' import { SetApprovalAction } from '../../common' import { getContractAddress } from '../../utils/GetContractAddress' import { isSparkLendingPool } from '../interfaces/ISparkLendingPool' import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' export class SparkDepositBorrowActionBuilder extends BaseActionBuilder { + readonly actions: ActionBuilderUsedAction[] = [ + { action: SetApprovalAction }, + { action: SparkDepositAction }, + { action: SparkBorrowAction, isOptionalTags: ['borrowAmount'] }, + ] + async build(params: ActionBuilderParams): Promise { const { context, user, step, addressBookManager } = params diff --git a/sdk/protocol-plugins/src/plugins/spark/builders/SparkOpenPositionActionBuilder.ts b/sdk/protocol-plugins/src/plugins/spark/builders/SparkOpenPositionActionBuilder.ts index 43da357545..c3d255c0bf 100644 --- a/sdk/protocol-plugins/src/plugins/spark/builders/SparkOpenPositionActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/spark/builders/SparkOpenPositionActionBuilder.ts @@ -1,10 +1,14 @@ import { steps } from '@summerfi/sdk-common/simulation' import { isSparkLendingPool } from '../interfaces' import { SparkSetEmodeAction } from '../actions' -import { ActionBuilderParams } from '@summerfi/protocol-plugins-common' +import { ActionBuilderParams, ActionBuilderUsedAction } from '@summerfi/protocol-plugins-common' import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' export class SparkOpenPositionActionBuilder extends BaseActionBuilder { + readonly actions: ActionBuilderUsedAction[] = [ + // Empty on purpose, no definition needs to be generated for this builder + ] + async build(params: ActionBuilderParams): Promise { const { context, step } = params diff --git a/sdk/protocol-plugins/src/plugins/spark/builders/SparkPaybackWithdrawActionBuilder.ts b/sdk/protocol-plugins/src/plugins/spark/builders/SparkPaybackWithdrawActionBuilder.ts index b6da9af2f5..0f09ae9f69 100644 --- a/sdk/protocol-plugins/src/plugins/spark/builders/SparkPaybackWithdrawActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/spark/builders/SparkPaybackWithdrawActionBuilder.ts @@ -4,7 +4,7 @@ import { TokenTransferTargetType, } from '@summerfi/sdk-common/simulation' import { IAddress } from '@summerfi/sdk-common/common' -import { ActionBuilderParams } from '@summerfi/protocol-plugins-common' +import { ActionBuilderParams, ActionBuilderUsedAction } from '@summerfi/protocol-plugins-common' import { SetApprovalAction } from '../../common' import { SparkWithdrawAction } from '../actions/SparkWithdrawAction' import { SparkPaybackAction } from '../actions/SparkPaybackAction' @@ -13,6 +13,12 @@ import { isSparkLendingPool } from '../interfaces/ISparkLendingPool' import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' export class SparkPaybackWithdrawActionBuilder extends BaseActionBuilder { + readonly actions: ActionBuilderUsedAction[] = [ + { action: SetApprovalAction, isOptionalTags: ['paybackAmount'] }, + { action: SparkPaybackAction, isOptionalTags: ['paybackAmount'] }, + { action: SparkWithdrawAction, isOptionalTags: ['withdrawAmount'] }, + ] + async build(params: ActionBuilderParams): Promise { const { context, step, addressBookManager, user } = params diff --git a/sdk/protocol-plugins/tests/utils/ProtocolPluginMock.ts b/sdk/protocol-plugins/tests/utils/ProtocolPluginMock.ts index 7b6060c42a..ca65bf81a1 100644 --- a/sdk/protocol-plugins/tests/utils/ProtocolPluginMock.ts +++ b/sdk/protocol-plugins/tests/utils/ProtocolPluginMock.ts @@ -2,6 +2,7 @@ import { ChainFamilyMap, IPosition, IPositionId, Maybe } from '@summerfi/sdk-com import { SimulationSteps, steps } from '@summerfi/sdk-common/simulation' import { ActionBuilderParams, + ActionBuilderUsedAction, ActionBuildersMap, IActionBuilder, IProtocolPlugin, @@ -25,42 +26,50 @@ import { BaseActionBuilder } from '../../src' /* eslint-disable @typescript-eslint/no-unused-vars */ export class PaybackWithdrawActionBuilderMock extends BaseActionBuilder { + actions: ActionBuilderUsedAction[] = [] async build(params: ActionBuilderParams): Promise { ;(params.context as StepBuilderContextMock).setCheckpoint('PaybackWithdrawActionBuilderMock') } } export class DepositBorrowActionBuilderMock extends BaseActionBuilder { + actions: ActionBuilderUsedAction[] = [] async build(params: ActionBuilderParams): Promise { ;(params.context as StepBuilderContextMock).setCheckpoint('DepositBorrowActionBuilderMock') } } export class ImportPositionActionBuilderMock extends BaseActionBuilder { + actions: ActionBuilderUsedAction[] = [] async build(params: ActionBuilderParams): Promise { ;(params.context as StepBuilderContextMock).setCheckpoint('ImportPositionActionBuilderMock') } } export class OpenPositionActionBuilderMock extends BaseActionBuilder { + actions: ActionBuilderUsedAction[] = [] async build(params: ActionBuilderParams): Promise { ;(params.context as StepBuilderContextMock).setCheckpoint('OpenPositionActionBuilderMock') } } export class PaybackWithdrawActionBuilderNoCheckpointMock extends BaseActionBuilder { + actions: ActionBuilderUsedAction[] = [] async build(params: ActionBuilderParams): Promise {} } export class DepositBorrowActionBuilderNoCheckpointMock extends BaseActionBuilder { + actions: ActionBuilderUsedAction[] = [] async build(params: ActionBuilderParams): Promise {} } export class ImportPositionActionBuilderNoCheckpointMock extends BaseActionBuilder { + actions: ActionBuilderUsedAction[] = [] async build(params: ActionBuilderParams): Promise {} } export class OpenPositionActionBuilderNoCheckpointMock extends BaseActionBuilder { + actions: ActionBuilderUsedAction[] = [] async build(params: ActionBuilderParams): Promise {} } diff --git a/sdk/protocol-plugins/tsconfig.json b/sdk/protocol-plugins/tsconfig.json index 80a82c6cb5..98e8557db2 100644 --- a/sdk/protocol-plugins/tsconfig.json +++ b/sdk/protocol-plugins/tsconfig.json @@ -5,6 +5,6 @@ "outDir": "dist", "baseUrl": "." }, - "include": ["src/**/*.ts", "tests/**/*.ts", "tests/mocks/*.ts", "src/plugins/spark/types"], + "include": ["src/**/*.ts", "tests/**/*.ts", "tests/mocks/*.ts"], "exclude": ["node_modules", "dist"] } diff --git a/sdk/sdk-common/src/simulation/index.ts b/sdk/sdk-common/src/simulation/index.ts index b9a92c39ed..fdadb0446b 100644 --- a/sdk/sdk-common/src/simulation/index.ts +++ b/sdk/sdk-common/src/simulation/index.ts @@ -1,6 +1,5 @@ -export type * as steps from './Steps' +export * as steps from './Steps' export * from './Enums' -export type { ValueReference, ReferenceableField } from './ValueReference' -export { isValueReference, getValueFromReference } from './ValueReference' -export type * from './Simulation' -export type * from './SimulationStrategy' +export * from './ValueReference' +export * from './Simulation' +export * from './SimulationStrategy' From 40e8b29af8b38b789516e3d8da57657234f1c249 Mon Sep 17 00:00:00 2001 From: Roberto Cano <3525807+robercano@users.noreply.github.com> Date: Thu, 23 May 2024 20:25:18 +0200 Subject: [PATCH 28/45] wip: initial version for operation definitions gen --- pnpm-lock.yaml | 17371 +++--- .../src/actions/BaseAction.ts | 22 +- .../src/interfaces/IAction.ts | 7 + .../src/interfaces/IProtocolPlugin.ts | 17 +- .../src/implementation/BaseActionBuilder.ts | 2 +- .../src/implementation/BaseProtocolPlugin.ts | 37 +- .../implementation/ProtocolPluginsRegistry.ts | 10 +- sdk/protocol-plugins/src/index.ts | 1 + .../src/plugins/ProtocolPluginsRecord.ts | 18 + .../implementation/AAVEv3ProtocolPlugin.ts | 4 +- .../AAVEv3LikeBaseProtocolPlugin.ts | 16 +- .../AAVEv3LikeProtocolDataBuilder.ts | 20 +- .../implementation/MakerProtocolPlugin.ts | 20 +- .../maker/implementation/MakerStepBuilders.ts | 2 + .../morphoblue/builders/MorphoStepBuilders.ts | 2 + .../implementation/MorphoProtocolPlugin.ts | 18 +- .../SparkOpenPositionActionBuilder.ts | 4 +- .../implementation/SparkProtocolPlugin.ts | 4 +- .../unit/plugins/AAVEv3ProtocolPlugin.spec.ts | 8 +- .../unit/plugins/BaseProtocolPlugin.spec.ts | 8 +- .../unit/plugins/MakerProtocolPlugin.spec.ts | 8 +- .../unit/plugins/MorphoProtocolPlugin.spec.ts | 8 +- .../unit/plugins/SparkProtocolPlugin.spec.ts | 8 +- .../context/CreateProtocolPluginsRegistry.ts | 25 +- .../src/strategies/StrategyIndex.ts | 12 + sdk/simulator-service/tsconfig.json | 2 +- .../genStrategyDefinitions/.eslintrc.cjs | 7 + sdk/tools/genStrategyDefinitions/README.md | 20 + .../bundle/package.json | 9 + .../genStrategyDefinitions/jest.config.js | 15 + sdk/tools/genStrategyDefinitions/package.json | 30 + .../genStrategyDefinitions/src/Helpers.ts | 128 + sdk/tools/genStrategyDefinitions/src/Types.ts | 5 + sdk/tools/genStrategyDefinitions/src/index.ts | 37 + sdk/tools/genStrategyDefinitions/test.json | 49898 ++++++++++++++++ .../tsconfig.build.json | 9 + .../genStrategyDefinitions/tsconfig.json | 19 + .../genStrategyDefinitions/tsconfig.test.json | 9 + 38 files changed, 59979 insertions(+), 7861 deletions(-) create mode 100644 sdk/protocol-plugins/src/plugins/ProtocolPluginsRecord.ts create mode 100644 sdk/simulator-service/src/strategies/StrategyIndex.ts create mode 100644 sdk/tools/genStrategyDefinitions/.eslintrc.cjs create mode 100644 sdk/tools/genStrategyDefinitions/README.md create mode 100644 sdk/tools/genStrategyDefinitions/bundle/package.json create mode 100644 sdk/tools/genStrategyDefinitions/jest.config.js create mode 100644 sdk/tools/genStrategyDefinitions/package.json create mode 100644 sdk/tools/genStrategyDefinitions/src/Helpers.ts create mode 100644 sdk/tools/genStrategyDefinitions/src/Types.ts create mode 100644 sdk/tools/genStrategyDefinitions/src/index.ts create mode 100644 sdk/tools/genStrategyDefinitions/test.json create mode 100644 sdk/tools/genStrategyDefinitions/tsconfig.build.json create mode 100644 sdk/tools/genStrategyDefinitions/tsconfig.json create mode 100644 sdk/tools/genStrategyDefinitions/tsconfig.test.json diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 09bdccab9d..61093d28a6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,4 +1,4 @@ -lockfileVersion: '6.0' +lockfileVersion: '9.0' settings: autoInstallPeers: true @@ -1525,21 +1525,33 @@ importers: specifier: workspace:* version: link:../../packages/typescript-config - sdk/tools: + sdk/tools/genStrategyDefinitions: dependencies: + '@summerfi/order-planner-service': + specifier: workspace:* + version: link:../../order-planner-service '@summerfi/protocol-plugins': specifier: workspace:* - version: link:../protocol-plugins + version: link:../../protocol-plugins + '@summerfi/protocol-plugins-common': + specifier: workspace:* + version: link:../../protocol-plugins-common + '@summerfi/sdk-common': + specifier: workspace:* + version: link:../../sdk-common + '@summerfi/simulator-service': + specifier: workspace:* + version: link:../../simulator-service devDependencies: '@summerfi/eslint-config': specifier: workspace:* - version: link:../../packages/eslint-config + version: link:../../../packages/eslint-config '@summerfi/jest-config': specifier: workspace:* - version: link:../../packages/jest-config + version: link:../../../packages/jest-config '@summerfi/typescript-config': specifier: workspace:* - version: link:../../packages/typescript-config + version: link:../../../packages/typescript-config '@types/yargs': specifier: ^17.0.32 version: 17.0.32 @@ -1550,6 +1562,8 @@ importers: specifier: ^17.7.2 version: 17.7.2 + sdk/tools/genStrategyDefinitions/bundle: {} + stacks: devDependencies: '@summerfi/eslint-config': @@ -2039,442 +2053,7845 @@ importers: packages: - /@aashutoshrathi/word-wrap@1.2.6: + '@aashutoshrathi/word-wrap@1.2.6': resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} engines: {node: '>=0.10.0'} - dev: true - /@adraffy/ens-normalize@1.10.0: + '@adraffy/ens-normalize@1.10.0': resolution: {integrity: sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q==} - /@adraffy/ens-normalize@1.10.1: + '@adraffy/ens-normalize@1.10.1': resolution: {integrity: sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==} - dev: true - /@alcalzone/ansi-tokenize@0.1.3: + '@alcalzone/ansi-tokenize@0.1.3': resolution: {integrity: sha512-3yWxPTq3UQ/FY9p1ErPxIyfT64elWaMvM9lIHnaqpyft63tkxodF5aUElYHrdisWve5cETkh1+KBw1yJuW0aRw==} engines: {node: '>=14.13.1'} - dependencies: - ansi-styles: 6.2.1 - is-fullwidth-code-point: 4.0.0 - dev: true - /@ampproject/remapping@2.3.0: + '@ampproject/remapping@2.3.0': resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - dev: true - /@ardatan/relay-compiler@12.0.0(graphql@16.8.1): + '@ardatan/relay-compiler@12.0.0': resolution: {integrity: sha512-9anThAaj1dQr6IGmzBMcfzOQKTa5artjuPmw8NYK/fiGEMjADbSguBY2FMDykt+QhilR3wc9VA/3yVju7JHg7Q==} hasBin: true peerDependencies: graphql: '*' - dependencies: - '@babel/core': 7.24.4 - '@babel/generator': 7.24.4 - '@babel/parser': 7.24.4 - '@babel/runtime': 7.24.4 - '@babel/traverse': 7.24.1 - '@babel/types': 7.24.0 - babel-preset-fbjs: 3.4.0(@babel/core@7.24.4) - chalk: 4.1.2 - fb-watchman: 2.0.2 - fbjs: 3.0.5 - glob: 7.2.3 - graphql: 16.8.1 - immutable: 3.7.6 - invariant: 2.2.4 - nullthrows: 1.1.1 - relay-runtime: 12.0.0 - signedsource: 1.0.0 - yargs: 15.4.1 - transitivePeerDependencies: - - encoding - - supports-color - dev: true - /@ardatan/sync-fetch@0.0.1: + '@ardatan/sync-fetch@0.0.1': resolution: {integrity: sha512-xhlTqH0m31mnsG0tIP4ETgfSB6gXDaYYsUWTrlUV93fFQPI9dd8hE0Ot6MHLCtqgB32hwJAC3YZMWlXZw7AleA==} engines: {node: '>=14'} - dependencies: - node-fetch: 2.7.0 - transitivePeerDependencies: - - encoding - dev: true - /@aws-cdk/asset-awscli-v1@2.2.202: + '@aws-cdk/asset-awscli-v1@2.2.202': resolution: {integrity: sha512-JqlF0D4+EVugnG5dAsNZMqhu3HW7ehOXm5SDMxMbXNDMdsF0pxtQKNHRl52z1U9igsHmaFpUgSGjbhAJ+0JONg==} - dev: true - /@aws-cdk/asset-kubectl-v20@2.1.2: + '@aws-cdk/asset-kubectl-v20@2.1.2': resolution: {integrity: sha512-3M2tELJOxQv0apCIiuKQ4pAbncz9GuLwnKFqxifWfe77wuMxyTRPmxssYHs42ePqzap1LT6GDcPygGs+hHstLg==} - dev: true - /@aws-cdk/asset-node-proxy-agent-v6@2.0.3: + '@aws-cdk/asset-node-proxy-agent-v6@2.0.3': resolution: {integrity: sha512-twhuEG+JPOYCYPx/xy5uH2+VUsIEhPTzDY0F1KuB+ocjWWB/KEDiOVL19nHvbPCB6fhWnkykXEMJ4HHcKvjtvg==} - dev: true - /@aws-cdk/aws-lambda-python-alpha@2.132.1-alpha.0(aws-cdk-lib@2.132.1)(constructs@10.3.0): + '@aws-cdk/aws-lambda-python-alpha@2.132.1-alpha.0': resolution: {integrity: sha512-YZNLRw4Yhxt615RfC2kzuvp6/7HdU6RQZHlz3+Cb1VGMcFFdKJhKB/TrMx7xNq2NMwp9CDgasLkdxYuF8Nmd4A==} engines: {node: '>= 14.15.0'} peerDependencies: aws-cdk-lib: ^2.132.1 constructs: ^10.0.0 - dependencies: - aws-cdk-lib: 2.132.1(constructs@10.3.0) - constructs: 10.3.0 - dev: true - /@aws-cdk/aws-service-spec@0.0.52: + '@aws-cdk/aws-service-spec@0.0.52': resolution: {integrity: sha512-SJA4xtG2y5NpTmtKtFNbrYh6BaFgKEcr7ye8N+S4H3KByXIa0NLOh5bPTVBjvyXiRPDJ9q39Xu433vxC3BsDhg==} - dependencies: - '@aws-cdk/service-spec-types': 0.0.52 - '@cdklabs/tskb': 0.0.3 - dev: true - /@aws-cdk/cloud-assembly-schema@2.132.1: + '@aws-cdk/cloud-assembly-schema@2.132.1': resolution: {integrity: sha512-PAusB9kKT9CELzbj8x5G3BpFl6Wjwk5ULn+8/uP21MIygWmAcktzOD2CVzkxMvljT7qU4KN1GEDCZXVqLzzomg==} engines: {node: '>= 14.15.0'} - dependencies: - jsonschema: 1.4.1 - semver: 7.6.0 - dev: true bundledDependencies: - jsonschema - semver - /@aws-cdk/cloudformation-diff@2.132.1: + '@aws-cdk/cloudformation-diff@2.132.1': resolution: {integrity: sha512-h93B/VC4lujT9gjeSgUCg3XaypDyydvggbpJ0jCbl2kagDK90SHInZm5yscPNof+FpT8Igvn+5yEUOLVnfFYYg==} engines: {node: '>= 14.15.0'} - dependencies: - '@aws-cdk/aws-service-spec': 0.0.52 - '@aws-cdk/service-spec-types': 0.0.52 - chalk: 4.1.2 - diff: 5.2.0 - fast-deep-equal: 3.1.3 - string-width: 4.2.3 - table: 6.8.2 - dev: true - /@aws-cdk/cx-api@2.132.1(@aws-cdk/cloud-assembly-schema@2.132.1): + '@aws-cdk/cx-api@2.132.1': resolution: {integrity: sha512-JWf9Xou9vtO7wMyDKvcbigjGLY6kPS31cYc+e+dJSMsCxWEbvpEdndAJOU7y9Y8/99SnvihYxEbgbpWGwcK/Xg==} engines: {node: '>= 14.15.0'} peerDependencies: '@aws-cdk/cloud-assembly-schema': 2.132.1 - dependencies: - '@aws-cdk/cloud-assembly-schema': 2.132.1 - semver: 7.6.0 - dev: true bundledDependencies: - semver - /@aws-cdk/service-spec-types@0.0.52: + '@aws-cdk/service-spec-types@0.0.52': resolution: {integrity: sha512-vVoZPgEmkUPeTVJSQ9iyXTiwnb6GiBbntJdnsWTr6I9ao66TuU9HijEcAQHxkC7CxTkian+3KSX/NTl01Klm0A==} - dependencies: - '@cdklabs/tskb': 0.0.3 - dev: true - /@aws-crypto/crc32@3.0.0: + '@aws-crypto/crc32@3.0.0': resolution: {integrity: sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==} - dependencies: - '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.567.0 - tslib: 1.14.1 - dev: true - /@aws-crypto/crc32c@3.0.0: + '@aws-crypto/crc32c@3.0.0': resolution: {integrity: sha512-ENNPPManmnVJ4BTXlOjAgD7URidbAznURqD0KvfREyc4o20DPYdEldU1f5cQ7Jbj0CJJSPaMIk/9ZshdB3210w==} - dependencies: - '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.567.0 - tslib: 1.14.1 - dev: true - /@aws-crypto/ie11-detection@3.0.0: + '@aws-crypto/ie11-detection@3.0.0': resolution: {integrity: sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==} - dependencies: - tslib: 1.14.1 - /@aws-crypto/sha1-browser@3.0.0: + '@aws-crypto/sha1-browser@3.0.0': resolution: {integrity: sha512-NJth5c997GLHs6nOYTzFKTbYdMNA6/1XlKVgnZoaZcQ7z7UJlOgj2JdbHE8tiYLS3fzXNCguct77SPGat2raSw==} - dependencies: - '@aws-crypto/ie11-detection': 3.0.0 - '@aws-crypto/supports-web-crypto': 3.0.0 - '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.567.0 - '@aws-sdk/util-locate-window': 3.535.0 - '@aws-sdk/util-utf8-browser': 3.259.0 - tslib: 1.14.1 - dev: true - /@aws-crypto/sha256-browser@3.0.0: + '@aws-crypto/sha256-browser@3.0.0': resolution: {integrity: sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==} - dependencies: - '@aws-crypto/ie11-detection': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-crypto/supports-web-crypto': 3.0.0 - '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.567.0 - '@aws-sdk/util-locate-window': 3.535.0 - '@aws-sdk/util-utf8-browser': 3.259.0 - tslib: 1.14.1 - /@aws-crypto/sha256-js@3.0.0: + '@aws-crypto/sha256-js@3.0.0': resolution: {integrity: sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==} - dependencies: - '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.567.0 - tslib: 1.14.1 - /@aws-crypto/sha256-js@5.2.0: + '@aws-crypto/sha256-js@5.2.0': resolution: {integrity: sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==} engines: {node: '>=16.0.0'} - dependencies: - '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.567.0 - tslib: 2.6.2 - dev: true - /@aws-crypto/supports-web-crypto@3.0.0: + '@aws-crypto/supports-web-crypto@3.0.0': resolution: {integrity: sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==} - dependencies: - tslib: 1.14.1 - /@aws-crypto/util@3.0.0: + '@aws-crypto/util@3.0.0': resolution: {integrity: sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==} - dependencies: - '@aws-sdk/types': 3.567.0 - '@aws-sdk/util-utf8-browser': 3.259.0 - tslib: 1.14.1 - /@aws-crypto/util@5.2.0: + '@aws-crypto/util@5.2.0': resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==} - dependencies: - '@aws-sdk/types': 3.567.0 - '@smithy/util-utf8': 2.3.0 - tslib: 2.6.2 - dev: true - /@aws-lambda-powertools/commons@1.18.1: + '@aws-lambda-powertools/commons@1.18.1': resolution: {integrity: sha512-gFRgQ2GJDghKvf+fXvT0kQVftgOT05W+hCa7RkfZj6HSjVAO+9DZZeJL3JK1HcsLAjWRj7W9ra0/MqB3Abf+PQ==} - dev: false - /@aws-lambda-powertools/commons@2.0.4: + '@aws-lambda-powertools/commons@2.0.4': resolution: {integrity: sha512-6tH27airGDbK+hNltrb33qdsbbrql34KcSBLmKnZYGZam7nWc5giTEtDh1Zyw2N3bQ0BnZ6SahgO9eY46WaiRA==} - dev: false - /@aws-lambda-powertools/logger@1.18.1: + '@aws-lambda-powertools/logger@1.18.1': resolution: {integrity: sha512-GsSMqaFXCSz+llSOn2CVNMoN+j/jNsS6JP2Opy9myU0tvg7PeuU3+rN24vKyibUwpxM466IzWFBSJkYdm0bqVw==} peerDependencies: '@middy/core': '>=3.x' peerDependenciesMeta: '@middy/core': optional: true - dependencies: - '@aws-lambda-powertools/commons': 1.18.1 - lodash.merge: 4.6.2 - dev: false - /@aws-lambda-powertools/logger@2.0.4: + '@aws-lambda-powertools/logger@2.0.4': resolution: {integrity: sha512-KzBw7oUtSTKxY5Ulck4ZKelr4jX3erhlcuscvihZvu4OJv5TdZ1GrIT+wkySaLp8nKidOHjhTJAlNXCFjNiINQ==} peerDependencies: '@middy/core': '>=3.x' peerDependenciesMeta: '@middy/core': optional: true - dependencies: - '@aws-lambda-powertools/commons': 2.0.4 - lodash.merge: 4.6.2 - dev: false - /@aws-lambda-powertools/metrics@1.18.1: + '@aws-lambda-powertools/metrics@1.18.1': resolution: {integrity: sha512-ebojjuoOlm0bOtZ6H5fyTnC5B0owVX1nNqDUPEQSejkeiiBW0m6DVzy6hFWuKmGtBtm2WNnWwTE//WtF+CD6Ug==} peerDependencies: '@middy/core': '>=3.x' peerDependenciesMeta: '@middy/core': optional: true - dependencies: - '@aws-lambda-powertools/commons': 1.18.1 - dev: false - /@aws-lambda-powertools/metrics@2.0.4: + '@aws-lambda-powertools/metrics@2.0.4': resolution: {integrity: sha512-w9kaRtqH1xPe2SLny5hF1z2c2rQDlgYtbVGm0YtQ48nIxHMNh+yV8dLd4o7fdjl2p6yuhXlHCiD+HoMi5aOPCg==} peerDependencies: '@middy/core': '>=3.x' peerDependenciesMeta: '@middy/core': optional: true - dependencies: - '@aws-lambda-powertools/commons': 2.0.4 - dev: false - /@aws-lambda-powertools/tracer@1.18.1: + '@aws-lambda-powertools/tracer@1.18.1': resolution: {integrity: sha512-bMLBtdEFNmLUR9RJvBULR6XJD0XopUhhS1mlpeQlm2BCPIN3gLbqAlJK8dMXyAw8GCpLpHaziCo2+7a/AIh7lA==} peerDependencies: '@middy/core': '>=3.x' peerDependenciesMeta: '@middy/core': optional: true - dependencies: - '@aws-lambda-powertools/commons': 1.18.1 - aws-xray-sdk-core: 3.6.0 - dev: false - /@aws-lambda-powertools/tracer@2.0.4: + '@aws-lambda-powertools/tracer@2.0.4': resolution: {integrity: sha512-Alc/oy8JnEMlM33zYVuiutyYjxen10AaOdKBuwyxwzCJPpkwO5ks+6RxLBTHjFVrvCt7CwPd9G1lDvruDvcxKQ==} peerDependencies: '@middy/core': '>=3.x' peerDependenciesMeta: '@middy/core': optional: true - dependencies: - '@aws-lambda-powertools/commons': 2.0.4 - aws-xray-sdk-core: 3.6.0 - dev: false - /@aws-sdk/client-cloudformation@3.555.0: + '@aws-sdk/client-cloudformation@3.555.0': resolution: {integrity: sha512-gm+qteiSwG/Y25lrIdjiP/GQkYSCdxhTAcHHUGmC85pDTLRsZbTXUm79rhvT3SfoLX3/Hh4JHoVSiFL+wxKeww==} engines: {node: '>=14.0.0'} - dependencies: - '@aws-crypto/sha256-browser': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) - '@aws-sdk/core': 3.554.0 - '@aws-sdk/credential-provider-node': 3.554.0 - '@aws-sdk/middleware-host-header': 3.535.0 - '@aws-sdk/middleware-logger': 3.535.0 - '@aws-sdk/middleware-recursion-detection': 3.535.0 - '@aws-sdk/middleware-user-agent': 3.540.0 - '@aws-sdk/region-config-resolver': 3.535.0 - '@aws-sdk/types': 3.535.0 - '@aws-sdk/util-endpoints': 3.540.0 - '@aws-sdk/util-user-agent-browser': 3.535.0 - '@aws-sdk/util-user-agent-node': 3.535.0(aws-crt@1.21.2) - '@smithy/config-resolver': 2.2.0 - '@smithy/core': 1.4.2 - '@smithy/fetch-http-handler': 2.5.0 - '@smithy/hash-node': 2.2.0 - '@smithy/invalid-dependency': 2.2.0 - '@smithy/middleware-content-length': 2.2.0 - '@smithy/middleware-endpoint': 2.5.1 - '@smithy/middleware-retry': 2.3.1 - '@smithy/middleware-serde': 2.3.0 - '@smithy/middleware-stack': 2.2.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/node-http-handler': 2.5.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/smithy-client': 2.5.1 - '@smithy/types': 2.12.0 - '@smithy/url-parser': 2.2.0 - '@smithy/util-base64': 2.3.0 - '@smithy/util-body-length-browser': 2.2.0 - '@smithy/util-body-length-node': 2.3.0 - '@smithy/util-defaults-mode-browser': 2.2.1 - '@smithy/util-defaults-mode-node': 2.3.1 - '@smithy/util-endpoints': 1.2.0 - '@smithy/util-middleware': 2.2.0 - '@smithy/util-retry': 2.2.0 - '@smithy/util-utf8': 2.3.0 - '@smithy/util-waiter': 2.2.0 - tslib: 2.6.2 - uuid: 9.0.1 - transitivePeerDependencies: - - aws-crt - dev: true - /@aws-sdk/client-cognito-identity@3.554.0: + '@aws-sdk/client-cognito-identity@3.554.0': resolution: {integrity: sha512-/rFufn75nrCj5gTpTLIlDxjGoPeAj+gC3JLVqS2Tlpqx3YhqHiz+jYaHYJbkvrcLMEdDFqaoO3DI7y/GcD59Mg==} engines: {node: '>=14.0.0'} - dependencies: - '@aws-crypto/sha256-browser': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) - '@aws-sdk/core': 3.554.0 - '@aws-sdk/credential-provider-node': 3.554.0 - '@aws-sdk/middleware-host-header': 3.535.0 - '@aws-sdk/middleware-logger': 3.535.0 - '@aws-sdk/middleware-recursion-detection': 3.535.0 - '@aws-sdk/middleware-user-agent': 3.540.0 - '@aws-sdk/region-config-resolver': 3.535.0 - '@aws-sdk/types': 3.535.0 - '@aws-sdk/util-endpoints': 3.540.0 - '@aws-sdk/util-user-agent-browser': 3.535.0 - '@aws-sdk/util-user-agent-node': 3.535.0(aws-crt@1.21.2) - '@smithy/config-resolver': 2.2.0 - '@smithy/core': 1.4.2 - '@smithy/fetch-http-handler': 2.5.0 - '@smithy/hash-node': 2.2.0 - '@smithy/invalid-dependency': 2.2.0 - '@smithy/middleware-content-length': 2.2.0 - '@smithy/middleware-endpoint': 2.5.1 - '@smithy/middleware-retry': 2.3.1 - '@smithy/middleware-serde': 2.3.0 - '@smithy/middleware-stack': 2.2.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/node-http-handler': 2.5.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/smithy-client': 2.5.1 - '@smithy/types': 2.12.0 - '@smithy/url-parser': 2.2.0 - '@smithy/util-base64': 2.3.0 - '@smithy/util-body-length-browser': 2.2.0 - '@smithy/util-body-length-node': 2.3.0 - '@smithy/util-defaults-mode-browser': 2.2.1 - '@smithy/util-defaults-mode-node': 2.3.1 - '@smithy/util-endpoints': 1.2.0 - '@smithy/util-middleware': 2.2.0 - '@smithy/util-retry': 2.2.0 - '@smithy/util-utf8': 2.3.0 - tslib: 2.6.2 - transitivePeerDependencies: - - aws-crt - dev: true - /@aws-sdk/client-ecs@3.554.0: + '@aws-sdk/client-ecs@3.554.0': resolution: {integrity: sha512-JyGbk0ulTtz8rjvVCWKqf+1Lobk6TDB+bPpfhMa3Z+ACyNsS+qU3W+XcDUXkgn+VGFd+nMfFoJOotSsT03ilFw==} engines: {node: '>=14.0.0'} - dependencies: - '@aws-crypto/sha256-browser': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) - '@aws-sdk/core': 3.554.0 - '@aws-sdk/credential-provider-node': 3.554.0 - '@aws-sdk/middleware-host-header': 3.535.0 - '@aws-sdk/middleware-logger': 3.535.0 - '@aws-sdk/middleware-recursion-detection': 3.535.0 - '@aws-sdk/middleware-user-agent': 3.540.0 - '@aws-sdk/region-config-resolver': 3.535.0 - '@aws-sdk/types': 3.535.0 - '@aws-sdk/util-endpoints': 3.540.0 - '@aws-sdk/util-user-agent-browser': 3.535.0 - '@aws-sdk/util-user-agent-node': 3.535.0(aws-crt@1.21.2) - '@smithy/config-resolver': 2.2.0 - '@smithy/core': 1.4.2 - '@smithy/fetch-http-handler': 2.5.0 - '@smithy/hash-node': 2.2.0 - '@smithy/invalid-dependency': 2.2.0 - '@smithy/middleware-content-length': 2.2.0 - '@smithy/middleware-endpoint': 2.5.1 - '@smithy/middleware-retry': 2.3.1 - '@smithy/middleware-serde': 2.3.0 - '@smithy/middleware-stack': 2.2.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/node-http-handler': 2.5.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/smithy-client': 2.5.1 - '@smithy/types': 2.12.0 - '@smithy/url-parser': 2.2.0 - '@smithy/util-base64': 2.3.0 - '@smithy/util-body-length-browser': 2.2.0 - '@smithy/util-body-length-node': 2.3.0 - '@smithy/util-defaults-mode-browser': 2.2.1 - '@smithy/util-defaults-mode-node': 2.3.1 - '@smithy/util-endpoints': 1.2.0 - '@smithy/util-middleware': 2.2.0 + + '@aws-sdk/client-eventbridge@3.554.0': + resolution: {integrity: sha512-rO5jYUaYsHFmjfXkgtCN1Tb3O9Or0ro61f6vzZB/+XLZvgTSP8OLJcH+1BHMj26L2ntuTkZ4zPikO+2Bg4urDg==} + engines: {node: '>=14.0.0'} + + '@aws-sdk/client-iam@3.554.0': + resolution: {integrity: sha512-Q+8PTBdZ1e3hzWRZGnIE5P+7jbxQx9Gas3ayOfzdHx538apqk4z8+Q4PoymECttPSPwv1KoYphFZvRyH7lrDKA==} + engines: {node: '>=14.0.0'} + + '@aws-sdk/client-iot-data-plane@3.554.0': + resolution: {integrity: sha512-2xtMWKlJ1wOq+8mQe1XddfqOkskfIV/AgkGTueZUqO7FvVxHtWOlXpafN7naRZUBtzzu9/oeK8gfvYhpW+kqGw==} + engines: {node: '>=14.0.0'} + + '@aws-sdk/client-iot@3.554.0': + resolution: {integrity: sha512-3mr5Ik3hVa3WS0F2N88sSKAwOVdRtoRN8xY1bqpT+I/tjAgt+07uItHrkJErEh4Xq3EnhJfKiPR/KbcRK2oQuQ==} + engines: {node: '>=14.0.0'} + + '@aws-sdk/client-lambda@3.554.0': + resolution: {integrity: sha512-KNUAAZKcsCdUOB2/rbWpc96jsSM/ahw3hK5/Ru4RTLfNP27GitxqF0v+mzrVk9lTuj2ChJ3JDV+UfdGsqvZgpw==} + engines: {node: '>=14.0.0'} + + '@aws-sdk/client-rds-data@3.569.0': + resolution: {integrity: sha512-avid47WL0ylvMnRVchiURyrimksajoia6Mp5qyo00/2+sOC+/1VmA32OH0lltEC+O7AFEbPLWFf9gQEG9qM1oQ==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/client-s3@3.554.0': + resolution: {integrity: sha512-d5TKKtGWhN0vl9QovUFrf3UsM7jgFQkowDPx1O+E/yeQUj1FBDOoRfDCcQOKW/9ghloI6k7f0bBpNxdd+x0oKA==} + engines: {node: '>=14.0.0'} + + '@aws-sdk/client-ssm@3.554.0': + resolution: {integrity: sha512-zqc5Pyb0agJ3erp1x2ILoll7mG6atQTD2AFWA5UBFhNa7R0+w+TLvSNnX813X4bv4OySqBYYEtAokoTvV66UZw==} + engines: {node: '>=14.0.0'} + + '@aws-sdk/client-sso-oidc@3.554.0': + resolution: {integrity: sha512-M86rkiRqbZBF5VyfTQ/vttry9VSoQkZ1oCqYF+SAGlXmD0Of8587yRSj2M4rYe0Uj7nRQIfSnhDYp1UzsZeRfQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + '@aws-sdk/credential-provider-node': ^3.554.0 + + '@aws-sdk/client-sso-oidc@3.569.0': + resolution: {integrity: sha512-u5DEjNEvRvlKKh1QLCDuQ8GIrx+OFvJFLfhorsp4oCxDylvORs+KfyKKnJAw4wYEEHyxyz9GzHD7p6a8+HLVHw==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/client-sso@3.554.0': + resolution: {integrity: sha512-yj6CgIxCT3UwMumEO481KH4QvwArkAPzD7Xvwe1QKgJATc9bKNEo/FxV8LfnWIJ7nOtMDxbNxYLMXH/Fs1qGaQ==} + engines: {node: '>=14.0.0'} + + '@aws-sdk/client-sso@3.568.0': + resolution: {integrity: sha512-LSD7k0ZBQNWouTN5dYpUkeestoQ+r5u6cp6o+FATKeiFQET85RNA3xJ4WPnOI5rBC1PETKhQXvF44863P3hCaQ==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/client-sts@3.554.0': + resolution: {integrity: sha512-EhaA6T0M0DNg5M8TCF1a7XJI5D/ZxAF3dgVIchyF98iNzjYgl/7U8K6hJay2A11aFvVu70g46xYMpz3Meky4wQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + '@aws-sdk/credential-provider-node': ^3.554.0 + + '@aws-sdk/client-sts@3.569.0': + resolution: {integrity: sha512-3AyipQ2zHszkcTr8n1Sp7CiMUi28aMf1vOhEo0KKi0DWGo1Z1qJEpWeRP363KG0n9/8U3p1IkXGz5FRbpXZxIw==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/config-resolver@3.374.0': + resolution: {integrity: sha512-eTSbmpcgZ97o7PuFls8pH1344OS03nfqq1NO9HxxvoYoZ6DFfUO7kqKeNUhP9LxOF7slyHXajDT7eoPclGnTuw==} + engines: {node: '>=14.0.0'} + deprecated: This package has moved to @smithy/config-resolver + + '@aws-sdk/core@3.554.0': + resolution: {integrity: sha512-JrG7ToTLeNf+/S3IiCUPVw9jEDB0DXl5ho8n/HwOa946mv+QyCepCuV2U/8f/1KAX0mD8Ufm/E4/cbCbFHgbSg==} + engines: {node: '>=14.0.0'} + + '@aws-sdk/core@3.567.0': + resolution: {integrity: sha512-zUDEQhC7blOx6sxhHdT75x98+SXQVdUIMu8z8AjqMWiYK2v4WkOS8i6dOS4E5OjL5J1Ac+ruy8op/Bk4AFqSIw==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/credential-provider-cognito-identity@3.554.0': + resolution: {integrity: sha512-soF84soy9rTAfzsH1ODP0AnJt5JlsJI8k1aWtC08/Al0CZjLkxDRHzaB1wxubFyT2Ql6bpxbDfU6KDFXsQIpdA==} + engines: {node: '>=14.0.0'} + + '@aws-sdk/credential-provider-env@3.535.0': + resolution: {integrity: sha512-XppwO8c0GCGSAvdzyJOhbtktSEaShg14VJKg8mpMa1XcgqzmcqqHQjtDWbx5rZheY1VdpXZhpEzJkB6LpQejpA==} + engines: {node: '>=14.0.0'} + + '@aws-sdk/credential-provider-env@3.568.0': + resolution: {integrity: sha512-MVTQoZwPnP1Ev5A7LG+KzeU6sCB8BcGkZeDT1z1V5Wt7GPq0MgFQTSSjhImnB9jqRSZkl1079Bt3PbO6lfIS8g==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/credential-provider-http@3.552.0': + resolution: {integrity: sha512-vsmu7Cz1i45pFEqzVb4JcFmAmVnWFNLsGheZc8SCptlqCO5voETrZZILHYIl4cjKkSDk3pblBOf0PhyjqWW6WQ==} + engines: {node: '>=14.0.0'} + + '@aws-sdk/credential-provider-http@3.568.0': + resolution: {integrity: sha512-gL0NlyI2eW17hnCrh45hZV+qjtBquB+Bckiip9R6DIVRKqYcoILyiFhuOgf2bXeF23gVh6j18pvUvIoTaFWs5w==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/credential-provider-ini@3.554.0': + resolution: {integrity: sha512-BQenhg43S6TMJHxrdjDVdVF+HH5tA1op9ZYLyJrvV5nn7CCO4kyAkkOuSAv1NkL+RZsIkW0/vHTXwQOQw3cUsg==} + engines: {node: '>=14.0.0'} + + '@aws-sdk/credential-provider-ini@3.568.0': + resolution: {integrity: sha512-m5DUN9mpto5DhEvo6w3+8SS6q932ja37rTNvpPqWJIaWhj7OorAwVirSaJQAQB/M8+XCUIrUonxytphZB28qGQ==} + engines: {node: '>=16.0.0'} + peerDependencies: + '@aws-sdk/client-sts': ^3.568.0 + + '@aws-sdk/credential-provider-node@3.554.0': + resolution: {integrity: sha512-poX/+2OE3oxqp4f5MiaJh251p8l+bzcFwgcDBwz0e2rcpvMSYl9jw4AvGnCiG2bmf9yhNJdftBiS1A+KjxV0qA==} + engines: {node: '>=14.0.0'} + + '@aws-sdk/credential-provider-node@3.569.0': + resolution: {integrity: sha512-7jH4X2qlPU3PszZP1zvHJorhLARbU1tXvp8ngBe8ArXBrkFpl/dQ2Y/IRAICPm/pyC1IEt8L/CvKp+dz7v/eRw==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/credential-provider-process@3.535.0': + resolution: {integrity: sha512-9O1OaprGCnlb/kYl8RwmH7Mlg8JREZctB8r9sa1KhSsWFq/SWO0AuJTyowxD7zL5PkeS4eTvzFFHWCa3OO5epA==} + engines: {node: '>=14.0.0'} + + '@aws-sdk/credential-provider-process@3.568.0': + resolution: {integrity: sha512-r01zbXbanP17D+bQUb7mD8Iu2SuayrrYZ0Slgvx32qgz47msocV9EPCSwI4Hkw2ZtEPCeLQR4XCqFJB1D9P50w==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/credential-provider-sso@3.554.0': + resolution: {integrity: sha512-8QPpwBA31i/fZ7lDZJC4FA9EdxLg5SJ8sPB2qLSjp5UTGTYL2HRl0Eznkb7DXyp/wImsR/HFR1NxuFCCVotLCg==} + engines: {node: '>=14.0.0'} + + '@aws-sdk/credential-provider-sso@3.568.0': + resolution: {integrity: sha512-+TA77NWOEXMUcfLoOuim6xiyXFg1GqHj55ggI1goTKGVvdHYZ+rhxZbwjI29+ewzPt/qcItDJcvhrjOrg9lCag==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/credential-provider-web-identity@3.554.0': + resolution: {integrity: sha512-HN54DzLjepw5ZWSF9ycGevhFTyg6pjLuLKy5Y8t/f1jFDComzYdGEDe0cdV9YO653W3+PQwZZGz09YVygGYBLg==} + engines: {node: '>=14.0.0'} + + '@aws-sdk/credential-provider-web-identity@3.568.0': + resolution: {integrity: sha512-ZJSmTmoIdg6WqAULjYzaJ3XcbgBzVy36lir6Y0UBMRGaxDgos1AARuX6EcYzXOl+ksLvxt/xMQ+3aYh1LWfKSw==} + engines: {node: '>=16.0.0'} + peerDependencies: + '@aws-sdk/client-sts': ^3.568.0 + + '@aws-sdk/credential-providers@3.554.0': + resolution: {integrity: sha512-UMmJ4M7RknSz1p0981t57QUw6DibPEo/GG8+env6Q8dHrEc3pnRL206f1zxLcqzT5RI50XstH/bDtnyC7uRYiw==} + engines: {node: '>=14.0.0'} + + '@aws-sdk/middleware-bucket-endpoint@3.535.0': + resolution: {integrity: sha512-7sijlfQsc4UO9Fsl11mU26Y5f9E7g6UoNg/iJUBpC5pgvvmdBRO5UEhbB/gnqvOEPsBXyhmfzbstebq23Qdz7A==} + engines: {node: '>=14.0.0'} + + '@aws-sdk/middleware-expect-continue@3.535.0': + resolution: {integrity: sha512-hFKyqUBky0NWCVku8iZ9+PACehx0p6vuMw5YnZf8FVgHP0fode0b/NwQY6UY7oor/GftvRsAlRUAWGNFEGUpwA==} + engines: {node: '>=14.0.0'} + + '@aws-sdk/middleware-flexible-checksums@3.535.0': + resolution: {integrity: sha512-rBIzldY9jjRATxICDX7t77aW6ctqmVDgnuAOgbVT5xgHftt4o7PGWKoMvl/45hYqoQgxVFnCBof9bxkqSBebVA==} + engines: {node: '>=14.0.0'} + + '@aws-sdk/middleware-host-header@3.535.0': + resolution: {integrity: sha512-0h6TWjBWtDaYwHMQJI9ulafeS4lLaw1vIxRjbpH0svFRt6Eve+Sy8NlVhECfTU2hNz/fLubvrUxsXoThaLBIew==} + engines: {node: '>=14.0.0'} + + '@aws-sdk/middleware-host-header@3.567.0': + resolution: {integrity: sha512-zQHHj2N3in9duKghH7AuRNrOMLnKhW6lnmb7dznou068DJtDr76w475sHp2TF0XELsOGENbbBsOlN/S5QBFBVQ==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/middleware-location-constraint@3.535.0': + resolution: {integrity: sha512-SxfS9wfidUZZ+WnlKRTCRn3h+XTsymXRXPJj8VV6hNRNeOwzNweoG3YhQbTowuuNfXf89m9v6meYkBBtkdacKw==} + engines: {node: '>=14.0.0'} + + '@aws-sdk/middleware-logger@3.535.0': + resolution: {integrity: sha512-huNHpONOrEDrdRTvSQr1cJiRMNf0S52NDXtaPzdxiubTkP+vni2MohmZANMOai/qT0olmEVX01LhZ0ZAOgmg6A==} + engines: {node: '>=14.0.0'} + + '@aws-sdk/middleware-logger@3.568.0': + resolution: {integrity: sha512-BinH72RG7K3DHHC1/tCulocFv+ZlQ9SrPF9zYT0T1OT95JXuHhB7fH8gEABrc6DAtOdJJh2fgxQjPy5tzPtsrA==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/middleware-recursion-detection@3.535.0': + resolution: {integrity: sha512-am2qgGs+gwqmR4wHLWpzlZ8PWhm4ktj5bYSgDrsOfjhdBlWNxvPoID9/pDAz5RWL48+oH7I6SQzMqxXsFDikrw==} + engines: {node: '>=14.0.0'} + + '@aws-sdk/middleware-recursion-detection@3.567.0': + resolution: {integrity: sha512-rFk3QhdT4IL6O/UWHmNdjJiURutBCy+ogGqaNHf/RELxgXH3KmYorLwCe0eFb5hq8f6vr3zl4/iH7YtsUOuo1w==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/middleware-retry@3.374.0': + resolution: {integrity: sha512-ZnT84qnT+Zmelv7y6hAqgAEaZgpGlrvf/+rchNWT0oG4duxI5bLWcRi9U88Jz7G8JgNQcGKJqPfC6oogCd7p8w==} + engines: {node: '>=14.0.0'} + deprecated: This package has moved to @smithy/middleware-retry + + '@aws-sdk/middleware-sdk-s3@3.552.0': + resolution: {integrity: sha512-9KzOqsbwJJuQcpmrpkkIftjPahB1bsrcWalYzcVqKCgHCylhkSHW2tX+uGHRnvAl9iobQD5D7LUrS+cv0NeQ/Q==} + engines: {node: '>=14.0.0'} + + '@aws-sdk/middleware-signing@3.552.0': + resolution: {integrity: sha512-ZjOrlEmwjhbmkINa4Zx9LJh+xb/kgEiUrcfud2kq/r8ath1Nv1/4zalI9jHnou1J+R+yS+FQlXLXHSZ7vqyFbA==} + engines: {node: '>=14.0.0'} + + '@aws-sdk/middleware-ssec@3.537.0': + resolution: {integrity: sha512-2QWMrbwd5eBy5KCYn9a15JEWBgrK2qFEKQN2lqb/6z0bhtevIOxIRfC99tzvRuPt6nixFQ+ynKuBjcfT4ZFrdQ==} + engines: {node: '>=14.0.0'} + + '@aws-sdk/middleware-user-agent@3.540.0': + resolution: {integrity: sha512-8Rd6wPeXDnOYzWj1XCmOKcx/Q87L0K1/EHqOBocGjLVbN3gmRxBvpmR1pRTjf7IsWfnnzN5btqtcAkfDPYQUMQ==} + engines: {node: '>=14.0.0'} + + '@aws-sdk/middleware-user-agent@3.567.0': + resolution: {integrity: sha512-a7DBGMRBLWJU3BqrQjOtKS4/RcCh/BhhKqwjCE0FEhhm6A/GGuAs/DcBGOl6Y8Wfsby3vejSlppTLH/qtV1E9w==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/region-config-resolver@3.535.0': + resolution: {integrity: sha512-IXOznDiaItBjsQy4Fil0kzX/J3HxIOknEphqHbOfUf+LpA5ugcsxuQQONrbEQusCBnfJyymrldBvBhFmtlU9Wg==} + engines: {node: '>=14.0.0'} + + '@aws-sdk/region-config-resolver@3.567.0': + resolution: {integrity: sha512-VMDyYi5Dh2NydDiIARZ19DwMfbyq0llS736cp47qopmO6wzdeul7WRTx8NKfEYN0/AwEaqmTW0ohx58jSB1lYg==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/signature-v4-crt@3.552.0': + resolution: {integrity: sha512-5Dy4E2RtHw3hFCx5L+OsRN2n1OW3yoX06xDPqJ5xe38Pd9H8ZPYxiCEOdyw/TIJUwRjDMgsa2uPKyM/Nwr9cMg==} + engines: {node: '>=14.0.0'} + + '@aws-sdk/signature-v4-multi-region@3.552.0': + resolution: {integrity: sha512-cC11/5ahp+LaBCq7cR+51AM2ftf6m9diRd2oWkbEpjSiEKQzZRAltUPZAJM6NXGypmDODQDJphLGt45tvS+8kg==} + engines: {node: '>=14.0.0'} + + '@aws-sdk/smithy-client@3.374.0': + resolution: {integrity: sha512-YQBdO/Nv5EXBg/qfMF4GgYYLNN3Y/06MyuVBYILC1TKAnMoLy2FV0VOYyediagepAcWPdJqyUq4MCNNBy0CPRg==} + engines: {node: '>=14.0.0'} + deprecated: This package has moved to @smithy/smithy-client + + '@aws-sdk/token-providers@3.554.0': + resolution: {integrity: sha512-KMMQ5Cw0FUPL9H8g69Lp08xtzRo7r/MK+lBV6LznWBbCP/NwtZ8awVHaPy2P31z00cWtu9MYkUTviWPqJTaBvg==} + engines: {node: '>=14.0.0'} + + '@aws-sdk/token-providers@3.568.0': + resolution: {integrity: sha512-mCQElYzY5N2JlXB7LyjOoLvRN/JiSV+E9szLwhYN3dleTUCMbGqWb7RiAR2V3fO+mz8f9kR7DThTExKJbKogKw==} + engines: {node: '>=16.0.0'} + peerDependencies: + '@aws-sdk/client-sso-oidc': ^3.568.0 + + '@aws-sdk/types@3.535.0': + resolution: {integrity: sha512-aY4MYfduNj+sRR37U7XxYR8wemfbKP6lx00ze2M2uubn7mZotuVrWYAafbMSXrdEMSToE5JDhr28vArSOoLcSg==} + engines: {node: '>=14.0.0'} + + '@aws-sdk/types@3.567.0': + resolution: {integrity: sha512-JBznu45cdgQb8+T/Zab7WpBmfEAh77gsk99xuF4biIb2Sw1mdseONdoGDjEJX57a25TzIv/WUJ2oABWumckz1A==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/util-arn-parser@3.535.0': + resolution: {integrity: sha512-smVo29nUPAOprp8Z5Y3GHuhiOtw6c8/EtLCm5AVMtRsTPw4V414ZXL2H66tzmb5kEeSzQlbfBSBEdIFZoxO9kg==} + engines: {node: '>=14.0.0'} + + '@aws-sdk/util-endpoints@3.540.0': + resolution: {integrity: sha512-1kMyQFAWx6f8alaI6UT65/5YW/7pDWAKAdNwL6vuJLea03KrZRX3PMoONOSJpAS5m3Ot7HlWZvf3wZDNTLELZw==} + engines: {node: '>=14.0.0'} + + '@aws-sdk/util-endpoints@3.567.0': + resolution: {integrity: sha512-WVhot3qmi0BKL9ZKnUqsvCd++4RF2DsJIG32NlRaml1FT9KaqSzNv0RXeA6k/kYwiiNT7y3YWu3Lbzy7c6vG9g==} + engines: {node: '>=16.0.0'} + + '@aws-sdk/util-locate-window@3.535.0': + resolution: {integrity: sha512-PHJ3SL6d2jpcgbqdgiPxkXpu7Drc2PYViwxSIqvvMKhDwzSB1W3mMvtpzwKM4IE7zLFodZo0GKjJ9AsoXndXhA==} + engines: {node: '>=14.0.0'} + + '@aws-sdk/util-user-agent-browser@3.535.0': + resolution: {integrity: sha512-RWMcF/xV5n+nhaA/Ff5P3yNP3Kur/I+VNZngog4TEs92oB/nwOdAg/2JL8bVAhUbMrjTjpwm7PItziYFQoqyig==} + + '@aws-sdk/util-user-agent-browser@3.567.0': + resolution: {integrity: sha512-cqP0uXtZ7m7hRysf3fRyJwcY1jCgQTpJy7BHB5VpsE7DXlXHD5+Ur5L42CY7UrRPrB6lc6YGFqaAOs5ghMcLyA==} + + '@aws-sdk/util-user-agent-node@3.535.0': + resolution: {integrity: sha512-dRek0zUuIT25wOWJlsRm97nTkUlh1NDcLsQZIN2Y8KxhwoXXWtJs5vaDPT+qAg+OpcNj80i1zLR/CirqlFg/TQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + aws-crt: '>=1.0.0' + peerDependenciesMeta: + aws-crt: + optional: true + + '@aws-sdk/util-user-agent-node@3.568.0': + resolution: {integrity: sha512-NVoZoLnKF+eXPBvXg+KqixgJkPSrerR6Gqmbjwqbv14Ini+0KNKB0/MXas1mDGvvEgtNkHI/Cb9zlJ3KXpti2A==} + engines: {node: '>=16.0.0'} + peerDependencies: + aws-crt: '>=1.0.0' + peerDependenciesMeta: + aws-crt: + optional: true + + '@aws-sdk/util-utf8-browser@3.259.0': + resolution: {integrity: sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==} + + '@aws-sdk/xml-builder@3.535.0': + resolution: {integrity: sha512-VXAq/Jz8KIrU84+HqsOJhIKZqG0PNTdi6n6PFQ4xJf44ZQHD/5C7ouH4qCFX5XgZXcgbRIcMVVYGC6Jye0dRng==} + engines: {node: '>=14.0.0'} + + '@babel/code-frame@7.24.2': + resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.24.4': + resolution: {integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.24.4': + resolution: {integrity: sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==} + engines: {node: '>=6.9.0'} + + '@babel/eslint-parser@7.24.1': + resolution: {integrity: sha512-d5guuzMlPeDfZIbpQ8+g1NaCNuAGBBGNECh0HVqz1sjOeVLh2CEaifuOysCH18URW6R7pqXINvf5PaR/dC6jLQ==} + engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} + peerDependencies: + '@babel/core': ^7.11.0 + eslint: ^7.5.0 || ^8.0.0 + + '@babel/generator@7.24.4': + resolution: {integrity: sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-annotate-as-pure@7.22.5': + resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.23.6': + resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-create-class-features-plugin@7.24.4': + resolution: {integrity: sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-environment-visitor@7.22.20': + resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-function-name@7.23.0': + resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-hoist-variables@7.22.5': + resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-member-expression-to-functions@7.23.0': + resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.24.3': + resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.23.3': + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-optimise-call-expression@7.22.5': + resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-plugin-utils@7.24.0': + resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==} + engines: {node: '>=6.9.0'} + + '@babel/helper-replace-supers@7.24.1': + resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-simple-access@7.22.5': + resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} + engines: {node: '>=6.9.0'} + + '@babel/helper-skip-transparent-expression-wrappers@7.22.5': + resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} + engines: {node: '>=6.9.0'} + + '@babel/helper-split-export-declaration@7.22.6': + resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.24.1': + resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.22.20': + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.23.5': + resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.24.4': + resolution: {integrity: sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==} + engines: {node: '>=6.9.0'} + + '@babel/highlight@7.24.2': + resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.24.4': + resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-proposal-class-properties@7.18.6': + resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-proposal-object-rest-spread@7.20.7': + resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} + engines: {node: '>=6.9.0'} + deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead. + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-async-generators@7.8.4': + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-bigint@7.8.3': + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-class-properties@7.12.13': + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-flow@7.24.1': + resolution: {integrity: sha512-sxi2kLTI5DeW5vDtMUsk4mTPwvlUDbjOnoWayhynCwrw4QXRld4QEYwqzY8JmQXaJUtgUuCIurtSRH5sn4c7mA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-assertions@7.24.1': + resolution: {integrity: sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-meta@7.10.4': + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-json-strings@7.8.3': + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-jsx@7.24.1': + resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4': + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-numeric-separator@7.10.4': + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-object-rest-spread@7.8.3': + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3': + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-chaining@7.8.3': + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-top-level-await@7.14.5': + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-typescript@7.24.1': + resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-arrow-functions@7.24.1': + resolution: {integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-block-scoped-functions@7.24.1': + resolution: {integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-block-scoping@7.24.4': + resolution: {integrity: sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-classes@7.24.1': + resolution: {integrity: sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-computed-properties@7.24.1': + resolution: {integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-destructuring@7.24.1': + resolution: {integrity: sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-flow-strip-types@7.24.1': + resolution: {integrity: sha512-iIYPIWt3dUmUKKE10s3W+jsQ3icFkw0JyRVyY1B7G4yK/nngAOHLVx8xlhA6b/Jzl/Y0nis8gjqhqKtRDQqHWQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-for-of@7.24.1': + resolution: {integrity: sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-function-name@7.24.1': + resolution: {integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-literals@7.24.1': + resolution: {integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-member-expression-literals@7.24.1': + resolution: {integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-modules-commonjs@7.24.1': + resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-object-super@7.24.1': + resolution: {integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-parameters@7.24.1': + resolution: {integrity: sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-property-literals@7.24.1': + resolution: {integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-display-name@7.24.1': + resolution: {integrity: sha512-mvoQg2f9p2qlpDQRBC7M3c3XTr0k7cp/0+kFKKO/7Gtu0LSw16eKB+Fabe2bDT/UpsyasTBBkAnbdsLrkD5XMw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-react-jsx@7.23.4': + resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-shorthand-properties@7.24.1': + resolution: {integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-spread@7.24.1': + resolution: {integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-template-literals@7.24.1': + resolution: {integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/runtime@7.24.4': + resolution: {integrity: sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==} + engines: {node: '>=6.9.0'} + + '@babel/template@7.24.0': + resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.24.1': + resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.24.0': + resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} + engines: {node: '>=6.9.0'} + + '@bcoe/v8-coverage@0.2.3': + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + + '@cdklabs/tskb@0.0.3': + resolution: {integrity: sha512-JR+MuD4awAXvutu7HArephXfZm09GPTaSAQUqNcJB5+ZENRm4kV+L6vJL6Tn1xHjCcHksO+HAqj3gYtm5K94vA==} + + '@cspotcode/source-map-support@0.8.1': + resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} + engines: {node: '>=12'} + + '@dependents/detective-less@4.1.0': + resolution: {integrity: sha512-KrkT6qO5NxqNfy68sBl6CTSoJ4SNDIS5iQArkibhlbGU4LaDukZ3q2HIkh8aUKDio6o4itU4xDR7t82Y2eP1Bg==} + engines: {node: '>=14'} + + '@envelop/core@3.0.6': + resolution: {integrity: sha512-06t1xCPXq6QFN7W1JUEf68aCwYN0OUDNAIoJe7bAqhaoa2vn7NCcuX1VHkJ/OWpmElUgCsRO6RiBbIru1in0Ig==} + + '@envelop/types@3.0.2': + resolution: {integrity: sha512-pOFea9ha0EkURWxJ/35axoH9fDGP5S2cUu/5Mmo9pb8zUf+TaEot8vB670XXihFEn/92759BMjLJNWBKmNhyng==} + + '@envelop/validation-cache@5.1.3': + resolution: {integrity: sha512-MkzcScQHJJQ/9YCAPdWShEi3xZv4F4neTs+NszzSrZOdlU8z/THuRt7gZ0sO0y2be+sx+SKjHQP8Gq3VXXcTTg==} + peerDependencies: + '@envelop/core': ^3.0.6 + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 + + '@esbuild/aix-ppc64@0.19.12': + resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + + '@esbuild/aix-ppc64@0.20.2': + resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + + '@esbuild/android-arm64@0.18.13': + resolution: {integrity: sha512-j7NhycJUoUAG5kAzGf4fPWfd17N6SM3o1X6MlXVqfHvs2buFraCJzos9vbeWjLxOyBKHyPOnuCuipbhvbYtTAg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm64@0.19.12': + resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm64@0.20.2': + resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + + '@esbuild/android-arm@0.18.13': + resolution: {integrity: sha512-KwqFhxRFMKZINHzCqf8eKxE0XqWlAVPRxwy6rc7CbVFxzUWB2sA/s3hbMZeemPdhN3fKBkqOaFhTbS8xJXYIWQ==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + + '@esbuild/android-arm@0.19.12': + resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + + '@esbuild/android-arm@0.20.2': + resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + + '@esbuild/android-x64@0.18.13': + resolution: {integrity: sha512-M2eZkRxR6WnWfVELHmv6MUoHbOqnzoTVSIxgtsyhm/NsgmL+uTmag/VVzdXvmahak1I6sOb1K/2movco5ikDJg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + '@esbuild/android-x64@0.19.12': + resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + '@esbuild/android-x64@0.20.2': + resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + + '@esbuild/darwin-arm64@0.18.13': + resolution: {integrity: sha512-f5goG30YgR1GU+fxtaBRdSW3SBG9pZW834Mmhxa6terzcboz7P2R0k4lDxlkP7NYRIIdBbWp+VgwQbmMH4yV7w==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-arm64@0.19.12': + resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-arm64@0.20.2': + resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + + '@esbuild/darwin-x64@0.18.13': + resolution: {integrity: sha512-RIrxoKH5Eo+yE5BtaAIMZaiKutPhZjw+j0OCh8WdvKEKJQteacq0myZvBDLU+hOzQOZWJeDnuQ2xgSScKf1Ovw==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + '@esbuild/darwin-x64@0.19.12': + resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + '@esbuild/darwin-x64@0.20.2': + resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + + '@esbuild/freebsd-arm64@0.18.13': + resolution: {integrity: sha512-AfRPhHWmj9jGyLgW/2FkYERKmYR+IjYxf2rtSLmhOrPGFh0KCETFzSjx/JX/HJnvIqHt/DRQD/KAaVsUKoI3Xg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-arm64@0.19.12': + resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-arm64@0.20.2': + resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.18.13': + resolution: {integrity: sha512-pGzWWZJBInhIgdEwzn8VHUBang8UvFKsvjDkeJ2oyY5gZtAM6BaxK0QLCuZY+qoj/nx/lIaItH425rm/hloETA==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.19.12': + resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + '@esbuild/freebsd-x64@0.20.2': + resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + + '@esbuild/linux-arm64@0.18.13': + resolution: {integrity: sha512-hCzZbVJEHV7QM77fHPv2qgBcWxgglGFGCxk6KfQx6PsVIdi1u09X7IvgE9QKqm38OpkzaAkPnnPqwRsltvLkIQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm64@0.19.12': + resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm64@0.20.2': + resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + + '@esbuild/linux-arm@0.18.13': + resolution: {integrity: sha512-4iMxLRMCxGyk7lEvkkvrxw4aJeC93YIIrfbBlUJ062kilUUnAiMb81eEkVvCVoh3ON283ans7+OQkuy1uHW+Hw==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-arm@0.19.12': + resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-arm@0.20.2': + resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + + '@esbuild/linux-ia32@0.18.13': + resolution: {integrity: sha512-I3OKGbynl3AAIO6onXNrup/ttToE6Rv2XYfFgLK/wnr2J+1g+7k4asLrE+n7VMhaqX+BUnyWkCu27rl+62Adug==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-ia32@0.19.12': + resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-ia32@0.20.2': + resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + + '@esbuild/linux-loong64@0.18.13': + resolution: {integrity: sha512-8pcKDApAsKc6WW51ZEVidSGwGbebYw2qKnO1VyD8xd6JN0RN6EUXfhXmDk9Vc4/U3Y4AoFTexQewQDJGsBXBpg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-loong64@0.19.12': + resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-loong64@0.20.2': + resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + + '@esbuild/linux-mips64el@0.18.13': + resolution: {integrity: sha512-6GU+J1PLiVqWx8yoCK4Z0GnfKyCGIH5L2KQipxOtbNPBs+qNDcMJr9euxnyJ6FkRPyMwaSkjejzPSISD9hb+gg==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-mips64el@0.19.12': + resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-mips64el@0.20.2': + resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + + '@esbuild/linux-ppc64@0.18.13': + resolution: {integrity: sha512-pfn/OGZ8tyR8YCV7MlLl5hAit2cmS+j/ZZg9DdH0uxdCoJpV7+5DbuXrR+es4ayRVKIcfS9TTMCs60vqQDmh+w==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-ppc64@0.19.12': + resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-ppc64@0.20.2': + resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + + '@esbuild/linux-riscv64@0.18.13': + resolution: {integrity: sha512-aIbhU3LPg0lOSCfVeGHbmGYIqOtW6+yzO+Nfv57YblEK01oj0mFMtvDJlOaeAZ6z0FZ9D13oahi5aIl9JFphGg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-riscv64@0.19.12': + resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-riscv64@0.20.2': + resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + + '@esbuild/linux-s390x@0.18.13': + resolution: {integrity: sha512-Pct1QwF2sp+5LVi4Iu5Y+6JsGaV2Z2vm4O9Dd7XZ5tKYxEHjFtb140fiMcl5HM1iuv6xXO8O1Vrb1iJxHlv8UA==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-s390x@0.19.12': + resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-s390x@0.20.2': + resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + + '@esbuild/linux-x64@0.18.13': + resolution: {integrity: sha512-zTrIP0KzYP7O0+3ZnmzvUKgGtUvf4+piY8PIO3V8/GfmVd3ZyHJGz7Ht0np3P1wz+I8qJ4rjwJKqqEAbIEPngA==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + '@esbuild/linux-x64@0.19.12': + resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + '@esbuild/linux-x64@0.20.2': + resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + + '@esbuild/netbsd-x64@0.18.13': + resolution: {integrity: sha512-I6zs10TZeaHDYoGxENuksxE1sxqZpCp+agYeW039yqFwh3MgVvdmXL5NMveImOC6AtpLvE4xG5ujVic4NWFIDQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.19.12': + resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + '@esbuild/netbsd-x64@0.20.2': + resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + + '@esbuild/openbsd-x64@0.18.13': + resolution: {integrity: sha512-W5C5nczhrt1y1xPG5bV+0M12p2vetOGlvs43LH8SopQ3z2AseIROu09VgRqydx5qFN7y9qCbpgHLx0kb0TcW7g==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.19.12': + resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + '@esbuild/openbsd-x64@0.20.2': + resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + + '@esbuild/sunos-x64@0.18.13': + resolution: {integrity: sha512-X/xzuw4Hzpo/yq3YsfBbIsipNgmsm8mE/QeWbdGdTTeZ77fjxI2K0KP3AlhZ6gU3zKTw1bKoZTuKLnqcJ537qw==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + '@esbuild/sunos-x64@0.19.12': + resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + '@esbuild/sunos-x64@0.20.2': + resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + + '@esbuild/win32-arm64@0.18.13': + resolution: {integrity: sha512-4CGYdRQT/ILd+yLLE5i4VApMPfGE0RPc/wFQhlluDQCK09+b4JDbxzzjpgQqTPrdnP7r5KUtGVGZYclYiPuHrw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-arm64@0.19.12': + resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-arm64@0.20.2': + resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + + '@esbuild/win32-ia32@0.18.13': + resolution: {integrity: sha512-D+wKZaRhQI+MUGMH+DbEr4owC2D7XnF+uyGiZk38QbgzLcofFqIOwFs7ELmIeU45CQgfHNy9Q+LKW3cE8g37Kg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-ia32@0.19.12': + resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-ia32@0.20.2': + resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + + '@esbuild/win32-x64@0.18.13': + resolution: {integrity: sha512-iVl6lehAfJS+VmpF3exKpNQ8b0eucf5VWfzR8S7xFve64NBNz2jPUgx1X93/kfnkfgP737O+i1k54SVQS7uVZA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + + '@esbuild/win32-x64@0.19.12': + resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + + '@esbuild/win32-x64@0.20.2': + resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + + '@eslint-community/eslint-utils@4.4.0': + resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + + '@eslint-community/regexpp@4.10.0': + resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + '@eslint/eslintrc@2.1.4': + resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@eslint/js@8.57.0': + resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@ethereumjs/rlp@4.0.1': + resolution: {integrity: sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==} + engines: {node: '>=14'} + hasBin: true + + '@ethereumjs/util@8.1.0': + resolution: {integrity: sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==} + engines: {node: '>=14'} + + '@ethersproject/abi@5.6.0': + resolution: {integrity: sha512-AhVByTwdXCc2YQ20v300w6KVHle9g2OFc28ZAFCPnJyEpkv1xKXjZcSTgWOlv1i+0dqlgF8RCF2Rn2KC1t+1Vg==} + + '@ethersproject/abi@5.7.0': + resolution: {integrity: sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==} + + '@ethersproject/abstract-provider@5.6.0': + resolution: {integrity: sha512-oPMFlKLN+g+y7a79cLK3WiLcjWFnZQtXWgnLAbHZcN3s7L4v90UHpTOrLk+m3yr0gt+/h9STTM6zrr7PM8uoRw==} + + '@ethersproject/abstract-provider@5.7.0': + resolution: {integrity: sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==} + + '@ethersproject/abstract-signer@5.6.0': + resolution: {integrity: sha512-WOqnG0NJKtI8n0wWZPReHtaLkDByPL67tn4nBaDAhmVq8sjHTPbCdz4DRhVu/cfTOvfy9w3iq5QZ7BX7zw56BQ==} + + '@ethersproject/abstract-signer@5.7.0': + resolution: {integrity: sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==} + + '@ethersproject/address@5.6.0': + resolution: {integrity: sha512-6nvhYXjbXsHPS+30sHZ+U4VMagFC/9zAk6Gd/h3S21YW4+yfb0WfRtaAIZ4kfM4rrVwqiy284LP0GtL5HXGLxQ==} + + '@ethersproject/address@5.7.0': + resolution: {integrity: sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==} + + '@ethersproject/base64@5.6.0': + resolution: {integrity: sha512-2Neq8wxJ9xHxCF9TUgmKeSh9BXJ6OAxWfeGWvbauPh8FuHEjamgHilllx8KkSd5ErxyHIX7Xv3Fkcud2kY9ezw==} + + '@ethersproject/base64@5.7.0': + resolution: {integrity: sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==} + + '@ethersproject/basex@5.6.0': + resolution: {integrity: sha512-qN4T+hQd/Md32MoJpc69rOwLYRUXwjTlhHDIeUkUmiN/JyWkkLLMoG0TqvSQKNqZOMgN5stbUYN6ILC+eD7MEQ==} + + '@ethersproject/basex@5.7.0': + resolution: {integrity: sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==} + + '@ethersproject/bignumber@5.6.0': + resolution: {integrity: sha512-VziMaXIUHQlHJmkv1dlcd6GY2PmT0khtAqaMctCIDogxkrarMzA9L94KN1NeXqqOfFD6r0sJT3vCTOFSmZ07DA==} + + '@ethersproject/bignumber@5.7.0': + resolution: {integrity: sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==} + + '@ethersproject/bytes@5.6.1': + resolution: {integrity: sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g==} + + '@ethersproject/bytes@5.7.0': + resolution: {integrity: sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==} + + '@ethersproject/constants@5.6.0': + resolution: {integrity: sha512-SrdaJx2bK0WQl23nSpV/b1aq293Lh0sUaZT/yYKPDKn4tlAbkH96SPJwIhwSwTsoQQZxuh1jnqsKwyymoiBdWA==} + + '@ethersproject/constants@5.7.0': + resolution: {integrity: sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==} + + '@ethersproject/contracts@5.6.0': + resolution: {integrity: sha512-74Ge7iqTDom0NX+mux8KbRUeJgu1eHZ3iv6utv++sLJG80FVuU9HnHeKVPfjd9s3woFhaFoQGf3B3iH/FrQmgw==} + + '@ethersproject/contracts@5.7.0': + resolution: {integrity: sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==} + + '@ethersproject/hash@5.6.0': + resolution: {integrity: sha512-fFd+k9gtczqlr0/BruWLAu7UAOas1uRRJvOR84uDf4lNZ+bTkGl366qvniUZHKtlqxBRU65MkOobkmvmpHU+jA==} + + '@ethersproject/hash@5.7.0': + resolution: {integrity: sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==} + + '@ethersproject/hdnode@5.6.0': + resolution: {integrity: sha512-61g3Jp3nwDqJcL/p4nugSyLrpl/+ChXIOtCEM8UDmWeB3JCAt5FoLdOMXQc3WWkc0oM2C0aAn6GFqqMcS/mHTw==} + + '@ethersproject/hdnode@5.7.0': + resolution: {integrity: sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==} + + '@ethersproject/json-wallets@5.6.0': + resolution: {integrity: sha512-fmh86jViB9r0ibWXTQipxpAGMiuxoqUf78oqJDlCAJXgnJF024hOOX7qVgqsjtbeoxmcLwpPsXNU0WEe/16qPQ==} + + '@ethersproject/json-wallets@5.7.0': + resolution: {integrity: sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==} + + '@ethersproject/keccak256@5.6.0': + resolution: {integrity: sha512-tk56BJ96mdj/ksi7HWZVWGjCq0WVl/QvfhFQNeL8fxhBlGoP+L80uDCiQcpJPd+2XxkivS3lwRm3E0CXTfol0w==} + + '@ethersproject/keccak256@5.7.0': + resolution: {integrity: sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==} + + '@ethersproject/logger@5.6.0': + resolution: {integrity: sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg==} + + '@ethersproject/logger@5.7.0': + resolution: {integrity: sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==} + + '@ethersproject/networks@5.6.1': + resolution: {integrity: sha512-b2rrupf3kCTcc3jr9xOWBuHylSFtbpJf79Ga7QR98ienU2UqGimPGEsYMgbI29KHJfA5Us89XwGVmxrlxmSrMg==} + + '@ethersproject/networks@5.7.1': + resolution: {integrity: sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==} + + '@ethersproject/pbkdf2@5.6.0': + resolution: {integrity: sha512-Wu1AxTgJo3T3H6MIu/eejLFok9TYoSdgwRr5oGY1LTLfmGesDoSx05pemsbrPT2gG4cQME+baTSCp5sEo2erZQ==} + + '@ethersproject/pbkdf2@5.7.0': + resolution: {integrity: sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==} + + '@ethersproject/properties@5.6.0': + resolution: {integrity: sha512-szoOkHskajKePTJSZ46uHUWWkbv7TzP2ypdEK6jGMqJaEt2sb0jCgfBo0gH0m2HBpRixMuJ6TBRaQCF7a9DoCg==} + + '@ethersproject/properties@5.7.0': + resolution: {integrity: sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==} + + '@ethersproject/providers@5.6.2': + resolution: {integrity: sha512-6/EaFW/hNWz+224FXwl8+HdMRzVHt8DpPmu5MZaIQqx/K/ELnC9eY236SMV7mleCM3NnEArFwcAAxH5kUUgaRg==} + + '@ethersproject/providers@5.7.2': + resolution: {integrity: sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==} + + '@ethersproject/random@5.6.0': + resolution: {integrity: sha512-si0PLcLjq+NG/XHSZz90asNf+YfKEqJGVdxoEkSukzbnBgC8rydbgbUgBbBGLeHN4kAJwUFEKsu3sCXT93YMsw==} + + '@ethersproject/random@5.7.0': + resolution: {integrity: sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==} + + '@ethersproject/rlp@5.6.0': + resolution: {integrity: sha512-dz9WR1xpcTL+9DtOT/aDO+YyxSSdO8YIS0jyZwHHSlAmnxA6cKU3TrTd4Xc/bHayctxTgGLYNuVVoiXE4tTq1g==} + + '@ethersproject/rlp@5.7.0': + resolution: {integrity: sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==} + + '@ethersproject/sha2@5.6.0': + resolution: {integrity: sha512-1tNWCPFLu1n3JM9t4/kytz35DkuF9MxqkGGEHNauEbaARdm2fafnOyw1s0tIQDPKF/7bkP1u3dbrmjpn5CelyA==} + + '@ethersproject/sha2@5.7.0': + resolution: {integrity: sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==} + + '@ethersproject/signing-key@5.6.0': + resolution: {integrity: sha512-S+njkhowmLeUu/r7ir8n78OUKx63kBdMCPssePS89So1TH4hZqnWFsThEd/GiXYp9qMxVrydf7KdM9MTGPFukA==} + + '@ethersproject/signing-key@5.7.0': + resolution: {integrity: sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==} + + '@ethersproject/solidity@5.6.0': + resolution: {integrity: sha512-YwF52vTNd50kjDzqKaoNNbC/r9kMDPq3YzDWmsjFTRBcIF1y4JCQJ8gB30wsTfHbaxgxelI5BfxQSxD/PbJOww==} + + '@ethersproject/solidity@5.7.0': + resolution: {integrity: sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==} + + '@ethersproject/strings@5.6.0': + resolution: {integrity: sha512-uv10vTtLTZqrJuqBZR862ZQjTIa724wGPWQqZrofaPI/kUsf53TBG0I0D+hQ1qyNtllbNzaW+PDPHHUI6/65Mg==} + + '@ethersproject/strings@5.7.0': + resolution: {integrity: sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==} + + '@ethersproject/transactions@5.6.0': + resolution: {integrity: sha512-4HX+VOhNjXHZyGzER6E/LVI2i6lf9ejYeWD6l4g50AdmimyuStKc39kvKf1bXWQMg7QNVh+uC7dYwtaZ02IXeg==} + + '@ethersproject/transactions@5.7.0': + resolution: {integrity: sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==} + + '@ethersproject/units@5.6.0': + resolution: {integrity: sha512-tig9x0Qmh8qbo1w8/6tmtyrm/QQRviBh389EQ+d8fP4wDsBrJBf08oZfoiz1/uenKK9M78yAP4PoR7SsVoTjsw==} + + '@ethersproject/units@5.7.0': + resolution: {integrity: sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==} + + '@ethersproject/wallet@5.6.0': + resolution: {integrity: sha512-qMlSdOSTyp0MBeE+r7SUhr1jjDlC1zAXB8VD84hCnpijPQiSNbxr6GdiLXxpUs8UKzkDiNYYC5DRI3MZr+n+tg==} + + '@ethersproject/wallet@5.7.0': + resolution: {integrity: sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==} + + '@ethersproject/web@5.6.0': + resolution: {integrity: sha512-G/XHj0hV1FxI2teHRfCGvfBUHFmU+YOSbCxlAMqJklxSa7QMiHFQfAxvwY2PFqgvdkxEKwRNr/eCjfAPEm2Ctg==} + + '@ethersproject/web@5.7.1': + resolution: {integrity: sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==} + + '@ethersproject/wordlists@5.6.0': + resolution: {integrity: sha512-q0bxNBfIX3fUuAo9OmjlEYxP40IB8ABgb7HjEZCL5IKubzV3j30CWi2rqQbjTS2HfoyQbfINoKcTVWP4ejwR7Q==} + + '@ethersproject/wordlists@5.7.0': + resolution: {integrity: sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==} + + '@fastify/busboy@2.1.1': + resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} + engines: {node: '>=14'} + + '@graphql-codegen/add@5.0.2': + resolution: {integrity: sha512-ouBkSvMFUhda5VoKumo/ZvsZM9P5ZTyDsI8LW18VxSNWOjrTeLXBWHG8Gfaai0HwhflPtCYVABbriEcOmrRShQ==} + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + + '@graphql-codegen/cli@5.0.2': + resolution: {integrity: sha512-MBIaFqDiLKuO4ojN6xxG9/xL9wmfD3ZjZ7RsPjwQnSHBCUXnEkdKvX+JVpx87Pq29Ycn8wTJUguXnTZ7Di0Mlw==} + hasBin: true + peerDependencies: + '@parcel/watcher': ^2.1.0 + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + peerDependenciesMeta: + '@parcel/watcher': + optional: true + + '@graphql-codegen/client-preset@4.2.5': + resolution: {integrity: sha512-hAdB6HN8EDmkoBtr0bPUN/7NH6svzqbcTDMWBCRXPESXkl7y80po+IXrXUjsSrvhKG8xkNXgJNz/2mjwHzywcA==} + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + + '@graphql-codegen/core@4.0.2': + resolution: {integrity: sha512-IZbpkhwVqgizcjNiaVzNAzm/xbWT6YnGgeOLwVjm4KbJn3V2jchVtuzHH09G5/WkkLSk2wgbXNdwjM41JxO6Eg==} + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + + '@graphql-codegen/gql-tag-operations@4.0.6': + resolution: {integrity: sha512-y6iXEDpDNjwNxJw3WZqX1/Znj0QHW7+y8O+t2V8qvbTT+3kb2lr9ntc8By7vCr6ctw9tXI4XKaJgpTstJDOwFA==} + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + + '@graphql-codegen/plugin-helpers@5.0.3': + resolution: {integrity: sha512-yZ1rpULIWKBZqCDlvGIJRSyj1B2utkEdGmXZTBT/GVayP4hyRYlkd36AJV/LfEsVD8dnsKL5rLz2VTYmRNlJ5Q==} + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + + '@graphql-codegen/schema-ast@4.0.2': + resolution: {integrity: sha512-5mVAOQQK3Oz7EtMl/l3vOQdc2aYClUzVDHHkMvZlunc+KlGgl81j8TLa+X7ANIllqU4fUEsQU3lJmk4hXP6K7Q==} + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + + '@graphql-codegen/typed-document-node@5.0.6': + resolution: {integrity: sha512-US0J95hOE2/W/h42w4oiY+DFKG7IetEN1mQMgXXeat1w6FAR5PlIz4JrRrEkiVfVetZ1g7K78SOwBD8/IJnDiA==} + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + + '@graphql-codegen/typescript-operations@4.2.0': + resolution: {integrity: sha512-lmuwYb03XC7LNRS8oo9M4/vlOrq/wOKmTLBHlltK2YJ1BO/4K/Q9Jdv/jDmJpNydHVR1fmeF4wAfsIp1f9JibA==} + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + + '@graphql-codegen/typescript@4.0.6': + resolution: {integrity: sha512-IBG4N+Blv7KAL27bseruIoLTjORFCT3r+QYyMC3g11uY3/9TPpaUyjSdF70yBe5GIQ6dAgDU+ENUC1v7EPi0rw==} + peerDependencies: + graphql: ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + + '@graphql-codegen/visitor-plugin-common@5.1.0': + resolution: {integrity: sha512-eamQxtA9bjJqI2lU5eYoA1GbdMIRT2X8m8vhWYsVQVWD3qM7sx/IqJU0kx0J3Vd4/CSd36BzL6RKwksibytDIg==} + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + + '@graphql-tools/apollo-engine-loader@8.0.1': + resolution: {integrity: sha512-NaPeVjtrfbPXcl+MLQCJLWtqe2/E4bbAqcauEOQ+3sizw1Fc2CNmhHRF8a6W4D0ekvTRRXAMptXYgA2uConbrA==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/batch-execute@9.0.4': + resolution: {integrity: sha512-kkebDLXgDrep5Y0gK1RN3DMUlLqNhg60OAz0lTCqrYeja6DshxLtLkj+zV4mVbBA4mQOEoBmw6g1LZs3dA84/w==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/code-file-loader@8.1.1': + resolution: {integrity: sha512-q4KN25EPSUztc8rA8YUU3ufh721Yk12xXDbtUA+YstczWS7a1RJlghYMFEfR1HsHSYbF7cUqkbnTKSGM3o52bQ==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/delegate@10.0.4': + resolution: {integrity: sha512-WswZRbQZMh/ebhc8zSomK9DIh6Pd5KbuiMsyiKkKz37TWTrlCOe+4C/fyrBFez30ksq6oFyCeSKMwfrCbeGo0Q==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/documents@1.0.0': + resolution: {integrity: sha512-rHGjX1vg/nZ2DKqRGfDPNC55CWZBMldEVcH+91BThRa6JeT80NqXknffLLEZLRUxyikCfkwMsk6xR3UNMqG0Rg==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/executor-graphql-ws@1.1.2': + resolution: {integrity: sha512-+9ZK0rychTH1LUv4iZqJ4ESbmULJMTsv3XlFooPUngpxZkk00q6LqHKJRrsLErmQrVaC7cwQCaRBJa0teK17Lg==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/executor-http@1.0.9': + resolution: {integrity: sha512-+NXaZd2MWbbrWHqU4EhXcrDbogeiCDmEbrAN+rMn4Nu2okDjn2MTFDbTIab87oEubQCH4Te1wDkWPKrzXup7+Q==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/executor-legacy-ws@1.0.6': + resolution: {integrity: sha512-lDSxz9VyyquOrvSuCCnld3256Hmd+QI2lkmkEv7d4mdzkxkK4ddAWW1geQiWrQvWmdsmcnGGlZ7gDGbhEExwqg==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/executor@0.0.18': + resolution: {integrity: sha512-xZC0C+/npXoSHBB5bsJdwxDLgtl1Gu4fL9J2TPQmXoZC3L2N506KJoppf9LgWdHU/xK04luJrhP6WjhfkIN0pQ==} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/executor@1.2.6': + resolution: {integrity: sha512-+1kjfqzM5T2R+dCw7F4vdJ3CqG+fY/LYJyhNiWEFtq0ToLwYzR/KKyD8YuzTirEjSxWTVlcBh7endkx5n5F6ew==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/git-loader@8.0.5': + resolution: {integrity: sha512-P97/1mhruDiA6D5WUmx3n/aeGPLWj2+4dpzDOxFGGU+z9NcI/JdygMkeFpGZNHeJfw+kHfxgPcMPnxHcyhAoVA==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/github-loader@8.0.1': + resolution: {integrity: sha512-W4dFLQJ5GtKGltvh/u1apWRFKBQOsDzFxO9cJkOYZj1VzHCpRF43uLST4VbCfWve+AwBqOuKr7YgkHoxpRMkcg==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/graphql-file-loader@8.0.1': + resolution: {integrity: sha512-7gswMqWBabTSmqbaNyWSmRRpStWlcCkBc73E6NZNlh4YNuiyKOwbvSkOUYFOqFMfEL+cFsXgAvr87Vz4XrYSbA==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/graphql-tag-pluck@8.3.0': + resolution: {integrity: sha512-gNqukC+s7iHC7vQZmx1SEJQmLnOguBq+aqE2zV2+o1hxkExvKqyFli1SY/9gmukFIKpKutCIj+8yLOM+jARutw==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/import@7.0.1': + resolution: {integrity: sha512-935uAjAS8UAeXThqHfYVr4HEAp6nHJ2sximZKO1RzUTq5WoALMAhhGARl0+ecm6X+cqNUwIChJbjtaa6P/ML0w==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/json-file-loader@8.0.1': + resolution: {integrity: sha512-lAy2VqxDAHjVyqeJonCP6TUemrpYdDuKt25a10X6zY2Yn3iFYGnuIDQ64cv3ytyGY6KPyPB+Kp+ZfOkNDG3FQA==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/load@8.0.2': + resolution: {integrity: sha512-S+E/cmyVmJ3CuCNfDuNF2EyovTwdWfQScXv/2gmvJOti2rGD8jTt9GYVzXaxhblLivQR9sBUCNZu/w7j7aXUCA==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/merge@8.4.2': + resolution: {integrity: sha512-XbrHAaj8yDuINph+sAfuq3QCZ/tKblrTLOpirK0+CAgNlZUCHs0Fa+xtMUURgwCVThLle1AF7svJCxFizygLsw==} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/merge@9.0.3': + resolution: {integrity: sha512-FeKv9lKLMwqDu0pQjPpF59GY3HReUkWXKsMIuMuJQOKh9BETu7zPEFUELvcw8w+lwZkl4ileJsHXC9+AnsT2Lw==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/optimize@2.0.0': + resolution: {integrity: sha512-nhdT+CRGDZ+bk68ic+Jw1OZ99YCDIKYA5AlVAnBHJvMawSx9YQqQAIj4refNc1/LRieGiuWvhbG3jvPVYho0Dg==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/prisma-loader@8.0.3': + resolution: {integrity: sha512-oZhxnMr3Jw2WAW1h9FIhF27xWzIB7bXWM8olz4W12oII4NiZl7VRkFw9IT50zME2Bqi9LGh9pkmMWkjvbOpl+Q==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/relay-operation-optimizer@7.0.1': + resolution: {integrity: sha512-y0ZrQ/iyqWZlsS/xrJfSir3TbVYJTYmMOu4TaSz6F4FRDTQ3ie43BlKkhf04rC28pnUOS4BO9pDcAo1D30l5+A==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/schema@10.0.3': + resolution: {integrity: sha512-p28Oh9EcOna6i0yLaCFOnkcBDQECVf3SCexT6ktb86QNj9idnkhI+tCxnwZDh58Qvjd2nURdkbevvoZkvxzCog==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/schema@9.0.19': + resolution: {integrity: sha512-oBRPoNBtCkk0zbUsyP4GaIzCt8C0aCI4ycIRUL67KK5pOHljKLBBtGT+Jr6hkzA74C8Gco8bpZPe7aWFjiaK2w==} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/url-loader@8.0.2': + resolution: {integrity: sha512-1dKp2K8UuFn7DFo1qX5c1cyazQv2h2ICwA9esHblEqCYrgf69Nk8N7SODmsfWg94OEaI74IqMoM12t7eIGwFzQ==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/utils@10.1.3': + resolution: {integrity: sha512-loco2ctrrMQzdpSHbcOo6+Ecp21BV67cQ2pNGhuVKAexruu01RdLn3LgtK47B9BpLz3cUD6U0u1R0rur7xMOOg==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/utils@9.2.1': + resolution: {integrity: sha512-WUw506Ql6xzmOORlriNrD6Ugx+HjVgYxt9KCXD9mHAak+eaXSwuGGPyE60hy9xaDEoXKBsG7SkG69ybitaVl6A==} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/wrap@10.0.5': + resolution: {integrity: sha512-Cbr5aYjr3HkwdPvetZp1cpDWTGdD1Owgsb3z/ClzhmrboiK86EnQDxDvOJiQkDCPWE9lNBwj8Y4HfxroY0D9DQ==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-typed-document-node/core@3.2.0': + resolution: {integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==} + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-yoga/logger@0.0.1': + resolution: {integrity: sha512-6npFz7eZz33mXgSm1waBLMjUNG0D5hTc/p5Hcs1mojkT3KsLpCOFokzTEKboNsBhKevYcaVa/xeA7WBj4UYMLg==} + + '@graphql-yoga/subscription@3.1.0': + resolution: {integrity: sha512-Vc9lh8KzIHyS3n4jBlCbz7zCjcbtQnOBpsymcRvHhFr2cuH+knmRn0EmzimMQ58jQ8kxoRXXC3KJS3RIxSdPIg==} + + '@graphql-yoga/typed-event-target@1.0.0': + resolution: {integrity: sha512-Mqni6AEvl3VbpMtKw+TIjc9qS9a8hKhiAjFtqX488yq5oJtj9TkNlFTIacAVS3vnPiswNsmDiQqvwUOcJgi1DA==} + + '@httptoolkit/websocket-stream@6.0.1': + resolution: {integrity: sha512-A0NOZI+Glp3Xgcz6Na7i7o09+/+xm2m0UCU8gdtM2nIv6/cjLmhMZMqehSpTlgbx9omtLmV8LVqOskPEyWnmZQ==} + + '@humanwhocodes/config-array@0.11.14': + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + engines: {node: '>=10.10.0'} + + '@humanwhocodes/module-importer@1.0.1': + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + + '@humanwhocodes/object-schema@2.0.3': + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + + '@inquirer/checkbox@2.3.0': + resolution: {integrity: sha512-QE8k4cC00gQQghyRGz9DJ59hOqZ4YpCpr6p8o9H3H+WIxjEEi/3BsYSGWkYGel4v2VKLjph4ork9HGPoNcURKg==} + engines: {node: '>=18'} + + '@inquirer/confirm@3.1.4': + resolution: {integrity: sha512-2z2RC0JyQCmggQfRxFnQitGp8YZgdM/AqcOuLaUtL0dZHFByk5jgtzxECX4z5MsH8aq2WzdLPI2AHmHOkh8eRA==} + engines: {node: '>=18'} + + '@inquirer/core@7.1.3': + resolution: {integrity: sha512-MbHUe32W0DRtuw3Hlt+vLWy3c0Vw7wVHSJyYZ16IGVXyxs31BTyo2MOFKzNnzBBAWhsqn+iHO1r84FXIzs39HQ==} + engines: {node: '>=18'} + + '@inquirer/core@8.0.0': + resolution: {integrity: sha512-RAszmjXj+grbT9yQ9B+me40LskytwBYPhyl6yHI8h+J5BmL0gNI3pdvBBFD6S9LV0lzhzfCRMBMH5UvuUPYzZQ==} + engines: {node: '>=18'} + + '@inquirer/editor@2.1.4': + resolution: {integrity: sha512-bZ/YDEWNzQaKPhwyspy77Hntk9UjqXmQPMc3I3Cqn1pPBlPzliylgJDhgErxyIMFMtd92FpbDoOk5WWlaVpBMQ==} + engines: {node: '>=18'} + + '@inquirer/expand@2.1.4': + resolution: {integrity: sha512-dQeTV54ffbkR6epoue2NlbX8R62gS3M8e3OpXlzl3KxueSSQwlO5o3pAASzBnYje1rkTJ3lhX7fhS8Np0HDofA==} + engines: {node: '>=18'} + + '@inquirer/figures@1.0.0': + resolution: {integrity: sha512-3fw+7+77/duTnMJTeSS44wneszghI4tkr0m0xdIJabbYRe36ElzmsqyboMZ1nFRon6sT+ckVvYDVjwapKv+2sw==} + engines: {node: '>=18'} + + '@inquirer/input@2.1.4': + resolution: {integrity: sha512-FnskIUMM0ogcYu9zHIuIx8McSnXC69CMm5qzBSo27joFATe/dbK2SXrq9/i/y2dCGFfETSaiYI6q5Rp7jhDbWg==} + engines: {node: '>=18'} + + '@inquirer/password@2.1.4': + resolution: {integrity: sha512-FK14dvubrLZi4B/OCelmtZngLIKe4AX3Iqwwp48YW1ciEDamoxirMrwV9WzhWnfannPfZFnPLZuqIoqhF9sglg==} + engines: {node: '>=18'} + + '@inquirer/prompts@4.3.3': + resolution: {integrity: sha512-QLn4tTeLKH3Foqlof0+dY0kLoCGQvvR4MDkHAooPI0rLGPOjUwoiVeEalcMtJTGulqJ76it2UW4++j88WO6KLQ==} + engines: {node: '>=18'} + + '@inquirer/rawlist@2.1.4': + resolution: {integrity: sha512-XtG9e/OYzGedsKsXfUw4tf26aNBN7o2gcYjYdYi7FuE4cOAg1fcFoIn2h0qRMr/+xLsJf4F+Hh+sRnC6yk3yxg==} + engines: {node: '>=18'} + + '@inquirer/select@2.3.0': + resolution: {integrity: sha512-FHZkDUIfGfENxzH/M4tskSWUgRnszKUXb/qlrqbvjwUeFFFSOaWztMkAg4sLwnw2nbT+bdi+WlBn98C/j0NOlQ==} + engines: {node: '>=18'} + + '@inquirer/type@1.3.0': + resolution: {integrity: sha512-RW4Zf6RCTnInRaOZuRHTqAUl+v6VJuQGglir7nW2BkT3OXOphMhkIFhvFRjorBx2l0VwtC/M4No8vYR65TdN9Q==} + engines: {node: '>=18'} + + '@isaacs/cliui@8.0.2': + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} + + '@istanbuljs/load-nyc-config@1.1.0': + resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} + engines: {node: '>=8'} + + '@istanbuljs/schema@0.1.3': + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + + '@jest/console@29.7.0': + resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/core@29.7.0': + resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + '@jest/environment@29.7.0': + resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/expect-utils@29.7.0': + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/expect@29.7.0': + resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/fake-timers@29.7.0': + resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/globals@29.7.0': + resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/reporters@29.7.0': + resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + '@jest/schemas@29.6.3': + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/source-map@29.6.3': + resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/test-result@29.7.0': + resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/test-sequencer@29.7.0': + resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/transform@29.7.0': + resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jest/types@29.6.3': + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + '@jridgewell/gen-mapping@0.3.5': + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} + + '@jridgewell/resolve-uri@3.1.2': + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + + '@jridgewell/set-array@1.2.1': + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + + '@jridgewell/sourcemap-codec@1.4.15': + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + + '@jridgewell/trace-mapping@0.3.25': + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + + '@jridgewell/trace-mapping@0.3.9': + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + + '@kamilkisiela/fast-url-parser@1.1.4': + resolution: {integrity: sha512-gbkePEBupNydxCelHCESvFSFM8XPh1Zs/OAVRW/rKpEqPAl5PbOM90Si8mv9bvnR53uPD2s/FiRxdvSejpRJew==} + + '@lukeed/ms@2.0.2': + resolution: {integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==} + engines: {node: '>=8'} + + '@metamask/eth-sig-util@4.0.1': + resolution: {integrity: sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ==} + engines: {node: '>=12.0.0'} + + '@microsoft/tsdoc-config@0.16.2': + resolution: {integrity: sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==} + + '@microsoft/tsdoc@0.14.2': + resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==} + + '@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1': + resolution: {integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==} + + '@noble/curves@1.2.0': + resolution: {integrity: sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==} + + '@noble/curves@1.3.0': + resolution: {integrity: sha512-t01iSXPuN+Eqzb4eBX0S5oubSqXbK/xXa1Ne18Hj8f9pStxztHCE2gfboSp/dZRLSqfuLpRK2nDXDK+W9puocA==} + + '@noble/hashes@1.2.0': + resolution: {integrity: sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==} + + '@noble/hashes@1.3.2': + resolution: {integrity: sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==} + engines: {node: '>= 16'} + + '@noble/hashes@1.3.3': + resolution: {integrity: sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==} + engines: {node: '>= 16'} + + '@noble/hashes@1.4.0': + resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} + engines: {node: '>= 16'} + + '@noble/secp256k1@1.7.1': + resolution: {integrity: sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==} + + '@nodelib/fs.scandir@2.1.5': + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} + + '@nodelib/fs.stat@2.0.5': + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + + '@nodelib/fs.walk@1.2.8': + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} + + '@nomicfoundation/edr-darwin-arm64@0.3.5': + resolution: {integrity: sha512-gIXUIiPMUy6roLHpNlxf15DumU7/YhffUf7XIB+WUjMecaySfTGyZsTGnCMJZqrDyiYqWPyPKwCV/2u/jqFAUg==} + engines: {node: '>= 18'} + cpu: [arm64] + os: [darwin] + + '@nomicfoundation/edr-darwin-x64@0.3.5': + resolution: {integrity: sha512-0MrpOCXUK8gmplpYZ2Cy0holHEylvWoNeecFcrP2WJ5DLQzrB23U5JU2MvUzOJ7aL76Za1VXNBWi/UeTWdHM+w==} + engines: {node: '>= 18'} + cpu: [x64] + os: [darwin] + + '@nomicfoundation/edr-linux-arm64-gnu@0.3.5': + resolution: {integrity: sha512-aw9f7AZMiY1dZFNePJGKho2k+nEgFgzUAyyukiKfSqUIMXoFXMf1U3Ujv848czrSq9c5XGcdDa2xnEf3daU3xg==} + engines: {node: '>= 18'} + cpu: [arm64] + os: [linux] + + '@nomicfoundation/edr-linux-arm64-musl@0.3.5': + resolution: {integrity: sha512-cVFRQjyABBlsbDj+XTczYBfrCHprZ6YNzN8gGGSqAh+UGIJkAIRomK6ar27GyJLNx3HkgbuDoi/9kA0zOo/95w==} + engines: {node: '>= 18'} + cpu: [arm64] + os: [linux] + + '@nomicfoundation/edr-linux-x64-gnu@0.3.5': + resolution: {integrity: sha512-CjOg85DfR1Vt0fQWn5U0qi26DATK9tVzo3YOZEyI0JBsnqvk43fUTPv3uUAWBrPIRg5O5kOc9xG13hSpCBBxBg==} + engines: {node: '>= 18'} + cpu: [x64] + os: [linux] + + '@nomicfoundation/edr-linux-x64-musl@0.3.5': + resolution: {integrity: sha512-hvX8bBGpBydAVevzK8jsu2FlqVZK1RrCyTX6wGHnltgMuBaoGLHYtNHiFpteOaJw2byYMiORc2bvj+98LhJ0Ew==} + engines: {node: '>= 18'} + cpu: [x64] + os: [linux] + + '@nomicfoundation/edr-win32-x64-msvc@0.3.5': + resolution: {integrity: sha512-IJXjW13DY5UPsx/eG5DGfXtJ7Ydwrvw/BTZ2Y93lRLHzszVpSmeVmlxjZP5IW2afTSgMLaAAsqNw4NhppRGN8A==} + engines: {node: '>= 18'} + cpu: [x64] + os: [win32] + + '@nomicfoundation/edr@0.3.5': + resolution: {integrity: sha512-dPSM9DuI1sr71gqWUMgLo8MjHQWO4+WNDm3iWaT6P4vUFJReZX5qwA5X+3UwIPBry8GvNY084u7yWUvB3/8rqA==} + engines: {node: '>= 18'} + + '@nomicfoundation/ethereumjs-common@4.0.4': + resolution: {integrity: sha512-9Rgb658lcWsjiicr5GzNCjI1llow/7r0k50dLL95OJ+6iZJcVbi15r3Y0xh2cIO+zgX0WIHcbzIu6FeQf9KPrg==} + + '@nomicfoundation/ethereumjs-rlp@5.0.4': + resolution: {integrity: sha512-8H1S3s8F6QueOc/X92SdrA4RDenpiAEqMg5vJH99kcQaCy/a3Q6fgseo75mgWlbanGJXSlAPtnCeG9jvfTYXlw==} + engines: {node: '>=18'} + hasBin: true + + '@nomicfoundation/ethereumjs-tx@5.0.4': + resolution: {integrity: sha512-Xjv8wAKJGMrP1f0n2PeyfFCCojHd7iS3s/Ab7qzF1S64kxZ8Z22LCMynArYsVqiFx6rzYy548HNVEyI+AYN/kw==} + engines: {node: '>=18'} + peerDependencies: + c-kzg: ^2.1.2 + peerDependenciesMeta: + c-kzg: + optional: true + + '@nomicfoundation/ethereumjs-util@9.0.4': + resolution: {integrity: sha512-sLOzjnSrlx9Bb9EFNtHzK/FJFsfg2re6bsGqinFinH1gCqVfz9YYlXiMWwDM4C/L4ywuHFCYwfKTVr/QHQcU0Q==} + engines: {node: '>=18'} + peerDependencies: + c-kzg: ^2.1.2 + peerDependenciesMeta: + c-kzg: + optional: true + + '@nomicfoundation/hardhat-network-helpers@1.0.10': + resolution: {integrity: sha512-R35/BMBlx7tWN5V6d/8/19QCwEmIdbnA4ZrsuXgvs8i2qFx5i7h6mH5pBS4Pwi4WigLH+upl6faYusrNPuzMrQ==} + peerDependencies: + hardhat: ^2.9.5 + + '@nomicfoundation/hardhat-toolbox-viem@2.0.0': + resolution: {integrity: sha512-1bxTaC+PcbdctwgP/AvmKJGQTeLoT2kJtAfaDvt5PbL3esZ1EO+pfoBkpliP3DJSNESLSqAjVN1yIFxoLJmiBg==} + peerDependencies: + '@nomicfoundation/hardhat-network-helpers': ^1.0.0 + '@nomicfoundation/hardhat-verify': ^2.0.0 + '@nomicfoundation/hardhat-viem': ^1.0.0 + '@types/chai': ^4.2.0 + '@types/chai-as-promised': ^7.1.6 + '@types/mocha': '>=9.1.0' + '@types/node': '>=16.0.0' + chai: ^4.2.0 + hardhat: ^2.11.0 + hardhat-gas-reporter: ^1.0.8 + solidity-coverage: ^0.8.1 + ts-node: '>=8.0.0' + typescript: ~5.0.4 + viem: ^1.15.1 + + '@nomicfoundation/hardhat-verify@2.0.5': + resolution: {integrity: sha512-Tg4zu8RkWpyADSFIgF4FlJIUEI4VkxcvELsmbJn2OokbvH2SnUrqKmw0BBfDrtvP0hhmx8wsnrRKP5DV/oTyTA==} + peerDependencies: + hardhat: ^2.0.4 + + '@nomicfoundation/hardhat-viem@1.0.4': + resolution: {integrity: sha512-6coot+y0y6d75DG33zAdgXlktNp1MRy2B3vDjqlRBaubqlocYak+BSyryiv76F9JuLLgNSxkxTIZCd24h9gKcQ==} + peerDependencies: + hardhat: ^2.17.0 + typescript: ~5.0.0 + viem: ^1.15.1 + + '@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.1': + resolution: {integrity: sha512-KcTodaQw8ivDZyF+D76FokN/HdpgGpfjc/gFCImdLUyqB6eSWVaZPazMbeAjmfhx3R0zm/NYVzxwAokFKgrc0w==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@nomicfoundation/solidity-analyzer-darwin-x64@0.1.1': + resolution: {integrity: sha512-XhQG4BaJE6cIbjAVtzGOGbK3sn1BO9W29uhk9J8y8fZF1DYz0Doj8QDMfpMu+A6TjPDs61lbsmeYodIDnfveSA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@nomicfoundation/solidity-analyzer-freebsd-x64@0.1.1': + resolution: {integrity: sha512-GHF1VKRdHW3G8CndkwdaeLkVBi5A9u2jwtlS7SLhBc8b5U/GcoL39Q+1CSO3hYqePNP+eV5YI7Zgm0ea6kMHoA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + + '@nomicfoundation/solidity-analyzer-linux-arm64-gnu@0.1.1': + resolution: {integrity: sha512-g4Cv2fO37ZsUENQ2vwPnZc2zRenHyAxHcyBjKcjaSmmkKrFr64yvzeNO8S3GBFCo90rfochLs99wFVGT/0owpg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@nomicfoundation/solidity-analyzer-linux-arm64-musl@0.1.1': + resolution: {integrity: sha512-WJ3CE5Oek25OGE3WwzK7oaopY8xMw9Lhb0mlYuJl/maZVo+WtP36XoQTb7bW/i8aAdHW5Z+BqrHMux23pvxG3w==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@nomicfoundation/solidity-analyzer-linux-x64-gnu@0.1.1': + resolution: {integrity: sha512-5WN7leSr5fkUBBjE4f3wKENUy9HQStu7HmWqbtknfXkkil+eNWiBV275IOlpXku7v3uLsXTOKpnnGHJYI2qsdA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@nomicfoundation/solidity-analyzer-linux-x64-musl@0.1.1': + resolution: {integrity: sha512-KdYMkJOq0SYPQMmErv/63CwGwMm5XHenEna9X9aB8mQmhDBrYrlAOSsIPgFCUSL0hjxE3xHP65/EPXR/InD2+w==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@nomicfoundation/solidity-analyzer-win32-arm64-msvc@0.1.1': + resolution: {integrity: sha512-VFZASBfl4qiBYwW5xeY20exWhmv6ww9sWu/krWSesv3q5hA0o1JuzmPHR4LPN6SUZj5vcqci0O6JOL8BPw+APg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@nomicfoundation/solidity-analyzer-win32-ia32-msvc@0.1.1': + resolution: {integrity: sha512-JnFkYuyCSA70j6Si6cS1A9Gh1aHTEb8kOTBApp/c7NRTFGNMH8eaInKlyuuiIbvYFhlXW4LicqyYuWNNq9hkpQ==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + + '@nomicfoundation/solidity-analyzer-win32-x64-msvc@0.1.1': + resolution: {integrity: sha512-HrVJr6+WjIXGnw3Q9u6KQcbZCtk0caVWhCdFADySvRyUxJ8PnzlaP+MhwNE8oyT8OZ6ejHBRrrgjSqDCFXGirw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@nomicfoundation/solidity-analyzer@0.1.1': + resolution: {integrity: sha512-1LMtXj1puAxyFusBgUIy5pZk3073cNXYnXUpuNKFghHbIit/xZgbk0AokpUADbNm3gyD6bFWl3LRFh3dhVdREg==} + engines: {node: '>= 12'} + + '@oasisdex/addresses@0.1.20-automation.0': + resolution: {integrity: sha512-TT4F7NY0Q5r12HLgnBf1VeP6ybXbi4e3jgipi608QgEONJ/+bbWDm+itHvMjqbgUyE4TusEPPzqYyAjzc2Tv3Q==} + + '@oasisdex/addresses@0.1.60': + resolution: {integrity: sha512-UAmNodCG3ld4LK5w7sgtoA0ml4lMFfSE7Zp1vswW7/3823IZFmvEO6wy0Pd/vPnJjjKDYaLJdhsRRYGYHwYGSg==} + + '@oasisdex/automation@1.6.5-morpho.6': + resolution: {integrity: sha512-zMpuB/61QkXR5+zXaBJb2tKTJR5v+BsaNwEm8gWWpDT0xjhh/gBca3hoZvWnoJUHn4raD3DvYapYhBn1qxiZmQ==} + + '@oasisdex/dma-library@0.6.4-automation.13': + resolution: {integrity: sha512-m9sdWD9qtN0KFlF69Ggiztr9Q4D6Oww4iwswDuwXiKz47I+niVh5pp1Keb5FmzRzdCME0Dx29U9mf2pSKd/N8g==} + + '@openzeppelin/contracts@4.9.3': + resolution: {integrity: sha512-He3LieZ1pP2TNt5JbkPA4PNT9WC3gOTOlDcFGJW4Le4QKqwmiNJCRt44APfxMxvq7OugU/cqYuPcSBzOw38DAg==} + + '@peculiar/asn1-schema@2.3.8': + resolution: {integrity: sha512-ULB1XqHKx1WBU/tTFIA+uARuRoBVZ4pNdOA878RDrRbBfBGcSzi5HBkdScC6ZbHn8z7L8gmKCgPC1LHRrP46tA==} + + '@peculiar/json-schema@1.1.12': + resolution: {integrity: sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==} + engines: {node: '>=8.0.0'} + + '@peculiar/webcrypto@1.4.6': + resolution: {integrity: sha512-YBcMfqNSwn3SujUJvAaySy5tlYbYm6tVt9SKoXu8BaTdKGROiJDgPR3TXpZdAKUfklzm3lRapJEAltiMQtBgZg==} + engines: {node: '>=10.12.0'} + + '@pkgjs/parseargs@0.11.0': + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + + '@pkgr/core@0.1.1': + resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + + '@prb/math@2.5.0': + resolution: {integrity: sha512-iSNQd4L3HaYuAIhJliLVa7WGsyjFiQHGpomrFgdj7FhYGHT6Yo8bBwbmwAPF1bHD3LN8gdg+ssKrRUPNaNPEVw==} + peerDependencies: + '@ethersproject/bignumber': 5.x + evm-bn: 1.x + mathjs: 10.x + + '@redis/bloom@1.2.0': + resolution: {integrity: sha512-HG2DFjYKbpNmVXsa0keLHp/3leGJz1mjh09f2RLGGLQZzSHpkmZWuwJbAvo3QcRY8p80m5+ZdXZdYOSBLlp7Cg==} + peerDependencies: + '@redis/client': ^1.0.0 + + '@redis/client@1.5.14': + resolution: {integrity: sha512-YGn0GqsRBFUQxklhY7v562VMOP0DcmlrHHs3IV1mFE3cbxe31IITUkqhBcIhVSI/2JqtWAJXg5mjV4aU+zD0HA==} + engines: {node: '>=14'} + + '@redis/graph@1.1.1': + resolution: {integrity: sha512-FEMTcTHZozZciLRl6GiiIB4zGm5z5F3F6a6FZCyrfxdKOhFlGkiAqlexWMBzCi4DcRoyiOsuLfW+cjlGWyExOw==} + peerDependencies: + '@redis/client': ^1.0.0 + + '@redis/json@1.0.6': + resolution: {integrity: sha512-rcZO3bfQbm2zPRpqo82XbW8zg4G/w4W3tI7X8Mqleq9goQjAGLL7q/1n1ZX4dXEAmORVZ4s1+uKLaUOg7LrUhw==} + peerDependencies: + '@redis/client': ^1.0.0 + + '@redis/search@1.1.6': + resolution: {integrity: sha512-mZXCxbTYKBQ3M2lZnEddwEAks0Kc7nauire8q20oA0oA/LoA+E/b5Y5KZn232ztPb1FkIGqo12vh3Lf+Vw5iTw==} + peerDependencies: + '@redis/client': ^1.0.0 + + '@redis/time-series@1.0.5': + resolution: {integrity: sha512-IFjIgTusQym2B5IZJG3XKr5llka7ey84fw/NOYqESP5WUfQs9zz1ww/9+qoz4ka/S6KcGBodzlCeZ5UImKbscg==} + peerDependencies: + '@redis/client': ^1.0.0 + + '@repeaterjs/repeater@3.0.4': + resolution: {integrity: sha512-AW8PKd6iX3vAZ0vA43nOUOnbq/X5ihgU+mSXXqunMkeQADGiqw/PY0JNeYtD5sr0PAy51YPgAPbDoeapv9r8WA==} + + '@repeaterjs/repeater@3.0.5': + resolution: {integrity: sha512-l3YHBLAol6d/IKnB9LhpD0cEZWAoe3eFKUyTYWmFmCO2Q/WOckxLQAUyMZWwZV2M/m3+4vgRoaolFqaII82/TA==} + + '@rushstack/eslint-patch@1.10.2': + resolution: {integrity: sha512-hw437iINopmQuxWPSUEvqE56NCPsiU8N4AYtfHmJFckclktzK9YQJieD3XkDCDH4OjL+C7zgPUh73R/nrcHrqw==} + + '@scure/base@1.1.6': + resolution: {integrity: sha512-ok9AWwhcgYuGG3Zfhyqg+zwl+Wn5uE+dwC0NV/2qQkx4dABbb/bx96vWu8NSj+BNjjSjno+JRYRjle1jV08k3g==} + + '@scure/bip32@1.1.5': + resolution: {integrity: sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==} + + '@scure/bip32@1.3.2': + resolution: {integrity: sha512-N1ZhksgwD3OBlwTv3R6KFEcPojl/W4ElJOeCZdi+vuI5QmTFwLq3OFf2zd2ROpKvxFdgZ6hUpb0dx9bVNEwYCA==} + + '@scure/bip32@1.3.3': + resolution: {integrity: sha512-LJaN3HwRbfQK0X1xFSi0Q9amqOgzQnnDngIt+ZlsBC3Bm7/nE7K0kwshZHyaru79yIVRv/e1mQAjZyuZG6jOFQ==} + + '@scure/bip39@1.1.1': + resolution: {integrity: sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg==} + + '@scure/bip39@1.2.1': + resolution: {integrity: sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==} + + '@scure/bip39@1.2.2': + resolution: {integrity: sha512-HYf9TUXG80beW+hGAt3TRM8wU6pQoYur9iNypTROm42dorCGmLnFe3eWjz3gOq6G62H2WRh0FCzAR1PI+29zIA==} + + '@sentry/core@5.30.0': + resolution: {integrity: sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==} + engines: {node: '>=6'} + + '@sentry/hub@5.30.0': + resolution: {integrity: sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==} + engines: {node: '>=6'} + + '@sentry/minimal@5.30.0': + resolution: {integrity: sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==} + engines: {node: '>=6'} + + '@sentry/node@5.30.0': + resolution: {integrity: sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==} + engines: {node: '>=6'} + + '@sentry/tracing@5.30.0': + resolution: {integrity: sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==} + engines: {node: '>=6'} + + '@sentry/types@5.30.0': + resolution: {integrity: sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==} + engines: {node: '>=6'} + + '@sentry/utils@5.30.0': + resolution: {integrity: sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==} + engines: {node: '>=6'} + + '@sinclair/typebox@0.27.8': + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + + '@sinonjs/commons@3.0.1': + resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} + + '@sinonjs/fake-timers@10.3.0': + resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} + + '@smithy/abort-controller@1.1.0': + resolution: {integrity: sha512-5imgGUlZL4dW4YWdMYAKLmal9ny/tlenM81QZY7xYyb76z9Z/QOg7oM5Ak9HQl8QfFTlGVWwcMXl+54jroRgEQ==} + engines: {node: '>=14.0.0'} + + '@smithy/abort-controller@2.2.0': + resolution: {integrity: sha512-wRlta7GuLWpTqtFfGo+nZyOO1vEvewdNR1R4rTxpC8XU6vG/NDyrFBhwLZsqg1NUoR1noVaXJPC/7ZK47QCySw==} + engines: {node: '>=14.0.0'} + + '@smithy/chunked-blob-reader-native@2.2.0': + resolution: {integrity: sha512-VNB5+1oCgX3Fzs072yuRsUoC2N4Zg/LJ11DTxX3+Qu+Paa6AmbIF0E9sc2wthz9Psrk/zcOlTCyuposlIhPjZQ==} + + '@smithy/chunked-blob-reader@2.2.0': + resolution: {integrity: sha512-3GJNvRwXBGdkDZZOGiziVYzDpn4j6zfyULHMDKAGIUo72yHALpE9CbhfQp/XcLNVoc1byfMpn6uW5H2BqPjgaQ==} + + '@smithy/config-resolver@1.1.0': + resolution: {integrity: sha512-7WD9eZHp46BxAjNGHJLmxhhyeiNWkBdVStd7SUJPUZqQGeIO/REtIrcIfKUfdiHTQ9jyu2SYoqvzqqaFc6987w==} + engines: {node: '>=14.0.0'} + + '@smithy/config-resolver@2.2.0': + resolution: {integrity: sha512-fsiMgd8toyUba6n1WRmr+qACzXltpdDkPTAaDqc8QqPBUzO+/JKwL6bUBseHVi8tu9l+3JOK+tSf7cay+4B3LA==} + engines: {node: '>=14.0.0'} + + '@smithy/core@1.4.2': + resolution: {integrity: sha512-2fek3I0KZHWJlRLvRTqxTEri+qV0GRHrJIoLFuBMZB4EMg4WgeBGfF0X6abnrNYpq55KJ6R4D6x4f0vLnhzinA==} + engines: {node: '>=14.0.0'} + + '@smithy/credential-provider-imds@2.3.0': + resolution: {integrity: sha512-BWB9mIukO1wjEOo1Ojgl6LrG4avcaC7T/ZP6ptmAaW4xluhSIPZhY+/PI5YKzlk+jsm+4sQZB45Bt1OfMeQa3w==} + engines: {node: '>=14.0.0'} + + '@smithy/eventstream-codec@2.2.0': + resolution: {integrity: sha512-8janZoJw85nJmQZc4L8TuePp2pk1nxLgkxIR0TUjKJ5Dkj5oelB9WtiSSGXCQvNsJl0VSTvK/2ueMXxvpa9GVw==} + + '@smithy/eventstream-serde-browser@2.2.0': + resolution: {integrity: sha512-UaPf8jKbcP71BGiO0CdeLmlg+RhWnlN8ipsMSdwvqBFigl5nil3rHOI/5GE3tfiuX8LvY5Z9N0meuU7Rab7jWw==} + engines: {node: '>=14.0.0'} + + '@smithy/eventstream-serde-config-resolver@2.2.0': + resolution: {integrity: sha512-RHhbTw/JW3+r8QQH7PrganjNCiuiEZmpi6fYUAetFfPLfZ6EkiA08uN3EFfcyKubXQxOwTeJRZSQmDDCdUshaA==} + engines: {node: '>=14.0.0'} + + '@smithy/eventstream-serde-node@2.2.0': + resolution: {integrity: sha512-zpQMtJVqCUMn+pCSFcl9K/RPNtQE0NuMh8sKpCdEHafhwRsjP50Oq/4kMmvxSRy6d8Jslqd8BLvDngrUtmN9iA==} + engines: {node: '>=14.0.0'} + + '@smithy/eventstream-serde-universal@2.2.0': + resolution: {integrity: sha512-pvoe/vvJY0mOpuF84BEtyZoYfbehiFj8KKWk1ds2AT0mTLYFVs+7sBJZmioOFdBXKd48lfrx1vumdPdmGlCLxA==} + engines: {node: '>=14.0.0'} + + '@smithy/fetch-http-handler@1.1.0': + resolution: {integrity: sha512-N22C9R44u5WGlcY+Wuv8EXmCAq62wWwriRAuoczMEwAIjPbvHSthyPSLqI4S7kAST1j6niWg8kwpeJ3ReAv3xg==} + + '@smithy/fetch-http-handler@2.5.0': + resolution: {integrity: sha512-BOWEBeppWhLn/no/JxUL/ghTfANTjT7kg3Ww2rPqTUY9R4yHPXxJ9JhMe3Z03LN3aPwiwlpDIUcVw1xDyHqEhw==} + + '@smithy/hash-blob-browser@2.2.0': + resolution: {integrity: sha512-SGPoVH8mdXBqrkVCJ1Hd1X7vh1zDXojNN1yZyZTZsCno99hVue9+IYzWDjq/EQDDXxmITB0gBmuyPh8oAZSTcg==} + + '@smithy/hash-node@2.2.0': + resolution: {integrity: sha512-zLWaC/5aWpMrHKpoDF6nqpNtBhlAYKF/7+9yMN7GpdR8CzohnWfGtMznPybnwSS8saaXBMxIGwJqR4HmRp6b3g==} + engines: {node: '>=14.0.0'} + + '@smithy/hash-stream-node@2.2.0': + resolution: {integrity: sha512-aT+HCATOSRMGpPI7bi7NSsTNVZE/La9IaxLXWoVAYMxHT5hGO3ZOGEMZQg8A6nNL+pdFGtZQtND1eoY084HgHQ==} + engines: {node: '>=14.0.0'} + + '@smithy/invalid-dependency@2.2.0': + resolution: {integrity: sha512-nEDASdbKFKPXN2O6lOlTgrEEOO9NHIeO+HVvZnkqc8h5U9g3BIhWsvzFo+UcUbliMHvKNPD/zVxDrkP1Sbgp8Q==} + + '@smithy/is-array-buffer@1.1.0': + resolution: {integrity: sha512-twpQ/n+3OWZJ7Z+xu43MJErmhB/WO/mMTnqR6PwWQShvSJ/emx5d1N59LQZk6ZpTAeuRWrc+eHhkzTp9NFjNRQ==} + engines: {node: '>=14.0.0'} + + '@smithy/is-array-buffer@2.2.0': + resolution: {integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==} + engines: {node: '>=14.0.0'} + + '@smithy/md5-js@2.2.0': + resolution: {integrity: sha512-M26XTtt9IIusVMOWEAhIvFIr9jYj4ISPPGJROqw6vXngO3IYJCnVVSMFn4Tx1rUTG5BiKJNg9u2nxmBiZC5IlQ==} + + '@smithy/middleware-content-length@2.2.0': + resolution: {integrity: sha512-5bl2LG1Ah/7E5cMSC+q+h3IpVHMeOkG0yLRyQT1p2aMJkSrZG7RlXHPuAgb7EyaFeidKEnnd/fNaLLaKlHGzDQ==} + engines: {node: '>=14.0.0'} + + '@smithy/middleware-endpoint@2.5.1': + resolution: {integrity: sha512-1/8kFp6Fl4OsSIVTWHnNjLnTL8IqpIb/D3sTSczrKFnrE9VMNWxnrRKNvpUHOJ6zpGD5f62TPm7+17ilTJpiCQ==} + engines: {node: '>=14.0.0'} + + '@smithy/middleware-retry@1.1.0': + resolution: {integrity: sha512-lINKYxIvT+W20YFOtHBKeGm7npuJg0/YCoShttU7fVpsmU+a2rdb9zrJn1MHqWfUL6DhTAWGa0tH2O7l4XrDcw==} + engines: {node: '>=14.0.0'} + + '@smithy/middleware-retry@2.3.1': + resolution: {integrity: sha512-P2bGufFpFdYcWvqpyqqmalRtwFUNUA8vHjJR5iGqbfR6mp65qKOLcUd6lTr4S9Gn/enynSrSf3p3FVgVAf6bXA==} + engines: {node: '>=14.0.0'} + + '@smithy/middleware-serde@2.3.0': + resolution: {integrity: sha512-sIADe7ojwqTyvEQBe1nc/GXB9wdHhi9UwyX0lTyttmUWDJLP655ZYE1WngnNyXREme8I27KCaUhyhZWRXL0q7Q==} + engines: {node: '>=14.0.0'} + + '@smithy/middleware-stack@1.1.0': + resolution: {integrity: sha512-XynYiIvXNea2BbLcppvpNK0zu8o2woJqgnmxqYTn4FWagH/Hr2QIk8LOsUz7BIJ4tooFhmx8urHKCdlPbbPDCA==} + engines: {node: '>=14.0.0'} + + '@smithy/middleware-stack@2.2.0': + resolution: {integrity: sha512-Qntc3jrtwwrsAC+X8wms8zhrTr0sFXnyEGhZd9sLtsJ/6gGQKFzNB+wWbOcpJd7BR8ThNCoKt76BuQahfMvpeA==} + engines: {node: '>=14.0.0'} + + '@smithy/node-config-provider@2.3.0': + resolution: {integrity: sha512-0elK5/03a1JPWMDPaS726Iw6LpQg80gFut1tNpPfxFuChEEklo2yL823V94SpTZTxmKlXFtFgsP55uh3dErnIg==} + engines: {node: '>=14.0.0'} + + '@smithy/node-http-handler@1.1.0': + resolution: {integrity: sha512-d3kRriEgaIiGXLziAM8bjnaLn1fthCJeTLZIwEIpzQqe6yPX0a+yQoLCTyjb2fvdLwkMoG4p7THIIB5cj5lkbg==} + engines: {node: '>=14.0.0'} + + '@smithy/node-http-handler@2.5.0': + resolution: {integrity: sha512-mVGyPBzkkGQsPoxQUbxlEfRjrj6FPyA3u3u2VXGr9hT8wilsoQdZdvKpMBFMB8Crfhv5dNkKHIW0Yyuc7eABqA==} + engines: {node: '>=14.0.0'} + + '@smithy/property-provider@2.2.0': + resolution: {integrity: sha512-+xiil2lFhtTRzXkx8F053AV46QnIw6e7MV8od5Mi68E1ICOjCeCHw2XfLnDEUHnT9WGUIkwcqavXjfwuJbGlpg==} + engines: {node: '>=14.0.0'} + + '@smithy/protocol-http@1.2.0': + resolution: {integrity: sha512-GfGfruksi3nXdFok5RhgtOnWe5f6BndzYfmEXISD+5gAGdayFGpjWu5pIqIweTudMtse20bGbc+7MFZXT1Tb8Q==} + engines: {node: '>=14.0.0'} + + '@smithy/protocol-http@3.3.0': + resolution: {integrity: sha512-Xy5XK1AFWW2nlY/biWZXu6/krgbaf2dg0q492D8M5qthsnU2H+UgFeZLbM76FnH7s6RO/xhQRkj+T6KBO3JzgQ==} + engines: {node: '>=14.0.0'} + + '@smithy/querystring-builder@1.1.0': + resolution: {integrity: sha512-gDEi4LxIGLbdfjrjiY45QNbuDmpkwh9DX4xzrR2AzjjXpxwGyfSpbJaYhXARw9p17VH0h9UewnNQXNwaQyYMDA==} + engines: {node: '>=14.0.0'} + + '@smithy/querystring-builder@2.2.0': + resolution: {integrity: sha512-L1kSeviUWL+emq3CUVSgdogoM/D9QMFaqxL/dd0X7PCNWmPXqt+ExtrBjqT0V7HLN03Vs9SuiLrG3zy3JGnE5A==} + engines: {node: '>=14.0.0'} + + '@smithy/querystring-parser@2.2.0': + resolution: {integrity: sha512-BvHCDrKfbG5Yhbpj4vsbuPV2GgcpHiAkLeIlcA1LtfpMz3jrqizP1+OguSNSj1MwBHEiN+jwNisXLGdajGDQJA==} + engines: {node: '>=14.0.0'} + + '@smithy/service-error-classification@1.1.0': + resolution: {integrity: sha512-OCTEeJ1igatd5kFrS2VDlYbainNNpf7Lj1siFOxnRWqYOP9oNvC5HOJBd3t+Z8MbrmehBtuDJ2QqeBsfeiNkww==} + engines: {node: '>=14.0.0'} + + '@smithy/service-error-classification@2.1.5': + resolution: {integrity: sha512-uBDTIBBEdAQryvHdc5W8sS5YX7RQzF683XrHePVdFmAgKiMofU15FLSM0/HU03hKTnazdNRFa0YHS7+ArwoUSQ==} + engines: {node: '>=14.0.0'} + + '@smithy/shared-ini-file-loader@2.4.0': + resolution: {integrity: sha512-WyujUJL8e1B6Z4PBfAqC/aGY1+C7T0w20Gih3yrvJSk97gpiVfB+y7c46T4Nunk+ZngLq0rOIdeVeIklk0R3OA==} + engines: {node: '>=14.0.0'} + + '@smithy/signature-v4@2.3.0': + resolution: {integrity: sha512-ui/NlpILU+6HAQBfJX8BBsDXuKSNrjTSuOYArRblcrErwKFutjrCNb/OExfVRyj9+26F9J+ZmfWT+fKWuDrH3Q==} + engines: {node: '>=14.0.0'} + + '@smithy/smithy-client@1.1.0': + resolution: {integrity: sha512-j32SGgVhv2G9nBTmel9u3OXux8KG20ssxuFakJrEeDug3kqbl1qrGzVLCe+Eib402UDtA0Sp1a4NZ2SEXDBxag==} + engines: {node: '>=14.0.0'} + + '@smithy/smithy-client@2.5.1': + resolution: {integrity: sha512-jrbSQrYCho0yDaaf92qWgd+7nAeap5LtHTI51KXqmpIFCceKU3K9+vIVTUH72bOJngBMqa4kyu1VJhRcSrk/CQ==} + engines: {node: '>=14.0.0'} + + '@smithy/types@1.2.0': + resolution: {integrity: sha512-z1r00TvBqF3dh4aHhya7nz1HhvCg4TRmw51fjMrh5do3h+ngSstt/yKlNbHeb9QxJmFbmN8KEVSWgb1bRvfEoA==} + engines: {node: '>=14.0.0'} + + '@smithy/types@2.12.0': + resolution: {integrity: sha512-QwYgloJ0sVNBeBuBs65cIkTbfzV/Q6ZNPCJ99EICFEdJYG50nGIY/uYXp+TbsdJReIuPr0a0kXmCvren3MbRRw==} + engines: {node: '>=14.0.0'} + + '@smithy/url-parser@2.2.0': + resolution: {integrity: sha512-hoA4zm61q1mNTpksiSWp2nEl1dt3j726HdRhiNgVJQMj7mLp7dprtF57mOB6JvEk/x9d2bsuL5hlqZbBuHQylQ==} + + '@smithy/util-base64@1.1.0': + resolution: {integrity: sha512-FpYmDmVbOXAxqvoVCwqehUN0zXS+lN8V7VS9O7I8MKeVHdSTsZzlwiMEvGoyTNOXWn8luF4CTDYgNHnZViR30g==} + engines: {node: '>=14.0.0'} + + '@smithy/util-base64@2.3.0': + resolution: {integrity: sha512-s3+eVwNeJuXUwuMbusncZNViuhv2LjVJ1nMwTqSA0XAC7gjKhqqxRdJPhR8+YrkoZ9IiIbFk/yK6ACe/xlF+hw==} + engines: {node: '>=14.0.0'} + + '@smithy/util-body-length-browser@2.2.0': + resolution: {integrity: sha512-dtpw9uQP7W+n3vOtx0CfBD5EWd7EPdIdsQnWTDoFf77e3VUf05uA7R7TGipIo8e4WL2kuPdnsr3hMQn9ziYj5w==} + + '@smithy/util-body-length-node@2.3.0': + resolution: {integrity: sha512-ITWT1Wqjubf2CJthb0BuT9+bpzBfXeMokH/AAa5EJQgbv9aPMVfnM76iFIZVFf50hYXGbtiV71BHAthNWd6+dw==} + engines: {node: '>=14.0.0'} + + '@smithy/util-buffer-from@1.1.0': + resolution: {integrity: sha512-9m6NXE0ww+ra5HKHCHig20T+FAwxBAm7DIdwc/767uGWbRcY720ybgPacQNB96JMOI7xVr/CDa3oMzKmW4a+kw==} + engines: {node: '>=14.0.0'} + + '@smithy/util-buffer-from@2.2.0': + resolution: {integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==} + engines: {node: '>=14.0.0'} + + '@smithy/util-config-provider@1.1.0': + resolution: {integrity: sha512-rQ47YpNmF6Is4I9GiE3T3+0xQ+r7RKRKbmHYyGSbyep/0cSf9kteKcI0ssJTvveJ1K4QvwrxXj1tEFp/G2UqxQ==} + engines: {node: '>=14.0.0'} + + '@smithy/util-config-provider@2.3.0': + resolution: {integrity: sha512-HZkzrRcuFN1k70RLqlNK4FnPXKOpkik1+4JaBoHNJn+RnJGYqaa3c5/+XtLOXhlKzlRgNvyaLieHTW2VwGN0VQ==} + engines: {node: '>=14.0.0'} + + '@smithy/util-defaults-mode-browser@2.2.1': + resolution: {integrity: sha512-RtKW+8j8skk17SYowucwRUjeh4mCtnm5odCL0Lm2NtHQBsYKrNW0od9Rhopu9wF1gHMfHeWF7i90NwBz/U22Kw==} + engines: {node: '>= 10.0.0'} + + '@smithy/util-defaults-mode-node@2.3.1': + resolution: {integrity: sha512-vkMXHQ0BcLFysBMWgSBLSk3+leMpFSyyFj8zQtv5ZyUBx8/owVh1/pPEkzmW/DR/Gy/5c8vjLDD9gZjXNKbrpA==} + engines: {node: '>= 10.0.0'} + + '@smithy/util-endpoints@1.2.0': + resolution: {integrity: sha512-BuDHv8zRjsE5zXd3PxFXFknzBG3owCpjq8G3FcsXW3CykYXuEqM3nTSsmLzw5q+T12ZYuDlVUZKBdpNbhVtlrQ==} + engines: {node: '>= 14.0.0'} + + '@smithy/util-hex-encoding@1.1.0': + resolution: {integrity: sha512-7UtIE9eH0u41zpB60Jzr0oNCQ3hMJUabMcKRUVjmyHTXiWDE4vjSqN6qlih7rCNeKGbioS7f/y2Jgym4QZcKFg==} + engines: {node: '>=14.0.0'} + + '@smithy/util-hex-encoding@2.2.0': + resolution: {integrity: sha512-7iKXR+/4TpLK194pVjKiasIyqMtTYJsgKgM242Y9uzt5dhHnUDvMNb+3xIhRJ9QhvqGii/5cRUt4fJn3dtXNHQ==} + engines: {node: '>=14.0.0'} + + '@smithy/util-middleware@1.1.0': + resolution: {integrity: sha512-6hhckcBqVgjWAqLy2vqlPZ3rfxLDhFWEmM7oLh2POGvsi7j0tHkbN7w4DFhuBExVJAbJ/qqxqZdRY6Fu7/OezQ==} + engines: {node: '>=14.0.0'} + + '@smithy/util-middleware@2.2.0': + resolution: {integrity: sha512-L1qpleXf9QD6LwLCJ5jddGkgWyuSvWBkJwWAZ6kFkdifdso+sk3L3O1HdmPvCdnCK3IS4qWyPxev01QMnfHSBw==} + engines: {node: '>=14.0.0'} + + '@smithy/util-retry@1.1.0': + resolution: {integrity: sha512-ygQW5HBqYXpR3ua09UciS0sL7UGJzGiktrKkOuEJwARoUuzz40yaEGU6xd9Gs7KBmAaFC8gMfnghHtwZ2nyBCQ==} + engines: {node: '>= 14.0.0'} + + '@smithy/util-retry@2.2.0': + resolution: {integrity: sha512-q9+pAFPTfftHXRytmZ7GzLFFrEGavqapFc06XxzZFcSIGERXMerXxCitjOG1prVDR9QdjqotF40SWvbqcCpf8g==} + engines: {node: '>= 14.0.0'} + + '@smithy/util-stream@1.1.0': + resolution: {integrity: sha512-w3lsdGsntaLQIrwDWJkIFKrFscgZXwU/oxsse09aSTNv5TckPhDeYea3LhsDrU5MGAG3vprhVZAKr33S45coVA==} + engines: {node: '>=14.0.0'} + + '@smithy/util-stream@2.2.0': + resolution: {integrity: sha512-17faEXbYWIRst1aU9SvPZyMdWmqIrduZjVOqCPMIsWFNxs5yQQgFrJL6b2SdiCzyW9mJoDjFtgi53xx7EH+BXA==} + engines: {node: '>=14.0.0'} + + '@smithy/util-uri-escape@1.1.0': + resolution: {integrity: sha512-/jL/V1xdVRt5XppwiaEU8Etp5WHZj609n0xMTuehmCqdoOFbId1M+aEeDWZsQ+8JbEB/BJ6ynY2SlYmOaKtt8w==} + engines: {node: '>=14.0.0'} + + '@smithy/util-uri-escape@2.2.0': + resolution: {integrity: sha512-jtmJMyt1xMD/d8OtbVJ2gFZOSKc+ueYJZPW20ULW1GOp/q/YIM0wNh+u8ZFao9UaIGz4WoPW8hC64qlWLIfoDA==} + engines: {node: '>=14.0.0'} + + '@smithy/util-utf8@1.1.0': + resolution: {integrity: sha512-p/MYV+JmqmPyjdgyN2UxAeYDj9cBqCjp0C/NsTWnnjoZUVqoeZ6IrW915L9CAKWVECgv9lVQGc4u/yz26/bI1A==} + engines: {node: '>=14.0.0'} + + '@smithy/util-utf8@2.3.0': + resolution: {integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==} + engines: {node: '>=14.0.0'} + + '@smithy/util-waiter@2.2.0': + resolution: {integrity: sha512-IHk53BVw6MPMi2Gsn+hCng8rFA3ZmR3Rk7GllxDUW9qFJl/hiSvskn7XldkECapQVkIg/1dHpMAxI9xSTaLLSA==} + engines: {node: '>=14.0.0'} + + '@solidity-parser/parser@0.14.5': + resolution: {integrity: sha512-6dKnHZn7fg/iQATVEzqyUOyEidbn05q7YA2mQ9hC0MMXhhV3/JrsxmFSYZAcr7j1yUP700LLhTruvJ3MiQmjJg==} + + '@solidity-parser/parser@0.18.0': + resolution: {integrity: sha512-yfORGUIPgLck41qyN7nbwJRAx17/jAIXCTanHOJZhB6PJ1iAk/84b/xlsVKFSyNyLXIj0dhppoE0+CRws7wlzA==} + + '@trpc/client@11.0.0-next-beta.264': + resolution: {integrity: sha512-He/kE++/rDq/yZr7xCkQmOC+1S3auulLVjBuo6LvuYuFQL+Slf2ObRftbNVWa92GVd/llxV+eNlbzR9mTVPCPg==} + peerDependencies: + '@trpc/server': 11.0.0-next-beta.264+f5f08f35d + + '@trpc/server@11.0.0-next-beta.264': + resolution: {integrity: sha512-h6RJX+C+VgFQusxGVtw3n1PZPLt27ZG70U8cPR5pwmsnE2E3vREijOgEo5MRKoiUhVrjbw8e6gnGVeKzl7uZXg==} + + '@trpc/server@9.16.0': + resolution: {integrity: sha512-IENsJs41ZR4oeFUJhsNNTSgEOtuRN0m9u7ec4u3eG/qOc7bIoo1nDoYtx4bl6OJJSQYEytG9tlcVz9G8OAaHbg==} + + '@tsconfig/node10@1.0.11': + resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} + + '@tsconfig/node12@1.0.11': + resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} + + '@tsconfig/node14@1.0.3': + resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} + + '@tsconfig/node16@1.0.4': + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} + + '@tsconfig/node20@20.1.4': + resolution: {integrity: sha512-sqgsT69YFeLWf5NtJ4Xq/xAF8p4ZQHlmGW74Nu2tD4+g5fAsposc4ZfaaPixVu4y01BEiDCWLRDCvDM5JOsRxg==} + + '@types/aws-lambda@8.10.137': + resolution: {integrity: sha512-YNFwzVarXAOXkjuFxONyDw1vgRNzyH8AuyN19s0bM+ChSu/bzxb5XPxYFLXoqoM+tvgzwR3k7fXcEOW125yJxg==} + + '@types/babel__core@7.20.5': + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + + '@types/babel__generator@7.6.8': + resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} + + '@types/babel__template@7.4.4': + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + + '@types/babel__traverse@7.20.5': + resolution: {integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==} + + '@types/bn.js@4.11.6': + resolution: {integrity: sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==} + + '@types/bn.js@5.1.5': + resolution: {integrity: sha512-V46N0zwKRF5Q00AZ6hWtN0T8gGmDUaUzLWQvHFo5yThtVwK/VCenFY3wXVbOvNfajEpsTfQM4IN9k/d6gUVX3A==} + + '@types/chai-as-promised@7.1.8': + resolution: {integrity: sha512-ThlRVIJhr69FLlh6IctTXFkmhtP3NpMZ2QGq69StYLyKZFp/HOp1VdKZj7RvfNWYYcJ1xlbLGLLWj1UvP5u/Gw==} + + '@types/chai@4.3.14': + resolution: {integrity: sha512-Wj71sXE4Q4AkGdG9Tvq1u/fquNz9EdG4LIJMwVVII7ashjD/8cf8fyIfJAjRr6YcsXnSE8cOGQPq1gqeR8z+3w==} + + '@types/cls-hooked@4.3.8': + resolution: {integrity: sha512-tf/7H883gFA6MPlWI15EQtfNZ+oPL0gLKkOlx9UHFrun1fC/FkuyNBpTKq1B5E3T4fbvjId6WifHUdSGsMMuPg==} + + '@types/concat-stream@1.6.1': + resolution: {integrity: sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==} + + '@types/form-data@0.0.33': + resolution: {integrity: sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==} + + '@types/fs-extra@11.0.4': + resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} + + '@types/glob@7.2.0': + resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} + + '@types/graceful-fs@4.1.9': + resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} + + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + + '@types/jest@29.5.12': + resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} + + '@types/js-yaml@4.0.9': + resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==} + + '@types/json-schema@7.0.15': + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + + '@types/json-stable-stringify@1.0.36': + resolution: {integrity: sha512-b7bq23s4fgBB76n34m2b3RBf6M369B0Z9uRR8aHTMd8kZISRkmDEpPD8hhpYvDFzr3bJCPES96cm3Q6qRNDbQw==} + + '@types/json5@0.0.29': + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + + '@types/jsonfile@6.1.4': + resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==} + + '@types/lru-cache@5.1.1': + resolution: {integrity: sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==} + + '@types/minimatch@5.1.2': + resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} + + '@types/mocha@10.0.6': + resolution: {integrity: sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==} + + '@types/mute-stream@0.0.4': + resolution: {integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==} + + '@types/node-fetch@2.6.11': + resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==} + + '@types/node@10.17.60': + resolution: {integrity: sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==} + + '@types/node@18.15.13': + resolution: {integrity: sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==} + + '@types/node@20.12.7': + resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==} + + '@types/node@8.10.66': + resolution: {integrity: sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==} + + '@types/normalize-package-data@2.4.4': + resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} + + '@types/pbkdf2@3.1.2': + resolution: {integrity: sha512-uRwJqmiXmh9++aSu1VNEn3iIxWOhd8AHXNSdlaLfdAAdSTY9jYVeGWnzejM3dvrkbqE3/hyQkQQ29IFATEGlew==} + + '@types/pg@8.11.6': + resolution: {integrity: sha512-/2WmmBXHLsfRqzfHW7BNZ8SbYzE8OSk7i3WjFYvfgRHj7S1xj+16Je5fUKv3lVdVzk/zn9TXOqf+avFCFIE0yQ==} + + '@types/qs@6.9.15': + resolution: {integrity: sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==} + + '@types/secp256k1@4.0.6': + resolution: {integrity: sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ==} + + '@types/semver@7.5.8': + resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} + + '@types/stack-utils@2.0.3': + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + + '@types/wrap-ansi@3.0.0': + resolution: {integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==} + + '@types/ws@8.5.10': + resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} + + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + + '@types/yargs@17.0.32': + resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} + + '@typescript-eslint/eslint-plugin@6.21.0': + resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/parser@6.21.0': + resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/scope-manager@5.62.0': + resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@typescript-eslint/scope-manager@6.21.0': + resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} + engines: {node: ^16.0.0 || >=18.0.0} + + '@typescript-eslint/type-utils@6.21.0': + resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/types@5.62.0': + resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@typescript-eslint/types@6.21.0': + resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} + engines: {node: ^16.0.0 || >=18.0.0} + + '@typescript-eslint/typescript-estree@5.62.0': + resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/typescript-estree@6.21.0': + resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + + '@typescript-eslint/utils@5.62.0': + resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + + '@typescript-eslint/utils@6.21.0': + resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + + '@typescript-eslint/visitor-keys@5.62.0': + resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + '@typescript-eslint/visitor-keys@6.21.0': + resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} + engines: {node: ^16.0.0 || >=18.0.0} + + '@ungap/structured-clone@1.2.0': + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + + '@vercel/style-guide@5.2.0': + resolution: {integrity: sha512-fNSKEaZvSkiBoF6XEefs8CcgAV9K9e+MbcsDZjUsktHycKdA0jvjAzQi1W/FzLS+Nr5zZ6oejCwq/97dHUKe0g==} + engines: {node: '>=16'} + peerDependencies: + '@next/eslint-plugin-next': '>=12.3.0 <15' + eslint: '>=8.48.0 <9' + prettier: '>=3.0.0 <4' + typescript: '>=4.8.0 <6' + peerDependenciesMeta: + '@next/eslint-plugin-next': + optional: true + eslint: + optional: true + prettier: + optional: true + typescript: + optional: true + + '@whatwg-node/events@0.0.2': + resolution: {integrity: sha512-WKj/lI4QjnLuPrim0cfO7i+HsDSXHxNv1y0CrJhdntuO3hxWZmnXCwNDnwOvry11OjRin6cgWNF+j/9Pn8TN4w==} + + '@whatwg-node/events@0.0.3': + resolution: {integrity: sha512-IqnKIDWfXBJkvy/k6tzskWTc2NK3LcqHlb+KHGCrjOCH4jfQckRX0NAiIcC/vIqQkzLYw2r2CTSwAxcrtcD6lA==} + + '@whatwg-node/events@0.1.1': + resolution: {integrity: sha512-AyQEn5hIPV7Ze+xFoXVU3QTHXVbWPrzaOkxtENMPMuNL6VVHrp4hHfDt9nrQpjO7BgvuM95dMtkycX5M/DZR3w==} + engines: {node: '>=16.0.0'} + + '@whatwg-node/fetch@0.8.8': + resolution: {integrity: sha512-CdcjGC2vdKhc13KKxgsc6/616BQ7ooDIgPeTuAiE8qfCnS0mGzcfCOoZXypQSz73nxI+GWc7ZReIAVhxoE1KCg==} + + '@whatwg-node/fetch@0.9.17': + resolution: {integrity: sha512-TDYP3CpCrxwxpiNY0UMNf096H5Ihf67BK1iKGegQl5u9SlpEDYrvnV71gWBGJm+Xm31qOy8ATgma9rm8Pe7/5Q==} + engines: {node: '>=16.0.0'} + + '@whatwg-node/node-fetch@0.3.6': + resolution: {integrity: sha512-w9wKgDO4C95qnXZRwZTfCmLWqyRnooGjcIwG0wADWjw9/HN0p7dtvtgSvItZtUyNteEvgTrd8QojNEqV6DAGTA==} + + '@whatwg-node/node-fetch@0.5.10': + resolution: {integrity: sha512-KIAHepie/T1PRkUfze4t+bPlyvpxlWiXTPtcGlbIZ0vWkBJMdRmCg4ZrJ2y4XaO1eTPo1HlWYUuj1WvoIpumqg==} + engines: {node: '>=16.0.0'} + + '@whatwg-node/server@0.7.7': + resolution: {integrity: sha512-aHURgNDFm/48WVV3vhTMfnEKCYwYgdaRdRhZsQZx4UVFjGGkGay7Ys0+AYu9QT/jpoImv2oONkstoTMUprDofg==} + + abbrev@1.0.9: + resolution: {integrity: sha512-LEyx4aLEC3x6T0UguF6YILf+ntvmOaWsVfENmIW0E9H09vKlLDGelMjjSm0jkDHALj8A8quZ/HapKNigzwge+Q==} + + abitype@0.9.10: + resolution: {integrity: sha512-FIS7U4n7qwAT58KibwYig5iFG4K61rbhAqaQh/UWj8v1Y8mjX3F8TC9gd8cz9yT1TYel9f8nS5NO5kZp2RW0jQ==} + peerDependencies: + typescript: '>=5.0.4' + zod: ^3 >=3.22.0 + peerDependenciesMeta: + typescript: + optional: true + zod: + optional: true + + abitype@0.9.8: + resolution: {integrity: sha512-puLifILdm+8sjyss4S+fsUN09obiT1g2YW6CtcQF+QDzxR0euzgEB29MZujC6zMk2a6SVmtttq1fc6+YFA7WYQ==} + peerDependencies: + typescript: '>=5.0.4' + zod: ^3 >=3.19.1 + peerDependenciesMeta: + typescript: + optional: true + zod: + optional: true + + abitype@1.0.0: + resolution: {integrity: sha512-NMeMah//6bJ56H5XRj8QCV4AwuW6hB6zqz2LnhhLdcWVQOsXki6/Pn3APeqxCma62nXIcmZWdu1DlHWS74umVQ==} + peerDependencies: + typescript: '>=5.0.4' + zod: ^3 >=3.22.0 + peerDependenciesMeta: + typescript: + optional: true + zod: + optional: true + + abitype@1.0.2: + resolution: {integrity: sha512-aFt4k2H+eiAKy/zxtnORa9iIb10BMBeWL18l8v4+QuwYEBXPxxjSB1bFZCzQmKPoj8m7j68K705l3uY+E2gAjg==} + peerDependencies: + typescript: '>=5.0.4' + zod: ^3 >=3.22.0 + peerDependenciesMeta: + typescript: + optional: true + zod: + optional: true + + accepts@1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} + + acorn-jsx@5.3.2: + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + + acorn-walk@8.3.2: + resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} + engines: {node: '>=0.4.0'} + + acorn@8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + engines: {node: '>=0.4.0'} + hasBin: true + + adm-zip@0.4.16: + resolution: {integrity: sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==} + engines: {node: '>=0.3.0'} + + adm-zip@0.5.12: + resolution: {integrity: sha512-6TVU49mK6KZb4qG6xWaaM4C7sA/sgUMLy/JYMOzkcp3BvVLpW0fXDFQiIzAuxFCt/2+xD7fNIiPFAoLZPhVNLQ==} + engines: {node: '>=6.0'} + + aes-js@3.0.0: + resolution: {integrity: sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==} + + aes-js@4.0.0-beta.5: + resolution: {integrity: sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==} + + agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} + + agent-base@7.1.1: + resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} + engines: {node: '>= 14'} + + aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} + + ajv-formats@2.1.1: + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true + + ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + + ajv@8.12.0: + resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + + amdefine@1.0.1: + resolution: {integrity: sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==} + engines: {node: '>=0.4.2'} + + ansi-align@3.0.1: + resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} + + ansi-colors@4.1.1: + resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==} + engines: {node: '>=6'} + + ansi-colors@4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} + + ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + + ansi-escapes@6.2.1: + resolution: {integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==} + engines: {node: '>=14.16'} + + ansi-regex@3.0.1: + resolution: {integrity: sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==} + engines: {node: '>=4'} + + ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} + + ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + + ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} + + ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} + + ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + + ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + + antlr4ts@0.5.0-alpha.4: + resolution: {integrity: sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ==} + + any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + + anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} + + app-module-path@2.2.0: + resolution: {integrity: sha512-gkco+qxENJV+8vFcDiiFhuoSvRXb2a/QPqpSoWhVz829VNJfOTnELbBmPmNKFxf3xdNnw4DWCkzkDaavcX/1YQ==} + + archiver-utils@2.1.0: + resolution: {integrity: sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==} + engines: {node: '>= 6'} + + archiver-utils@3.0.4: + resolution: {integrity: sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==} + engines: {node: '>= 10'} + + archiver@5.3.2: + resolution: {integrity: sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==} + engines: {node: '>= 10'} + + arg@4.1.3: + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + + argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + + argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + + aria-query@5.3.0: + resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + + array-buffer-byte-length@1.0.1: + resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} + engines: {node: '>= 0.4'} + + array-flatten@1.1.1: + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + + array-includes@3.1.8: + resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} + engines: {node: '>= 0.4'} + + array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + + array-uniq@1.0.3: + resolution: {integrity: sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==} + engines: {node: '>=0.10.0'} + + array.prototype.findlast@1.2.5: + resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} + engines: {node: '>= 0.4'} + + array.prototype.findlastindex@1.2.5: + resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==} + engines: {node: '>= 0.4'} + + array.prototype.flat@1.3.2: + resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} + engines: {node: '>= 0.4'} + + array.prototype.flatmap@1.3.2: + resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} + engines: {node: '>= 0.4'} + + array.prototype.toreversed@1.1.2: + resolution: {integrity: sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==} + + array.prototype.tosorted@1.1.3: + resolution: {integrity: sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==} + + arraybuffer.prototype.slice@1.0.3: + resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} + engines: {node: '>= 0.4'} + + asap@2.0.6: + resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} + + asn1.js@5.4.1: + resolution: {integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==} + + asn1js@3.0.5: + resolution: {integrity: sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==} + engines: {node: '>=12.0.0'} + + assertion-error@1.1.0: + resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + + ast-module-types@5.0.0: + resolution: {integrity: sha512-JvqziE0Wc0rXQfma0HZC/aY7URXHFuZV84fJRtP8u+lhp0JYCNd5wJzVXP45t0PH0Mej3ynlzvdyITYIu0G4LQ==} + engines: {node: '>=14'} + + ast-types-flow@0.0.8: + resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} + + astral-regex@2.0.0: + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} + engines: {node: '>=8'} + + async-hook-jl@1.7.6: + resolution: {integrity: sha512-gFaHkFfSxTjvoxDMYqDuGHlcRyUuamF8s+ZTtJdDzqjws4mCt7v0vuV79/E2Wr2/riMQgtG4/yUtXWs1gZ7JMg==} + engines: {node: ^4.7 || >=6.9 || >=7.3} + + async-limiter@1.0.1: + resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==} + + async@1.5.2: + resolution: {integrity: sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==} + + async@3.2.5: + resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} + + asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + + at-least-node@1.0.0: + resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} + engines: {node: '>= 4.0.0'} + + atomic-batcher@1.0.2: + resolution: {integrity: sha512-EFGCRj4kLX1dHv1cDzTk+xbjBFj1GnJDpui52YmEcxxHHEWjYyT6l51U7n6WQ28osZH4S9gSybxe56Vm7vB61Q==} + + atomically@1.7.0: + resolution: {integrity: sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w==} + engines: {node: '>=10.12.0'} + + auto-bind@4.0.0: + resolution: {integrity: sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ==} + engines: {node: '>=8'} + + auto-bind@5.0.1: + resolution: {integrity: sha512-ooviqdwwgfIfNmDwo94wlshcdzfO64XV0Cg6oDsDYBJfITDz1EngD2z7DkbvCWn+XIMsIqW27sEVF6qcpJrRcg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} + + aws-cdk-lib@2.132.1: + resolution: {integrity: sha512-VheC7WcvmxiteNaZPucS9J9haGQZwbUtwNiNqsbTaEiru6ETUhf/yIOIamLto1kOKEPxCw2bfLkgYrWoCzwOpw==} + engines: {node: '>= 14.15.0'} + peerDependencies: + constructs: ^10.0.0 + bundledDependencies: + - '@balena/dockerignore' + - case + - fs-extra + - ignore + - jsonschema + - minimatch + - punycode + - semver + - table + - yaml + - mime-types + + aws-crt@1.21.2: + resolution: {integrity: sha512-/jq5yJwdethIaC+HyqCrgW2ZqxjUURBo/6CIfnD0HbpIE+vLIPQxENW/pp3Atu20Hm2WkjM9diJD4zJycK+olA==} + + aws-iot-device-sdk@2.2.13: + resolution: {integrity: sha512-rUR68vJxna5q0HSvBFy70QD0kFa91H8mQU2Jdor0JpNxmfNaOhQoiGCcgrZAxR69xY1kGHs+JzWOqqVtAfL0+A==} + engines: {node: '>=4.0.0'} + + aws-sdk@2.1599.0: + resolution: {integrity: sha512-jPb1LAN+s1TLTK+VR3TTJLr//sb3AhhT60Bm9jxB5G/fVeeRczXtBtixNpQ00gksQdkstILYLc9S6MuKMsksxA==} + engines: {node: '>= 10.0.0'} + + aws-xray-sdk-core@3.6.0: + resolution: {integrity: sha512-+UnYmVEni9NNJvE6aFY1dbvMtFquXSYAj+HYfm+90icoGKYvvLD71R7PHyFFnYct5of4NFpEXJtUJrWMv8e4mQ==} + engines: {node: '>= 14.x'} + + axe-core@4.7.0: + resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==} + engines: {node: '>=4'} + + axios@1.6.8: + resolution: {integrity: sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==} + + axobject-query@3.2.1: + resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} + + babel-jest@29.7.0: + resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.8.0 + + babel-plugin-istanbul@6.1.1: + resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} + engines: {node: '>=8'} + + babel-plugin-jest-hoist@29.6.3: + resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + babel-plugin-syntax-trailing-function-commas@7.0.0-beta.0: + resolution: {integrity: sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==} + + babel-preset-current-node-syntax@1.0.1: + resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} + peerDependencies: + '@babel/core': ^7.0.0 + + babel-preset-fbjs@3.4.0: + resolution: {integrity: sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==} + peerDependencies: + '@babel/core': ^7.0.0 + + babel-preset-jest@29.6.3: + resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.0.0 + + balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} + + base-x@3.0.9: + resolution: {integrity: sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==} + + base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} + + bech32@1.1.4: + resolution: {integrity: sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==} + + bignumber.js@9.0.1: + resolution: {integrity: sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA==} + + bignumber.js@9.1.2: + resolution: {integrity: sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==} + + binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + + bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + + bl@5.1.0: + resolution: {integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==} + + blakejs@1.2.1: + resolution: {integrity: sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==} + + bn.js@4.11.6: + resolution: {integrity: sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==} + + bn.js@4.12.0: + resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==} + + bn.js@5.2.1: + resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} + + body-parser@1.20.2: + resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + bowser@2.11.0: + resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==} + + boxen@5.1.2: + resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==} + engines: {node: '>=10'} + + brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + + brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + + braces@3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} + engines: {node: '>=8'} + + brorand@1.1.0: + resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} + + browser-stdout@1.3.1: + resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} + + browserify-aes@1.2.0: + resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} + + browserslist@4.23.0: + resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + bs-logger@0.2.6: + resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} + engines: {node: '>= 6'} + + bs58@4.0.1: + resolution: {integrity: sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==} + + bs58check@2.1.2: + resolution: {integrity: sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==} + + bser@2.1.1: + resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + + buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + + buffer-xor@1.0.3: + resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} + + buffer@4.9.2: + resolution: {integrity: sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==} + + buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + + buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + + builtin-modules@3.2.0: + resolution: {integrity: sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==} + engines: {node: '>=6'} + + builtin-modules@3.3.0: + resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} + engines: {node: '>=6'} + + busboy@1.6.0: + resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} + engines: {node: '>=10.16.0'} + + bytes@3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + + call-bind@1.0.7: + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} + engines: {node: '>= 0.4'} + + callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + + camel-case@4.1.2: + resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + + camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + + camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + + caniuse-lite@1.0.30001610: + resolution: {integrity: sha512-QFutAY4NgaelojVMjY63o6XlZyORPaLfyMnsl3HgnWdJUcX6K0oaJymHjH8PT5Gk7sTm8rvC/c5COUQKXqmOMA==} + + capital-case@1.0.4: + resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} + + caseless@0.12.0: + resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} + + cbor@8.1.0: + resolution: {integrity: sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==} + engines: {node: '>=12.19'} + + cdk-assets@2.132.1: + resolution: {integrity: sha512-npaa5DTO9GMdnErCk5mguR6XpaLZv1R36T3kJPgSuJDcD2T5gk7BzuMyJWQM0QHMLNw3fMOOjG1D7Wi39LJ3cQ==} + engines: {node: '>= 14.15.0'} + hasBin: true + + chai-as-promised@7.1.1: + resolution: {integrity: sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==} + peerDependencies: + chai: '>= 2.1.2 < 5' + + chai@4.4.1: + resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} + engines: {node: '>=4'} + + chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} + + chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} + + chalk@5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + + change-case-all@1.0.15: + resolution: {integrity: sha512-3+GIFhk3sNuvFAJKU46o26OdzudQlPNBCu1ZQi3cMeMHhty1bhDxu2WrEilVNYaGvqUtR1VSigFcJOiS13dRhQ==} + + change-case@4.1.2: + resolution: {integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==} + + char-regex@1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + + chardet@0.7.0: + resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + + charenc@0.0.2: + resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==} + + check-error@1.0.3: + resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + + chokidar@3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} + + chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} + + ci-info@2.0.0: + resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} + + ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + + cipher-base@1.0.4: + resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==} + + cjs-module-lexer@1.2.3: + resolution: {integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==} + + clean-regexp@1.0.0: + resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} + engines: {node: '>=4'} + + clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + + cli-boxes@2.2.1: + resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} + engines: {node: '>=6'} + + cli-boxes@3.0.0: + resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} + engines: {node: '>=10'} + + cli-cursor@3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} + + cli-cursor@4.0.0: + resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + cli-spinners@2.9.2: + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} + engines: {node: '>=6'} + + cli-table3@0.5.1: + resolution: {integrity: sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==} + engines: {node: '>=6'} + + cli-truncate@2.1.0: + resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} + engines: {node: '>=8'} + + cli-truncate@3.1.0: + resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + cli-width@3.0.0: + resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} + engines: {node: '>= 10'} + + cli-width@4.1.0: + resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} + engines: {node: '>= 12'} + + cliui@6.0.0: + resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} + + cliui@7.0.4: + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} + + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + clone@1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} + + cls-hooked@4.2.2: + resolution: {integrity: sha512-J4Xj5f5wq/4jAvcdgoGsL3G103BtWpZrMo8NEinRltN+xpTZdI+M38pyQqhuFU/P792xkMFvnKSf+Lm81U1bxw==} + engines: {node: ^4.7 || >=6.9 || >=7.3 || >=8.2.1} + + cluster-key-slot@1.1.2: + resolution: {integrity: sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==} + engines: {node: '>=0.10.0'} + + co@4.6.0: + resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + + code-excerpt@4.0.0: + resolution: {integrity: sha512-xxodCmBen3iy2i0WtAK8FlFNrRzjUqjRsMfho58xT/wvZU1YTM3fCnRjcy1gJPMepaRlgm/0e6w8SpWHpn3/cA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + collect-v8-coverage@1.0.2: + resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} + + color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + + color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} + + color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + + color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + + colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + + colors@1.4.0: + resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} + engines: {node: '>=0.1.90'} + + combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} + + command-exists@1.2.9: + resolution: {integrity: sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==} + + commander@10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} + + commander@3.0.2: + resolution: {integrity: sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==} + + commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + + commander@9.5.0: + resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} + engines: {node: ^12.20.0 || >=14} + + commist@1.1.0: + resolution: {integrity: sha512-rraC8NXWOEjhADbZe9QBNzLAN5Q3fsTPQtBV+fEVj6xKIgDgNiEVE6ZNfHpZOqfQ21YUzfVNUXLOEZquYvQPPg==} + + common-tags@1.8.2: + resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} + engines: {node: '>=4.0.0'} + + commondir@1.0.1: + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + + complex.js@2.1.1: + resolution: {integrity: sha512-8njCHOTtFFLtegk6zQo0kkVX1rngygb/KQI6z1qZxlFI3scluC+LVTCFbrkWjBv4vvLlbQ9t88IPMC6k95VTTg==} + + compress-commons@4.1.2: + resolution: {integrity: sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==} + engines: {node: '>= 10'} + + concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} + + concat-stream@1.6.2: + resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} + engines: {'0': node >= 0.8} + + concat-stream@2.0.0: + resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==} + engines: {'0': node >= 6.0} + + conf@10.2.0: + resolution: {integrity: sha512-8fLl9F04EJqjSqH+QjITQfJF8BrOVaYr1jewVgSRAEWePfxT0sku4w2hrGQ60BC/TNLGQ2pgxNlTbWQmMPFvXg==} + engines: {node: '>=12'} + + constant-case@3.0.4: + resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==} + + constructs@10.3.0: + resolution: {integrity: sha512-vbK8i3rIb/xwZxSpTjz3SagHn1qq9BChLEfy5Hf6fB3/2eFbrwt2n9kHwQcS0CPTRBesreeAcsJfMq2229FnbQ==} + engines: {node: '>= 16.14.0'} + + content-disposition@0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} + + content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + + convert-to-spaces@2.0.1: + resolution: {integrity: sha512-rcQ1bsQO9799wq24uE5AM2tAILy4gXGIK/njFWcVQkGNZ96edlpY+A7bjwvzjYvLDyzmG1MmMLZhpcsb+klNMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + cookie-signature@1.0.6: + resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} + + cookie@0.4.2: + resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} + engines: {node: '>= 0.6'} + + cookie@0.6.0: + resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} + engines: {node: '>= 0.6'} + + copy-anything@3.0.5: + resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==} + engines: {node: '>=12.13'} + + core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + + cosmiconfig@8.3.6: + resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true + + crc-32@1.2.2: + resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} + engines: {node: '>=0.8'} + hasBin: true + + crc32-stream@4.0.3: + resolution: {integrity: sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==} + engines: {node: '>= 10'} + + create-hash@1.2.0: + resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} + + create-hmac@1.1.7: + resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} + + create-jest@29.7.0: + resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + + create-require@1.1.1: + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + + cross-fetch@3.1.8: + resolution: {integrity: sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==} + + cross-inspect@1.0.0: + resolution: {integrity: sha512-4PFfn4b5ZN6FMNGSZlyb7wUhuN8wvj8t/VQHZdM4JsDcruGJ8L2kf9zao98QIrBPFCpdk27qst/AGTl7pL3ypQ==} + engines: {node: '>=16.0.0'} + + cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} + + crypt@0.0.2: + resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==} + + crypto-js@4.2.0: + resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==} + + damerau-levenshtein@1.0.8: + resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} + + data-uri-to-buffer@4.0.1: + resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} + engines: {node: '>= 12'} + + data-view-buffer@1.0.1: + resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} + engines: {node: '>= 0.4'} + + data-view-byte-length@1.0.1: + resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} + engines: {node: '>= 0.4'} + + data-view-byte-offset@1.0.0: + resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} + engines: {node: '>= 0.4'} + + dataloader@2.2.2: + resolution: {integrity: sha512-8YnDaaf7N3k/q5HnTJVuzSyLETjoZjVmHc4AeKAzOvKHEFQKcn64OKBfzHYtE9zGjctNM7V9I0MfnUVLpi7M5g==} + + death@1.1.0: + resolution: {integrity: sha512-vsV6S4KVHvTGxbEcij7hkWRv0It+sGGWVOM67dQde/o5Xjnr+KmLjxWJii2uEObIrt1CcM9w0Yaovx+iOlIL+w==} + + debounce-fn@4.0.0: + resolution: {integrity: sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ==} + engines: {node: '>=10'} + + debounce@1.2.1: + resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} + + debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + + decamelize@1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + + decamelize@4.0.0: + resolution: {integrity: sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==} + engines: {node: '>=10'} + + decimal.js@10.4.3: + resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} + + dedent@1.5.3: + resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} + peerDependencies: + babel-plugin-macros: ^3.1.0 + peerDependenciesMeta: + babel-plugin-macros: + optional: true + + deep-eql@4.1.3: + resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} + engines: {node: '>=6'} + + deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + + deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + + deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + + defaults@1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + + define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} + + define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} + + delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} + + delete-empty@3.0.0: + resolution: {integrity: sha512-ZUyiwo76W+DYnKsL3Kim6M/UOavPdBJgDYWOmuQhYaZvJH0AXAHbUNyEDtRbBra8wqqr686+63/0azfEk1ebUQ==} + engines: {node: '>=10'} + hasBin: true + + dendriform-immer-patch-optimiser@2.1.3: + resolution: {integrity: sha512-QG2IegUCdlhycVwsBOJ7SNd18PgzyWPxBivTzuF0E1KFxaU47fHy/frud74A9E66a4WXyFFp9FLLC2XQDkVj7g==} + engines: {node: '>=10'} + peerDependencies: + immer: '9' + + depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + + dependency-graph@0.11.0: + resolution: {integrity: sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==} + engines: {node: '>= 0.6.0'} + + dependency-tree@10.0.9: + resolution: {integrity: sha512-dwc59FRIsht+HfnTVM0BCjJaEWxdq2YAvEDy4/Hn6CwS3CBWMtFnL3aZGAkQn3XCYxk/YcTDE4jX2Q7bFTwCjA==} + engines: {node: '>=14'} + hasBin: true + + dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + + destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + + detect-indent@6.1.0: + resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} + engines: {node: '>=8'} + + detect-indent@7.0.1: + resolution: {integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==} + engines: {node: '>=12.20'} + + detect-newline@3.1.0: + resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} + engines: {node: '>=8'} + + detect-newline@4.0.1: + resolution: {integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + detective-amd@5.0.2: + resolution: {integrity: sha512-XFd/VEQ76HSpym80zxM68ieB77unNuoMwopU2TFT/ErUk5n4KvUTwW4beafAVUugrjV48l4BmmR0rh2MglBaiA==} + engines: {node: '>=14'} + hasBin: true + + detective-cjs@5.0.1: + resolution: {integrity: sha512-6nTvAZtpomyz/2pmEmGX1sXNjaqgMplhQkskq2MLrar0ZAIkHMrDhLXkRiK2mvbu9wSWr0V5/IfiTrZqAQMrmQ==} + engines: {node: '>=14'} + + detective-es6@4.0.1: + resolution: {integrity: sha512-k3Z5tB4LQ8UVHkuMrFOlvb3GgFWdJ9NqAa2YLUU/jTaWJIm+JJnEh4PsMc+6dfT223Y8ACKOaC0qcj7diIhBKw==} + engines: {node: '>=14'} + + detective-postcss@6.1.3: + resolution: {integrity: sha512-7BRVvE5pPEvk2ukUWNQ+H2XOq43xENWbH0LcdCE14mwgTBEAMoAx+Fc1rdp76SmyZ4Sp48HlV7VedUnP6GA1Tw==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + detective-sass@5.0.3: + resolution: {integrity: sha512-YsYT2WuA8YIafp2RVF5CEfGhhyIVdPzlwQgxSjK+TUm3JoHP+Tcorbk3SfG0cNZ7D7+cYWa0ZBcvOaR0O8+LlA==} + engines: {node: '>=14'} + + detective-scss@4.0.3: + resolution: {integrity: sha512-VYI6cHcD0fLokwqqPFFtDQhhSnlFWvU614J42eY6G0s8c+MBhi9QAWycLwIOGxlmD8I/XvGSOUV1kIDhJ70ZPg==} + engines: {node: '>=14'} + + detective-stylus@4.0.0: + resolution: {integrity: sha512-TfPotjhszKLgFBzBhTOxNHDsutIxx9GTWjrL5Wh7Qx/ydxKhwUrlSFeLIn+ZaHPF+h0siVBkAQSuy6CADyTxgQ==} + engines: {node: '>=14'} + + detective-typescript@11.2.0: + resolution: {integrity: sha512-ARFxjzizOhPqs1fYC/2NMC3N4jrQ6HvVflnXBTRqNEqJuXwyKLRr9CrJwkRcV/SnZt1sNXgsF6FPm0x57Tq0rw==} + engines: {node: ^14.14.0 || >=16.0.0} + + diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + diff@3.5.0: + resolution: {integrity: sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==} + engines: {node: '>=0.3.1'} + + diff@4.0.2: + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} + + diff@5.0.0: + resolution: {integrity: sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==} + engines: {node: '>=0.3.1'} + + diff@5.2.0: + resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} + engines: {node: '>=0.3.1'} + + difflib@0.2.4: + resolution: {integrity: sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w==} + + dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} + + doctrine@2.1.0: + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} + + doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} + + dot-case@3.0.4: + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + + dot-prop@6.0.1: + resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} + engines: {node: '>=10'} + + dotenv-expand@11.0.6: + resolution: {integrity: sha512-8NHi73otpWsZGBSZwwknTXS5pqMOrk9+Ssrna8xCaxkzEpU9OTf9R5ArQGVw03//Zmk9MOwLPng9WwndvpAJ5g==} + engines: {node: '>=12'} + + dotenv@16.0.3: + resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} + engines: {node: '>=12'} + + dotenv@16.4.5: + resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} + engines: {node: '>=12'} + + dset@3.1.3: + resolution: {integrity: sha512-20TuZZHCEZ2O71q9/+8BwKwZ0QtD9D8ObhrihJPr+vLLYlSuAU3/zL4cSlgbfeoGHTjCSJBa7NGcrF9/Bx/WJQ==} + engines: {node: '>=4'} + + duplexify@3.7.1: + resolution: {integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==} + + duplexify@4.1.3: + resolution: {integrity: sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA==} + + eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + + ecdsa-sig-formatter@1.0.11: + resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} + + ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + + electron-to-chromium@1.4.737: + resolution: {integrity: sha512-QvLTxaLHKdy5YxvixAw/FfHq2eWLUL9KvsPjp0aHK1gI5d3EDuDgITkvj0nFO2c6zUY3ZqVAJQiBYyQP9tQpfw==} + + elliptic@6.5.4: + resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==} + + elliptic@6.5.5: + resolution: {integrity: sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw==} + + emitter-listener@1.1.2: + resolution: {integrity: sha512-Bt1sBAGFHY9DKY+4/2cV6izcKJUf5T7/gkdmkxzX/qv9CcGH8xSwVRW5mtX03SWJtRTWSOpzCuWN9rBFYZepZQ==} + + emittery@0.13.1: + resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} + engines: {node: '>=12'} + + emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + + emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + + encodeurl@1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + + end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + + enhanced-resolve@5.16.0: + resolution: {integrity: sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==} + engines: {node: '>=10.13.0'} + + enquirer@2.4.1: + resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} + engines: {node: '>=8.6'} + + env-paths@2.2.1: + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} + + error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + + es-abstract@1.23.3: + resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} + engines: {node: '>= 0.4'} + + es-define-property@1.0.0: + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + engines: {node: '>= 0.4'} + + es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + + es-iterator-helpers@1.0.18: + resolution: {integrity: sha512-scxAJaewsahbqTYrGKJihhViaM6DDZDDoucfvzNbK0pOren1g/daDQ3IAhzn+1G14rBG7w+i5N+qul60++zlKA==} + engines: {node: '>= 0.4'} + + es-object-atoms@1.0.0: + resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} + engines: {node: '>= 0.4'} + + es-set-tostringtag@2.0.3: + resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} + engines: {node: '>= 0.4'} + + es-shim-unscopables@1.0.2: + resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} + + es-to-primitive@1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + + esbuild@0.18.13: + resolution: {integrity: sha512-vhg/WR/Oiu4oUIkVhmfcc23G6/zWuEQKFS+yiosSHe4aN6+DQRXIfeloYGibIfVhkr4wyfuVsGNLr+sQU1rWWw==} + engines: {node: '>=12'} + hasBin: true + + esbuild@0.19.12: + resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} + engines: {node: '>=12'} + hasBin: true + + esbuild@0.20.2: + resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} + engines: {node: '>=12'} + hasBin: true + + escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + engines: {node: '>=6'} + + escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + + escape-latex@1.2.0: + resolution: {integrity: sha512-nV5aVWW1K0wEiUIEdZ4erkGGH8mDxGyxSeqPzRNtWP7ataw+/olFObw7hujFWlVjNsaDFw5VZ5NzVSIqRgfTiw==} + + escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + + escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + + escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + + escodegen@1.8.1: + resolution: {integrity: sha512-yhi5S+mNTOuRvyW4gWlg5W1byMaQGWWSYHXsuFZ7GBo7tpyOwi2EdzMP/QWxh9hwkD2m+wDVHJsxhRIj+v/b/A==} + engines: {node: '>=0.12.0'} + hasBin: true + + escodegen@2.1.0: + resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} + engines: {node: '>=6.0'} + hasBin: true + + eslint-config-prettier@9.1.0: + resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' + + eslint-config-turbo@1.13.2: + resolution: {integrity: sha512-TzvsMwNJx/P4JYw79iFqbyQApnyT050gW7dBxnNeNVl3pVMnT2rwaFo9Q3Hc49Tp5NANxEwYN9RStF50P/IwGA==} + peerDependencies: + eslint: '>6.6.0' + + eslint-import-resolver-alias@1.1.2: + resolution: {integrity: sha512-WdviM1Eu834zsfjHtcGHtGfcu+F30Od3V7I9Fi57uhBEwPkjDcii7/yW8jAT+gOhn4P/vOxxNAXbFAKsrrc15w==} + engines: {node: '>= 4'} + peerDependencies: + eslint-plugin-import: '>=1.4.0' + + eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + + eslint-import-resolver-typescript@3.6.1: + resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + eslint: '*' + eslint-plugin-import: '*' + + eslint-module-utils@2.8.1: + resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true + + eslint-plugin-eslint-comments@3.2.0: + resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==} + engines: {node: '>=6.5.0'} + peerDependencies: + eslint: '>=4.19.1' + + eslint-plugin-import@2.29.1: + resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + + eslint-plugin-jest@27.9.0: + resolution: {integrity: sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@typescript-eslint/eslint-plugin': ^5.0.0 || ^6.0.0 || ^7.0.0 + eslint: ^7.0.0 || ^8.0.0 + jest: '*' + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true + jest: + optional: true + + eslint-plugin-jsx-a11y@6.8.0: + resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==} + engines: {node: '>=4.0'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + + eslint-plugin-playwright@0.16.0: + resolution: {integrity: sha512-DcHpF0SLbNeh9MT4pMzUGuUSnJ7q5MWbP8sSEFIMS6j7Ggnduq8ghNlfhURgty4c1YFny7Ge9xYTO1FSAoV2Vw==} + peerDependencies: + eslint: '>=7' + eslint-plugin-jest: '>=25' + peerDependenciesMeta: + eslint-plugin-jest: + optional: true + + eslint-plugin-react-hooks@4.6.0: + resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} + engines: {node: '>=10'} + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 + + eslint-plugin-react@7.34.1: + resolution: {integrity: sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==} + engines: {node: '>=4'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + + eslint-plugin-testing-library@6.2.2: + resolution: {integrity: sha512-1E94YOTUDnOjSLyvOwmbVDzQi/WkKm3WVrMXu6SmBr6DN95xTGZmI6HJ/eOkSXh/DlheRsxaPsJvZByDBhWLVQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6'} + peerDependencies: + eslint: ^7.5.0 || ^8.0.0 + + eslint-plugin-tsdoc@0.2.17: + resolution: {integrity: sha512-xRmVi7Zx44lOBuYqG8vzTXuL6IdGOeF9nHX17bjJ8+VE6fsxpdGem0/SBTmAwgYMKYB1WBkqRJVQ+n8GK041pA==} + + eslint-plugin-turbo@1.13.2: + resolution: {integrity: sha512-QNaihF0hTRjfOBd1SLHrftm8V3pOU35CNS/C0/Z6qY1xxdL1PSv4IctEIldSMX7/A1jOPYwMPO7wYwPXgjgp/g==} + peerDependencies: + eslint: '>6.6.0' + + eslint-plugin-unicorn@48.0.1: + resolution: {integrity: sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw==} + engines: {node: '>=16'} + peerDependencies: + eslint: '>=8.44.0' + + eslint-plugin-unused-imports@3.1.0: + resolution: {integrity: sha512-9l1YFCzXKkw1qtAru1RWUtG2EVDZY0a0eChKXcL+EZ5jitG7qxdctu4RnvhOJHv4xfmUf7h+JJPINlVpGhZMrw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + '@typescript-eslint/eslint-plugin': 6 - 7 + eslint: '8' + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true + + eslint-rule-composer@0.3.0: + resolution: {integrity: sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==} + engines: {node: '>=4.0.0'} + + eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} + + eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint-visitor-keys@2.1.0: + resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} + engines: {node: '>=10'} + + eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + eslint@8.57.0: + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true + + espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + + esprima@2.7.3: + resolution: {integrity: sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A==} + engines: {node: '>=0.10.0'} + hasBin: true + + esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + + esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} + + esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} + + estraverse@1.9.3: + resolution: {integrity: sha512-25w1fMXQrGdoquWnScXZGckOv+Wes+JDnuN/+7ex3SauFRS72r2lFDec0EKPt2YD1wUJ/IrfEex+9yp4hfSOJA==} + engines: {node: '>=0.10.0'} + + estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + + estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + + esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + + etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + + eth-gas-reporter@0.2.27: + resolution: {integrity: sha512-femhvoAM7wL0GcI8ozTdxfuBtBFJ9qsyIAsmKVjlWAHUbdnnXHt+lKzz/kmldM5lA9jLuNHGwuIxorNpLbR1Zw==} + peerDependencies: + '@codechecks/client': ^0.1.0 + peerDependenciesMeta: + '@codechecks/client': + optional: true + + ethereum-bloom-filters@1.1.0: + resolution: {integrity: sha512-J1gDRkLpuGNvWYzWslBQR9cDV4nd4kfvVTE/Wy4Kkm4yb3EYRSlyi0eB/inTsSTTVyA0+HyzHgbr95Fn/Z1fSw==} + + ethereum-cryptography@0.1.3: + resolution: {integrity: sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==} + + ethereum-cryptography@1.2.0: + resolution: {integrity: sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw==} + + ethereum-cryptography@2.1.3: + resolution: {integrity: sha512-BlwbIL7/P45W8FGW2r7LGuvoEZ+7PWsniMvQ4p5s2xCyw9tmaDlpfsN9HjAucbF+t/qpVHwZUisgfK24TCW8aA==} + + ethereumjs-abi@0.6.8: + resolution: {integrity: sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==} + + ethereumjs-util@6.2.1: + resolution: {integrity: sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==} + + ethereumjs-util@7.1.5: + resolution: {integrity: sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==} + engines: {node: '>=10.0.0'} + + ethers@5.6.2: + resolution: {integrity: sha512-EzGCbns24/Yluu7+ToWnMca3SXJ1Jk1BvWB7CCmVNxyOeM4LLvw2OLuIHhlkhQk1dtOcj9UMsdkxUh8RiG1dxQ==} + + ethers@5.7.2: + resolution: {integrity: sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==} + + ethers@6.11.1: + resolution: {integrity: sha512-mxTAE6wqJQAbp5QAe/+o+rXOID7Nw91OZXvgpjDa1r4fAbq2Nu314oEZSbjoRLacuCzs7kUC3clEvkCQowffGg==} + engines: {node: '>=14.0.0'} + + ethjs-unit@0.1.6: + resolution: {integrity: sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==} + engines: {node: '>=6.5.0', npm: '>=3'} + + ethjs-util@0.1.6: + resolution: {integrity: sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==} + engines: {node: '>=6.5.0', npm: '>=3'} + + events@1.1.1: + resolution: {integrity: sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==} + engines: {node: '>=0.4.x'} + + evm-bn@1.1.2: + resolution: {integrity: sha512-Lq8CT1EAjSeN+Yk0h1hpSwnZyMA4Xir6fQD4vlStljAuW2xr7qLOEGDLGsTa9sU2e40EYIumA4wYhMC/e+lyKw==} + peerDependencies: + '@ethersproject/bignumber': 5.x + + evp_bytestokey@1.0.3: + resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} + + execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + + exit@0.1.2: + resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} + engines: {node: '>= 0.8.0'} + + expect@29.7.0: + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + express@4.19.2: + resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==} + engines: {node: '>= 0.10.0'} + + external-editor@3.1.0: + resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} + engines: {node: '>=4'} + + extract-files@11.0.0: + resolution: {integrity: sha512-FuoE1qtbJ4bBVvv94CC7s0oTnKUGvQs+Rjf1L2SJFfS+HTVVjhPFtehPdQ0JiGPqVNfSSZvL5yzHHQq2Z4WNhQ==} + engines: {node: ^12.20 || >= 14.13} + + fast-decode-uri-component@1.0.1: + resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==} + + fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + + fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} + + fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + + fast-jwt@3.3.3: + resolution: {integrity: sha512-oS3P8bRI24oPLJUePt2OgF64FBQib5TlgHLFQxYNoHYEEZe0gU3cKjJAVqpB5XKV/zjxmq4Hzbk3fgfW/wRz8Q==} + engines: {node: '>=16 <22'} + + fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + + fast-querystring@1.1.2: + resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} + + fast-url-parser@1.1.3: + resolution: {integrity: sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==} + + fast-xml-parser@4.2.5: + resolution: {integrity: sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==} + hasBin: true + + fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + + fb-watchman@2.0.2: + resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + + fbjs-css-vars@1.0.2: + resolution: {integrity: sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==} + + fbjs@3.0.5: + resolution: {integrity: sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==} + + fetch-blob@3.2.0: + resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} + engines: {node: ^12.20 || >= 14.13} + + figures@3.2.0: + resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} + engines: {node: '>=8'} + + file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} + + filing-cabinet@4.2.0: + resolution: {integrity: sha512-YZ21ryzRcyqxpyKggdYSoXx//d3sCJzM3lsYoaeg/FyXdADGJrUl+BW1KIglaVLJN5BBcMtWylkygY8zBp2MrQ==} + engines: {node: '>=14'} + hasBin: true + + fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} + engines: {node: '>=8'} + + finalhandler@1.2.0: + resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} + engines: {node: '>= 0.8'} + + find-up@2.1.0: + resolution: {integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==} + engines: {node: '>=4'} + + find-up@3.0.0: + resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} + engines: {node: '>=6'} + + find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} + + find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} + + flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} + + flat@5.0.2: + resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} + hasBin: true + + flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + + follow-redirects@1.15.6: + resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true + + for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + + foreground-child@3.1.1: + resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + engines: {node: '>=14'} + + form-data@2.5.1: + resolution: {integrity: sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==} + engines: {node: '>= 0.12'} + + form-data@4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} + + formdata-polyfill@4.0.10: + resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} + engines: {node: '>=12.20.0'} + + forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + + fp-ts@1.19.3: + resolution: {integrity: sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==} + + fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + + fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + + from-exponential@1.1.1: + resolution: {integrity: sha512-VBE7f5OVnYwdgB3LHa+Qo29h8qVpxhVO9Trlc+AWm+/XNAgks1tAwMFHb33mjeiof77GglsJzeYF7OqXrROP/A==} + + fs-constants@1.0.0: + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + + fs-extra@0.30.0: + resolution: {integrity: sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA==} + + fs-extra@7.0.1: + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} + engines: {node: '>=6 <7 || >=8'} + + fs-extra@8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} + + fs-extra@9.1.0: + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + engines: {node: '>=10'} + + fs-readdir-recursive@1.1.0: + resolution: {integrity: sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==} + + fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} + + fsevents@2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + + function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + + function.prototype.name@1.1.6: + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + engines: {node: '>= 0.4'} + + functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + + generic-pool@3.9.0: + resolution: {integrity: sha512-hymDOu5B53XvN4QT9dBmZxPX4CWhBPPLguTZ9MMFeFa/Kg0xWVfylOVNlJji/E7yTZWFd/q9GO5TxDLq156D7g==} + engines: {node: '>= 4'} + + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-amd-module-type@5.0.1: + resolution: {integrity: sha512-jb65zDeHyDjFR1loOVk0HQGM5WNwoGB8aLWy3LKCieMKol0/ProHkhO2X1JxojuN10vbz1qNn09MJ7tNp7qMzw==} + engines: {node: '>=14'} + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + + get-func-name@2.0.2: + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} + + get-intrinsic@1.2.4: + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + engines: {node: '>= 0.4'} + + get-own-enumerable-property-symbols@3.0.2: + resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} + + get-package-type@0.1.0: + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} + + get-port@3.2.0: + resolution: {integrity: sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==} + engines: {node: '>=4'} + + get-port@6.1.2: + resolution: {integrity: sha512-BrGGraKm2uPqurfGVj/z97/zv8dPleC6x9JBNRTrDNtCkkRF4rPwrQXFgL7+I+q8QSdU4ntLQX2D7KIxSy8nGw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + get-stdin@9.0.0: + resolution: {integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==} + engines: {node: '>=12'} + + get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + + get-symbol-description@1.0.2: + resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} + engines: {node: '>= 0.4'} + + get-tsconfig@4.7.3: + resolution: {integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==} + + ghost-testrpc@0.0.2: + resolution: {integrity: sha512-i08dAEgJ2g8z5buJIrCTduwPIhih3DP+hOCTyyryikfV8T0bNvHnGXO67i0DD1H4GBDETTclPy9njZbfluQYrQ==} + hasBin: true + + git-diff@2.0.6: + resolution: {integrity: sha512-/Iu4prUrydE3Pb3lCBMbcSNIf81tgGt0W1ZwknnyF62t3tHmtiJTRj0f+1ZIhp3+Rh0ktz1pJVoa7ZXUCskivA==} + engines: {node: '>= 4.8.0'} + + git-hooks-list@3.1.0: + resolution: {integrity: sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA==} + + glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} + + glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} + + glob@10.3.12: + resolution: {integrity: sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==} + engines: {node: '>=16 || 14 >=14.17'} + hasBin: true + + glob@5.0.15: + resolution: {integrity: sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==} + + glob@7.2.0: + resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==} + + glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + + glob@8.1.0: + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} + + global-modules@2.0.0: + resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==} + engines: {node: '>=6'} + + global-prefix@3.0.0: + resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==} + engines: {node: '>=6'} + + globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + + globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} + + globalthis@1.0.3: + resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} + engines: {node: '>= 0.4'} + + globby@10.0.2: + resolution: {integrity: sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==} + engines: {node: '>=8'} + + globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} + + globby@13.2.2: + resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + gonzales-pe@4.3.0: + resolution: {integrity: sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==} + engines: {node: '>=0.6.0'} + hasBin: true + + gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + + graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + + graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + + graphql-config@5.0.3: + resolution: {integrity: sha512-BNGZaoxIBkv9yy6Y7omvsaBUHOzfFcII3UN++tpH8MGOKFPFkCPZuwx09ggANMt8FgyWP1Od8SWPmrUEZca4NQ==} + engines: {node: '>= 16.0.0'} + peerDependencies: + cosmiconfig-toml-loader: ^1.0.0 + graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + peerDependenciesMeta: + cosmiconfig-toml-loader: + optional: true + + graphql-request@6.1.0: + resolution: {integrity: sha512-p+XPfS4q7aIpKVcgmnZKhMNqhltk20hfXtkaIkTfjjmiKMJ5xrt5c743cL03y/K7y1rg3WrIC49xGiEQ4mxdNw==} + peerDependencies: + graphql: 14 - 16 + + graphql-tag@2.12.6: + resolution: {integrity: sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==} + engines: {node: '>=10'} + peerDependencies: + graphql: ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + + graphql-ws@5.16.0: + resolution: {integrity: sha512-Ju2RCU2dQMgSKtArPbEtsK5gNLnsQyTNIo/T7cZNp96niC1x0KdJNZV0TIoilceBPQwfb5itrGl8pkFeOUMl4A==} + engines: {node: '>=10'} + peerDependencies: + graphql: '>=0.11 <=16' + + graphql-yoga@3.9.1: + resolution: {integrity: sha512-BB6EkN64VBTXWmf9Kym2OsVZFzBC0mAsQNo9eNB5xIr3t+x7qepQ34xW5A353NWol3Js3xpzxwIKFVF6l9VsPg==} + peerDependencies: + graphql: ^15.2.0 || ^16.0.0 + + graphql@16.8.1: + resolution: {integrity: sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==} + engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} + + handlebars@4.7.8: + resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} + engines: {node: '>=0.4.7'} + hasBin: true + + hardhat-abi-exporter@2.10.1: + resolution: {integrity: sha512-X8GRxUTtebMAd2k4fcPyVnCdPa6dYK4lBsrwzKP5yiSq4i+WadWPIumaLfce53TUf/o2TnLpLOduyO1ylE2NHQ==} + engines: {node: '>=14.14.0'} + peerDependencies: + hardhat: ^2.0.0 + + hardhat-gas-reporter@1.0.10: + resolution: {integrity: sha512-02N4+So/fZrzJ88ci54GqwVA3Zrf0C9duuTyGt0CFRIh/CdNwbnTgkXkRfojOMLBQ+6t+lBIkgbsOtqMvNwikA==} + peerDependencies: + hardhat: ^2.0.2 + + hardhat@2.22.2: + resolution: {integrity: sha512-0xZ7MdCZ5sJem4MrvpQWLR3R3zGDoHw5lsR+pBFimqwagimIOn3bWuZv69KA+veXClwI1s/zpqgwPwiFrd4Dxw==} + hasBin: true + peerDependencies: + ts-node: '*' + typescript: '*' + peerDependenciesMeta: + ts-node: + optional: true + typescript: + optional: true + + has-bigints@1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + + has-flag@1.0.0: + resolution: {integrity: sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==} + engines: {node: '>=0.10.0'} + + has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + + has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} + + has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + + has-proto@1.0.3: + resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} + engines: {node: '>= 0.4'} + + has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + + hash-base@3.1.0: + resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} + engines: {node: '>=4'} + + hash-it@6.0.0: + resolution: {integrity: sha512-KHzmSFx1KwyMPw0kXeeUD752q/Kfbzhy6dAZrjXV9kAIXGqzGvv8vhkUqj+2MGZldTo0IBpw6v7iWE7uxsvH0w==} + + hash.js@1.1.7: + resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} + + hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} + + he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + + header-case@2.0.4: + resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} + + heap@0.2.7: + resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==} + + help-me@3.0.0: + resolution: {integrity: sha512-hx73jClhyk910sidBB7ERlnhMlFsJJIBqSVMFDwPN8o2v9nmp5KgLq1Xz1Bf1fCMMZ6mPrX159iG0VLy/fPMtQ==} + + hmac-drbg@1.0.1: + resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} + + hosted-git-info@2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + + html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + + http-basic@8.1.3: + resolution: {integrity: sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==} + engines: {node: '>=6.0.0'} + + http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} + + http-proxy-agent@7.0.2: + resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} + engines: {node: '>= 14'} + + http-response-object@3.0.2: + resolution: {integrity: sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==} + + https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} + + https-proxy-agent@7.0.4: + resolution: {integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==} + engines: {node: '>= 14'} + + human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + + iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} + + ieee754@1.1.13: + resolution: {integrity: sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==} + + ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} + + ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} + + immer@9.0.21: + resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==} + + immutable@3.7.6: + resolution: {integrity: sha512-AizQPcaofEtO11RZhPPHBOJRdo/20MKQF9mBLnVkBoyHi1/zXK8fzVdnEpSV9gxqtnh6Qomfp3F0xT5qP/vThw==} + engines: {node: '>=0.8.0'} + + immutable@4.3.5: + resolution: {integrity: sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==} + + import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} + + import-from@4.0.0: + resolution: {integrity: sha512-P9J71vT5nLlDeV8FHs5nNxaLbrpfAV5cF5srvbZfpwpcJoM/xZR3hiv+q+SAnuSmuGbXMWud063iIMx/V/EWZQ==} + engines: {node: '>=12.2'} + + import-local@3.1.0: + resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} + engines: {node: '>=8'} + hasBin: true + + imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + + indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + + indent-string@5.0.0: + resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} + engines: {node: '>=12'} + + inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + + inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + + ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + + ink-spinner@5.0.0: + resolution: {integrity: sha512-EYEasbEjkqLGyPOUc8hBJZNuC5GvXGMLu0w5gdTNskPc7Izc5vO3tdQEYnzvshucyGCBXc86ig0ujXPMWaQCdA==} + engines: {node: '>=14.16'} + peerDependencies: + ink: '>=4.0.0' + react: '>=18.0.0' + + ink@4.4.1: + resolution: {integrity: sha512-rXckvqPBB0Krifk5rn/5LvQGmyXwCUpBfmTwbkQNBY9JY8RSl3b8OftBNEYxg4+SWUhEKcPifgope28uL9inlA==} + engines: {node: '>=14.16'} + peerDependencies: + '@types/react': '>=18.0.0' + react: '>=18.0.0' + react-devtools-core: ^4.19.1 + peerDependenciesMeta: + '@types/react': + optional: true + react-devtools-core: + optional: true + + inquirer@8.2.6: + resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==} + engines: {node: '>=12.0.0'} + + internal-slot@1.0.7: + resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} + engines: {node: '>= 0.4'} + + interpret@1.4.0: + resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} + engines: {node: '>= 0.10'} + + invariant@2.2.4: + resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} + + io-ts@1.10.4: + resolution: {integrity: sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==} + + ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + + is-absolute@1.0.0: + resolution: {integrity: sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==} + engines: {node: '>=0.10.0'} + + is-arguments@1.1.1: + resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} + engines: {node: '>= 0.4'} + + is-array-buffer@3.0.4: + resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} + engines: {node: '>= 0.4'} + + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + + is-async-function@2.0.0: + resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} + engines: {node: '>= 0.4'} + + is-bigint@1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + + is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} + + is-boolean-object@1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} + + is-builtin-module@3.2.1: + resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} + engines: {node: '>=6'} + + is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + + is-ci@3.0.1: + resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} + hasBin: true + + is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + + is-data-view@1.0.1: + resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} + engines: {node: '>= 0.4'} + + is-date-object@1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} + + is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + + is-finalizationregistry@1.0.2: + resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} + + is-fullwidth-code-point@2.0.0: + resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==} + engines: {node: '>=4'} + + is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} + + is-fullwidth-code-point@4.0.0: + resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} + engines: {node: '>=12'} + + is-generator-fn@2.1.0: + resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} + engines: {node: '>=6'} + + is-generator-function@1.0.10: + resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} + engines: {node: '>= 0.4'} + + is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} + + is-hex-prefixed@1.0.0: + resolution: {integrity: sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==} + engines: {node: '>=6.5.0', npm: '>=3'} + + is-interactive@1.0.0: + resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} + engines: {node: '>=8'} + + is-interactive@2.0.0: + resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} + engines: {node: '>=12'} + + is-lower-case@2.0.2: + resolution: {integrity: sha512-bVcMJy4X5Og6VZfdOZstSexlEy20Sr0k/p/b2IlQJlfdKAQuMpiv5w2Ccxb8sKdRUNAG1PnHVHjFSdRDVS6NlQ==} + + is-map@2.0.3: + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} + engines: {node: '>= 0.4'} + + is-negative-zero@2.0.3: + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} + engines: {node: '>= 0.4'} + + is-number-object@1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} + + is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + + is-obj@1.0.1: + resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} + engines: {node: '>=0.10.0'} + + is-obj@2.0.0: + resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} + engines: {node: '>=8'} + + is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + + is-plain-obj@2.1.0: + resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} + engines: {node: '>=8'} + + is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + + is-regex@1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} + + is-regexp@1.0.0: + resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} + engines: {node: '>=0.10.0'} + + is-relative-path@1.0.2: + resolution: {integrity: sha512-i1h+y50g+0hRbBD+dbnInl3JlJ702aar58snAeX+MxBAPvzXGej7sYoPMhlnykabt0ZzCJNBEyzMlekuQZN7fA==} + + is-relative@1.0.0: + resolution: {integrity: sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==} + engines: {node: '>=0.10.0'} + + is-set@2.0.3: + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} + engines: {node: '>= 0.4'} + + is-shared-array-buffer@1.0.3: + resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} + engines: {node: '>= 0.4'} + + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + + is-string@1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} + + is-symbol@1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} + + is-typed-array@1.1.13: + resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} + engines: {node: '>= 0.4'} + + is-unc-path@1.0.0: + resolution: {integrity: sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==} + engines: {node: '>=0.10.0'} + + is-unicode-supported@0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + + is-unicode-supported@1.3.0: + resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} + engines: {node: '>=12'} + + is-upper-case@2.0.2: + resolution: {integrity: sha512-44pxmxAvnnAOwBg4tHPnkfvgjPwbc5QIsSstNU+YcJ1ovxVzCWpSGosPJOZh/a1tdl81fbgnLc9LLv+x2ywbPQ==} + + is-url-superb@4.0.0: + resolution: {integrity: sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA==} + engines: {node: '>=10'} + + is-url@1.2.4: + resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} + + is-weakmap@2.0.2: + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} + engines: {node: '>= 0.4'} + + is-weakref@1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + + is-weakset@2.0.3: + resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} + engines: {node: '>= 0.4'} + + is-what@4.1.16: + resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} + engines: {node: '>=12.13'} + + is-windows@1.0.2: + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} + + isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + + isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + + isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + + isomorphic-ws@4.0.1: + resolution: {integrity: sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==} + peerDependencies: + ws: '*' + + isomorphic-ws@5.0.0: + resolution: {integrity: sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==} + peerDependencies: + ws: '*' + + isows@1.0.3: + resolution: {integrity: sha512-2cKei4vlmg2cxEjm3wVSqn8pcoRF/LX/wpifuuNquFO4SQmPwarClT+SUCA2lt+l581tTeZIPIZuIDo2jWN1fg==} + peerDependencies: + ws: '*' + + istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} + + istanbul-lib-instrument@5.2.1: + resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} + engines: {node: '>=8'} + + istanbul-lib-instrument@6.0.2: + resolution: {integrity: sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==} + engines: {node: '>=10'} + + istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} + + istanbul-lib-source-maps@4.0.1: + resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + engines: {node: '>=10'} + + istanbul-reports@3.1.7: + resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} + engines: {node: '>=8'} + + iterator.prototype@1.1.2: + resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} + + jackspeak@2.3.6: + resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} + engines: {node: '>=14'} + + javascript-natural-sort@0.7.1: + resolution: {integrity: sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==} + + jest-changed-files@29.7.0: + resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-circus@29.7.0: + resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-cli@29.7.0: + resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + jest-config@29.7.0: + resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@types/node': '*' + ts-node: '>=9.0.0' + peerDependenciesMeta: + '@types/node': + optional: true + ts-node: + optional: true + + jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-docblock@29.7.0: + resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-each@29.7.0: + resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-environment-node@29.7.0: + resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-expect-message@1.1.3: + resolution: {integrity: sha512-bTK77T4P+zto+XepAX3low8XVQxDgaEqh3jSTQOG8qvPpD69LsIdyJTa+RmnJh3HNSzJng62/44RPPc7OIlFxg==} + + jest-extended@4.0.2: + resolution: {integrity: sha512-FH7aaPgtGYHc9mRjriS0ZEHYM5/W69tLrFTIdzm+yJgeoCmmrSB/luSfMSqWP9O29QWHPEmJ4qmU6EwsZideog==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + jest: '>=27.2.5' + peerDependenciesMeta: + jest: + optional: true + + jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-haste-map@29.7.0: + resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-leak-detector@29.7.0: + resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-matcher-utils@29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-mock@29.7.0: + resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-pnp-resolver@1.2.3: + resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} + engines: {node: '>=6'} + peerDependencies: + jest-resolve: '*' + peerDependenciesMeta: + jest-resolve: + optional: true + + jest-regex-util@29.6.3: + resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-resolve-dependencies@29.7.0: + resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-resolve@29.7.0: + resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-runner@29.7.0: + resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-runtime@29.7.0: + resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-snapshot@29.7.0: + resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-validate@29.7.0: + resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-watcher@29.7.0: + resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest-worker@29.7.0: + resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + jest@29.7.0: + resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + jiti@1.21.0: + resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} + hasBin: true + + jju@1.4.0: + resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} + + jmespath@0.16.0: + resolution: {integrity: sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==} + engines: {node: '>= 0.6.0'} + + jose@4.15.5: + resolution: {integrity: sha512-jc7BFxgKPKi94uOvEmzlSWFFe2+vASyXaKUpdQKatWAESU2MWjDfFf0fdfc83CDKcA5QecabZeNLyfhe3yKNkg==} + + jose@5.2.4: + resolution: {integrity: sha512-6ScbIk2WWCeXkmzF6bRPmEuaqy1m8SbsRFMa/FLrSCkGIhj8OLVG/IH+XHVmNMx/KUo8cVWEE6oKR4dJ+S0Rkg==} + + js-sdsl@4.3.0: + resolution: {integrity: sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==} + + js-sha3@0.8.0: + resolution: {integrity: sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + + js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true + + js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true + + jsesc@0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + hasBin: true + + jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + + jsesc@3.0.2: + resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} + engines: {node: '>=6'} + hasBin: true + + json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + + json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + + json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + + json-schema-typed@7.0.3: + resolution: {integrity: sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A==} + + json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + + json-stable-stringify@1.1.1: + resolution: {integrity: sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg==} + engines: {node: '>= 0.4'} + + json-to-pretty-yaml@1.2.2: + resolution: {integrity: sha512-rvm6hunfCcqegwYaG5T4yKJWxc9FXFgBVrcTZ4XfSVRwa5HA/Xs+vB/Eo9treYYHCeNM0nrSUr82V/M31Urc7A==} + engines: {node: '>= 0.2.0'} + + json5@1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true + + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + + jsonfile@2.4.0: + resolution: {integrity: sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==} + + jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + + jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + + jsonify@0.0.1: + resolution: {integrity: sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==} + + jsonschema@1.4.1: + resolution: {integrity: sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ==} + + jsx-ast-utils@3.3.5: + resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} + engines: {node: '>=4.0'} + + just-memoize@2.2.0: + resolution: {integrity: sha512-zriv+MY+61RXT0QsrO1ZJtL5umouqqSWmCGBkp2wJm35kniunBAA4qhUKx8Lvg/QcwrF9xuw9E6PkevKFf4boQ==} + + keccak@3.0.4: + resolution: {integrity: sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==} + engines: {node: '>=10.0.0'} + + keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + + kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + + klaw@1.3.1: + resolution: {integrity: sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==} + + kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + + kysely-codegen@0.10.1: + resolution: {integrity: sha512-8Bslh952gN5gtucRv4jTZDFD18RBioS6M50zHfe5kwb5iSyEAunU4ZYMdHzkHraa4zxjg5/183XlOryBCXLRIw==} + hasBin: true + peerDependencies: + better-sqlite3: '>=7.6.2' + kysely: '>=0.19.12' + mysql2: ^2.3.3 || ^3.0.0 + pg: ^8.8.0 + peerDependenciesMeta: + better-sqlite3: + optional: true + mysql2: + optional: true + pg: + optional: true + + kysely-codegen@0.15.0: + resolution: {integrity: sha512-LPta2nQOyoEPDQ3w/Gsplc+2iyZPAsGvtWoS21VzOB0NDQ0B38Xy1gS8WlbGef542Zdw2eLJHxekud9DzVdNRw==} + hasBin: true + peerDependencies: + '@libsql/kysely-libsql': ^0.3.0 + '@tediousjs/connection-string': ^0.5.0 + better-sqlite3: '>=7.6.2' + kysely: ^0.27.0 + kysely-bun-worker: ^0.5.3 + mysql2: ^2.3.3 || ^3.0.0 + pg: ^8.8.0 + tarn: ^3.0.0 + tedious: ^16.6.0 || ^17.0.0 + peerDependenciesMeta: + '@libsql/kysely-libsql': + optional: true + '@tediousjs/connection-string': + optional: true + better-sqlite3: + optional: true + kysely-bun-worker: + optional: true + mysql2: + optional: true + pg: + optional: true + tarn: + optional: true + tedious: + optional: true + + kysely-data-api@0.2.1: + resolution: {integrity: sha512-KmASvF1gmjVqyU9WOUXhCQlv29ofR+xc2DhjaIomz1+Bjd/VtR2/3g4ZuXwG1L4lWGKxMuo5iOvK3XyPbB4LdQ==} + peerDependencies: + '@aws-sdk/client-rds-data': 3.x + kysely: 0.x + + kysely-postgres-js@2.0.0: + resolution: {integrity: sha512-R1tWx6/x3tSatWvsmbHJxpBZYhNNxcnMw52QzZaHKg7ZOWtHib4iZyEaw4gb2hNKVctWQ3jfMxZT/ZaEMK6kBQ==} + peerDependencies: + kysely: '>= 0.24.0 < 1' + postgres: '>= 3.4.0 < 4' + + kysely@0.25.0: + resolution: {integrity: sha512-srn0efIMu5IoEBk0tBmtGnoUss4uwvxtbFQWG/U2MosfqIace1l43IFP1PmEpHRDp+Z79xIcKEqmHH3dAvQdQA==} + engines: {node: '>=14.0.0'} + + kysely@0.27.3: + resolution: {integrity: sha512-lG03Ru+XyOJFsjH3OMY6R/9U38IjDPfnOfDgO3ynhbDr+Dz8fak+X6L62vqu3iybQnj+lG84OttBuU9KY3L9kA==} + engines: {node: '>=14.0.0'} + + language-subtag-registry@0.3.22: + resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} + + language-tags@1.0.9: + resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} + engines: {node: '>=0.10'} + + lazystream@1.0.1: + resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} + engines: {node: '>= 0.6.3'} + + leven@2.1.0: + resolution: {integrity: sha512-nvVPLpIHUxCUoRLrFqTgSxXJ614d8AgQoWl7zPe/2VadE8+1dpU3LBhowRuBAcuwruWtOdD8oYC9jDNJjXDPyA==} + engines: {node: '>=0.10.0'} + + leven@3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + + levn@0.3.0: + resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} + engines: {node: '>= 0.8.0'} + + levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} + + lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + + listr2@4.0.5: + resolution: {integrity: sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==} + engines: {node: '>=12'} + peerDependencies: + enquirer: '>= 2.3.0 < 3' + peerDependenciesMeta: + enquirer: + optional: true + + locate-path@2.0.0: + resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} + engines: {node: '>=4'} + + locate-path@3.0.0: + resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} + engines: {node: '>=6'} + + locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} + + locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} + + lodash.clonedeep@4.5.0: + resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==} + + lodash.defaults@4.2.0: + resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} + + lodash.difference@4.5.0: + resolution: {integrity: sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==} + + lodash.flatten@4.4.0: + resolution: {integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==} + + lodash.isplainobject@4.0.6: + resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} + + lodash.memoize@4.1.2: + resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} + + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + + lodash.sortby@4.7.0: + resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} + + lodash.truncate@4.4.2: + resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} + + lodash.union@4.6.0: + resolution: {integrity: sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==} + + lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + + log-symbols@4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} + + log-symbols@5.1.0: + resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==} + engines: {node: '>=12'} + + log-update@4.0.0: + resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} + engines: {node: '>=10'} + + loglevel@1.9.1: + resolution: {integrity: sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==} + engines: {node: '>= 0.6.0'} + + loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + + loupe@2.3.7: + resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + + lower-case-first@2.0.2: + resolution: {integrity: sha512-EVm/rR94FJTZi3zefZ82fLWab+GX14LJN4HrWBcuo6Evmsl9hEfnqxgcHCKb9q+mNf6EVdsjx/qucYFIIB84pg==} + + lower-case@2.0.2: + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + + lru-cache@10.2.0: + resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} + engines: {node: 14 || >=16.14} + + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + + lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} + + lru-cache@7.18.3: + resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} + engines: {node: '>=12'} + + lru_map@0.3.3: + resolution: {integrity: sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==} + + madge@7.0.0: + resolution: {integrity: sha512-x9eHkBWoCJ2B8yGesWf8LRucarkbH5P3lazqgvmxe4xn5U2Meyfu906iG9mBB1RnY/f4D+gtELWdiz1k6+jAZA==} + engines: {node: '>=14'} + hasBin: true + peerDependencies: + typescript: ^3.9.5 || ^4.9.5 || ^5 + peerDependenciesMeta: + typescript: + optional: true + + make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} + + make-error@1.3.6: + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + + makeerror@1.0.12: + resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + + map-cache@0.2.2: + resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} + engines: {node: '>=0.10.0'} + + markdown-table@1.1.3: + resolution: {integrity: sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==} + + mathjs@10.6.4: + resolution: {integrity: sha512-omQyvRE1jIy+3k2qsqkWASOcd45aZguXZDckr3HtnTYyXk5+2xpVfC3kATgbO2Srjxlqww3TVdhD0oUdZ/hiFA==} + engines: {node: '>= 14'} + hasBin: true + + md5.js@1.3.5: + resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} + + media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + + memorystream@0.3.1: + resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} + engines: {node: '>= 0.10.0'} + + merge-descriptors@1.0.1: + resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} + + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + + merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + + meros@1.3.0: + resolution: {integrity: sha512-2BNGOimxEz5hmjUG2FwoxCt5HN7BXdaWyFqEwxPTrJzVdABtrL4TiHTcsWSFAxPQ/tOnEaQEJh3qWq71QRMY+w==} + engines: {node: '>=13'} + peerDependencies: + '@types/node': '>=13' + peerDependenciesMeta: + '@types/node': + optional: true + + methods@1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} + + micro-ftch@0.3.1: + resolution: {integrity: sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==} + + micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} + engines: {node: '>=8.6'} + + mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} + + mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} + + mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + + mime@2.6.0: + resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} + engines: {node: '>=4.0.0'} + hasBin: true + + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + + mimic-fn@3.1.0: + resolution: {integrity: sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==} + engines: {node: '>=8'} + + min-indent@1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + + minimalistic-assert@1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + + minimalistic-crypto-utils@1.0.1: + resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} + + minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + + minimatch@4.2.3: + resolution: {integrity: sha512-lIUdtK5hdofgCTu3aT0sOaHsYR37viUuIc0rwnnDXImbwFRcumyLMeZaM0t0I/fgxS6s6JMfu0rLD1Wz9pv1ng==} + engines: {node: '>=10'} + + minimatch@5.0.1: + resolution: {integrity: sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==} + engines: {node: '>=10'} + + minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} + + minimatch@6.2.0: + resolution: {integrity: sha512-sauLxniAmvnhhRjFwPNnJKaPFYyddAgbYdeUpHULtCT/GhzdCx/MDNy+Y40lBxTQUrMzDE8e0S43Z5uqfO0REg==} + engines: {node: '>=10'} + + minimatch@9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} + + minimatch@9.0.4: + resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + engines: {node: '>=16 || 14 >=14.17'} + + minimist@1.2.6: + resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==} + + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + + minipass@7.0.4: + resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} + engines: {node: '>=16 || 14 >=14.17'} + + mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + + mnemonist@0.38.5: + resolution: {integrity: sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==} + + mnemonist@0.39.8: + resolution: {integrity: sha512-vyWo2K3fjrUw8YeeZ1zF0fy6Mu59RHokURlld8ymdUPjMlD9EC9ov1/YPqTgqRvUN9nTr3Gqfz29LYAmu0PHPQ==} + + mocha@10.4.0: + resolution: {integrity: sha512-eqhGB8JKapEYcC4ytX/xrzKforgEc3j1pGlAXVy3eRwrtAy5/nIfT1SvgGzfN0XZZxeLq0aQWkOUAmqIJiv+bA==} + engines: {node: '>= 14.0.0'} + hasBin: true + + module-definition@5.0.1: + resolution: {integrity: sha512-kvw3B4G19IXk+BOXnYq/D/VeO9qfHaapMeuS7w7sNUqmGaA6hywdFHMi+VWeR9wUScXM7XjoryTffCZ5B0/8IA==} + engines: {node: '>=14'} + hasBin: true + + module-lookup-amd@8.0.5: + resolution: {integrity: sha512-vc3rYLjDo5Frjox8NZpiyLXsNWJ5BWshztc/5KSOMzpg9k5cHH652YsJ7VKKmtM4SvaxuE9RkrYGhiSjH3Ehow==} + engines: {node: '>=14'} + hasBin: true + + mqtt-packet@6.10.0: + resolution: {integrity: sha512-ja8+mFKIHdB1Tpl6vac+sktqy3gA8t9Mduom1BA75cI+R9AHnZOiaBQwpGiWnaVJLDGRdNhQmFaAqd7tkKSMGA==} + + mqtt@4.2.8: + resolution: {integrity: sha512-DJYjlXODVXtSDecN8jnNzi6ItX3+ufGsEs9OB3YV24HtkRrh7kpx8L5M1LuyF0KzaiGtWr2PzDcMGAY60KGOSA==} + engines: {node: '>=10.0.0'} + hasBin: true + + mqtt@4.3.8: + resolution: {integrity: sha512-2xT75uYa0kiPEF/PE0VPdavmEkoBzMT/UL9moid0rAvlCtV48qBwxD62m7Ld/4j8tSkIO1E/iqRl/S72SEOhOw==} + engines: {node: '>=10.0.0'} + hasBin: true + + ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + + ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} + + ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + + mute-stream@0.0.8: + resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} + + mute-stream@1.0.0: + resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + mylas@2.1.13: + resolution: {integrity: sha512-+MrqnJRtxdF+xngFfUUkIMQrUUL0KsxbADUkn23Z/4ibGg192Q+z+CQyiYwvWTsYjJygmMR8+w3ZDa98Zh6ESg==} + engines: {node: '>=12.0.0'} + + nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + + natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + + negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + + neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + + no-case@3.0.4: + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + + node-addon-api@2.0.2: + resolution: {integrity: sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==} + + node-domexception@1.0.0: + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} + + node-emoji@1.11.0: + resolution: {integrity: sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==} + + node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true + + node-fetch@3.3.2: + resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + node-gyp-build@4.8.0: + resolution: {integrity: sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==} + hasBin: true + + node-int64@0.4.0: + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + + node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + + node-source-walk@6.0.2: + resolution: {integrity: sha512-jn9vOIK/nfqoFCcpK89/VCVaLg1IHE6UVfDOzvqmANaJ/rWCTEdH8RZ1V278nv2jr36BJdyQXIAavBLXpzdlag==} + engines: {node: '>=14'} + + nofilter@3.1.0: + resolution: {integrity: sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==} + engines: {node: '>=12.19'} + + nopt@3.0.6: + resolution: {integrity: sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg==} + hasBin: true + + normalize-package-data@2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + + normalize-path@2.1.1: + resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} + engines: {node: '>=0.10.0'} + + normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + + nullthrows@1.1.1: + resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==} + + number-allocator@1.0.14: + resolution: {integrity: sha512-OrL44UTVAvkKdOdRQZIJpLkAdjXGTRda052sN4sO77bKEzYYqWKMBjQvrJFzqygI99gL6Z4u2xctPW1tB8ErvA==} + + number-to-bn@1.7.0: + resolution: {integrity: sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==} + engines: {node: '>=6.5.0', npm: '>=3'} + + object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + + object-hash@2.2.0: + resolution: {integrity: sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==} + engines: {node: '>= 6'} + + object-inspect@1.13.1: + resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + + object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + + object.assign@4.1.5: + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} + engines: {node: '>= 0.4'} + + object.entries@1.1.8: + resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==} + engines: {node: '>= 0.4'} + + object.fromentries@2.0.8: + resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} + engines: {node: '>= 0.4'} + + object.groupby@1.0.3: + resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} + engines: {node: '>= 0.4'} + + object.hasown@1.1.4: + resolution: {integrity: sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==} + engines: {node: '>= 0.4'} + + object.values@1.2.0: + resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} + engines: {node: '>= 0.4'} + + obliterator@2.0.4: + resolution: {integrity: sha512-lgHwxlxV1qIg1Eap7LgIeoBWIMFibOjbrYPIPJZcI1mmGAI2m3lNYpK12Y+GBdPQ0U1hRwSord7GIaawz962qQ==} + + obuf@1.1.2: + resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + + oidc-token-hash@5.0.3: + resolution: {integrity: sha512-IF4PcGgzAr6XXSff26Sk/+P4KZFJVuHAJZj3wgO3vX2bMdNVp/QXTP3P7CEm9V1IdG8lDLY3HhiqpsE/nOwpPw==} + engines: {node: ^10.13.0 || >=12.0.0} + + on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} + + once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + + openid-client@5.6.5: + resolution: {integrity: sha512-5P4qO9nGJzB5PI0LFlhj4Dzg3m4odt0qsJTfyEtZyOlkgpILwEioOhVVJOrS1iVH494S4Ee5OCjjg6Bf5WOj3w==} + + optionator@0.8.3: + resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} + engines: {node: '>= 0.8.0'} + + optionator@0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} + engines: {node: '>= 0.8.0'} + + ora@5.4.1: + resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} + engines: {node: '>=10'} + + ora@6.3.1: + resolution: {integrity: sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + os-tmpdir@1.0.2: + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} + + p-limit@1.3.0: + resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} + engines: {node: '>=4'} + + p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} + + p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} + + p-locate@2.0.0: + resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==} + engines: {node: '>=4'} + + p-locate@3.0.0: + resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} + engines: {node: '>=6'} + + p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} + + p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} + + p-map@4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} + + p-try@1.0.0: + resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==} + engines: {node: '>=4'} + + p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + + param-case@3.0.4: + resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} + + parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} + + parse-cache-control@1.0.1: + resolution: {integrity: sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==} + + parse-filepath@1.0.2: + resolution: {integrity: sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==} + engines: {node: '>=0.8'} + + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + + parse-ms@2.1.0: + resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} + engines: {node: '>=6'} + + parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + + pascal-case@3.1.2: + resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + + patch-console@2.0.0: + resolution: {integrity: sha512-0YNdUceMdaQwoKce1gatDScmMo5pu/tfABfnzEqeG0gtTmd7mh/WcwgUjtAeOU7N8nFFlbQBnFK2gXW5fGvmMA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + path-case@3.0.4: + resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==} + + path-exists@3.0.0: + resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} + engines: {node: '>=4'} + + path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + + path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} + + path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + + path-root-regex@0.1.2: + resolution: {integrity: sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==} + engines: {node: '>=0.10.0'} + + path-root@0.1.1: + resolution: {integrity: sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==} + engines: {node: '>=0.10.0'} + + path-scurry@1.10.2: + resolution: {integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==} + engines: {node: '>=16 || 14 >=14.17'} + + path-starts-with@2.0.1: + resolution: {integrity: sha512-wZ3AeiRBRlNwkdUxvBANh0+esnt38DLffHDujZyRHkqkaKHTglnY2EP5UX3b8rdeiSutgO4y9NEJwXezNP5vHg==} + engines: {node: '>=8'} + + path-to-regexp@0.1.7: + resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} + + path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + + pathval@1.1.1: + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + + pbkdf2@3.1.2: + resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} + engines: {node: '>=0.12'} + + pg-cloudflare@1.1.1: + resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} + + pg-connection-string@2.6.4: + resolution: {integrity: sha512-v+Z7W/0EO707aNMaAEfiGnGL9sxxumwLl2fJvCQtMn9Fxsg+lPpPkdcyBSv/KFgpGdYkMfn+EI1Or2EHjpgLCA==} + + pg-int8@1.0.1: + resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} + engines: {node: '>=4.0.0'} + + pg-numeric@1.0.2: + resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==} + engines: {node: '>=4'} + + pg-pool@3.6.2: + resolution: {integrity: sha512-Htjbg8BlwXqSBQ9V8Vjtc+vzf/6fVUuak/3/XXKA9oxZprwW3IMDQTGHP+KDmVL7rtd+R1QjbnCFPuTHm3G4hg==} + peerDependencies: + pg: '>=8.0' + + pg-protocol@1.6.1: + resolution: {integrity: sha512-jPIlvgoD63hrEuihvIg+tJhoGjUsLPn6poJY9N5CnlPd91c2T18T/9zBtLxZSb1EhYxBRoZJtzScCaWlYLtktg==} + + pg-types@2.2.0: + resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} + engines: {node: '>=4'} + + pg-types@4.0.2: + resolution: {integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==} + engines: {node: '>=10'} + + pg@8.11.5: + resolution: {integrity: sha512-jqgNHSKL5cbDjFlHyYsCXmQDrfIX/3RsNwYqpd4N0Kt8niLuNoRNH+aazv6cOd43gPh9Y4DjQCtb+X0MH0Hvnw==} + engines: {node: '>= 8.0.0'} + peerDependencies: + pg-native: '>=3.0.1' + peerDependenciesMeta: + pg-native: + optional: true + + pgpass@1.0.5: + resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} + + picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} + + picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + + pify@4.0.1: + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} + + pirates@4.0.6: + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + engines: {node: '>= 6'} + + pkg-dir@4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + + pkg-up@3.1.0: + resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} + engines: {node: '>=8'} + + plimit-lit@1.6.1: + resolution: {integrity: sha512-B7+VDyb8Tl6oMJT9oSO2CW8XC/T4UcJGrwOVoNGwOQsQYhlpfajmrMj5xeejqaASq3V/EqThyOeATEOMuSEXiA==} + engines: {node: '>=12'} + + pluralize@8.0.0: + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} + engines: {node: '>=4'} + + possible-typed-array-names@1.0.0: + resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} + engines: {node: '>= 0.4'} + + postcss-values-parser@6.0.2: + resolution: {integrity: sha512-YLJpK0N1brcNJrs9WatuJFtHaV9q5aAOj+S4DI5S7jgHlRfm0PIbDCAFRYMQD5SHq7Fy6xsDhyutgS0QOAs0qw==} + engines: {node: '>=10'} + peerDependencies: + postcss: ^8.2.9 + + postcss@8.4.38: + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + engines: {node: ^10 || ^12 || >=14} + + postgres-array@2.0.0: + resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} + engines: {node: '>=4'} + + postgres-array@3.0.2: + resolution: {integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==} + engines: {node: '>=12'} + + postgres-bytea@1.0.0: + resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} + engines: {node: '>=0.10.0'} + + postgres-bytea@3.0.0: + resolution: {integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==} + engines: {node: '>= 6'} + + postgres-date@1.0.7: + resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} + engines: {node: '>=0.10.0'} + + postgres-date@2.1.0: + resolution: {integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==} + engines: {node: '>=12'} + + postgres-interval@1.2.0: + resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} + engines: {node: '>=0.10.0'} + + postgres-interval@3.0.0: + resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==} + engines: {node: '>=12'} + + postgres-range@1.1.4: + resolution: {integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==} + + postgres@3.4.4: + resolution: {integrity: sha512-IbyN+9KslkqcXa8AO9fxpk97PA4pzewvpi2B3Dwy9u4zpV32QicaEdgmF3eSQUzdRk7ttDHQejNgAEr4XoeH4A==} + engines: {node: '>=12'} + + precinct@11.0.5: + resolution: {integrity: sha512-oHSWLC8cL/0znFhvln26D14KfCQFFn4KOLSw6hmLhd+LQ2SKt9Ljm89but76Pc7flM9Ty1TnXyrA2u16MfRV3w==} + engines: {node: ^14.14.0 || >=16.0.0} + hasBin: true + + prelude-ls@1.1.2: + resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} + engines: {node: '>= 0.8.0'} + + prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + + prettier-plugin-packagejson@2.5.0: + resolution: {integrity: sha512-6XkH3rpin5QEQodBSVNg+rBo4r91g/1mCaRwS1YGdQJZ6jwqrg2UchBsIG9tpS1yK1kNBvOt84OILsX8uHzBGg==} + peerDependencies: + prettier: '>= 1.16.0' + peerDependenciesMeta: + prettier: + optional: true + + prettier@3.2.5: + resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} + engines: {node: '>=14'} + hasBin: true + + pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + + pretty-ms@7.0.1: + resolution: {integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==} + engines: {node: '>=10'} + + process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + + process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} + + promise@7.3.1: + resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==} + + promise@8.3.0: + resolution: {integrity: sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==} + + promptly@3.2.0: + resolution: {integrity: sha512-WnR9obtgW+rG4oUV3hSnNGl1pHm3V1H/qD9iJBumGSmVsSC5HpZOLuu8qdMb6yCItGfT7dcRszejr/5P3i9Pug==} + + prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} + + prop-types@15.8.1: + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + + proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} + + proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + + pump@3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + + punycode@1.3.2: + resolution: {integrity: sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==} + + punycode@1.4.1: + resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} + + punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + + pure-rand@6.1.0: + resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} + + pvtsutils@1.3.5: + resolution: {integrity: sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA==} + + pvutils@1.1.3: + resolution: {integrity: sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==} + engines: {node: '>=6.0.0'} + + qs@6.11.0: + resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} + engines: {node: '>=0.6'} + + qs@6.12.1: + resolution: {integrity: sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==} + engines: {node: '>=0.6'} + + querystring@0.2.0: + resolution: {integrity: sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==} + engines: {node: '>=0.4.x'} + deprecated: The querystring API is considered Legacy. new code should use the URLSearchParams API instead. + + queue-lit@1.5.2: + resolution: {integrity: sha512-tLc36IOPeMAubu8BkW8YDBV+WyIgKlYU7zUNs0J5Vk9skSZ4JfGlPOqplP0aHdfv7HL0B2Pg6nwiq60Qc6M2Hw==} + engines: {node: '>=12'} + + queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + + quote-unquote@1.0.0: + resolution: {integrity: sha512-twwRO/ilhlG/FIgYeKGFqyHhoEhqgnKVkcmqMKi2r524gz3ZbDTcyFt38E9xjJI2vT+KbRNHVbnJ/e0I25Azwg==} + + randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + + range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + + raw-body@2.5.2: + resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} + engines: {node: '>= 0.8'} + + rc@1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true + + react-is@16.13.1: + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + + react-is@18.2.0: + resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} + + react-reconciler@0.29.0: + resolution: {integrity: sha512-wa0fGj7Zht1EYMRhKWwoo1H9GApxYLBuhoAuXN0TlltESAjDssB+Apf0T/DngVqaMyPypDmabL37vw/2aRM98Q==} + engines: {node: '>=0.10.0'} + peerDependencies: + react: ^18.2.0 + + react@18.2.0: + resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} + engines: {node: '>=0.10.0'} + + read-pkg-up@7.0.1: + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} + + read-pkg@5.2.0: + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} + + read@1.0.7: + resolution: {integrity: sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ==} + engines: {node: '>=0.8'} + + readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + + readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} + + readdir-glob@1.1.3: + resolution: {integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==} + + readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} + + rechoir@0.6.2: + resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} + engines: {node: '>= 0.10'} + + recursive-readdir@2.2.3: + resolution: {integrity: sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==} + engines: {node: '>=6.0.0'} + + redis@4.6.13: + resolution: {integrity: sha512-MHgkS4B+sPjCXpf+HfdetBwbRz6vCtsceTmw1pHNYJAsYxrfpOP6dz+piJWGos8wqG7qb3vj/Rrc5qOlmInUuA==} + + reflect.getprototypeof@1.0.6: + resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==} + engines: {node: '>= 0.4'} + + regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + + regexp-tree@0.1.27: + resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} + hasBin: true + + regexp.prototype.flags@1.5.2: + resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} + engines: {node: '>= 0.4'} + + regjsparser@0.10.0: + resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} + hasBin: true + + reinterval@1.1.0: + resolution: {integrity: sha512-QIRet3SYrGp0HUHO88jVskiG6seqUGC5iAG7AwI/BV4ypGcuqk9Du6YQBUOUqm9c8pw1eyLoIaONifRua1lsEQ==} + + relay-runtime@12.0.0: + resolution: {integrity: sha512-QU6JKr1tMsry22DXNy9Whsq5rmvwr3LSZiiWV/9+DFpuTWvp+WFhobWMc8TC4OjKFfNhEZy7mOiqUAn5atQtug==} + + remeda@1.59.0: + resolution: {integrity: sha512-yqIz7z+eriLF6ll4TxhUM56b2wIrmHgJNbzRGYqfJ0Jx6QOioSvGJuT9jD6MqtKzGUizaxSlJZXTVYjVSC4Qig==} + + remedial@1.0.8: + resolution: {integrity: sha512-/62tYiOe6DzS5BqVsNpH/nkGlX45C/Sp6V+NtiN6JQNS1Viay7cWkazmRkrQrdFj2eshDe96SIQNIoMxqhzBOg==} + + remove-trailing-separator@1.1.0: + resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} + + remove-trailing-spaces@1.0.8: + resolution: {integrity: sha512-O3vsMYfWighyFbTd8hk8VaSj9UAGENxAtX+//ugIst2RMk5e03h6RoIS+0ylsFxY1gvmPuAY/PO4It+gPEeySA==} + + req-cwd@2.0.0: + resolution: {integrity: sha512-ueoIoLo1OfB6b05COxAA9UpeoscNpYyM+BqYlA7H6LVF4hKGPXQQSSaD2YmvDVJMkk4UDpAHIeU1zG53IqjvlQ==} + engines: {node: '>=4'} + + req-from@2.0.0: + resolution: {integrity: sha512-LzTfEVDVQHBRfjOUMgNBA+V6DWsSnoeKzf42J7l0xa/B4jyPOuuF5MlNSmomLNGemWTnV2TIdjSSLnEn95fOQA==} + engines: {node: '>=4'} + + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + + require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + + require-main-filename@2.0.0: + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} + + requirejs-config-file@4.0.0: + resolution: {integrity: sha512-jnIre8cbWOyvr8a5F2KuqBnY+SDA4NXr/hzEZJG79Mxm2WiFQz2dzhC8ibtPJS7zkmBEl1mxSwp5HhC1W4qpxw==} + engines: {node: '>=10.13.0'} + + requirejs@2.3.6: + resolution: {integrity: sha512-ipEzlWQe6RK3jkzikgCupiTbTvm4S0/CAU5GlgptkN5SO6F3u0UD0K18wy6ErDqiCyP4J4YYe1HuAShvsxePLg==} + engines: {node: '>=0.4.0'} + hasBin: true + + resolve-cwd@3.0.0: + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} + + resolve-dependency-path@3.0.2: + resolution: {integrity: sha512-Tz7zfjhLfsvR39ADOSk9us4421J/1ztVBo4rWUkF38hgHK5m0OCZ3NxFVpqHRkjctnwVa15igEUHFJp8MCS7vA==} + engines: {node: '>=14'} + + resolve-from@3.0.0: + resolution: {integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==} + engines: {node: '>=4'} + + resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + + resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + + resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + + resolve.exports@2.0.2: + resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} + engines: {node: '>=10'} + + resolve@1.1.7: + resolution: {integrity: sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==} + + resolve@1.17.0: + resolution: {integrity: sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==} + + resolve@1.19.0: + resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} + + resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + + resolve@2.0.0-next.5: + resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} + hasBin: true + + restore-cursor@3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} + + restore-cursor@4.0.0: + resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + + reverse-mirage@1.1.0: + resolution: {integrity: sha512-cA1O7GR0pn4rMFoaiEG7Skms9GenuW91DtCxeR5hphyNhH90eowV4RmUVlVPVS11CPkezm/iUjnCfmxlHri05w==} + peerDependencies: + typescript: '>=5.0.4' + viem: '>=2' + peerDependenciesMeta: + typescript: + optional: true + + rfdc@1.3.1: + resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} + + rimraf@2.7.1: + resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} + hasBin: true + + rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true + + ripemd160@2.0.2: + resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} + + rlp@2.2.7: + resolution: {integrity: sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==} + hasBin: true + + run-async@2.4.1: + resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} + engines: {node: '>=0.12.0'} + + run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + + rxjs@7.8.1: + resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} + + safe-array-concat@1.1.2: + resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} + engines: {node: '>=0.4'} + + safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + + safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} + + safe-regex-test@1.0.3: + resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} + engines: {node: '>= 0.4'} + + safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + + sass-lookup@5.0.1: + resolution: {integrity: sha512-t0X5PaizPc2H4+rCwszAqHZRtr4bugo4pgiCvrBFvIX0XFxnr29g77LJcpyj9A0DcKf7gXMLcgvRjsonYI6x4g==} + engines: {node: '>=14'} + hasBin: true + + sax@1.2.1: + resolution: {integrity: sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==} + + sc-istanbul@0.4.6: + resolution: {integrity: sha512-qJFF/8tW/zJsbyfh/iT/ZM5QNHE3CXxtLJbZsL+CzdJLBsPD7SedJZoUA4d8iAcN2IoMp/Dx80shOOd2x96X/g==} + hasBin: true + + scheduler@0.23.0: + resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + + scrypt-js@3.0.1: + resolution: {integrity: sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==} + + scuid@1.1.0: + resolution: {integrity: sha512-MuCAyrGZcTLfQoH2XoBlQ8C6bzwN88XT/0slOGz0pn8+gIP85BOAfYa44ZXQUTOwRwPU0QvgU+V+OSajl/59Xg==} + + secp256k1@4.0.3: + resolution: {integrity: sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==} + engines: {node: '>=10.0.0'} + + seedrandom@3.0.5: + resolution: {integrity: sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==} + + semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true + + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + + semver@7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} + engines: {node: '>=10'} + hasBin: true + + send@0.18.0: + resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} + engines: {node: '>= 0.8.0'} + + sentence-case@3.0.4: + resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} + + serialize-javascript@6.0.0: + resolution: {integrity: sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==} + + serve-static@1.15.0: + resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} + engines: {node: '>= 0.8.0'} + + set-blocking@2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + + set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} + + setimmediate@1.0.5: + resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} + + setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + + sha.js@2.4.11: + resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} + hasBin: true + + sha1@1.1.1: + resolution: {integrity: sha512-dZBS6OrMjtgVkopB1Gmo4RQCDKiZsqcpAQpkV/aaj+FCrCg8r4I4qMkDPQjBgLIxlmu9k4nUbWq6ohXahOneYA==} + + shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} + + shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + + shell-quote@1.8.1: + resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} + + shelljs.exec@1.1.8: + resolution: {integrity: sha512-vFILCw+lzUtiwBAHV8/Ex8JsFjelFMdhONIsgKNLgTzeRckp2AOYRQtHJE/9LhNvdMmE27AGtzWx0+DHpwIwSw==} + engines: {node: '>= 4.0.0'} + + shelljs@0.8.5: + resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} + engines: {node: '>=4'} + hasBin: true + + shimmer@1.2.1: + resolution: {integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==} + + side-channel@1.0.6: + resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} + engines: {node: '>= 0.4'} + + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + + signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} + + signedsource@1.0.0: + resolution: {integrity: sha512-6+eerH9fEnNmi/hyM1DXcRK3pWdoMQtlkQ+ns0ntzunjKqp5i3sKCc80ym8Fib3iaYhdJUOPdhlJWj1tvge2Ww==} + + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + + slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + + slash@4.0.0: + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} + + slice-ansi@3.0.0: + resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} + engines: {node: '>=8'} + + slice-ansi@4.0.0: + resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} + engines: {node: '>=10'} + + slice-ansi@5.0.0: + resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} + engines: {node: '>=12'} + + slice-ansi@6.0.0: + resolution: {integrity: sha512-6bn4hRfkTvDfUoEQYkERg0BVF1D0vrX9HEkMl08uDiNWvVvjylLHvZFZWkDo6wjT8tUctbYl1nCOuE66ZTaUtA==} + engines: {node: '>=14.16'} + + snake-case@3.0.4: + resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} + + solc@0.7.3: + resolution: {integrity: sha512-GAsWNAjGzIDg7VxzP6mPjdurby3IkGCjQcM8GFYZT6RyaoUZKmMU6Y7YwG+tFGhv7dwZ8rmR4iwFDrrD99JwqA==} + engines: {node: '>=8.0.0'} + hasBin: true + + solidity-ast@0.4.56: + resolution: {integrity: sha512-HgmsA/Gfklm/M8GFbCX/J1qkVH0spXHgALCNZ8fA8x5X+MFdn/8CP2gr5OVyXjXw6RZTPC/Sxl2RUDQOXyNMeA==} + + solidity-coverage@0.8.12: + resolution: {integrity: sha512-8cOB1PtjnjFRqOgwFiD8DaUsYJtVJ6+YdXQtSZDrLGf8cdhhh8xzTtGzVTGeBf15kTv0v7lYPJlV/az7zLEPJw==} + hasBin: true + peerDependencies: + hardhat: ^2.11.0 + + solidity-docgen@0.6.0-beta.36: + resolution: {integrity: sha512-f/I5G2iJgU1h0XrrjRD0hHMr7C10u276vYvm//rw1TzFcYQ4xTOyAoi9oNAHRU0JU4mY9eTuxdVc2zahdMuhaQ==} + peerDependencies: + hardhat: ^2.8.0 + + sort-object-keys@1.1.3: + resolution: {integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==} + + sort-package-json@2.10.0: + resolution: {integrity: sha512-MYecfvObMwJjjJskhxYfuOADkXp1ZMMnCFC8yhp+9HDsk7HhR336hd7eiBs96lTXfiqmUNI+WQCeCMRBhl251g==} + hasBin: true + + source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} + + source-map-support@0.5.13: + resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} + + source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + + source-map@0.2.0: + resolution: {integrity: sha512-CBdZ2oa/BHhS4xj5DlhjWNHcan57/5YuvfdLf17iVmIpd9KRm+DFLmC6nBNj+6Ua7Kt3TmOjDpQT1aTYOQtoUA==} + engines: {node: '>=0.8.0'} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + + spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + + spdx-exceptions@2.5.0: + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} + + spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + + spdx-license-ids@3.0.17: + resolution: {integrity: sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==} + + split2@3.2.2: + resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} + + split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + + sponge-case@1.0.1: + resolution: {integrity: sha512-dblb9Et4DAtiZ5YSUZHLl4XhH4uK80GhAZrVXdN4O2P4gQ40Wa5UIOPUHlA/nFd2PLblBZWUioLMMAVrgpoYcA==} + + sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + + sst-aws-cdk@2.132.1: + resolution: {integrity: sha512-zep3sr+XkCmw9rHjgYQc44G+6s4eB/yxgLCCoi1h6R2AN8IarwZ4aHRwxAfigmJTPXYO6kmsxBIOcwjKy+oi3g==} + engines: {node: '>= 14.15.0'} + hasBin: true + + sst@2.41.5: + resolution: {integrity: sha512-IM1O1CnDcrjAAsl0ag9fXxQ7zyjYXyZDxBZwcdrAbjnijaSBMheC9v3b+WMXmRj1YBiVOjGAHIgzkTJVp/REvg==} + hasBin: true + peerDependencies: + '@sls-next/lambda-at-edge': ^3.7.0 + peerDependenciesMeta: + '@sls-next/lambda-at-edge': + optional: true + + stack-chain@1.3.7: + resolution: {integrity: sha512-D8cWtWVdIe/jBA7v5p5Hwl5yOSOrmZPWDPe2KxQ5UAGD+nxbxU0lKXA4h85Ta6+qgdKVL3vUxsbIZjc1kBG7ug==} + + stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + + stacktrace-parser@0.1.10: + resolution: {integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==} + engines: {node: '>=6'} + + statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + + stdin-discarder@0.1.0: + resolution: {integrity: sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + + stream-shift@1.0.3: + resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==} + + stream-to-array@2.3.0: + resolution: {integrity: sha512-UsZtOYEn4tWU2RGLOXr/o/xjRBftZRlG3dEWoaHr8j4GuypJ3isitGbVyjQKAuMu+xbiop8q224TjiZWc4XTZA==} + + streamsearch@1.1.0: + resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} + engines: {node: '>=10.0.0'} + + string-env-interpolation@1.0.1: + resolution: {integrity: sha512-78lwMoCcn0nNu8LszbP1UA7g55OeE4v7rCeWnM5B453rnNr4aq+5it3FEYtZrSEiMvHZOZ9Jlqb0OD0M2VInqg==} + + string-length@4.0.2: + resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} + engines: {node: '>=10'} + + string-width@2.1.1: + resolution: {integrity: sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==} + engines: {node: '>=4'} + + string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} + + string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} + + string.prototype.matchall@4.0.11: + resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} + engines: {node: '>= 0.4'} + + string.prototype.trim@1.2.9: + resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} + engines: {node: '>= 0.4'} + + string.prototype.trimend@1.0.8: + resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} + + string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} + + string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + + string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + + stringify-object@3.3.0: + resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} + engines: {node: '>=4'} + + strip-ansi@4.0.0: + resolution: {integrity: sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==} + engines: {node: '>=4'} + + strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} + + strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} + + strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + + strip-bom@4.0.0: + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} + + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + + strip-hex-prefix@1.0.0: + resolution: {integrity: sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==} + engines: {node: '>=6.5.0', npm: '>=3'} + + strip-indent@3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} + + strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + + strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + + strnum@1.0.5: + resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} + + stylus-lookup@5.0.1: + resolution: {integrity: sha512-tLtJEd5AGvnVy4f9UHQMw4bkJJtaAcmo54N+ovQBjDY3DuWyK9Eltxzr5+KG0q4ew6v2EHyuWWNnHeiw/Eo7rQ==} + engines: {node: '>=14'} + hasBin: true + + superjson@1.13.3: + resolution: {integrity: sha512-mJiVjfd2vokfDxsQPOwJ/PtanO87LhpYY88ubI5dUB1Ab58Txbyje3+jpm+/83R/fevaq/107NNhtYBLuoTrFg==} + engines: {node: '>=10'} + + supports-color@3.2.3: + resolution: {integrity: sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==} + engines: {node: '>=0.8.0'} + + supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} + + supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} + + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + swap-case@2.0.2: + resolution: {integrity: sha512-kc6S2YS/2yXbtkSMunBtKdah4VFETZ8Oh6ONSmSd9bRxhqTrtARUCBUiWXH3xVPpvR7tz2CSnkuXVE42EcGnMw==} + + sync-request@6.1.0: + resolution: {integrity: sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==} + engines: {node: '>=8.0.0'} + + sync-rpc@1.3.6: + resolution: {integrity: sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==} + + synckit@0.9.0: + resolution: {integrity: sha512-7RnqIMq572L8PeEzKeBINYEJDDxpcH8JEgLwUqBd3TkofhFRbkq4QLR0u+36avGAhCRbk2nnmjcW9SE531hPDg==} + engines: {node: ^14.18.0 || >=16.0.0} + + table@6.8.2: + resolution: {integrity: sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==} + engines: {node: '>=10.0.0'} + + tapable@2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + + tar-stream@2.2.0: + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} + + test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} + + text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + + then-request@6.0.2: + resolution: {integrity: sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==} + engines: {node: '>=6.0.0'} + + through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + + tiny-emitter@2.1.0: + resolution: {integrity: sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==} + + title-case@3.0.3: + resolution: {integrity: sha512-e1zGYRvbffpcHIrnuqT0Dh+gEJtDaxDSoG4JAIpq4oDFyooziLBIiYQv0GBT4FUAnUop5uZ1hiIAj7oAF6sOCA==} + + tmp@0.0.33: + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} + + tmpl@1.0.5: + resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + + to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + + to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} + + toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + + tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + + tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + + ts-api-utils@1.3.0: + resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} + engines: {node: '>=16'} + peerDependencies: + typescript: '>=4.2.0' + + ts-graphviz@1.8.2: + resolution: {integrity: sha512-5YhbFoHmjxa7pgQLkB07MtGnGJ/yhvjmc9uhsnDBEICME6gkPf83SBwLDQqGDoCa3XzUMWLk1AU2Wn1u1naDtA==} + engines: {node: '>=14.16'} + + ts-jest@29.1.2: + resolution: {integrity: sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g==} + engines: {node: ^16.10.0 || ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@babel/core': '>=7.0.0-beta.0 <8' + '@jest/types': ^29.0.0 + babel-jest: ^29.0.0 + esbuild: '*' + jest: ^29.0.0 + typescript: '>=4.3 <6' + peerDependenciesMeta: + '@babel/core': + optional: true + '@jest/types': + optional: true + babel-jest: + optional: true + esbuild: + optional: true + + ts-log@2.2.5: + resolution: {integrity: sha512-PGcnJoTBnVGy6yYNFxWVNkdcAuAMstvutN9MgDJIV6L0oG8fB+ZNNy1T+wJzah8RPGor1mZuPQkVfXNDpy9eHA==} + + ts-node@10.9.2: + resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true + + tsc-alias@1.8.8: + resolution: {integrity: sha512-OYUOd2wl0H858NvABWr/BoSKNERw3N9GTi3rHPK8Iv4O1UyUXIrTTOAZNHsjlVpXFOhpJBVARI1s+rzwLivN3Q==} + hasBin: true + + tsconfig-paths@3.15.0: + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + + tsconfig-paths@4.2.0: + resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} + engines: {node: '>=6'} + + tslib@1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + + tslib@2.4.0: + resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} + + tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + + tsort@0.0.1: + resolution: {integrity: sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==} + + tsutils@3.21.0: + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} + peerDependencies: + typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + + tsx@4.7.2: + resolution: {integrity: sha512-BCNd4kz6fz12fyrgCTEdZHGJ9fWTGeUzXmQysh0RVocDY3h4frk05ZNCXSy4kIenF7y/QnrdiVpTsyNRn6vlAw==} + engines: {node: '>=18.0.0'} + hasBin: true + + tsx@4.9.3: + resolution: {integrity: sha512-czVbetlILiyJZI5zGlj2kw9vFiSeyra9liPD4nG+Thh4pKTi0AmMEQ8zdV/L2xbIVKrIqif4sUNrsMAOksx9Zg==} + engines: {node: '>=18.0.0'} + hasBin: true + + turbo-darwin-64@1.13.2: + resolution: {integrity: sha512-CCSuD8CfmtncpohCuIgq7eAzUas0IwSbHfI8/Q3vKObTdXyN8vAo01gwqXjDGpzG9bTEVedD0GmLbD23dR0MLA==} + cpu: [x64] + os: [darwin] + + turbo-darwin-arm64@1.13.2: + resolution: {integrity: sha512-0HySm06/D2N91rJJ89FbiI/AodmY8B3WDSFTVEpu2+8spUw7hOJ8okWOT0e5iGlyayUP9gr31eOeL3VFZkpfCw==} + cpu: [arm64] + os: [darwin] + + turbo-linux-64@1.13.2: + resolution: {integrity: sha512-7HnibgbqZrjn4lcfIouzlPu8ZHSBtURG4c7Bedu7WJUDeZo+RE1crlrQm8wuwO54S0siYqUqo7GNHxu4IXbioQ==} + cpu: [x64] + os: [linux] + + turbo-linux-arm64@1.13.2: + resolution: {integrity: sha512-sUq4dbpk6SNKg/Hkwn256Vj2AEYSQdG96repio894h5/LEfauIK2QYiC/xxAeW3WBMc6BngmvNyURIg7ltrePg==} + cpu: [arm64] + os: [linux] + + turbo-windows-64@1.13.2: + resolution: {integrity: sha512-DqzhcrciWq3dpzllJR2VVIyOhSlXYCo4mNEWl98DJ3FZ08PEzcI3ceudlH6F0t/nIcfSItK1bDP39cs7YoZHEA==} + cpu: [x64] + os: [win32] + + turbo-windows-arm64@1.13.2: + resolution: {integrity: sha512-WnPMrwfCXxK69CdDfS1/j2DlzcKxSmycgDAqV0XCYpK/812KB0KlvsVAt5PjEbZGXkY88pCJ1BLZHAjF5FcbqA==} + cpu: [arm64] + os: [win32] + + turbo@1.13.2: + resolution: {integrity: sha512-rX/d9f4MgRT3yK6cERPAkfavIxbpBZowDQpgvkYwGMGDQ0Nvw1nc0NVjruE76GrzXQqoxR1UpnmEP54vBARFHQ==} + hasBin: true + + tweetnacl-util@0.15.1: + resolution: {integrity: sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==} + + tweetnacl@1.0.3: + resolution: {integrity: sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==} + + type-check@0.3.2: + resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} + engines: {node: '>= 0.8.0'} + + type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} + + type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + + type-fest@0.12.0: + resolution: {integrity: sha512-53RyidyjvkGpnWPMF9bQgFtWp+Sl8O2Rp13VavmJgfAP9WWG6q6TkrKU8iyJdnwnfgHI6k2hTlgqH4aSdjoTbg==} + engines: {node: '>=10'} + + type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + + type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} + + type-fest@0.6.0: + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} + + type-fest@0.7.1: + resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} + engines: {node: '>=8'} + + type-fest@0.8.1: + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} + + type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} + + typed-array-buffer@1.0.2: + resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} + engines: {node: '>= 0.4'} + + typed-array-byte-length@1.0.1: + resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} + engines: {node: '>= 0.4'} + + typed-array-byte-offset@1.0.2: + resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} + engines: {node: '>= 0.4'} + + typed-array-length@1.0.6: + resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} + engines: {node: '>= 0.4'} + + typed-function@2.1.0: + resolution: {integrity: sha512-bctQIOqx2iVbWGDGPWwIm18QScpu2XRmkC19D8rQGFsjKSgteq/o1hTZvIG/wuDq8fanpBDrLkLq+aEN/6y5XQ==} + engines: {node: '>= 10'} + + typedarray@0.0.6: + resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} + + typescript@5.0.4: + resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==} + engines: {node: '>=12.20'} + hasBin: true + + typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} + hasBin: true + + ua-parser-js@1.0.37: + resolution: {integrity: sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==} + + uglify-js@3.17.4: + resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==} + engines: {node: '>=0.8.0'} + hasBin: true + + ultron@1.1.1: + resolution: {integrity: sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==} + + unbox-primitive@1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + + unc-path-regex@0.1.2: + resolution: {integrity: sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==} + engines: {node: '>=0.10.0'} + + undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + + undici@5.28.4: + resolution: {integrity: sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==} + engines: {node: '>=14.0'} + + universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + + universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + + unixify@1.0.0: + resolution: {integrity: sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg==} + engines: {node: '>=0.10.0'} + + unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + + update-browserslist-db@1.0.13: + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + + upper-case-first@2.0.2: + resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} + + upper-case@2.0.2: + resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==} + + uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + + url@0.10.3: + resolution: {integrity: sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==} + + urlpattern-polyfill@10.0.0: + resolution: {integrity: sha512-H/A06tKD7sS1O1X2SshBVeA5FLycRpjqiBeqGKmBwBDBy28EnRjORxTNe269KSSr5un5qyWi1iL61wLxpd+ZOg==} + + urlpattern-polyfill@8.0.2: + resolution: {integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==} + + utf8@3.0.0: + resolution: {integrity: sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==} + + util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + + util@0.12.5: + resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} + + utils-merge@1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} + + uuid@8.0.0: + resolution: {integrity: sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==} + hasBin: true + + uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + + uuid@9.0.1: + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} + hasBin: true + + v8-compile-cache-lib@3.0.1: + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + + v8-to-istanbul@9.2.0: + resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} + engines: {node: '>=10.12.0'} + + validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + + value-or-promise@1.0.12: + resolution: {integrity: sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q==} + engines: {node: '>=12'} + + vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + + viem@1.21.4: + resolution: {integrity: sha512-BNVYdSaUjeS2zKQgPs+49e5JKocfo60Ib2yiXOWBT6LuVxY1I/6fFX3waEtpXvL1Xn4qu+BVitVtMh9lyThyhQ==} + peerDependencies: + typescript: '>=5.0.4' + peerDependenciesMeta: + typescript: + optional: true + + viem@2.9.19: + resolution: {integrity: sha512-1txsVoTz9+XGQpuN62wcDXasNtalW52UR41KnzwWTwHtV2cDcGuVuS/j/hcuQdZ7pU8X8jtq2IrwwR4jjKpy9Q==} + peerDependencies: + typescript: '>=5.0.4' + peerDependenciesMeta: + typescript: + optional: true + + walkdir@0.4.1: + resolution: {integrity: sha512-3eBwRyEln6E1MSzcxcVpQIhRG8Q1jLvEqRmCZqS3dsfXEDR/AhOF4d+jHg1qvDCpYaVRZjENPQyrVxAkQqxPgQ==} + engines: {node: '>=6.0.0'} + + walker@1.0.8: + resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} + + wcwidth@1.0.1: + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + + web-streams-polyfill@3.3.3: + resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} + engines: {node: '>= 8'} + + web3-utils@1.10.4: + resolution: {integrity: sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A==} + engines: {node: '>=8.0.0'} + + webcrypto-core@1.7.9: + resolution: {integrity: sha512-FE+a4PPkOmBbgNDIyRmcHhgXn+2ClRl3JzJdDu/P4+B8y81LqKe6RAsI9b3lAOHe1T1BMkSjsRHTYRikImZnVA==} + + webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + + websocket-stream@5.5.2: + resolution: {integrity: sha512-8z49MKIHbGk3C4HtuHWDtYX8mYej1wWabjthC/RupM9ngeukU4IWoM46dgth1UOS/T4/IqgEdCDJuMe2039OQQ==} + + whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + + which-boxed-primitive@1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + + which-builtin-type@1.1.3: + resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==} + engines: {node: '>= 0.4'} + + which-collection@1.0.2: + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} + + which-module@2.0.1: + resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} + + which-typed-array@1.1.15: + resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} + engines: {node: '>= 0.4'} + + which@1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + + which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true + + widest-line@3.1.0: + resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} + engines: {node: '>=8'} + + widest-line@4.0.1: + resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} + engines: {node: '>=12'} + + word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + + wordwrap@1.0.0: + resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} + + workerpool@6.2.1: + resolution: {integrity: sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==} + + wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} + + wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} + + wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} + + wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + + write-file-atomic@4.0.2: + resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + + ws@3.3.3: + resolution: {integrity: sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + ws@7.4.6: + resolution: {integrity: sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + ws@7.5.9: + resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + ws@8.13.0: + resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + ws@8.16.0: + resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + ws@8.5.0: + resolution: {integrity: sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + + xml2js@0.6.2: + resolution: {integrity: sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==} + engines: {node: '>=4.0.0'} + + xmlbuilder@11.0.1: + resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==} + engines: {node: '>=4.0'} + + xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + + y18n@4.0.3: + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + + yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + + yaml-ast-parser@0.0.43: + resolution: {integrity: sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==} + + yaml@1.10.2: + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} + + yaml@2.4.1: + resolution: {integrity: sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==} + engines: {node: '>= 14'} + hasBin: true + + yargs-parser@18.1.3: + resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} + engines: {node: '>=6'} + + yargs-parser@20.2.4: + resolution: {integrity: sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==} + engines: {node: '>=10'} + + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs-unparser@2.0.0: + resolution: {integrity: sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==} + engines: {node: '>=10'} + + yargs@15.4.1: + resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} + engines: {node: '>=8'} + + yargs@16.2.0: + resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + engines: {node: '>=10'} + + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + + yn@3.1.1: + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} + + yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + + yoga-wasm-web@0.3.3: + resolution: {integrity: sha512-N+d4UJSJbt/R3wqY7Coqs5pcV0aUj2j9IaQ3rNj9bVCLld8tTGKRa2USARjnvZJWVx1NDmQev8EknoczaOQDOA==} + + zip-stream@4.1.1: + resolution: {integrity: sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==} + engines: {node: '>= 10'} + + zod@3.22.4: + resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} + + zx@8.0.1: + resolution: {integrity: sha512-Y+ITW1GQjADk7qgrbhnukMgoNsJmlyx53cUQ6/6NXU+BMBdCbTc6flTOHUctmzKvPjTmdwaddzJY/dbLie9sQg==} + engines: {node: '>= 16.0.0'} + hasBin: true + +snapshots: + + '@aashutoshrathi/word-wrap@1.2.6': {} + + '@adraffy/ens-normalize@1.10.0': {} + + '@adraffy/ens-normalize@1.10.1': {} + + '@alcalzone/ansi-tokenize@0.1.3': + dependencies: + ansi-styles: 6.2.1 + is-fullwidth-code-point: 4.0.0 + + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + + '@ardatan/relay-compiler@12.0.0(graphql@16.8.1)': + dependencies: + '@babel/core': 7.24.4 + '@babel/generator': 7.24.4 + '@babel/parser': 7.24.4 + '@babel/runtime': 7.24.4 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 + babel-preset-fbjs: 3.4.0(@babel/core@7.24.4) + chalk: 4.1.2 + fb-watchman: 2.0.2 + fbjs: 3.0.5 + glob: 7.2.3 + graphql: 16.8.1 + immutable: 3.7.6 + invariant: 2.2.4 + nullthrows: 1.1.1 + relay-runtime: 12.0.0 + signedsource: 1.0.0 + yargs: 15.4.1 + transitivePeerDependencies: + - encoding + - supports-color + + '@ardatan/sync-fetch@0.0.1': + dependencies: + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + + '@aws-cdk/asset-awscli-v1@2.2.202': {} + + '@aws-cdk/asset-kubectl-v20@2.1.2': {} + + '@aws-cdk/asset-node-proxy-agent-v6@2.0.3': {} + + '@aws-cdk/aws-lambda-python-alpha@2.132.1-alpha.0(aws-cdk-lib@2.132.1)(constructs@10.3.0)': + dependencies: + aws-cdk-lib: 2.132.1(constructs@10.3.0) + constructs: 10.3.0 + + '@aws-cdk/aws-service-spec@0.0.52': + dependencies: + '@aws-cdk/service-spec-types': 0.0.52 + '@cdklabs/tskb': 0.0.3 + + '@aws-cdk/cloud-assembly-schema@2.132.1': + dependencies: + jsonschema: 1.4.1 + semver: 7.6.0 + + '@aws-cdk/cloudformation-diff@2.132.1': + dependencies: + '@aws-cdk/aws-service-spec': 0.0.52 + '@aws-cdk/service-spec-types': 0.0.52 + chalk: 4.1.2 + diff: 5.2.0 + fast-deep-equal: 3.1.3 + string-width: 4.2.3 + table: 6.8.2 + + '@aws-cdk/cx-api@2.132.1(@aws-cdk/cloud-assembly-schema@2.132.1)': + dependencies: + '@aws-cdk/cloud-assembly-schema': 2.132.1 + semver: 7.6.0 + + '@aws-cdk/service-spec-types@0.0.52': + dependencies: + '@cdklabs/tskb': 0.0.3 + + '@aws-crypto/crc32@3.0.0': + dependencies: + '@aws-crypto/util': 3.0.0 + '@aws-sdk/types': 3.567.0 + tslib: 1.14.1 + + '@aws-crypto/crc32c@3.0.0': + dependencies: + '@aws-crypto/util': 3.0.0 + '@aws-sdk/types': 3.567.0 + tslib: 1.14.1 + + '@aws-crypto/ie11-detection@3.0.0': + dependencies: + tslib: 1.14.1 + + '@aws-crypto/sha1-browser@3.0.0': + dependencies: + '@aws-crypto/ie11-detection': 3.0.0 + '@aws-crypto/supports-web-crypto': 3.0.0 + '@aws-crypto/util': 3.0.0 + '@aws-sdk/types': 3.567.0 + '@aws-sdk/util-locate-window': 3.535.0 + '@aws-sdk/util-utf8-browser': 3.259.0 + tslib: 1.14.1 + + '@aws-crypto/sha256-browser@3.0.0': + dependencies: + '@aws-crypto/ie11-detection': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-crypto/supports-web-crypto': 3.0.0 + '@aws-crypto/util': 3.0.0 + '@aws-sdk/types': 3.567.0 + '@aws-sdk/util-locate-window': 3.535.0 + '@aws-sdk/util-utf8-browser': 3.259.0 + tslib: 1.14.1 + + '@aws-crypto/sha256-js@3.0.0': + dependencies: + '@aws-crypto/util': 3.0.0 + '@aws-sdk/types': 3.567.0 + tslib: 1.14.1 + + '@aws-crypto/sha256-js@5.2.0': + dependencies: + '@aws-crypto/util': 5.2.0 + '@aws-sdk/types': 3.567.0 + tslib: 2.6.2 + + '@aws-crypto/supports-web-crypto@3.0.0': + dependencies: + tslib: 1.14.1 + + '@aws-crypto/util@3.0.0': + dependencies: + '@aws-sdk/types': 3.567.0 + '@aws-sdk/util-utf8-browser': 3.259.0 + tslib: 1.14.1 + + '@aws-crypto/util@5.2.0': + dependencies: + '@aws-sdk/types': 3.567.0 + '@smithy/util-utf8': 2.3.0 + tslib: 2.6.2 + + '@aws-lambda-powertools/commons@1.18.1': {} + + '@aws-lambda-powertools/commons@2.0.4': {} + + '@aws-lambda-powertools/logger@1.18.1': + dependencies: + '@aws-lambda-powertools/commons': 1.18.1 + lodash.merge: 4.6.2 + + '@aws-lambda-powertools/logger@2.0.4': + dependencies: + '@aws-lambda-powertools/commons': 2.0.4 + lodash.merge: 4.6.2 + + '@aws-lambda-powertools/metrics@1.18.1': + dependencies: + '@aws-lambda-powertools/commons': 1.18.1 + + '@aws-lambda-powertools/metrics@2.0.4': + dependencies: + '@aws-lambda-powertools/commons': 2.0.4 + + '@aws-lambda-powertools/tracer@1.18.1': + dependencies: + '@aws-lambda-powertools/commons': 1.18.1 + aws-xray-sdk-core: 3.6.0 + + '@aws-lambda-powertools/tracer@2.0.4': + dependencies: + '@aws-lambda-powertools/commons': 2.0.4 + aws-xray-sdk-core: 3.6.0 + + '@aws-sdk/client-cloudformation@3.555.0': + dependencies: + '@aws-crypto/sha256-browser': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) + '@aws-sdk/core': 3.554.0 + '@aws-sdk/credential-provider-node': 3.554.0 + '@aws-sdk/middleware-host-header': 3.535.0 + '@aws-sdk/middleware-logger': 3.535.0 + '@aws-sdk/middleware-recursion-detection': 3.535.0 + '@aws-sdk/middleware-user-agent': 3.540.0 + '@aws-sdk/region-config-resolver': 3.535.0 + '@aws-sdk/types': 3.535.0 + '@aws-sdk/util-endpoints': 3.540.0 + '@aws-sdk/util-user-agent-browser': 3.535.0 + '@aws-sdk/util-user-agent-node': 3.535.0(aws-crt@1.21.2) + '@smithy/config-resolver': 2.2.0 + '@smithy/core': 1.4.2 + '@smithy/fetch-http-handler': 2.5.0 + '@smithy/hash-node': 2.2.0 + '@smithy/invalid-dependency': 2.2.0 + '@smithy/middleware-content-length': 2.2.0 + '@smithy/middleware-endpoint': 2.5.1 + '@smithy/middleware-retry': 2.3.1 + '@smithy/middleware-serde': 2.3.0 + '@smithy/middleware-stack': 2.2.0 + '@smithy/node-config-provider': 2.3.0 + '@smithy/node-http-handler': 2.5.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/smithy-client': 2.5.1 + '@smithy/types': 2.12.0 + '@smithy/url-parser': 2.2.0 + '@smithy/util-base64': 2.3.0 + '@smithy/util-body-length-browser': 2.2.0 + '@smithy/util-body-length-node': 2.3.0 + '@smithy/util-defaults-mode-browser': 2.2.1 + '@smithy/util-defaults-mode-node': 2.3.1 + '@smithy/util-endpoints': 1.2.0 + '@smithy/util-middleware': 2.2.0 '@smithy/util-retry': 2.2.0 '@smithy/util-utf8': 2.3.0 '@smithy/util-waiter': 2.2.0 @@ -2482,11 +9899,100 @@ packages: uuid: 9.0.1 transitivePeerDependencies: - aws-crt - dev: true - /@aws-sdk/client-eventbridge@3.554.0: - resolution: {integrity: sha512-rO5jYUaYsHFmjfXkgtCN1Tb3O9Or0ro61f6vzZB/+XLZvgTSP8OLJcH+1BHMj26L2ntuTkZ4zPikO+2Bg4urDg==} - engines: {node: '>=14.0.0'} + '@aws-sdk/client-cognito-identity@3.554.0': + dependencies: + '@aws-crypto/sha256-browser': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) + '@aws-sdk/core': 3.554.0 + '@aws-sdk/credential-provider-node': 3.554.0 + '@aws-sdk/middleware-host-header': 3.535.0 + '@aws-sdk/middleware-logger': 3.535.0 + '@aws-sdk/middleware-recursion-detection': 3.535.0 + '@aws-sdk/middleware-user-agent': 3.540.0 + '@aws-sdk/region-config-resolver': 3.535.0 + '@aws-sdk/types': 3.535.0 + '@aws-sdk/util-endpoints': 3.540.0 + '@aws-sdk/util-user-agent-browser': 3.535.0 + '@aws-sdk/util-user-agent-node': 3.535.0(aws-crt@1.21.2) + '@smithy/config-resolver': 2.2.0 + '@smithy/core': 1.4.2 + '@smithy/fetch-http-handler': 2.5.0 + '@smithy/hash-node': 2.2.0 + '@smithy/invalid-dependency': 2.2.0 + '@smithy/middleware-content-length': 2.2.0 + '@smithy/middleware-endpoint': 2.5.1 + '@smithy/middleware-retry': 2.3.1 + '@smithy/middleware-serde': 2.3.0 + '@smithy/middleware-stack': 2.2.0 + '@smithy/node-config-provider': 2.3.0 + '@smithy/node-http-handler': 2.5.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/smithy-client': 2.5.1 + '@smithy/types': 2.12.0 + '@smithy/url-parser': 2.2.0 + '@smithy/util-base64': 2.3.0 + '@smithy/util-body-length-browser': 2.2.0 + '@smithy/util-body-length-node': 2.3.0 + '@smithy/util-defaults-mode-browser': 2.2.1 + '@smithy/util-defaults-mode-node': 2.3.1 + '@smithy/util-endpoints': 1.2.0 + '@smithy/util-middleware': 2.2.0 + '@smithy/util-retry': 2.2.0 + '@smithy/util-utf8': 2.3.0 + tslib: 2.6.2 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/client-ecs@3.554.0': + dependencies: + '@aws-crypto/sha256-browser': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) + '@aws-sdk/core': 3.554.0 + '@aws-sdk/credential-provider-node': 3.554.0 + '@aws-sdk/middleware-host-header': 3.535.0 + '@aws-sdk/middleware-logger': 3.535.0 + '@aws-sdk/middleware-recursion-detection': 3.535.0 + '@aws-sdk/middleware-user-agent': 3.540.0 + '@aws-sdk/region-config-resolver': 3.535.0 + '@aws-sdk/types': 3.535.0 + '@aws-sdk/util-endpoints': 3.540.0 + '@aws-sdk/util-user-agent-browser': 3.535.0 + '@aws-sdk/util-user-agent-node': 3.535.0(aws-crt@1.21.2) + '@smithy/config-resolver': 2.2.0 + '@smithy/core': 1.4.2 + '@smithy/fetch-http-handler': 2.5.0 + '@smithy/hash-node': 2.2.0 + '@smithy/invalid-dependency': 2.2.0 + '@smithy/middleware-content-length': 2.2.0 + '@smithy/middleware-endpoint': 2.5.1 + '@smithy/middleware-retry': 2.3.1 + '@smithy/middleware-serde': 2.3.0 + '@smithy/middleware-stack': 2.2.0 + '@smithy/node-config-provider': 2.3.0 + '@smithy/node-http-handler': 2.5.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/smithy-client': 2.5.1 + '@smithy/types': 2.12.0 + '@smithy/url-parser': 2.2.0 + '@smithy/util-base64': 2.3.0 + '@smithy/util-body-length-browser': 2.2.0 + '@smithy/util-body-length-node': 2.3.0 + '@smithy/util-defaults-mode-browser': 2.2.1 + '@smithy/util-defaults-mode-node': 2.3.1 + '@smithy/util-endpoints': 1.2.0 + '@smithy/util-middleware': 2.2.0 + '@smithy/util-retry': 2.2.0 + '@smithy/util-utf8': 2.3.0 + '@smithy/util-waiter': 2.2.0 + tslib: 2.6.2 + uuid: 9.0.1 + transitivePeerDependencies: + - aws-crt + + '@aws-sdk/client-eventbridge@3.554.0': dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -2530,11 +10036,8 @@ packages: tslib: 2.6.2 transitivePeerDependencies: - aws-crt - dev: true - /@aws-sdk/client-iam@3.554.0: - resolution: {integrity: sha512-Q+8PTBdZ1e3hzWRZGnIE5P+7jbxQx9Gas3ayOfzdHx538apqk4z8+Q4PoymECttPSPwv1KoYphFZvRyH7lrDKA==} - engines: {node: '>=14.0.0'} + '@aws-sdk/client-iam@3.554.0': dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -2579,11 +10082,8 @@ packages: tslib: 2.6.2 transitivePeerDependencies: - aws-crt - dev: true - /@aws-sdk/client-iot-data-plane@3.554.0: - resolution: {integrity: sha512-2xtMWKlJ1wOq+8mQe1XddfqOkskfIV/AgkGTueZUqO7FvVxHtWOlXpafN7naRZUBtzzu9/oeK8gfvYhpW+kqGw==} - engines: {node: '>=14.0.0'} + '@aws-sdk/client-iot-data-plane@3.554.0': dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -2628,11 +10128,8 @@ packages: tslib: 2.6.2 transitivePeerDependencies: - aws-crt - dev: true - /@aws-sdk/client-iot@3.554.0: - resolution: {integrity: sha512-3mr5Ik3hVa3WS0F2N88sSKAwOVdRtoRN8xY1bqpT+I/tjAgt+07uItHrkJErEh4Xq3EnhJfKiPR/KbcRK2oQuQ==} - engines: {node: '>=14.0.0'} + '@aws-sdk/client-iot@3.554.0': dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -2677,11 +10174,8 @@ packages: uuid: 9.0.1 transitivePeerDependencies: - aws-crt - dev: true - /@aws-sdk/client-lambda@3.554.0: - resolution: {integrity: sha512-KNUAAZKcsCdUOB2/rbWpc96jsSM/ahw3hK5/Ru4RTLfNP27GitxqF0v+mzrVk9lTuj2ChJ3JDV+UfdGsqvZgpw==} - engines: {node: '>=14.0.0'} + '@aws-sdk/client-lambda@3.554.0': dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -2730,11 +10224,8 @@ packages: tslib: 2.6.2 transitivePeerDependencies: - aws-crt - dev: true - /@aws-sdk/client-rds-data@3.569.0: - resolution: {integrity: sha512-avid47WL0ylvMnRVchiURyrimksajoia6Mp5qyo00/2+sOC+/1VmA32OH0lltEC+O7AFEbPLWFf9gQEG9qM1oQ==} - engines: {node: '>=16.0.0'} + '@aws-sdk/client-rds-data@3.569.0': dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -2780,9 +10271,7 @@ packages: transitivePeerDependencies: - aws-crt - /@aws-sdk/client-s3@3.554.0: - resolution: {integrity: sha512-d5TKKtGWhN0vl9QovUFrf3UsM7jgFQkowDPx1O+E/yeQUj1FBDOoRfDCcQOKW/9ghloI6k7f0bBpNxdd+x0oKA==} - engines: {node: '>=14.0.0'} + '@aws-sdk/client-s3@3.554.0': dependencies: '@aws-crypto/sha1-browser': 3.0.0 '@aws-crypto/sha256-browser': 3.0.0 @@ -2843,11 +10332,8 @@ packages: tslib: 2.6.2 transitivePeerDependencies: - aws-crt - dev: true - /@aws-sdk/client-ssm@3.554.0: - resolution: {integrity: sha512-zqc5Pyb0agJ3erp1x2ILoll7mG6atQTD2AFWA5UBFhNa7R0+w+TLvSNnX813X4bv4OySqBYYEtAokoTvV66UZw==} - engines: {node: '>=14.0.0'} + '@aws-sdk/client-ssm@3.554.0': dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -2893,13 +10379,8 @@ packages: uuid: 9.0.1 transitivePeerDependencies: - aws-crt - dev: true - /@aws-sdk/client-sso-oidc@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: {integrity: sha512-M86rkiRqbZBF5VyfTQ/vttry9VSoQkZ1oCqYF+SAGlXmD0Of8587yRSj2M4rYe0Uj7nRQIfSnhDYp1UzsZeRfQ==} - engines: {node: '>=14.0.0'} - peerDependencies: - '@aws-sdk/credential-provider-node': ^3.554.0 + '@aws-sdk/client-sso-oidc@3.554.0(@aws-sdk/credential-provider-node@3.554.0)': dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -2943,11 +10424,8 @@ packages: tslib: 2.6.2 transitivePeerDependencies: - aws-crt - dev: true - /@aws-sdk/client-sso-oidc@3.569.0(@aws-sdk/client-sts@3.569.0): - resolution: {integrity: sha512-u5DEjNEvRvlKKh1QLCDuQ8GIrx+OFvJFLfhorsp4oCxDylvORs+KfyKKnJAw4wYEEHyxyz9GzHD7p6a8+HLVHw==} - engines: {node: '>=16.0.0'} + '@aws-sdk/client-sso-oidc@3.569.0(@aws-sdk/client-sts@3.569.0)': dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -2993,9 +10471,7 @@ packages: - '@aws-sdk/client-sts' - aws-crt - /@aws-sdk/client-sso@3.554.0: - resolution: {integrity: sha512-yj6CgIxCT3UwMumEO481KH4QvwArkAPzD7Xvwe1QKgJATc9bKNEo/FxV8LfnWIJ7nOtMDxbNxYLMXH/Fs1qGaQ==} - engines: {node: '>=14.0.0'} + '@aws-sdk/client-sso@3.554.0': dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -3037,11 +10513,8 @@ packages: tslib: 2.6.2 transitivePeerDependencies: - aws-crt - dev: true - /@aws-sdk/client-sso@3.568.0: - resolution: {integrity: sha512-LSD7k0ZBQNWouTN5dYpUkeestoQ+r5u6cp6o+FATKeiFQET85RNA3xJ4WPnOI5rBC1PETKhQXvF44863P3hCaQ==} - engines: {node: '>=16.0.0'} + '@aws-sdk/client-sso@3.568.0': dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -3084,11 +10557,7 @@ packages: transitivePeerDependencies: - aws-crt - /@aws-sdk/client-sts@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: {integrity: sha512-EhaA6T0M0DNg5M8TCF1a7XJI5D/ZxAF3dgVIchyF98iNzjYgl/7U8K6hJay2A11aFvVu70g46xYMpz3Meky4wQ==} - engines: {node: '>=14.0.0'} - peerDependencies: - '@aws-sdk/credential-provider-node': ^3.554.0 + '@aws-sdk/client-sts@3.554.0(@aws-sdk/credential-provider-node@3.554.0)': dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -3131,11 +10600,8 @@ packages: tslib: 2.6.2 transitivePeerDependencies: - aws-crt - dev: true - /@aws-sdk/client-sts@3.569.0: - resolution: {integrity: sha512-3AyipQ2zHszkcTr8n1Sp7CiMUi28aMf1vOhEo0KKi0DWGo1Z1qJEpWeRP363KG0n9/8U3p1IkXGz5FRbpXZxIw==} - engines: {node: '>=16.0.0'} + '@aws-sdk/client-sts@3.569.0': dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 @@ -3180,18 +10646,12 @@ packages: transitivePeerDependencies: - aws-crt - /@aws-sdk/config-resolver@3.374.0: - resolution: {integrity: sha512-eTSbmpcgZ97o7PuFls8pH1344OS03nfqq1NO9HxxvoYoZ6DFfUO7kqKeNUhP9LxOF7slyHXajDT7eoPclGnTuw==} - engines: {node: '>=14.0.0'} - deprecated: This package has moved to @smithy/config-resolver + '@aws-sdk/config-resolver@3.374.0': dependencies: '@smithy/config-resolver': 1.1.0 tslib: 2.6.2 - dev: true - /@aws-sdk/core@3.554.0: - resolution: {integrity: sha512-JrG7ToTLeNf+/S3IiCUPVw9jEDB0DXl5ho8n/HwOa946mv+QyCepCuV2U/8f/1KAX0mD8Ufm/E4/cbCbFHgbSg==} - engines: {node: '>=14.0.0'} + '@aws-sdk/core@3.554.0': dependencies: '@smithy/core': 1.4.2 '@smithy/protocol-http': 3.3.0 @@ -3200,11 +10660,8 @@ packages: '@smithy/types': 2.12.0 fast-xml-parser: 4.2.5 tslib: 2.6.2 - dev: true - /@aws-sdk/core@3.567.0: - resolution: {integrity: sha512-zUDEQhC7blOx6sxhHdT75x98+SXQVdUIMu8z8AjqMWiYK2v4WkOS8i6dOS4E5OjL5J1Ac+ruy8op/Bk4AFqSIw==} - engines: {node: '>=16.0.0'} + '@aws-sdk/core@3.567.0': dependencies: '@smithy/core': 1.4.2 '@smithy/protocol-http': 3.3.0 @@ -3214,9 +10671,7 @@ packages: fast-xml-parser: 4.2.5 tslib: 2.6.2 - /@aws-sdk/credential-provider-cognito-identity@3.554.0: - resolution: {integrity: sha512-soF84soy9rTAfzsH1ODP0AnJt5JlsJI8k1aWtC08/Al0CZjLkxDRHzaB1wxubFyT2Ql6bpxbDfU6KDFXsQIpdA==} - engines: {node: '>=14.0.0'} + '@aws-sdk/credential-provider-cognito-identity@3.554.0': dependencies: '@aws-sdk/client-cognito-identity': 3.554.0 '@aws-sdk/types': 3.535.0 @@ -3225,30 +10680,22 @@ packages: tslib: 2.6.2 transitivePeerDependencies: - aws-crt - dev: true - /@aws-sdk/credential-provider-env@3.535.0: - resolution: {integrity: sha512-XppwO8c0GCGSAvdzyJOhbtktSEaShg14VJKg8mpMa1XcgqzmcqqHQjtDWbx5rZheY1VdpXZhpEzJkB6LpQejpA==} - engines: {node: '>=14.0.0'} + '@aws-sdk/credential-provider-env@3.535.0': dependencies: '@aws-sdk/types': 3.535.0 '@smithy/property-provider': 2.2.0 '@smithy/types': 2.12.0 tslib: 2.6.2 - dev: true - /@aws-sdk/credential-provider-env@3.568.0: - resolution: {integrity: sha512-MVTQoZwPnP1Ev5A7LG+KzeU6sCB8BcGkZeDT1z1V5Wt7GPq0MgFQTSSjhImnB9jqRSZkl1079Bt3PbO6lfIS8g==} - engines: {node: '>=16.0.0'} + '@aws-sdk/credential-provider-env@3.568.0': dependencies: '@aws-sdk/types': 3.567.0 '@smithy/property-provider': 2.2.0 '@smithy/types': 2.12.0 tslib: 2.6.2 - /@aws-sdk/credential-provider-http@3.552.0: - resolution: {integrity: sha512-vsmu7Cz1i45pFEqzVb4JcFmAmVnWFNLsGheZc8SCptlqCO5voETrZZILHYIl4cjKkSDk3pblBOf0PhyjqWW6WQ==} - engines: {node: '>=14.0.0'} + '@aws-sdk/credential-provider-http@3.552.0': dependencies: '@aws-sdk/types': 3.535.0 '@smithy/fetch-http-handler': 2.5.0 @@ -3259,11 +10706,8 @@ packages: '@smithy/types': 2.12.0 '@smithy/util-stream': 2.2.0 tslib: 2.6.2 - dev: true - /@aws-sdk/credential-provider-http@3.568.0: - resolution: {integrity: sha512-gL0NlyI2eW17hnCrh45hZV+qjtBquB+Bckiip9R6DIVRKqYcoILyiFhuOgf2bXeF23gVh6j18pvUvIoTaFWs5w==} - engines: {node: '>=16.0.0'} + '@aws-sdk/credential-provider-http@3.568.0': dependencies: '@aws-sdk/types': 3.567.0 '@smithy/fetch-http-handler': 2.5.0 @@ -3275,9 +10719,7 @@ packages: '@smithy/util-stream': 2.2.0 tslib: 2.6.2 - /@aws-sdk/credential-provider-ini@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: {integrity: sha512-BQenhg43S6TMJHxrdjDVdVF+HH5tA1op9ZYLyJrvV5nn7CCO4kyAkkOuSAv1NkL+RZsIkW0/vHTXwQOQw3cUsg==} - engines: {node: '>=14.0.0'} + '@aws-sdk/credential-provider-ini@3.554.0(@aws-sdk/credential-provider-node@3.554.0)': dependencies: '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) '@aws-sdk/credential-provider-env': 3.535.0 @@ -3293,13 +10735,8 @@ packages: transitivePeerDependencies: - '@aws-sdk/credential-provider-node' - aws-crt - dev: true - /@aws-sdk/credential-provider-ini@3.568.0(@aws-sdk/client-sso-oidc@3.569.0)(@aws-sdk/client-sts@3.569.0): - resolution: {integrity: sha512-m5DUN9mpto5DhEvo6w3+8SS6q932ja37rTNvpPqWJIaWhj7OorAwVirSaJQAQB/M8+XCUIrUonxytphZB28qGQ==} - engines: {node: '>=16.0.0'} - peerDependencies: - '@aws-sdk/client-sts': ^3.568.0 + '@aws-sdk/credential-provider-ini@3.568.0(@aws-sdk/client-sso-oidc@3.569.0)(@aws-sdk/client-sts@3.569.0)': dependencies: '@aws-sdk/client-sts': 3.569.0 '@aws-sdk/credential-provider-env': 3.568.0 @@ -3316,9 +10753,7 @@ packages: - '@aws-sdk/client-sso-oidc' - aws-crt - /@aws-sdk/credential-provider-node@3.554.0: - resolution: {integrity: sha512-poX/+2OE3oxqp4f5MiaJh251p8l+bzcFwgcDBwz0e2rcpvMSYl9jw4AvGnCiG2bmf9yhNJdftBiS1A+KjxV0qA==} - engines: {node: '>=14.0.0'} + '@aws-sdk/credential-provider-node@3.554.0': dependencies: '@aws-sdk/credential-provider-env': 3.535.0 '@aws-sdk/credential-provider-http': 3.552.0 @@ -3334,11 +10769,8 @@ packages: tslib: 2.6.2 transitivePeerDependencies: - aws-crt - dev: true - /@aws-sdk/credential-provider-node@3.569.0(@aws-sdk/client-sso-oidc@3.569.0)(@aws-sdk/client-sts@3.569.0): - resolution: {integrity: sha512-7jH4X2qlPU3PszZP1zvHJorhLARbU1tXvp8ngBe8ArXBrkFpl/dQ2Y/IRAICPm/pyC1IEt8L/CvKp+dz7v/eRw==} - engines: {node: '>=16.0.0'} + '@aws-sdk/credential-provider-node@3.569.0(@aws-sdk/client-sso-oidc@3.569.0)(@aws-sdk/client-sts@3.569.0)': dependencies: '@aws-sdk/credential-provider-env': 3.568.0 '@aws-sdk/credential-provider-http': 3.568.0 @@ -3357,20 +10789,15 @@ packages: - '@aws-sdk/client-sts' - aws-crt - /@aws-sdk/credential-provider-process@3.535.0: - resolution: {integrity: sha512-9O1OaprGCnlb/kYl8RwmH7Mlg8JREZctB8r9sa1KhSsWFq/SWO0AuJTyowxD7zL5PkeS4eTvzFFHWCa3OO5epA==} - engines: {node: '>=14.0.0'} + '@aws-sdk/credential-provider-process@3.535.0': dependencies: '@aws-sdk/types': 3.535.0 '@smithy/property-provider': 2.2.0 '@smithy/shared-ini-file-loader': 2.4.0 '@smithy/types': 2.12.0 tslib: 2.6.2 - dev: true - /@aws-sdk/credential-provider-process@3.568.0: - resolution: {integrity: sha512-r01zbXbanP17D+bQUb7mD8Iu2SuayrrYZ0Slgvx32qgz47msocV9EPCSwI4Hkw2ZtEPCeLQR4XCqFJB1D9P50w==} - engines: {node: '>=16.0.0'} + '@aws-sdk/credential-provider-process@3.568.0': dependencies: '@aws-sdk/types': 3.567.0 '@smithy/property-provider': 2.2.0 @@ -3378,9 +10805,7 @@ packages: '@smithy/types': 2.12.0 tslib: 2.6.2 - /@aws-sdk/credential-provider-sso@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: {integrity: sha512-8QPpwBA31i/fZ7lDZJC4FA9EdxLg5SJ8sPB2qLSjp5UTGTYL2HRl0Eznkb7DXyp/wImsR/HFR1NxuFCCVotLCg==} - engines: {node: '>=14.0.0'} + '@aws-sdk/credential-provider-sso@3.554.0(@aws-sdk/credential-provider-node@3.554.0)': dependencies: '@aws-sdk/client-sso': 3.554.0 '@aws-sdk/token-providers': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) @@ -3392,11 +10817,8 @@ packages: transitivePeerDependencies: - '@aws-sdk/credential-provider-node' - aws-crt - dev: true - /@aws-sdk/credential-provider-sso@3.568.0(@aws-sdk/client-sso-oidc@3.569.0): - resolution: {integrity: sha512-+TA77NWOEXMUcfLoOuim6xiyXFg1GqHj55ggI1goTKGVvdHYZ+rhxZbwjI29+ewzPt/qcItDJcvhrjOrg9lCag==} - engines: {node: '>=16.0.0'} + '@aws-sdk/credential-provider-sso@3.568.0(@aws-sdk/client-sso-oidc@3.569.0)': dependencies: '@aws-sdk/client-sso': 3.568.0 '@aws-sdk/token-providers': 3.568.0(@aws-sdk/client-sso-oidc@3.569.0) @@ -3409,9 +10831,7 @@ packages: - '@aws-sdk/client-sso-oidc' - aws-crt - /@aws-sdk/credential-provider-web-identity@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: {integrity: sha512-HN54DzLjepw5ZWSF9ycGevhFTyg6pjLuLKy5Y8t/f1jFDComzYdGEDe0cdV9YO653W3+PQwZZGz09YVygGYBLg==} - engines: {node: '>=14.0.0'} + '@aws-sdk/credential-provider-web-identity@3.554.0(@aws-sdk/credential-provider-node@3.554.0)': dependencies: '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) '@aws-sdk/types': 3.535.0 @@ -3421,13 +10841,8 @@ packages: transitivePeerDependencies: - '@aws-sdk/credential-provider-node' - aws-crt - dev: true - /@aws-sdk/credential-provider-web-identity@3.568.0(@aws-sdk/client-sts@3.569.0): - resolution: {integrity: sha512-ZJSmTmoIdg6WqAULjYzaJ3XcbgBzVy36lir6Y0UBMRGaxDgos1AARuX6EcYzXOl+ksLvxt/xMQ+3aYh1LWfKSw==} - engines: {node: '>=16.0.0'} - peerDependencies: - '@aws-sdk/client-sts': ^3.568.0 + '@aws-sdk/credential-provider-web-identity@3.568.0(@aws-sdk/client-sts@3.569.0)': dependencies: '@aws-sdk/client-sts': 3.569.0 '@aws-sdk/types': 3.567.0 @@ -3435,9 +10850,7 @@ packages: '@smithy/types': 2.12.0 tslib: 2.6.2 - /@aws-sdk/credential-providers@3.554.0: - resolution: {integrity: sha512-UMmJ4M7RknSz1p0981t57QUw6DibPEo/GG8+env6Q8dHrEc3pnRL206f1zxLcqzT5RI50XstH/bDtnyC7uRYiw==} - engines: {node: '>=14.0.0'} + '@aws-sdk/credential-providers@3.554.0': dependencies: '@aws-sdk/client-cognito-identity': 3.554.0 '@aws-sdk/client-sso': 3.554.0 @@ -3457,11 +10870,8 @@ packages: tslib: 2.6.2 transitivePeerDependencies: - aws-crt - dev: true - /@aws-sdk/middleware-bucket-endpoint@3.535.0: - resolution: {integrity: sha512-7sijlfQsc4UO9Fsl11mU26Y5f9E7g6UoNg/iJUBpC5pgvvmdBRO5UEhbB/gnqvOEPsBXyhmfzbstebq23Qdz7A==} - engines: {node: '>=14.0.0'} + '@aws-sdk/middleware-bucket-endpoint@3.535.0': dependencies: '@aws-sdk/types': 3.535.0 '@aws-sdk/util-arn-parser': 3.535.0 @@ -3470,21 +10880,15 @@ packages: '@smithy/types': 2.12.0 '@smithy/util-config-provider': 2.3.0 tslib: 2.6.2 - dev: true - /@aws-sdk/middleware-expect-continue@3.535.0: - resolution: {integrity: sha512-hFKyqUBky0NWCVku8iZ9+PACehx0p6vuMw5YnZf8FVgHP0fode0b/NwQY6UY7oor/GftvRsAlRUAWGNFEGUpwA==} - engines: {node: '>=14.0.0'} + '@aws-sdk/middleware-expect-continue@3.535.0': dependencies: '@aws-sdk/types': 3.535.0 '@smithy/protocol-http': 3.3.0 '@smithy/types': 2.12.0 tslib: 2.6.2 - dev: true - /@aws-sdk/middleware-flexible-checksums@3.535.0: - resolution: {integrity: sha512-rBIzldY9jjRATxICDX7t77aW6ctqmVDgnuAOgbVT5xgHftt4o7PGWKoMvl/45hYqoQgxVFnCBof9bxkqSBebVA==} - engines: {node: '>=14.0.0'} + '@aws-sdk/middleware-flexible-checksums@3.535.0': dependencies: '@aws-crypto/crc32': 3.0.0 '@aws-crypto/crc32c': 3.0.0 @@ -3494,85 +10898,60 @@ packages: '@smithy/types': 2.12.0 '@smithy/util-utf8': 2.3.0 tslib: 2.6.2 - dev: true - /@aws-sdk/middleware-host-header@3.535.0: - resolution: {integrity: sha512-0h6TWjBWtDaYwHMQJI9ulafeS4lLaw1vIxRjbpH0svFRt6Eve+Sy8NlVhECfTU2hNz/fLubvrUxsXoThaLBIew==} - engines: {node: '>=14.0.0'} + '@aws-sdk/middleware-host-header@3.535.0': dependencies: '@aws-sdk/types': 3.535.0 '@smithy/protocol-http': 3.3.0 '@smithy/types': 2.12.0 tslib: 2.6.2 - dev: true - /@aws-sdk/middleware-host-header@3.567.0: - resolution: {integrity: sha512-zQHHj2N3in9duKghH7AuRNrOMLnKhW6lnmb7dznou068DJtDr76w475sHp2TF0XELsOGENbbBsOlN/S5QBFBVQ==} - engines: {node: '>=16.0.0'} + '@aws-sdk/middleware-host-header@3.567.0': dependencies: '@aws-sdk/types': 3.567.0 '@smithy/protocol-http': 3.3.0 '@smithy/types': 2.12.0 tslib: 2.6.2 - /@aws-sdk/middleware-location-constraint@3.535.0: - resolution: {integrity: sha512-SxfS9wfidUZZ+WnlKRTCRn3h+XTsymXRXPJj8VV6hNRNeOwzNweoG3YhQbTowuuNfXf89m9v6meYkBBtkdacKw==} - engines: {node: '>=14.0.0'} + '@aws-sdk/middleware-location-constraint@3.535.0': dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 tslib: 2.6.2 - dev: true - /@aws-sdk/middleware-logger@3.535.0: - resolution: {integrity: sha512-huNHpONOrEDrdRTvSQr1cJiRMNf0S52NDXtaPzdxiubTkP+vni2MohmZANMOai/qT0olmEVX01LhZ0ZAOgmg6A==} - engines: {node: '>=14.0.0'} + '@aws-sdk/middleware-logger@3.535.0': dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 tslib: 2.6.2 - dev: true - /@aws-sdk/middleware-logger@3.568.0: - resolution: {integrity: sha512-BinH72RG7K3DHHC1/tCulocFv+ZlQ9SrPF9zYT0T1OT95JXuHhB7fH8gEABrc6DAtOdJJh2fgxQjPy5tzPtsrA==} - engines: {node: '>=16.0.0'} + '@aws-sdk/middleware-logger@3.568.0': dependencies: '@aws-sdk/types': 3.567.0 '@smithy/types': 2.12.0 tslib: 2.6.2 - /@aws-sdk/middleware-recursion-detection@3.535.0: - resolution: {integrity: sha512-am2qgGs+gwqmR4wHLWpzlZ8PWhm4ktj5bYSgDrsOfjhdBlWNxvPoID9/pDAz5RWL48+oH7I6SQzMqxXsFDikrw==} - engines: {node: '>=14.0.0'} + '@aws-sdk/middleware-recursion-detection@3.535.0': dependencies: '@aws-sdk/types': 3.535.0 '@smithy/protocol-http': 3.3.0 '@smithy/types': 2.12.0 tslib: 2.6.2 - dev: true - /@aws-sdk/middleware-recursion-detection@3.567.0: - resolution: {integrity: sha512-rFk3QhdT4IL6O/UWHmNdjJiURutBCy+ogGqaNHf/RELxgXH3KmYorLwCe0eFb5hq8f6vr3zl4/iH7YtsUOuo1w==} - engines: {node: '>=16.0.0'} + '@aws-sdk/middleware-recursion-detection@3.567.0': dependencies: '@aws-sdk/types': 3.567.0 '@smithy/protocol-http': 3.3.0 '@smithy/types': 2.12.0 tslib: 2.6.2 - /@aws-sdk/middleware-retry@3.374.0: - resolution: {integrity: sha512-ZnT84qnT+Zmelv7y6hAqgAEaZgpGlrvf/+rchNWT0oG4duxI5bLWcRi9U88Jz7G8JgNQcGKJqPfC6oogCd7p8w==} - engines: {node: '>=14.0.0'} - deprecated: This package has moved to @smithy/middleware-retry + '@aws-sdk/middleware-retry@3.374.0': dependencies: '@smithy/middleware-retry': 1.1.0 tslib: 2.6.2 uuid: 8.3.2 - dev: true - /@aws-sdk/middleware-sdk-s3@3.552.0: - resolution: {integrity: sha512-9KzOqsbwJJuQcpmrpkkIftjPahB1bsrcWalYzcVqKCgHCylhkSHW2tX+uGHRnvAl9iobQD5D7LUrS+cv0NeQ/Q==} - engines: {node: '>=14.0.0'} + '@aws-sdk/middleware-sdk-s3@3.552.0': dependencies: '@aws-sdk/types': 3.535.0 '@aws-sdk/util-arn-parser': 3.535.0 @@ -3583,11 +10962,8 @@ packages: '@smithy/types': 2.12.0 '@smithy/util-config-provider': 2.3.0 tslib: 2.6.2 - dev: true - /@aws-sdk/middleware-signing@3.552.0: - resolution: {integrity: sha512-ZjOrlEmwjhbmkINa4Zx9LJh+xb/kgEiUrcfud2kq/r8ath1Nv1/4zalI9jHnou1J+R+yS+FQlXLXHSZ7vqyFbA==} - engines: {node: '>=14.0.0'} + '@aws-sdk/middleware-signing@3.552.0': dependencies: '@aws-sdk/types': 3.535.0 '@smithy/property-provider': 2.2.0 @@ -3596,31 +10972,22 @@ packages: '@smithy/types': 2.12.0 '@smithy/util-middleware': 2.2.0 tslib: 2.6.2 - dev: true - /@aws-sdk/middleware-ssec@3.537.0: - resolution: {integrity: sha512-2QWMrbwd5eBy5KCYn9a15JEWBgrK2qFEKQN2lqb/6z0bhtevIOxIRfC99tzvRuPt6nixFQ+ynKuBjcfT4ZFrdQ==} - engines: {node: '>=14.0.0'} + '@aws-sdk/middleware-ssec@3.537.0': dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 tslib: 2.6.2 - dev: true - /@aws-sdk/middleware-user-agent@3.540.0: - resolution: {integrity: sha512-8Rd6wPeXDnOYzWj1XCmOKcx/Q87L0K1/EHqOBocGjLVbN3gmRxBvpmR1pRTjf7IsWfnnzN5btqtcAkfDPYQUMQ==} - engines: {node: '>=14.0.0'} + '@aws-sdk/middleware-user-agent@3.540.0': dependencies: '@aws-sdk/types': 3.535.0 '@aws-sdk/util-endpoints': 3.540.0 '@smithy/protocol-http': 3.3.0 '@smithy/types': 2.12.0 tslib: 2.6.2 - dev: true - /@aws-sdk/middleware-user-agent@3.567.0: - resolution: {integrity: sha512-a7DBGMRBLWJU3BqrQjOtKS4/RcCh/BhhKqwjCE0FEhhm6A/GGuAs/DcBGOl6Y8Wfsby3vejSlppTLH/qtV1E9w==} - engines: {node: '>=16.0.0'} + '@aws-sdk/middleware-user-agent@3.567.0': dependencies: '@aws-sdk/types': 3.567.0 '@aws-sdk/util-endpoints': 3.567.0 @@ -3628,9 +10995,7 @@ packages: '@smithy/types': 2.12.0 tslib: 2.6.2 - /@aws-sdk/region-config-resolver@3.535.0: - resolution: {integrity: sha512-IXOznDiaItBjsQy4Fil0kzX/J3HxIOknEphqHbOfUf+LpA5ugcsxuQQONrbEQusCBnfJyymrldBvBhFmtlU9Wg==} - engines: {node: '>=14.0.0'} + '@aws-sdk/region-config-resolver@3.535.0': dependencies: '@aws-sdk/types': 3.535.0 '@smithy/node-config-provider': 2.3.0 @@ -3638,11 +11003,8 @@ packages: '@smithy/util-config-provider': 2.3.0 '@smithy/util-middleware': 2.2.0 tslib: 2.6.2 - dev: true - /@aws-sdk/region-config-resolver@3.567.0: - resolution: {integrity: sha512-VMDyYi5Dh2NydDiIARZ19DwMfbyq0llS736cp47qopmO6wzdeul7WRTx8NKfEYN0/AwEaqmTW0ohx58jSB1lYg==} - engines: {node: '>=16.0.0'} + '@aws-sdk/region-config-resolver@3.567.0': dependencies: '@aws-sdk/types': 3.567.0 '@smithy/node-config-provider': 2.3.0 @@ -3651,9 +11013,7 @@ packages: '@smithy/util-middleware': 2.2.0 tslib: 2.6.2 - /@aws-sdk/signature-v4-crt@3.552.0: - resolution: {integrity: sha512-5Dy4E2RtHw3hFCx5L+OsRN2n1OW3yoX06xDPqJ5xe38Pd9H8ZPYxiCEOdyw/TIJUwRjDMgsa2uPKyM/Nwr9cMg==} - engines: {node: '>=14.0.0'} + '@aws-sdk/signature-v4-crt@3.552.0': dependencies: '@aws-sdk/signature-v4-multi-region': 3.552.0 '@aws-sdk/types': 3.535.0 @@ -3669,11 +11029,8 @@ packages: - debug - supports-color - utf-8-validate - dev: true - /@aws-sdk/signature-v4-multi-region@3.552.0: - resolution: {integrity: sha512-cC11/5ahp+LaBCq7cR+51AM2ftf6m9diRd2oWkbEpjSiEKQzZRAltUPZAJM6NXGypmDODQDJphLGt45tvS+8kg==} - engines: {node: '>=14.0.0'} + '@aws-sdk/signature-v4-multi-region@3.552.0': dependencies: '@aws-sdk/middleware-sdk-s3': 3.552.0 '@aws-sdk/types': 3.535.0 @@ -3681,20 +11038,13 @@ packages: '@smithy/signature-v4': 2.3.0 '@smithy/types': 2.12.0 tslib: 2.6.2 - dev: true - /@aws-sdk/smithy-client@3.374.0: - resolution: {integrity: sha512-YQBdO/Nv5EXBg/qfMF4GgYYLNN3Y/06MyuVBYILC1TKAnMoLy2FV0VOYyediagepAcWPdJqyUq4MCNNBy0CPRg==} - engines: {node: '>=14.0.0'} - deprecated: This package has moved to @smithy/smithy-client + '@aws-sdk/smithy-client@3.374.0': dependencies: '@smithy/smithy-client': 1.1.0 tslib: 2.6.2 - dev: true - /@aws-sdk/token-providers@3.554.0(@aws-sdk/credential-provider-node@3.554.0): - resolution: {integrity: sha512-KMMQ5Cw0FUPL9H8g69Lp08xtzRo7r/MK+lBV6LznWBbCP/NwtZ8awVHaPy2P31z00cWtu9MYkUTviWPqJTaBvg==} - engines: {node: '>=14.0.0'} + '@aws-sdk/token-providers@3.554.0(@aws-sdk/credential-provider-node@3.554.0)': dependencies: '@aws-sdk/client-sso-oidc': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) '@aws-sdk/types': 3.535.0 @@ -3705,13 +11055,8 @@ packages: transitivePeerDependencies: - '@aws-sdk/credential-provider-node' - aws-crt - dev: true - /@aws-sdk/token-providers@3.568.0(@aws-sdk/client-sso-oidc@3.569.0): - resolution: {integrity: sha512-mCQElYzY5N2JlXB7LyjOoLvRN/JiSV+E9szLwhYN3dleTUCMbGqWb7RiAR2V3fO+mz8f9kR7DThTExKJbKogKw==} - engines: {node: '>=16.0.0'} - peerDependencies: - '@aws-sdk/client-sso-oidc': ^3.568.0 + '@aws-sdk/token-providers@3.568.0(@aws-sdk/client-sso-oidc@3.569.0)': dependencies: '@aws-sdk/client-sso-oidc': 3.569.0(@aws-sdk/client-sts@3.569.0) '@aws-sdk/types': 3.567.0 @@ -3720,128 +11065,84 @@ packages: '@smithy/types': 2.12.0 tslib: 2.6.2 - /@aws-sdk/types@3.535.0: - resolution: {integrity: sha512-aY4MYfduNj+sRR37U7XxYR8wemfbKP6lx00ze2M2uubn7mZotuVrWYAafbMSXrdEMSToE5JDhr28vArSOoLcSg==} - engines: {node: '>=14.0.0'} + '@aws-sdk/types@3.535.0': dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 - /@aws-sdk/types@3.567.0: - resolution: {integrity: sha512-JBznu45cdgQb8+T/Zab7WpBmfEAh77gsk99xuF4biIb2Sw1mdseONdoGDjEJX57a25TzIv/WUJ2oABWumckz1A==} - engines: {node: '>=16.0.0'} + '@aws-sdk/types@3.567.0': dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 - /@aws-sdk/util-arn-parser@3.535.0: - resolution: {integrity: sha512-smVo29nUPAOprp8Z5Y3GHuhiOtw6c8/EtLCm5AVMtRsTPw4V414ZXL2H66tzmb5kEeSzQlbfBSBEdIFZoxO9kg==} - engines: {node: '>=14.0.0'} + '@aws-sdk/util-arn-parser@3.535.0': dependencies: tslib: 2.6.2 - dev: true - /@aws-sdk/util-endpoints@3.540.0: - resolution: {integrity: sha512-1kMyQFAWx6f8alaI6UT65/5YW/7pDWAKAdNwL6vuJLea03KrZRX3PMoONOSJpAS5m3Ot7HlWZvf3wZDNTLELZw==} - engines: {node: '>=14.0.0'} + '@aws-sdk/util-endpoints@3.540.0': dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 '@smithy/util-endpoints': 1.2.0 tslib: 2.6.2 - dev: true - /@aws-sdk/util-endpoints@3.567.0: - resolution: {integrity: sha512-WVhot3qmi0BKL9ZKnUqsvCd++4RF2DsJIG32NlRaml1FT9KaqSzNv0RXeA6k/kYwiiNT7y3YWu3Lbzy7c6vG9g==} - engines: {node: '>=16.0.0'} + '@aws-sdk/util-endpoints@3.567.0': dependencies: '@aws-sdk/types': 3.567.0 '@smithy/types': 2.12.0 '@smithy/util-endpoints': 1.2.0 tslib: 2.6.2 - /@aws-sdk/util-locate-window@3.535.0: - resolution: {integrity: sha512-PHJ3SL6d2jpcgbqdgiPxkXpu7Drc2PYViwxSIqvvMKhDwzSB1W3mMvtpzwKM4IE7zLFodZo0GKjJ9AsoXndXhA==} - engines: {node: '>=14.0.0'} + '@aws-sdk/util-locate-window@3.535.0': dependencies: tslib: 2.6.2 - /@aws-sdk/util-user-agent-browser@3.535.0: - resolution: {integrity: sha512-RWMcF/xV5n+nhaA/Ff5P3yNP3Kur/I+VNZngog4TEs92oB/nwOdAg/2JL8bVAhUbMrjTjpwm7PItziYFQoqyig==} + '@aws-sdk/util-user-agent-browser@3.535.0': dependencies: '@aws-sdk/types': 3.535.0 '@smithy/types': 2.12.0 bowser: 2.11.0 tslib: 2.6.2 - dev: true - /@aws-sdk/util-user-agent-browser@3.567.0: - resolution: {integrity: sha512-cqP0uXtZ7m7hRysf3fRyJwcY1jCgQTpJy7BHB5VpsE7DXlXHD5+Ur5L42CY7UrRPrB6lc6YGFqaAOs5ghMcLyA==} + '@aws-sdk/util-user-agent-browser@3.567.0': dependencies: '@aws-sdk/types': 3.567.0 '@smithy/types': 2.12.0 bowser: 2.11.0 tslib: 2.6.2 - /@aws-sdk/util-user-agent-node@3.535.0(aws-crt@1.21.2): - resolution: {integrity: sha512-dRek0zUuIT25wOWJlsRm97nTkUlh1NDcLsQZIN2Y8KxhwoXXWtJs5vaDPT+qAg+OpcNj80i1zLR/CirqlFg/TQ==} - engines: {node: '>=14.0.0'} - peerDependencies: - aws-crt: '>=1.0.0' - peerDependenciesMeta: - aws-crt: - optional: true + '@aws-sdk/util-user-agent-node@3.535.0(aws-crt@1.21.2)': dependencies: '@aws-sdk/types': 3.535.0 '@smithy/node-config-provider': 2.3.0 '@smithy/types': 2.12.0 aws-crt: 1.21.2 tslib: 2.6.2 - dev: true - /@aws-sdk/util-user-agent-node@3.568.0: - resolution: {integrity: sha512-NVoZoLnKF+eXPBvXg+KqixgJkPSrerR6Gqmbjwqbv14Ini+0KNKB0/MXas1mDGvvEgtNkHI/Cb9zlJ3KXpti2A==} - engines: {node: '>=16.0.0'} - peerDependencies: - aws-crt: '>=1.0.0' - peerDependenciesMeta: - aws-crt: - optional: true + '@aws-sdk/util-user-agent-node@3.568.0': dependencies: '@aws-sdk/types': 3.567.0 '@smithy/node-config-provider': 2.3.0 '@smithy/types': 2.12.0 tslib: 2.6.2 - /@aws-sdk/util-utf8-browser@3.259.0: - resolution: {integrity: sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==} + '@aws-sdk/util-utf8-browser@3.259.0': dependencies: tslib: 2.6.2 - /@aws-sdk/xml-builder@3.535.0: - resolution: {integrity: sha512-VXAq/Jz8KIrU84+HqsOJhIKZqG0PNTdi6n6PFQ4xJf44ZQHD/5C7ouH4qCFX5XgZXcgbRIcMVVYGC6Jye0dRng==} - engines: {node: '>=14.0.0'} + '@aws-sdk/xml-builder@3.535.0': dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 - dev: true - /@babel/code-frame@7.24.2: - resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} - engines: {node: '>=6.9.0'} + '@babel/code-frame@7.24.2': dependencies: '@babel/highlight': 7.24.2 picocolors: 1.0.0 - dev: true - /@babel/compat-data@7.24.4: - resolution: {integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==} - engines: {node: '>=6.9.0'} - dev: true + '@babel/compat-data@7.24.4': {} - /@babel/core@7.24.4: - resolution: {integrity: sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==} - engines: {node: '>=6.9.0'} + '@babel/core@7.24.4': dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.24.2 @@ -3860,55 +11161,35 @@ packages: semver: 6.3.1 transitivePeerDependencies: - supports-color - dev: true - /@babel/eslint-parser@7.24.1(@babel/core@7.24.4)(eslint@8.57.0): - resolution: {integrity: sha512-d5guuzMlPeDfZIbpQ8+g1NaCNuAGBBGNECh0HVqz1sjOeVLh2CEaifuOysCH18URW6R7pqXINvf5PaR/dC6jLQ==} - engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} - peerDependencies: - '@babel/core': ^7.11.0 - eslint: ^7.5.0 || ^8.0.0 + '@babel/eslint-parser@7.24.1(@babel/core@7.24.4)(eslint@8.57.0)': dependencies: '@babel/core': 7.24.4 '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 eslint: 8.57.0 eslint-visitor-keys: 2.1.0 semver: 6.3.1 - dev: true - /@babel/generator@7.24.4: - resolution: {integrity: sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==} - engines: {node: '>=6.9.0'} + '@babel/generator@7.24.4': dependencies: '@babel/types': 7.24.0 '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 - dev: true - /@babel/helper-annotate-as-pure@7.22.5: - resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} - engines: {node: '>=6.9.0'} + '@babel/helper-annotate-as-pure@7.22.5': dependencies: '@babel/types': 7.24.0 - dev: true - /@babel/helper-compilation-targets@7.23.6: - resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} - engines: {node: '>=6.9.0'} + '@babel/helper-compilation-targets@7.23.6': dependencies: '@babel/compat-data': 7.24.4 '@babel/helper-validator-option': 7.23.5 browserslist: 4.23.0 lru-cache: 5.1.1 semver: 6.3.1 - dev: true - /@babel/helper-create-class-features-plugin@7.24.4(@babel/core@7.24.4): - resolution: {integrity: sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@babel/helper-create-class-features-plugin@7.24.4(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-annotate-as-pure': 7.22.5 @@ -3920,47 +11201,27 @@ packages: '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 - dev: true - /@babel/helper-environment-visitor@7.22.20: - resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} - engines: {node: '>=6.9.0'} - dev: true + '@babel/helper-environment-visitor@7.22.20': {} - /@babel/helper-function-name@7.23.0: - resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} - engines: {node: '>=6.9.0'} + '@babel/helper-function-name@7.23.0': dependencies: '@babel/template': 7.24.0 '@babel/types': 7.24.0 - dev: true - /@babel/helper-hoist-variables@7.22.5: - resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} - engines: {node: '>=6.9.0'} + '@babel/helper-hoist-variables@7.22.5': dependencies: '@babel/types': 7.24.0 - dev: true - /@babel/helper-member-expression-to-functions@7.23.0: - resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} - engines: {node: '>=6.9.0'} + '@babel/helper-member-expression-to-functions@7.23.0': dependencies: '@babel/types': 7.24.0 - dev: true - /@babel/helper-module-imports@7.24.3: - resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} - engines: {node: '>=6.9.0'} + '@babel/helper-module-imports@7.24.3': dependencies: '@babel/types': 7.24.0 - dev: true - /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.4): - resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@babel/helper-module-transforms@7.23.3(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-environment-visitor': 7.22.20 @@ -3968,115 +11229,64 @@ packages: '@babel/helper-simple-access': 7.22.5 '@babel/helper-split-export-declaration': 7.22.6 '@babel/helper-validator-identifier': 7.22.20 - dev: true - /@babel/helper-optimise-call-expression@7.22.5: - resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} - engines: {node: '>=6.9.0'} + '@babel/helper-optimise-call-expression@7.22.5': dependencies: '@babel/types': 7.24.0 - dev: true - /@babel/helper-plugin-utils@7.24.0: - resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==} - engines: {node: '>=6.9.0'} - dev: true + '@babel/helper-plugin-utils@7.24.0': {} - /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0 + '@babel/helper-replace-supers@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 - dev: true - /@babel/helper-simple-access@7.22.5: - resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} - engines: {node: '>=6.9.0'} + '@babel/helper-simple-access@7.22.5': dependencies: '@babel/types': 7.24.0 - dev: true - /@babel/helper-skip-transparent-expression-wrappers@7.22.5: - resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} - engines: {node: '>=6.9.0'} + '@babel/helper-skip-transparent-expression-wrappers@7.22.5': dependencies: '@babel/types': 7.24.0 - dev: true - /@babel/helper-split-export-declaration@7.22.6: - resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} - engines: {node: '>=6.9.0'} + '@babel/helper-split-export-declaration@7.22.6': dependencies: '@babel/types': 7.24.0 - dev: true - /@babel/helper-string-parser@7.24.1: - resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==} - engines: {node: '>=6.9.0'} - dev: true + '@babel/helper-string-parser@7.24.1': {} - /@babel/helper-validator-identifier@7.22.20: - resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} - engines: {node: '>=6.9.0'} - dev: true + '@babel/helper-validator-identifier@7.22.20': {} - /@babel/helper-validator-option@7.23.5: - resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} - engines: {node: '>=6.9.0'} - dev: true + '@babel/helper-validator-option@7.23.5': {} - /@babel/helpers@7.24.4: - resolution: {integrity: sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==} - engines: {node: '>=6.9.0'} + '@babel/helpers@7.24.4': dependencies: '@babel/template': 7.24.0 '@babel/traverse': 7.24.1 '@babel/types': 7.24.0 transitivePeerDependencies: - supports-color - dev: true - /@babel/highlight@7.24.2: - resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} - engines: {node: '>=6.9.0'} + '@babel/highlight@7.24.2': dependencies: '@babel/helper-validator-identifier': 7.22.20 chalk: 2.4.2 js-tokens: 4.0.0 picocolors: 1.0.0 - dev: true - /@babel/parser@7.24.4: - resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==} - engines: {node: '>=6.0.0'} - hasBin: true + '@babel/parser@7.24.4': dependencies: '@babel/types': 7.24.0 - dev: true - /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.24.4): - resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} - engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead. - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.24.4): - resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} - engines: {node: '>=6.9.0'} - deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead. - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.24.4)': dependencies: '@babel/compat-data': 7.24.4 '@babel/core': 7.24.4 @@ -4084,192 +11294,103 @@ packages: '@babel/helper-plugin-utils': 7.24.0 '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.4) '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.4) - dev: true - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.4): - resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.4): - resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.4): - resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-flow@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-sxi2kLTI5DeW5vDtMUsk4mTPwvlUDbjOnoWayhynCwrw4QXRld4QEYwqzY8JmQXaJUtgUuCIurtSRH5sn4c7mA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-flow@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.4): - resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.4): - resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.4): - resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.4): - resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.4): - resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.4): - resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.4): - resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.4): - resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.4): - resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-transform-block-scoping@7.24.4(@babel/core@7.24.4): - resolution: {integrity: sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-block-scoping@7.24.4(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-transform-classes@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-classes@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-annotate-as-pure': 7.22.5 @@ -4280,141 +11401,76 @@ packages: '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4) '@babel/helper-split-export-declaration': 7.22.6 globals: 11.12.0 - dev: true - /@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/template': 7.24.0 - dev: true - /@babel/plugin-transform-destructuring@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-destructuring@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-transform-flow-strip-types@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-iIYPIWt3dUmUKKE10s3W+jsQ3icFkw0JyRVyY1B7G4yK/nngAOHLVx8xlhA6b/Jzl/Y0nis8gjqhqKtRDQqHWQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-flow-strip-types@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/plugin-syntax-flow': 7.24.1(@babel/core@7.24.4) - dev: true - /@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - dev: true - /@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-function-name': 7.23.0 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-simple-access': 7.22.5 - dev: true - /@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4) - dev: true - /@babel/plugin-transform-parameters@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-parameters@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-transform-react-display-name@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-mvoQg2f9p2qlpDQRBC7M3c3XTr0k7cp/0+kFKKO/7Gtu0LSw16eKB+Fabe2bDT/UpsyasTBBkAnbdsLrkD5XMw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-react-display-name@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.4): - resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-annotate-as-pure': 7.22.5 @@ -4422,58 +11478,34 @@ packages: '@babel/helper-plugin-utils': 7.24.0 '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.4) '@babel/types': 7.24.0 - dev: true - /@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + '@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - dev: true - - /@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.4): - resolution: {integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 + + '@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.4)': dependencies: '@babel/core': 7.24.4 '@babel/helper-plugin-utils': 7.24.0 - dev: true - /@babel/runtime@7.24.4: - resolution: {integrity: sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==} - engines: {node: '>=6.9.0'} + '@babel/runtime@7.24.4': dependencies: regenerator-runtime: 0.14.1 - dev: true - /@babel/template@7.24.0: - resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} - engines: {node: '>=6.9.0'} + '@babel/template@7.24.0': dependencies: '@babel/code-frame': 7.24.2 '@babel/parser': 7.24.4 '@babel/types': 7.24.0 - dev: true - /@babel/traverse@7.24.1: - resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==} - engines: {node: '>=6.9.0'} + '@babel/traverse@7.24.1': dependencies: '@babel/code-frame': 7.24.2 '@babel/generator': 7.24.4 @@ -4487,696 +11519,255 @@ packages: globals: 11.12.0 transitivePeerDependencies: - supports-color - dev: true - /@babel/types@7.24.0: - resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} - engines: {node: '>=6.9.0'} + '@babel/types@7.24.0': dependencies: '@babel/helper-string-parser': 7.24.1 '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 - dev: true - /@bcoe/v8-coverage@0.2.3: - resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} - dev: true + '@bcoe/v8-coverage@0.2.3': {} - /@cdklabs/tskb@0.0.3: - resolution: {integrity: sha512-JR+MuD4awAXvutu7HArephXfZm09GPTaSAQUqNcJB5+ZENRm4kV+L6vJL6Tn1xHjCcHksO+HAqj3gYtm5K94vA==} - dev: true + '@cdklabs/tskb@0.0.3': {} - /@cspotcode/source-map-support@0.8.1: - resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} - engines: {node: '>=12'} + '@cspotcode/source-map-support@0.8.1': dependencies: '@jridgewell/trace-mapping': 0.3.9 - dev: true - /@dependents/detective-less@4.1.0: - resolution: {integrity: sha512-KrkT6qO5NxqNfy68sBl6CTSoJ4SNDIS5iQArkibhlbGU4LaDukZ3q2HIkh8aUKDio6o4itU4xDR7t82Y2eP1Bg==} - engines: {node: '>=14'} + '@dependents/detective-less@4.1.0': dependencies: gonzales-pe: 4.3.0 node-source-walk: 6.0.2 - dev: true - /@envelop/core@3.0.6: - resolution: {integrity: sha512-06t1xCPXq6QFN7W1JUEf68aCwYN0OUDNAIoJe7bAqhaoa2vn7NCcuX1VHkJ/OWpmElUgCsRO6RiBbIru1in0Ig==} + '@envelop/core@3.0.6': dependencies: '@envelop/types': 3.0.2 tslib: 2.6.2 - dev: true - /@envelop/types@3.0.2: - resolution: {integrity: sha512-pOFea9ha0EkURWxJ/35axoH9fDGP5S2cUu/5Mmo9pb8zUf+TaEot8vB670XXihFEn/92759BMjLJNWBKmNhyng==} + '@envelop/types@3.0.2': dependencies: tslib: 2.6.2 - dev: true - /@envelop/validation-cache@5.1.3(@envelop/core@3.0.6)(graphql@16.8.1): - resolution: {integrity: sha512-MkzcScQHJJQ/9YCAPdWShEi3xZv4F4neTs+NszzSrZOdlU8z/THuRt7gZ0sO0y2be+sx+SKjHQP8Gq3VXXcTTg==} - peerDependencies: - '@envelop/core': ^3.0.6 - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 + '@envelop/validation-cache@5.1.3(@envelop/core@3.0.6)(graphql@16.8.1)': dependencies: '@envelop/core': 3.0.6 graphql: 16.8.1 hash-it: 6.0.0 lru-cache: 6.0.0 tslib: 2.6.2 - dev: true - - /@esbuild/aix-ppc64@0.19.12: - resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - requiresBuild: true - dev: true - optional: true - /@esbuild/aix-ppc64@0.20.2: - resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - requiresBuild: true - dev: true + '@esbuild/aix-ppc64@0.19.12': optional: true - /@esbuild/android-arm64@0.18.13: - resolution: {integrity: sha512-j7NhycJUoUAG5kAzGf4fPWfd17N6SM3o1X6MlXVqfHvs2buFraCJzos9vbeWjLxOyBKHyPOnuCuipbhvbYtTAg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true + '@esbuild/aix-ppc64@0.20.2': optional: true - /@esbuild/android-arm64@0.19.12: - resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true + '@esbuild/android-arm64@0.18.13': optional: true - /@esbuild/android-arm64@0.20.2: - resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true + '@esbuild/android-arm64@0.19.12': optional: true - /@esbuild/android-arm@0.18.13: - resolution: {integrity: sha512-KwqFhxRFMKZINHzCqf8eKxE0XqWlAVPRxwy6rc7CbVFxzUWB2sA/s3hbMZeemPdhN3fKBkqOaFhTbS8xJXYIWQ==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true + '@esbuild/android-arm64@0.20.2': optional: true - /@esbuild/android-arm@0.19.12: - resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true + '@esbuild/android-arm@0.18.13': optional: true - /@esbuild/android-arm@0.20.2: - resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true + '@esbuild/android-arm@0.19.12': optional: true - /@esbuild/android-x64@0.18.13: - resolution: {integrity: sha512-M2eZkRxR6WnWfVELHmv6MUoHbOqnzoTVSIxgtsyhm/NsgmL+uTmag/VVzdXvmahak1I6sOb1K/2movco5ikDJg==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true + '@esbuild/android-arm@0.20.2': optional: true - /@esbuild/android-x64@0.19.12: - resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true + '@esbuild/android-x64@0.18.13': optional: true - /@esbuild/android-x64@0.20.2: - resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true + '@esbuild/android-x64@0.19.12': optional: true - /@esbuild/darwin-arm64@0.18.13: - resolution: {integrity: sha512-f5goG30YgR1GU+fxtaBRdSW3SBG9pZW834Mmhxa6terzcboz7P2R0k4lDxlkP7NYRIIdBbWp+VgwQbmMH4yV7w==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true + '@esbuild/android-x64@0.20.2': optional: true - /@esbuild/darwin-arm64@0.19.12: - resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true + '@esbuild/darwin-arm64@0.18.13': optional: true - /@esbuild/darwin-arm64@0.20.2: - resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true + '@esbuild/darwin-arm64@0.19.12': optional: true - /@esbuild/darwin-x64@0.18.13: - resolution: {integrity: sha512-RIrxoKH5Eo+yE5BtaAIMZaiKutPhZjw+j0OCh8WdvKEKJQteacq0myZvBDLU+hOzQOZWJeDnuQ2xgSScKf1Ovw==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true + '@esbuild/darwin-arm64@0.20.2': optional: true - /@esbuild/darwin-x64@0.19.12: - resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true + '@esbuild/darwin-x64@0.18.13': optional: true - /@esbuild/darwin-x64@0.20.2: - resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true + '@esbuild/darwin-x64@0.19.12': optional: true - /@esbuild/freebsd-arm64@0.18.13: - resolution: {integrity: sha512-AfRPhHWmj9jGyLgW/2FkYERKmYR+IjYxf2rtSLmhOrPGFh0KCETFzSjx/JX/HJnvIqHt/DRQD/KAaVsUKoI3Xg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true + '@esbuild/darwin-x64@0.20.2': optional: true - /@esbuild/freebsd-arm64@0.19.12: - resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true + '@esbuild/freebsd-arm64@0.18.13': optional: true - /@esbuild/freebsd-arm64@0.20.2: - resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true + '@esbuild/freebsd-arm64@0.19.12': optional: true - /@esbuild/freebsd-x64@0.18.13: - resolution: {integrity: sha512-pGzWWZJBInhIgdEwzn8VHUBang8UvFKsvjDkeJ2oyY5gZtAM6BaxK0QLCuZY+qoj/nx/lIaItH425rm/hloETA==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true + '@esbuild/freebsd-arm64@0.20.2': optional: true - /@esbuild/freebsd-x64@0.19.12: - resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true + '@esbuild/freebsd-x64@0.18.13': optional: true - /@esbuild/freebsd-x64@0.20.2: - resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true + '@esbuild/freebsd-x64@0.19.12': optional: true - /@esbuild/linux-arm64@0.18.13: - resolution: {integrity: sha512-hCzZbVJEHV7QM77fHPv2qgBcWxgglGFGCxk6KfQx6PsVIdi1u09X7IvgE9QKqm38OpkzaAkPnnPqwRsltvLkIQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/freebsd-x64@0.20.2': optional: true - /@esbuild/linux-arm64@0.19.12: - resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-arm64@0.18.13': optional: true - /@esbuild/linux-arm64@0.20.2: - resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-arm64@0.19.12': optional: true - /@esbuild/linux-arm@0.18.13: - resolution: {integrity: sha512-4iMxLRMCxGyk7lEvkkvrxw4aJeC93YIIrfbBlUJ062kilUUnAiMb81eEkVvCVoh3ON283ans7+OQkuy1uHW+Hw==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-arm64@0.20.2': optional: true - /@esbuild/linux-arm@0.19.12: - resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-arm@0.18.13': optional: true - /@esbuild/linux-arm@0.20.2: - resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-arm@0.19.12': optional: true - /@esbuild/linux-ia32@0.18.13: - resolution: {integrity: sha512-I3OKGbynl3AAIO6onXNrup/ttToE6Rv2XYfFgLK/wnr2J+1g+7k4asLrE+n7VMhaqX+BUnyWkCu27rl+62Adug==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-arm@0.20.2': optional: true - /@esbuild/linux-ia32@0.19.12: - resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-ia32@0.18.13': optional: true - /@esbuild/linux-ia32@0.20.2: - resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-ia32@0.19.12': optional: true - /@esbuild/linux-loong64@0.18.13: - resolution: {integrity: sha512-8pcKDApAsKc6WW51ZEVidSGwGbebYw2qKnO1VyD8xd6JN0RN6EUXfhXmDk9Vc4/U3Y4AoFTexQewQDJGsBXBpg==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-ia32@0.20.2': optional: true - /@esbuild/linux-loong64@0.19.12: - resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-loong64@0.18.13': optional: true - /@esbuild/linux-loong64@0.20.2: - resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-loong64@0.19.12': optional: true - /@esbuild/linux-mips64el@0.18.13: - resolution: {integrity: sha512-6GU+J1PLiVqWx8yoCK4Z0GnfKyCGIH5L2KQipxOtbNPBs+qNDcMJr9euxnyJ6FkRPyMwaSkjejzPSISD9hb+gg==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-loong64@0.20.2': optional: true - /@esbuild/linux-mips64el@0.19.12: - resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-mips64el@0.18.13': optional: true - /@esbuild/linux-mips64el@0.20.2: - resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-mips64el@0.19.12': optional: true - /@esbuild/linux-ppc64@0.18.13: - resolution: {integrity: sha512-pfn/OGZ8tyR8YCV7MlLl5hAit2cmS+j/ZZg9DdH0uxdCoJpV7+5DbuXrR+es4ayRVKIcfS9TTMCs60vqQDmh+w==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-mips64el@0.20.2': optional: true - /@esbuild/linux-ppc64@0.19.12: - resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-ppc64@0.18.13': optional: true - /@esbuild/linux-ppc64@0.20.2: - resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-ppc64@0.19.12': optional: true - /@esbuild/linux-riscv64@0.18.13: - resolution: {integrity: sha512-aIbhU3LPg0lOSCfVeGHbmGYIqOtW6+yzO+Nfv57YblEK01oj0mFMtvDJlOaeAZ6z0FZ9D13oahi5aIl9JFphGg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-ppc64@0.20.2': optional: true - /@esbuild/linux-riscv64@0.19.12: - resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-riscv64@0.18.13': optional: true - /@esbuild/linux-riscv64@0.20.2: - resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-riscv64@0.19.12': optional: true - /@esbuild/linux-s390x@0.18.13: - resolution: {integrity: sha512-Pct1QwF2sp+5LVi4Iu5Y+6JsGaV2Z2vm4O9Dd7XZ5tKYxEHjFtb140fiMcl5HM1iuv6xXO8O1Vrb1iJxHlv8UA==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-riscv64@0.20.2': optional: true - /@esbuild/linux-s390x@0.19.12: - resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-s390x@0.18.13': optional: true - /@esbuild/linux-s390x@0.20.2: - resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-s390x@0.19.12': optional: true - /@esbuild/linux-x64@0.18.13: - resolution: {integrity: sha512-zTrIP0KzYP7O0+3ZnmzvUKgGtUvf4+piY8PIO3V8/GfmVd3ZyHJGz7Ht0np3P1wz+I8qJ4rjwJKqqEAbIEPngA==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-s390x@0.20.2': optional: true - /@esbuild/linux-x64@0.19.12: - resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-x64@0.18.13': optional: true - /@esbuild/linux-x64@0.20.2: - resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true + '@esbuild/linux-x64@0.19.12': optional: true - /@esbuild/netbsd-x64@0.18.13: - resolution: {integrity: sha512-I6zs10TZeaHDYoGxENuksxE1sxqZpCp+agYeW039yqFwh3MgVvdmXL5NMveImOC6AtpLvE4xG5ujVic4NWFIDQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true + '@esbuild/linux-x64@0.20.2': optional: true - /@esbuild/netbsd-x64@0.19.12: - resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true + '@esbuild/netbsd-x64@0.18.13': optional: true - /@esbuild/netbsd-x64@0.20.2: - resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true + '@esbuild/netbsd-x64@0.19.12': optional: true - /@esbuild/openbsd-x64@0.18.13: - resolution: {integrity: sha512-W5C5nczhrt1y1xPG5bV+0M12p2vetOGlvs43LH8SopQ3z2AseIROu09VgRqydx5qFN7y9qCbpgHLx0kb0TcW7g==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true + '@esbuild/netbsd-x64@0.20.2': optional: true - /@esbuild/openbsd-x64@0.19.12: - resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true + '@esbuild/openbsd-x64@0.18.13': optional: true - /@esbuild/openbsd-x64@0.20.2: - resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true + '@esbuild/openbsd-x64@0.19.12': optional: true - /@esbuild/sunos-x64@0.18.13: - resolution: {integrity: sha512-X/xzuw4Hzpo/yq3YsfBbIsipNgmsm8mE/QeWbdGdTTeZ77fjxI2K0KP3AlhZ6gU3zKTw1bKoZTuKLnqcJ537qw==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true + '@esbuild/openbsd-x64@0.20.2': optional: true - - /@esbuild/sunos-x64@0.19.12: - resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true + + '@esbuild/sunos-x64@0.18.13': optional: true - /@esbuild/sunos-x64@0.20.2: - resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true + '@esbuild/sunos-x64@0.19.12': optional: true - /@esbuild/win32-arm64@0.18.13: - resolution: {integrity: sha512-4CGYdRQT/ILd+yLLE5i4VApMPfGE0RPc/wFQhlluDQCK09+b4JDbxzzjpgQqTPrdnP7r5KUtGVGZYclYiPuHrw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true + '@esbuild/sunos-x64@0.20.2': optional: true - /@esbuild/win32-arm64@0.19.12: - resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true + '@esbuild/win32-arm64@0.18.13': optional: true - /@esbuild/win32-arm64@0.20.2: - resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true + '@esbuild/win32-arm64@0.19.12': optional: true - /@esbuild/win32-ia32@0.18.13: - resolution: {integrity: sha512-D+wKZaRhQI+MUGMH+DbEr4owC2D7XnF+uyGiZk38QbgzLcofFqIOwFs7ELmIeU45CQgfHNy9Q+LKW3cE8g37Kg==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true + '@esbuild/win32-arm64@0.20.2': optional: true - /@esbuild/win32-ia32@0.19.12: - resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true + '@esbuild/win32-ia32@0.18.13': optional: true - /@esbuild/win32-ia32@0.20.2: - resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true + '@esbuild/win32-ia32@0.19.12': optional: true - /@esbuild/win32-x64@0.18.13: - resolution: {integrity: sha512-iVl6lehAfJS+VmpF3exKpNQ8b0eucf5VWfzR8S7xFve64NBNz2jPUgx1X93/kfnkfgP737O+i1k54SVQS7uVZA==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true + '@esbuild/win32-ia32@0.20.2': optional: true - /@esbuild/win32-x64@0.19.12: - resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true + '@esbuild/win32-x64@0.18.13': optional: true - /@esbuild/win32-x64@0.20.2: - resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true + '@esbuild/win32-x64@0.19.12': optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): - resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + '@esbuild/win32-x64@0.20.2': + optional: true + + '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)': dependencies: eslint: 8.57.0 eslint-visitor-keys: 3.4.3 - dev: true - /@eslint-community/regexpp@4.10.0: - resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - dev: true + '@eslint-community/regexpp@4.10.0': {} - /@eslint/eslintrc@2.1.4: - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/eslintrc@2.1.4': dependencies: ajv: 6.12.6 debug: 4.3.4(supports-color@8.1.1) @@ -5189,30 +11780,18 @@ packages: strip-json-comments: 3.1.1 transitivePeerDependencies: - supports-color - dev: true - /@eslint/js@8.57.0: - resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true + '@eslint/js@8.57.0': {} - /@ethereumjs/rlp@4.0.1: - resolution: {integrity: sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==} - engines: {node: '>=14'} - hasBin: true - dev: true + '@ethereumjs/rlp@4.0.1': {} - /@ethereumjs/util@8.1.0: - resolution: {integrity: sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==} - engines: {node: '>=14'} + '@ethereumjs/util@8.1.0': dependencies: '@ethereumjs/rlp': 4.0.1 ethereum-cryptography: 2.1.3 micro-ftch: 0.3.1 - dev: true - /@ethersproject/abi@5.6.0: - resolution: {integrity: sha512-AhVByTwdXCc2YQ20v300w6KVHle9g2OFc28ZAFCPnJyEpkv1xKXjZcSTgWOlv1i+0dqlgF8RCF2Rn2KC1t+1Vg==} + '@ethersproject/abi@5.6.0': dependencies: '@ethersproject/address': 5.7.0 '@ethersproject/bignumber': 5.7.0 @@ -5223,10 +11802,8 @@ packages: '@ethersproject/logger': 5.7.0 '@ethersproject/properties': 5.7.0 '@ethersproject/strings': 5.7.0 - dev: false - /@ethersproject/abi@5.7.0: - resolution: {integrity: sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==} + '@ethersproject/abi@5.7.0': dependencies: '@ethersproject/address': 5.7.0 '@ethersproject/bignumber': 5.7.0 @@ -5238,8 +11815,7 @@ packages: '@ethersproject/properties': 5.7.0 '@ethersproject/strings': 5.7.0 - /@ethersproject/abstract-provider@5.6.0: - resolution: {integrity: sha512-oPMFlKLN+g+y7a79cLK3WiLcjWFnZQtXWgnLAbHZcN3s7L4v90UHpTOrLk+m3yr0gt+/h9STTM6zrr7PM8uoRw==} + '@ethersproject/abstract-provider@5.6.0': dependencies: '@ethersproject/bignumber': 5.7.0 '@ethersproject/bytes': 5.7.0 @@ -5248,10 +11824,8 @@ packages: '@ethersproject/properties': 5.7.0 '@ethersproject/transactions': 5.7.0 '@ethersproject/web': 5.7.1 - dev: false - /@ethersproject/abstract-provider@5.7.0: - resolution: {integrity: sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==} + '@ethersproject/abstract-provider@5.7.0': dependencies: '@ethersproject/bignumber': 5.7.0 '@ethersproject/bytes': 5.7.0 @@ -5261,18 +11835,15 @@ packages: '@ethersproject/transactions': 5.7.0 '@ethersproject/web': 5.7.1 - /@ethersproject/abstract-signer@5.6.0: - resolution: {integrity: sha512-WOqnG0NJKtI8n0wWZPReHtaLkDByPL67tn4nBaDAhmVq8sjHTPbCdz4DRhVu/cfTOvfy9w3iq5QZ7BX7zw56BQ==} + '@ethersproject/abstract-signer@5.6.0': dependencies: '@ethersproject/abstract-provider': 5.7.0 '@ethersproject/bignumber': 5.7.0 '@ethersproject/bytes': 5.7.0 '@ethersproject/logger': 5.7.0 '@ethersproject/properties': 5.7.0 - dev: false - /@ethersproject/abstract-signer@5.7.0: - resolution: {integrity: sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==} + '@ethersproject/abstract-signer@5.7.0': dependencies: '@ethersproject/abstract-provider': 5.7.0 '@ethersproject/bignumber': 5.7.0 @@ -5280,18 +11851,15 @@ packages: '@ethersproject/logger': 5.7.0 '@ethersproject/properties': 5.7.0 - /@ethersproject/address@5.6.0: - resolution: {integrity: sha512-6nvhYXjbXsHPS+30sHZ+U4VMagFC/9zAk6Gd/h3S21YW4+yfb0WfRtaAIZ4kfM4rrVwqiy284LP0GtL5HXGLxQ==} + '@ethersproject/address@5.6.0': dependencies: '@ethersproject/bignumber': 5.7.0 '@ethersproject/bytes': 5.7.0 '@ethersproject/keccak256': 5.7.0 '@ethersproject/logger': 5.7.0 '@ethersproject/rlp': 5.7.0 - dev: false - /@ethersproject/address@5.7.0: - resolution: {integrity: sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==} + '@ethersproject/address@5.7.0': dependencies: '@ethersproject/bignumber': 5.7.0 '@ethersproject/bytes': 5.7.0 @@ -5299,69 +11867,53 @@ packages: '@ethersproject/logger': 5.7.0 '@ethersproject/rlp': 5.7.0 - /@ethersproject/base64@5.6.0: - resolution: {integrity: sha512-2Neq8wxJ9xHxCF9TUgmKeSh9BXJ6OAxWfeGWvbauPh8FuHEjamgHilllx8KkSd5ErxyHIX7Xv3Fkcud2kY9ezw==} + '@ethersproject/base64@5.6.0': dependencies: '@ethersproject/bytes': 5.7.0 - dev: false - /@ethersproject/base64@5.7.0: - resolution: {integrity: sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==} + '@ethersproject/base64@5.7.0': dependencies: '@ethersproject/bytes': 5.7.0 - /@ethersproject/basex@5.6.0: - resolution: {integrity: sha512-qN4T+hQd/Md32MoJpc69rOwLYRUXwjTlhHDIeUkUmiN/JyWkkLLMoG0TqvSQKNqZOMgN5stbUYN6ILC+eD7MEQ==} + '@ethersproject/basex@5.6.0': dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/properties': 5.7.0 - dev: false - /@ethersproject/basex@5.7.0: - resolution: {integrity: sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==} + '@ethersproject/basex@5.7.0': dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/properties': 5.7.0 - /@ethersproject/bignumber@5.6.0: - resolution: {integrity: sha512-VziMaXIUHQlHJmkv1dlcd6GY2PmT0khtAqaMctCIDogxkrarMzA9L94KN1NeXqqOfFD6r0sJT3vCTOFSmZ07DA==} + '@ethersproject/bignumber@5.6.0': dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/logger': 5.7.0 bn.js: 4.12.0 - dev: false - /@ethersproject/bignumber@5.7.0: - resolution: {integrity: sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==} + '@ethersproject/bignumber@5.7.0': dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/logger': 5.7.0 bn.js: 5.2.1 - /@ethersproject/bytes@5.6.1: - resolution: {integrity: sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g==} + '@ethersproject/bytes@5.6.1': dependencies: '@ethersproject/logger': 5.7.0 - dev: false - /@ethersproject/bytes@5.7.0: - resolution: {integrity: sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==} + '@ethersproject/bytes@5.7.0': dependencies: '@ethersproject/logger': 5.7.0 - /@ethersproject/constants@5.6.0: - resolution: {integrity: sha512-SrdaJx2bK0WQl23nSpV/b1aq293Lh0sUaZT/yYKPDKn4tlAbkH96SPJwIhwSwTsoQQZxuh1jnqsKwyymoiBdWA==} + '@ethersproject/constants@5.6.0': dependencies: '@ethersproject/bignumber': 5.7.0 - dev: false - /@ethersproject/constants@5.7.0: - resolution: {integrity: sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==} + '@ethersproject/constants@5.7.0': dependencies: '@ethersproject/bignumber': 5.7.0 - /@ethersproject/contracts@5.6.0: - resolution: {integrity: sha512-74Ge7iqTDom0NX+mux8KbRUeJgu1eHZ3iv6utv++sLJG80FVuU9HnHeKVPfjd9s3woFhaFoQGf3B3iH/FrQmgw==} + '@ethersproject/contracts@5.6.0': dependencies: '@ethersproject/abi': 5.7.0 '@ethersproject/abstract-provider': 5.7.0 @@ -5373,10 +11925,8 @@ packages: '@ethersproject/logger': 5.7.0 '@ethersproject/properties': 5.7.0 '@ethersproject/transactions': 5.7.0 - dev: false - /@ethersproject/contracts@5.7.0: - resolution: {integrity: sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==} + '@ethersproject/contracts@5.7.0': dependencies: '@ethersproject/abi': 5.7.0 '@ethersproject/abstract-provider': 5.7.0 @@ -5389,8 +11939,7 @@ packages: '@ethersproject/properties': 5.7.0 '@ethersproject/transactions': 5.7.0 - /@ethersproject/hash@5.6.0: - resolution: {integrity: sha512-fFd+k9gtczqlr0/BruWLAu7UAOas1uRRJvOR84uDf4lNZ+bTkGl366qvniUZHKtlqxBRU65MkOobkmvmpHU+jA==} + '@ethersproject/hash@5.6.0': dependencies: '@ethersproject/abstract-signer': 5.7.0 '@ethersproject/address': 5.7.0 @@ -5400,10 +11949,8 @@ packages: '@ethersproject/logger': 5.7.0 '@ethersproject/properties': 5.7.0 '@ethersproject/strings': 5.7.0 - dev: false - /@ethersproject/hash@5.7.0: - resolution: {integrity: sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==} + '@ethersproject/hash@5.7.0': dependencies: '@ethersproject/abstract-signer': 5.7.0 '@ethersproject/address': 5.7.0 @@ -5415,8 +11962,7 @@ packages: '@ethersproject/properties': 5.7.0 '@ethersproject/strings': 5.7.0 - /@ethersproject/hdnode@5.6.0: - resolution: {integrity: sha512-61g3Jp3nwDqJcL/p4nugSyLrpl/+ChXIOtCEM8UDmWeB3JCAt5FoLdOMXQc3WWkc0oM2C0aAn6GFqqMcS/mHTw==} + '@ethersproject/hdnode@5.6.0': dependencies: '@ethersproject/abstract-signer': 5.7.0 '@ethersproject/basex': 5.7.0 @@ -5430,10 +11976,8 @@ packages: '@ethersproject/strings': 5.7.0 '@ethersproject/transactions': 5.7.0 '@ethersproject/wordlists': 5.7.0 - dev: false - /@ethersproject/hdnode@5.7.0: - resolution: {integrity: sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==} + '@ethersproject/hdnode@5.7.0': dependencies: '@ethersproject/abstract-signer': 5.7.0 '@ethersproject/basex': 5.7.0 @@ -5448,8 +11992,7 @@ packages: '@ethersproject/transactions': 5.7.0 '@ethersproject/wordlists': 5.7.0 - /@ethersproject/json-wallets@5.6.0: - resolution: {integrity: sha512-fmh86jViB9r0ibWXTQipxpAGMiuxoqUf78oqJDlCAJXgnJF024hOOX7qVgqsjtbeoxmcLwpPsXNU0WEe/16qPQ==} + '@ethersproject/json-wallets@5.6.0': dependencies: '@ethersproject/abstract-signer': 5.7.0 '@ethersproject/address': 5.7.0 @@ -5464,10 +12007,8 @@ packages: '@ethersproject/transactions': 5.7.0 aes-js: 3.0.0 scrypt-js: 3.0.1 - dev: false - /@ethersproject/json-wallets@5.7.0: - resolution: {integrity: sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==} + '@ethersproject/json-wallets@5.7.0': dependencies: '@ethersproject/abstract-signer': 5.7.0 '@ethersproject/address': 5.7.0 @@ -5483,63 +12024,47 @@ packages: aes-js: 3.0.0 scrypt-js: 3.0.1 - /@ethersproject/keccak256@5.6.0: - resolution: {integrity: sha512-tk56BJ96mdj/ksi7HWZVWGjCq0WVl/QvfhFQNeL8fxhBlGoP+L80uDCiQcpJPd+2XxkivS3lwRm3E0CXTfol0w==} + '@ethersproject/keccak256@5.6.0': dependencies: '@ethersproject/bytes': 5.7.0 js-sha3: 0.8.0 - dev: false - /@ethersproject/keccak256@5.7.0: - resolution: {integrity: sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==} + '@ethersproject/keccak256@5.7.0': dependencies: '@ethersproject/bytes': 5.7.0 js-sha3: 0.8.0 - /@ethersproject/logger@5.6.0: - resolution: {integrity: sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg==} - dev: false + '@ethersproject/logger@5.6.0': {} - /@ethersproject/logger@5.7.0: - resolution: {integrity: sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==} + '@ethersproject/logger@5.7.0': {} - /@ethersproject/networks@5.6.1: - resolution: {integrity: sha512-b2rrupf3kCTcc3jr9xOWBuHylSFtbpJf79Ga7QR98ienU2UqGimPGEsYMgbI29KHJfA5Us89XwGVmxrlxmSrMg==} + '@ethersproject/networks@5.6.1': dependencies: '@ethersproject/logger': 5.7.0 - dev: false - /@ethersproject/networks@5.7.1: - resolution: {integrity: sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==} + '@ethersproject/networks@5.7.1': dependencies: '@ethersproject/logger': 5.7.0 - /@ethersproject/pbkdf2@5.6.0: - resolution: {integrity: sha512-Wu1AxTgJo3T3H6MIu/eejLFok9TYoSdgwRr5oGY1LTLfmGesDoSx05pemsbrPT2gG4cQME+baTSCp5sEo2erZQ==} + '@ethersproject/pbkdf2@5.6.0': dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/sha2': 5.7.0 - dev: false - /@ethersproject/pbkdf2@5.7.0: - resolution: {integrity: sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==} + '@ethersproject/pbkdf2@5.7.0': dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/sha2': 5.7.0 - /@ethersproject/properties@5.6.0: - resolution: {integrity: sha512-szoOkHskajKePTJSZ46uHUWWkbv7TzP2ypdEK6jGMqJaEt2sb0jCgfBo0gH0m2HBpRixMuJ6TBRaQCF7a9DoCg==} + '@ethersproject/properties@5.6.0': dependencies: '@ethersproject/logger': 5.7.0 - dev: false - /@ethersproject/properties@5.7.0: - resolution: {integrity: sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==} + '@ethersproject/properties@5.7.0': dependencies: '@ethersproject/logger': 5.7.0 - /@ethersproject/providers@5.6.2: - resolution: {integrity: sha512-6/EaFW/hNWz+224FXwl8+HdMRzVHt8DpPmu5MZaIQqx/K/ELnC9eY236SMV7mleCM3NnEArFwcAAxH5kUUgaRg==} + '@ethersproject/providers@5.6.2': dependencies: '@ethersproject/abstract-provider': 5.7.0 '@ethersproject/abstract-signer': 5.7.0 @@ -5563,10 +12088,8 @@ packages: transitivePeerDependencies: - bufferutil - utf-8-validate - dev: false - /@ethersproject/providers@5.7.2: - resolution: {integrity: sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==} + '@ethersproject/providers@5.7.2': dependencies: '@ethersproject/abstract-provider': 5.7.0 '@ethersproject/abstract-signer': 5.7.0 @@ -5592,49 +12115,39 @@ packages: - bufferutil - utf-8-validate - /@ethersproject/random@5.6.0: - resolution: {integrity: sha512-si0PLcLjq+NG/XHSZz90asNf+YfKEqJGVdxoEkSukzbnBgC8rydbgbUgBbBGLeHN4kAJwUFEKsu3sCXT93YMsw==} + '@ethersproject/random@5.6.0': dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/logger': 5.7.0 - dev: false - /@ethersproject/random@5.7.0: - resolution: {integrity: sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==} + '@ethersproject/random@5.7.0': dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/logger': 5.7.0 - /@ethersproject/rlp@5.6.0: - resolution: {integrity: sha512-dz9WR1xpcTL+9DtOT/aDO+YyxSSdO8YIS0jyZwHHSlAmnxA6cKU3TrTd4Xc/bHayctxTgGLYNuVVoiXE4tTq1g==} + '@ethersproject/rlp@5.6.0': dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/logger': 5.7.0 - dev: false - /@ethersproject/rlp@5.7.0: - resolution: {integrity: sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==} + '@ethersproject/rlp@5.7.0': dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/logger': 5.7.0 - /@ethersproject/sha2@5.6.0: - resolution: {integrity: sha512-1tNWCPFLu1n3JM9t4/kytz35DkuF9MxqkGGEHNauEbaARdm2fafnOyw1s0tIQDPKF/7bkP1u3dbrmjpn5CelyA==} + '@ethersproject/sha2@5.6.0': dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/logger': 5.7.0 hash.js: 1.1.7 - dev: false - /@ethersproject/sha2@5.7.0: - resolution: {integrity: sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==} + '@ethersproject/sha2@5.7.0': dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/logger': 5.7.0 hash.js: 1.1.7 - /@ethersproject/signing-key@5.6.0: - resolution: {integrity: sha512-S+njkhowmLeUu/r7ir8n78OUKx63kBdMCPssePS89So1TH4hZqnWFsThEd/GiXYp9qMxVrydf7KdM9MTGPFukA==} + '@ethersproject/signing-key@5.6.0': dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/logger': 5.7.0 @@ -5642,10 +12155,8 @@ packages: bn.js: 4.12.0 elliptic: 6.5.4 hash.js: 1.1.7 - dev: false - /@ethersproject/signing-key@5.7.0: - resolution: {integrity: sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==} + '@ethersproject/signing-key@5.7.0': dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/logger': 5.7.0 @@ -5654,8 +12165,7 @@ packages: elliptic: 6.5.4 hash.js: 1.1.7 - /@ethersproject/solidity@5.6.0: - resolution: {integrity: sha512-YwF52vTNd50kjDzqKaoNNbC/r9kMDPq3YzDWmsjFTRBcIF1y4JCQJ8gB30wsTfHbaxgxelI5BfxQSxD/PbJOww==} + '@ethersproject/solidity@5.6.0': dependencies: '@ethersproject/bignumber': 5.7.0 '@ethersproject/bytes': 5.7.0 @@ -5663,10 +12173,8 @@ packages: '@ethersproject/logger': 5.7.0 '@ethersproject/sha2': 5.7.0 '@ethersproject/strings': 5.7.0 - dev: false - /@ethersproject/solidity@5.7.0: - resolution: {integrity: sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==} + '@ethersproject/solidity@5.7.0': dependencies: '@ethersproject/bignumber': 5.7.0 '@ethersproject/bytes': 5.7.0 @@ -5675,23 +12183,19 @@ packages: '@ethersproject/sha2': 5.7.0 '@ethersproject/strings': 5.7.0 - /@ethersproject/strings@5.6.0: - resolution: {integrity: sha512-uv10vTtLTZqrJuqBZR862ZQjTIa724wGPWQqZrofaPI/kUsf53TBG0I0D+hQ1qyNtllbNzaW+PDPHHUI6/65Mg==} + '@ethersproject/strings@5.6.0': dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/constants': 5.7.0 '@ethersproject/logger': 5.7.0 - dev: false - /@ethersproject/strings@5.7.0: - resolution: {integrity: sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==} + '@ethersproject/strings@5.7.0': dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/constants': 5.7.0 '@ethersproject/logger': 5.7.0 - /@ethersproject/transactions@5.6.0: - resolution: {integrity: sha512-4HX+VOhNjXHZyGzER6E/LVI2i6lf9ejYeWD6l4g50AdmimyuStKc39kvKf1bXWQMg7QNVh+uC7dYwtaZ02IXeg==} + '@ethersproject/transactions@5.6.0': dependencies: '@ethersproject/address': 5.7.0 '@ethersproject/bignumber': 5.7.0 @@ -5702,10 +12206,8 @@ packages: '@ethersproject/properties': 5.7.0 '@ethersproject/rlp': 5.7.0 '@ethersproject/signing-key': 5.7.0 - dev: false - /@ethersproject/transactions@5.7.0: - resolution: {integrity: sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==} + '@ethersproject/transactions@5.7.0': dependencies: '@ethersproject/address': 5.7.0 '@ethersproject/bignumber': 5.7.0 @@ -5717,23 +12219,19 @@ packages: '@ethersproject/rlp': 5.7.0 '@ethersproject/signing-key': 5.7.0 - /@ethersproject/units@5.6.0: - resolution: {integrity: sha512-tig9x0Qmh8qbo1w8/6tmtyrm/QQRviBh389EQ+d8fP4wDsBrJBf08oZfoiz1/uenKK9M78yAP4PoR7SsVoTjsw==} + '@ethersproject/units@5.6.0': dependencies: '@ethersproject/bignumber': 5.7.0 '@ethersproject/constants': 5.7.0 '@ethersproject/logger': 5.7.0 - dev: false - /@ethersproject/units@5.7.0: - resolution: {integrity: sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==} + '@ethersproject/units@5.7.0': dependencies: '@ethersproject/bignumber': 5.7.0 '@ethersproject/constants': 5.7.0 '@ethersproject/logger': 5.7.0 - /@ethersproject/wallet@5.6.0: - resolution: {integrity: sha512-qMlSdOSTyp0MBeE+r7SUhr1jjDlC1zAXB8VD84hCnpijPQiSNbxr6GdiLXxpUs8UKzkDiNYYC5DRI3MZr+n+tg==} + '@ethersproject/wallet@5.6.0': dependencies: '@ethersproject/abstract-provider': 5.7.0 '@ethersproject/abstract-signer': 5.7.0 @@ -5750,10 +12248,8 @@ packages: '@ethersproject/signing-key': 5.7.0 '@ethersproject/transactions': 5.7.0 '@ethersproject/wordlists': 5.7.0 - dev: false - /@ethersproject/wallet@5.7.0: - resolution: {integrity: sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==} + '@ethersproject/wallet@5.7.0': dependencies: '@ethersproject/abstract-provider': 5.7.0 '@ethersproject/abstract-signer': 5.7.0 @@ -5771,18 +12267,15 @@ packages: '@ethersproject/transactions': 5.7.0 '@ethersproject/wordlists': 5.7.0 - /@ethersproject/web@5.6.0: - resolution: {integrity: sha512-G/XHj0hV1FxI2teHRfCGvfBUHFmU+YOSbCxlAMqJklxSa7QMiHFQfAxvwY2PFqgvdkxEKwRNr/eCjfAPEm2Ctg==} + '@ethersproject/web@5.6.0': dependencies: '@ethersproject/base64': 5.7.0 '@ethersproject/bytes': 5.7.0 '@ethersproject/logger': 5.7.0 '@ethersproject/properties': 5.7.0 '@ethersproject/strings': 5.7.0 - dev: false - /@ethersproject/web@5.7.1: - resolution: {integrity: sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==} + '@ethersproject/web@5.7.1': dependencies: '@ethersproject/base64': 5.7.0 '@ethersproject/bytes': 5.7.0 @@ -5790,18 +12283,15 @@ packages: '@ethersproject/properties': 5.7.0 '@ethersproject/strings': 5.7.0 - /@ethersproject/wordlists@5.6.0: - resolution: {integrity: sha512-q0bxNBfIX3fUuAo9OmjlEYxP40IB8ABgb7HjEZCL5IKubzV3j30CWi2rqQbjTS2HfoyQbfINoKcTVWP4ejwR7Q==} + '@ethersproject/wordlists@5.6.0': dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/hash': 5.7.0 '@ethersproject/logger': 5.7.0 '@ethersproject/properties': 5.7.0 '@ethersproject/strings': 5.7.0 - dev: false - /@ethersproject/wordlists@5.7.0: - resolution: {integrity: sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==} + '@ethersproject/wordlists@5.7.0': dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/hash': 5.7.0 @@ -5809,30 +12299,15 @@ packages: '@ethersproject/properties': 5.7.0 '@ethersproject/strings': 5.7.0 - /@fastify/busboy@2.1.1: - resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} - engines: {node: '>=14'} - dev: true + '@fastify/busboy@2.1.1': {} - /@graphql-codegen/add@5.0.2(graphql@16.8.1): - resolution: {integrity: sha512-ouBkSvMFUhda5VoKumo/ZvsZM9P5ZTyDsI8LW18VxSNWOjrTeLXBWHG8Gfaai0HwhflPtCYVABbriEcOmrRShQ==} - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + '@graphql-codegen/add@5.0.2(graphql@16.8.1)': dependencies: '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) graphql: 16.8.1 tslib: 2.6.2 - dev: true - /@graphql-codegen/cli@5.0.2(@types/node@20.12.7)(graphql@16.8.1)(typescript@5.4.5): - resolution: {integrity: sha512-MBIaFqDiLKuO4ojN6xxG9/xL9wmfD3ZjZ7RsPjwQnSHBCUXnEkdKvX+JVpx87Pq29Ycn8wTJUguXnTZ7Di0Mlw==} - hasBin: true - peerDependencies: - '@parcel/watcher': ^2.1.0 - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - peerDependenciesMeta: - '@parcel/watcher': - optional: true + '@graphql-codegen/cli@5.0.2(@types/node@20.12.7)(graphql@16.8.1)(typescript@5.4.5)': dependencies: '@babel/generator': 7.24.4 '@babel/template': 7.24.0 @@ -5879,12 +12354,8 @@ packages: - supports-color - typescript - utf-8-validate - dev: true - /@graphql-codegen/client-preset@4.2.5(graphql@16.8.1): - resolution: {integrity: sha512-hAdB6HN8EDmkoBtr0bPUN/7NH6svzqbcTDMWBCRXPESXkl7y80po+IXrXUjsSrvhKG8xkNXgJNz/2mjwHzywcA==} - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + '@graphql-codegen/client-preset@4.2.5(graphql@16.8.1)': dependencies: '@babel/helper-plugin-utils': 7.24.0 '@babel/template': 7.24.0 @@ -5903,24 +12374,16 @@ packages: transitivePeerDependencies: - encoding - supports-color - dev: true - /@graphql-codegen/core@4.0.2(graphql@16.8.1): - resolution: {integrity: sha512-IZbpkhwVqgizcjNiaVzNAzm/xbWT6YnGgeOLwVjm4KbJn3V2jchVtuzHH09G5/WkkLSk2wgbXNdwjM41JxO6Eg==} - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + '@graphql-codegen/core@4.0.2(graphql@16.8.1)': dependencies: '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) '@graphql-tools/schema': 10.0.3(graphql@16.8.1) '@graphql-tools/utils': 10.1.3(graphql@16.8.1) graphql: 16.8.1 tslib: 2.6.2 - dev: true - /@graphql-codegen/gql-tag-operations@4.0.6(graphql@16.8.1): - resolution: {integrity: sha512-y6iXEDpDNjwNxJw3WZqX1/Znj0QHW7+y8O+t2V8qvbTT+3kb2lr9ntc8By7vCr6ctw9tXI4XKaJgpTstJDOwFA==} - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + '@graphql-codegen/gql-tag-operations@4.0.6(graphql@16.8.1)': dependencies: '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) '@graphql-codegen/visitor-plugin-common': 5.1.0(graphql@16.8.1) @@ -5931,12 +12394,8 @@ packages: transitivePeerDependencies: - encoding - supports-color - dev: true - /@graphql-codegen/plugin-helpers@5.0.3(graphql@16.8.1): - resolution: {integrity: sha512-yZ1rpULIWKBZqCDlvGIJRSyj1B2utkEdGmXZTBT/GVayP4hyRYlkd36AJV/LfEsVD8dnsKL5rLz2VTYmRNlJ5Q==} - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + '@graphql-codegen/plugin-helpers@5.0.3(graphql@16.8.1)': dependencies: '@graphql-tools/utils': 10.1.3(graphql@16.8.1) change-case-all: 1.0.15 @@ -5945,23 +12404,15 @@ packages: import-from: 4.0.0 lodash: 4.17.21 tslib: 2.6.2 - dev: true - /@graphql-codegen/schema-ast@4.0.2(graphql@16.8.1): - resolution: {integrity: sha512-5mVAOQQK3Oz7EtMl/l3vOQdc2aYClUzVDHHkMvZlunc+KlGgl81j8TLa+X7ANIllqU4fUEsQU3lJmk4hXP6K7Q==} - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + '@graphql-codegen/schema-ast@4.0.2(graphql@16.8.1)': dependencies: '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) '@graphql-tools/utils': 10.1.3(graphql@16.8.1) graphql: 16.8.1 tslib: 2.6.2 - dev: true - /@graphql-codegen/typed-document-node@5.0.6(graphql@16.8.1): - resolution: {integrity: sha512-US0J95hOE2/W/h42w4oiY+DFKG7IetEN1mQMgXXeat1w6FAR5PlIz4JrRrEkiVfVetZ1g7K78SOwBD8/IJnDiA==} - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + '@graphql-codegen/typed-document-node@5.0.6(graphql@16.8.1)': dependencies: '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) '@graphql-codegen/visitor-plugin-common': 5.1.0(graphql@16.8.1) @@ -5972,12 +12423,8 @@ packages: transitivePeerDependencies: - encoding - supports-color - dev: true - /@graphql-codegen/typescript-operations@4.2.0(graphql@16.8.1): - resolution: {integrity: sha512-lmuwYb03XC7LNRS8oo9M4/vlOrq/wOKmTLBHlltK2YJ1BO/4K/Q9Jdv/jDmJpNydHVR1fmeF4wAfsIp1f9JibA==} - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + '@graphql-codegen/typescript-operations@4.2.0(graphql@16.8.1)': dependencies: '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) '@graphql-codegen/typescript': 4.0.6(graphql@16.8.1) @@ -5988,12 +12435,8 @@ packages: transitivePeerDependencies: - encoding - supports-color - dev: true - /@graphql-codegen/typescript@4.0.6(graphql@16.8.1): - resolution: {integrity: sha512-IBG4N+Blv7KAL27bseruIoLTjORFCT3r+QYyMC3g11uY3/9TPpaUyjSdF70yBe5GIQ6dAgDU+ENUC1v7EPi0rw==} - peerDependencies: - graphql: ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + '@graphql-codegen/typescript@4.0.6(graphql@16.8.1)': dependencies: '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) '@graphql-codegen/schema-ast': 4.0.2(graphql@16.8.1) @@ -6004,12 +12447,8 @@ packages: transitivePeerDependencies: - encoding - supports-color - dev: true - /@graphql-codegen/visitor-plugin-common@5.1.0(graphql@16.8.1): - resolution: {integrity: sha512-eamQxtA9bjJqI2lU5eYoA1GbdMIRT2X8m8vhWYsVQVWD3qM7sx/IqJU0kx0J3Vd4/CSd36BzL6RKwksibytDIg==} - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + '@graphql-codegen/visitor-plugin-common@5.1.0(graphql@16.8.1)': dependencies: '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) '@graphql-tools/optimize': 2.0.0(graphql@16.8.1) @@ -6025,13 +12464,8 @@ packages: transitivePeerDependencies: - encoding - supports-color - dev: true - /@graphql-tools/apollo-engine-loader@8.0.1(graphql@16.8.1): - resolution: {integrity: sha512-NaPeVjtrfbPXcl+MLQCJLWtqe2/E4bbAqcauEOQ+3sizw1Fc2CNmhHRF8a6W4D0ekvTRRXAMptXYgA2uConbrA==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + '@graphql-tools/apollo-engine-loader@8.0.1(graphql@16.8.1)': dependencies: '@ardatan/sync-fetch': 0.0.1 '@graphql-tools/utils': 10.1.3(graphql@16.8.1) @@ -6040,26 +12474,16 @@ packages: tslib: 2.6.2 transitivePeerDependencies: - encoding - dev: true - /@graphql-tools/batch-execute@9.0.4(graphql@16.8.1): - resolution: {integrity: sha512-kkebDLXgDrep5Y0gK1RN3DMUlLqNhg60OAz0lTCqrYeja6DshxLtLkj+zV4mVbBA4mQOEoBmw6g1LZs3dA84/w==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + '@graphql-tools/batch-execute@9.0.4(graphql@16.8.1)': dependencies: '@graphql-tools/utils': 10.1.3(graphql@16.8.1) dataloader: 2.2.2 graphql: 16.8.1 tslib: 2.6.2 value-or-promise: 1.0.12 - dev: true - /@graphql-tools/code-file-loader@8.1.1(graphql@16.8.1): - resolution: {integrity: sha512-q4KN25EPSUztc8rA8YUU3ufh721Yk12xXDbtUA+YstczWS7a1RJlghYMFEfR1HsHSYbF7cUqkbnTKSGM3o52bQ==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + '@graphql-tools/code-file-loader@8.1.1(graphql@16.8.1)': dependencies: '@graphql-tools/graphql-tag-pluck': 8.3.0(graphql@16.8.1) '@graphql-tools/utils': 10.1.3(graphql@16.8.1) @@ -6069,13 +12493,8 @@ packages: unixify: 1.0.0 transitivePeerDependencies: - supports-color - dev: true - /@graphql-tools/delegate@10.0.4(graphql@16.8.1): - resolution: {integrity: sha512-WswZRbQZMh/ebhc8zSomK9DIh6Pd5KbuiMsyiKkKz37TWTrlCOe+4C/fyrBFez30ksq6oFyCeSKMwfrCbeGo0Q==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + '@graphql-tools/delegate@10.0.4(graphql@16.8.1)': dependencies: '@graphql-tools/batch-execute': 9.0.4(graphql@16.8.1) '@graphql-tools/executor': 1.2.6(graphql@16.8.1) @@ -6084,24 +12503,14 @@ packages: dataloader: 2.2.2 graphql: 16.8.1 tslib: 2.6.2 - dev: true - /@graphql-tools/documents@1.0.0(graphql@16.8.1): - resolution: {integrity: sha512-rHGjX1vg/nZ2DKqRGfDPNC55CWZBMldEVcH+91BThRa6JeT80NqXknffLLEZLRUxyikCfkwMsk6xR3UNMqG0Rg==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + '@graphql-tools/documents@1.0.0(graphql@16.8.1)': dependencies: graphql: 16.8.1 lodash.sortby: 4.7.0 tslib: 2.6.2 - dev: true - /@graphql-tools/executor-graphql-ws@1.1.2(graphql@16.8.1): - resolution: {integrity: sha512-+9ZK0rychTH1LUv4iZqJ4ESbmULJMTsv3XlFooPUngpxZkk00q6LqHKJRrsLErmQrVaC7cwQCaRBJa0teK17Lg==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + '@graphql-tools/executor-graphql-ws@1.1.2(graphql@16.8.1)': dependencies: '@graphql-tools/utils': 10.1.3(graphql@16.8.1) '@types/ws': 8.5.10 @@ -6113,13 +12522,8 @@ packages: transitivePeerDependencies: - bufferutil - utf-8-validate - dev: true - /@graphql-tools/executor-http@1.0.9(@types/node@20.12.7)(graphql@16.8.1): - resolution: {integrity: sha512-+NXaZd2MWbbrWHqU4EhXcrDbogeiCDmEbrAN+rMn4Nu2okDjn2MTFDbTIab87oEubQCH4Te1wDkWPKrzXup7+Q==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + '@graphql-tools/executor-http@1.0.9(@types/node@20.12.7)(graphql@16.8.1)': dependencies: '@graphql-tools/utils': 10.1.3(graphql@16.8.1) '@repeaterjs/repeater': 3.0.5 @@ -6131,13 +12535,8 @@ packages: value-or-promise: 1.0.12 transitivePeerDependencies: - '@types/node' - dev: true - /@graphql-tools/executor-legacy-ws@1.0.6(graphql@16.8.1): - resolution: {integrity: sha512-lDSxz9VyyquOrvSuCCnld3256Hmd+QI2lkmkEv7d4mdzkxkK4ddAWW1geQiWrQvWmdsmcnGGlZ7gDGbhEExwqg==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + '@graphql-tools/executor-legacy-ws@1.0.6(graphql@16.8.1)': dependencies: '@graphql-tools/utils': 10.1.3(graphql@16.8.1) '@types/ws': 8.5.10 @@ -6148,12 +12547,8 @@ packages: transitivePeerDependencies: - bufferutil - utf-8-validate - dev: true - /@graphql-tools/executor@0.0.18(graphql@16.8.1): - resolution: {integrity: sha512-xZC0C+/npXoSHBB5bsJdwxDLgtl1Gu4fL9J2TPQmXoZC3L2N506KJoppf9LgWdHU/xK04luJrhP6WjhfkIN0pQ==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + '@graphql-tools/executor@0.0.18(graphql@16.8.1)': dependencies: '@graphql-tools/utils': 9.2.1(graphql@16.8.1) '@graphql-typed-document-node/core': 3.2.0(graphql@16.8.1) @@ -6161,13 +12556,8 @@ packages: graphql: 16.8.1 tslib: 2.6.2 value-or-promise: 1.0.12 - dev: true - /@graphql-tools/executor@1.2.6(graphql@16.8.1): - resolution: {integrity: sha512-+1kjfqzM5T2R+dCw7F4vdJ3CqG+fY/LYJyhNiWEFtq0ToLwYzR/KKyD8YuzTirEjSxWTVlcBh7endkx5n5F6ew==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + '@graphql-tools/executor@1.2.6(graphql@16.8.1)': dependencies: '@graphql-tools/utils': 10.1.3(graphql@16.8.1) '@graphql-typed-document-node/core': 3.2.0(graphql@16.8.1) @@ -6175,13 +12565,8 @@ packages: graphql: 16.8.1 tslib: 2.6.2 value-or-promise: 1.0.12 - dev: true - /@graphql-tools/git-loader@8.0.5(graphql@16.8.1): - resolution: {integrity: sha512-P97/1mhruDiA6D5WUmx3n/aeGPLWj2+4dpzDOxFGGU+z9NcI/JdygMkeFpGZNHeJfw+kHfxgPcMPnxHcyhAoVA==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + '@graphql-tools/git-loader@8.0.5(graphql@16.8.1)': dependencies: '@graphql-tools/graphql-tag-pluck': 8.3.0(graphql@16.8.1) '@graphql-tools/utils': 10.1.3(graphql@16.8.1) @@ -6192,13 +12577,8 @@ packages: unixify: 1.0.0 transitivePeerDependencies: - supports-color - dev: true - /@graphql-tools/github-loader@8.0.1(@types/node@20.12.7)(graphql@16.8.1): - resolution: {integrity: sha512-W4dFLQJ5GtKGltvh/u1apWRFKBQOsDzFxO9cJkOYZj1VzHCpRF43uLST4VbCfWve+AwBqOuKr7YgkHoxpRMkcg==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + '@graphql-tools/github-loader@8.0.1(@types/node@20.12.7)(graphql@16.8.1)': dependencies: '@ardatan/sync-fetch': 0.0.1 '@graphql-tools/executor-http': 1.0.9(@types/node@20.12.7)(graphql@16.8.1) @@ -6212,13 +12592,8 @@ packages: - '@types/node' - encoding - supports-color - dev: true - /@graphql-tools/graphql-file-loader@8.0.1(graphql@16.8.1): - resolution: {integrity: sha512-7gswMqWBabTSmqbaNyWSmRRpStWlcCkBc73E6NZNlh4YNuiyKOwbvSkOUYFOqFMfEL+cFsXgAvr87Vz4XrYSbA==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + '@graphql-tools/graphql-file-loader@8.0.1(graphql@16.8.1)': dependencies: '@graphql-tools/import': 7.0.1(graphql@16.8.1) '@graphql-tools/utils': 10.1.3(graphql@16.8.1) @@ -6226,13 +12601,8 @@ packages: graphql: 16.8.1 tslib: 2.6.2 unixify: 1.0.0 - dev: true - /@graphql-tools/graphql-tag-pluck@8.3.0(graphql@16.8.1): - resolution: {integrity: sha512-gNqukC+s7iHC7vQZmx1SEJQmLnOguBq+aqE2zV2+o1hxkExvKqyFli1SY/9gmukFIKpKutCIj+8yLOM+jARutw==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + '@graphql-tools/graphql-tag-pluck@8.3.0(graphql@16.8.1)': dependencies: '@babel/core': 7.24.4 '@babel/parser': 7.24.4 @@ -6244,82 +12614,48 @@ packages: tslib: 2.6.2 transitivePeerDependencies: - supports-color - dev: true - /@graphql-tools/import@7.0.1(graphql@16.8.1): - resolution: {integrity: sha512-935uAjAS8UAeXThqHfYVr4HEAp6nHJ2sximZKO1RzUTq5WoALMAhhGARl0+ecm6X+cqNUwIChJbjtaa6P/ML0w==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + '@graphql-tools/import@7.0.1(graphql@16.8.1)': dependencies: '@graphql-tools/utils': 10.1.3(graphql@16.8.1) graphql: 16.8.1 resolve-from: 5.0.0 tslib: 2.6.2 - dev: true - /@graphql-tools/json-file-loader@8.0.1(graphql@16.8.1): - resolution: {integrity: sha512-lAy2VqxDAHjVyqeJonCP6TUemrpYdDuKt25a10X6zY2Yn3iFYGnuIDQ64cv3ytyGY6KPyPB+Kp+ZfOkNDG3FQA==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + '@graphql-tools/json-file-loader@8.0.1(graphql@16.8.1)': dependencies: '@graphql-tools/utils': 10.1.3(graphql@16.8.1) globby: 11.1.0 graphql: 16.8.1 tslib: 2.6.2 unixify: 1.0.0 - dev: true - /@graphql-tools/load@8.0.2(graphql@16.8.1): - resolution: {integrity: sha512-S+E/cmyVmJ3CuCNfDuNF2EyovTwdWfQScXv/2gmvJOti2rGD8jTt9GYVzXaxhblLivQR9sBUCNZu/w7j7aXUCA==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + '@graphql-tools/load@8.0.2(graphql@16.8.1)': dependencies: '@graphql-tools/schema': 10.0.3(graphql@16.8.1) '@graphql-tools/utils': 10.1.3(graphql@16.8.1) graphql: 16.8.1 p-limit: 3.1.0 tslib: 2.6.2 - dev: true - /@graphql-tools/merge@8.4.2(graphql@16.8.1): - resolution: {integrity: sha512-XbrHAaj8yDuINph+sAfuq3QCZ/tKblrTLOpirK0+CAgNlZUCHs0Fa+xtMUURgwCVThLle1AF7svJCxFizygLsw==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + '@graphql-tools/merge@8.4.2(graphql@16.8.1)': dependencies: '@graphql-tools/utils': 9.2.1(graphql@16.8.1) graphql: 16.8.1 tslib: 2.6.2 - dev: true - /@graphql-tools/merge@9.0.3(graphql@16.8.1): - resolution: {integrity: sha512-FeKv9lKLMwqDu0pQjPpF59GY3HReUkWXKsMIuMuJQOKh9BETu7zPEFUELvcw8w+lwZkl4ileJsHXC9+AnsT2Lw==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + '@graphql-tools/merge@9.0.3(graphql@16.8.1)': dependencies: '@graphql-tools/utils': 10.1.3(graphql@16.8.1) graphql: 16.8.1 tslib: 2.6.2 - dev: true - /@graphql-tools/optimize@2.0.0(graphql@16.8.1): - resolution: {integrity: sha512-nhdT+CRGDZ+bk68ic+Jw1OZ99YCDIKYA5AlVAnBHJvMawSx9YQqQAIj4refNc1/LRieGiuWvhbG3jvPVYho0Dg==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + '@graphql-tools/optimize@2.0.0(graphql@16.8.1)': dependencies: graphql: 16.8.1 tslib: 2.6.2 - dev: true - /@graphql-tools/prisma-loader@8.0.3(@types/node@20.12.7)(graphql@16.8.1): - resolution: {integrity: sha512-oZhxnMr3Jw2WAW1h9FIhF27xWzIB7bXWM8olz4W12oII4NiZl7VRkFw9IT50zME2Bqi9LGh9pkmMWkjvbOpl+Q==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + '@graphql-tools/prisma-loader@8.0.3(@types/node@20.12.7)(graphql@16.8.1)': dependencies: '@graphql-tools/url-loader': 8.0.2(@types/node@20.12.7)(graphql@16.8.1) '@graphql-tools/utils': 10.1.3(graphql@16.8.1) @@ -6346,13 +12682,8 @@ packages: - encoding - supports-color - utf-8-validate - dev: true - /@graphql-tools/relay-operation-optimizer@7.0.1(graphql@16.8.1): - resolution: {integrity: sha512-y0ZrQ/iyqWZlsS/xrJfSir3TbVYJTYmMOu4TaSz6F4FRDTQ3ie43BlKkhf04rC28pnUOS4BO9pDcAo1D30l5+A==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + '@graphql-tools/relay-operation-optimizer@7.0.1(graphql@16.8.1)': dependencies: '@ardatan/relay-compiler': 12.0.0(graphql@16.8.1) '@graphql-tools/utils': 10.1.3(graphql@16.8.1) @@ -6361,38 +12692,24 @@ packages: transitivePeerDependencies: - encoding - supports-color - dev: true - /@graphql-tools/schema@10.0.3(graphql@16.8.1): - resolution: {integrity: sha512-p28Oh9EcOna6i0yLaCFOnkcBDQECVf3SCexT6ktb86QNj9idnkhI+tCxnwZDh58Qvjd2nURdkbevvoZkvxzCog==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + '@graphql-tools/schema@10.0.3(graphql@16.8.1)': dependencies: '@graphql-tools/merge': 9.0.3(graphql@16.8.1) '@graphql-tools/utils': 10.1.3(graphql@16.8.1) graphql: 16.8.1 tslib: 2.6.2 value-or-promise: 1.0.12 - dev: true - /@graphql-tools/schema@9.0.19(graphql@16.8.1): - resolution: {integrity: sha512-oBRPoNBtCkk0zbUsyP4GaIzCt8C0aCI4ycIRUL67KK5pOHljKLBBtGT+Jr6hkzA74C8Gco8bpZPe7aWFjiaK2w==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + '@graphql-tools/schema@9.0.19(graphql@16.8.1)': dependencies: '@graphql-tools/merge': 8.4.2(graphql@16.8.1) '@graphql-tools/utils': 9.2.1(graphql@16.8.1) graphql: 16.8.1 tslib: 2.6.2 value-or-promise: 1.0.12 - dev: true - - /@graphql-tools/url-loader@8.0.2(@types/node@20.12.7)(graphql@16.8.1): - resolution: {integrity: sha512-1dKp2K8UuFn7DFo1qX5c1cyazQv2h2ICwA9esHblEqCYrgf69Nk8N7SODmsfWg94OEaI74IqMoM12t7eIGwFzQ==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + + '@graphql-tools/url-loader@8.0.2(@types/node@20.12.7)(graphql@16.8.1)': dependencies: '@ardatan/sync-fetch': 0.0.1 '@graphql-tools/delegate': 10.0.4(graphql@16.8.1) @@ -6413,36 +12730,22 @@ packages: - bufferutil - encoding - utf-8-validate - dev: true - /@graphql-tools/utils@10.1.3(graphql@16.8.1): - resolution: {integrity: sha512-loco2ctrrMQzdpSHbcOo6+Ecp21BV67cQ2pNGhuVKAexruu01RdLn3LgtK47B9BpLz3cUD6U0u1R0rur7xMOOg==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + '@graphql-tools/utils@10.1.3(graphql@16.8.1)': dependencies: '@graphql-typed-document-node/core': 3.2.0(graphql@16.8.1) cross-inspect: 1.0.0 dset: 3.1.3 graphql: 16.8.1 tslib: 2.6.2 - dev: true - /@graphql-tools/utils@9.2.1(graphql@16.8.1): - resolution: {integrity: sha512-WUw506Ql6xzmOORlriNrD6Ugx+HjVgYxt9KCXD9mHAak+eaXSwuGGPyE60hy9xaDEoXKBsG7SkG69ybitaVl6A==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + '@graphql-tools/utils@9.2.1(graphql@16.8.1)': dependencies: '@graphql-typed-document-node/core': 3.2.0(graphql@16.8.1) graphql: 16.8.1 tslib: 2.6.2 - dev: true - /@graphql-tools/wrap@10.0.5(graphql@16.8.1): - resolution: {integrity: sha512-Cbr5aYjr3HkwdPvetZp1cpDWTGdD1Owgsb3z/ClzhmrboiK86EnQDxDvOJiQkDCPWE9lNBwj8Y4HfxroY0D9DQ==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + '@graphql-tools/wrap@10.0.5(graphql@16.8.1)': dependencies: '@graphql-tools/delegate': 10.0.4(graphql@16.8.1) '@graphql-tools/schema': 10.0.3(graphql@16.8.1) @@ -6450,39 +12753,28 @@ packages: graphql: 16.8.1 tslib: 2.6.2 value-or-promise: 1.0.12 - dev: true - /@graphql-typed-document-node/core@3.2.0(graphql@16.8.1): - resolution: {integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==} - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + '@graphql-typed-document-node/core@3.2.0(graphql@16.8.1)': dependencies: graphql: 16.8.1 - /@graphql-yoga/logger@0.0.1: - resolution: {integrity: sha512-6npFz7eZz33mXgSm1waBLMjUNG0D5hTc/p5Hcs1mojkT3KsLpCOFokzTEKboNsBhKevYcaVa/xeA7WBj4UYMLg==} + '@graphql-yoga/logger@0.0.1': dependencies: tslib: 2.6.2 - dev: true - /@graphql-yoga/subscription@3.1.0: - resolution: {integrity: sha512-Vc9lh8KzIHyS3n4jBlCbz7zCjcbtQnOBpsymcRvHhFr2cuH+knmRn0EmzimMQ58jQ8kxoRXXC3KJS3RIxSdPIg==} + '@graphql-yoga/subscription@3.1.0': dependencies: '@graphql-yoga/typed-event-target': 1.0.0 '@repeaterjs/repeater': 3.0.5 '@whatwg-node/events': 0.0.2 tslib: 2.6.2 - dev: true - /@graphql-yoga/typed-event-target@1.0.0: - resolution: {integrity: sha512-Mqni6AEvl3VbpMtKw+TIjc9qS9a8hKhiAjFtqX488yq5oJtj9TkNlFTIacAVS3vnPiswNsmDiQqvwUOcJgi1DA==} + '@graphql-yoga/typed-event-target@1.0.0': dependencies: '@repeaterjs/repeater': 3.0.5 tslib: 2.6.2 - dev: true - /@httptoolkit/websocket-stream@6.0.1: - resolution: {integrity: sha512-A0NOZI+Glp3Xgcz6Na7i7o09+/+xm2m0UCU8gdtM2nIv6/cjLmhMZMqehSpTlgbx9omtLmV8LVqOskPEyWnmZQ==} + '@httptoolkit/websocket-stream@6.0.1': dependencies: '@types/ws': 8.5.10 duplexify: 3.7.1 @@ -6495,50 +12787,33 @@ packages: transitivePeerDependencies: - bufferutil - utf-8-validate - dev: true - /@humanwhocodes/config-array@0.11.14: - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} - engines: {node: '>=10.10.0'} + '@humanwhocodes/config-array@0.11.14': dependencies: '@humanwhocodes/object-schema': 2.0.3 debug: 4.3.4(supports-color@8.1.1) minimatch: 3.1.2 transitivePeerDependencies: - supports-color - dev: true - /@humanwhocodes/module-importer@1.0.1: - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} - dev: true + '@humanwhocodes/module-importer@1.0.1': {} - /@humanwhocodes/object-schema@2.0.3: - resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} - dev: true + '@humanwhocodes/object-schema@2.0.3': {} - /@inquirer/checkbox@2.3.0: - resolution: {integrity: sha512-QE8k4cC00gQQghyRGz9DJ59hOqZ4YpCpr6p8o9H3H+WIxjEEi/3BsYSGWkYGel4v2VKLjph4ork9HGPoNcURKg==} - engines: {node: '>=18'} + '@inquirer/checkbox@2.3.0': dependencies: '@inquirer/core': 8.0.0 '@inquirer/figures': 1.0.0 '@inquirer/type': 1.3.0 ansi-escapes: 4.3.2 chalk: 4.1.2 - dev: false - /@inquirer/confirm@3.1.4: - resolution: {integrity: sha512-2z2RC0JyQCmggQfRxFnQitGp8YZgdM/AqcOuLaUtL0dZHFByk5jgtzxECX4z5MsH8aq2WzdLPI2AHmHOkh8eRA==} - engines: {node: '>=18'} + '@inquirer/confirm@3.1.4': dependencies: '@inquirer/core': 8.0.0 '@inquirer/type': 1.3.0 - dev: false - /@inquirer/core@7.1.3: - resolution: {integrity: sha512-MbHUe32W0DRtuw3Hlt+vLWy3c0Vw7wVHSJyYZ16IGVXyxs31BTyo2MOFKzNnzBBAWhsqn+iHO1r84FXIzs39HQ==} - engines: {node: '>=18'} + '@inquirer/core@7.1.3': dependencies: '@inquirer/figures': 1.0.0 '@inquirer/type': 1.3.0 @@ -6553,11 +12828,8 @@ packages: signal-exit: 4.1.0 strip-ansi: 6.0.1 wrap-ansi: 6.2.0 - dev: false - /@inquirer/core@8.0.0: - resolution: {integrity: sha512-RAszmjXj+grbT9yQ9B+me40LskytwBYPhyl6yHI8h+J5BmL0gNI3pdvBBFD6S9LV0lzhzfCRMBMH5UvuUPYzZQ==} - engines: {node: '>=18'} + '@inquirer/core@8.0.0': dependencies: '@inquirer/figures': 1.0.0 '@inquirer/type': 1.3.0 @@ -6572,51 +12844,33 @@ packages: signal-exit: 4.1.0 strip-ansi: 6.0.1 wrap-ansi: 6.2.0 - dev: false - /@inquirer/editor@2.1.4: - resolution: {integrity: sha512-bZ/YDEWNzQaKPhwyspy77Hntk9UjqXmQPMc3I3Cqn1pPBlPzliylgJDhgErxyIMFMtd92FpbDoOk5WWlaVpBMQ==} - engines: {node: '>=18'} + '@inquirer/editor@2.1.4': dependencies: '@inquirer/core': 8.0.0 '@inquirer/type': 1.3.0 external-editor: 3.1.0 - dev: false - /@inquirer/expand@2.1.4: - resolution: {integrity: sha512-dQeTV54ffbkR6epoue2NlbX8R62gS3M8e3OpXlzl3KxueSSQwlO5o3pAASzBnYje1rkTJ3lhX7fhS8Np0HDofA==} - engines: {node: '>=18'} + '@inquirer/expand@2.1.4': dependencies: '@inquirer/core': 8.0.0 '@inquirer/type': 1.3.0 chalk: 4.1.2 - dev: false - /@inquirer/figures@1.0.0: - resolution: {integrity: sha512-3fw+7+77/duTnMJTeSS44wneszghI4tkr0m0xdIJabbYRe36ElzmsqyboMZ1nFRon6sT+ckVvYDVjwapKv+2sw==} - engines: {node: '>=18'} - dev: false + '@inquirer/figures@1.0.0': {} - /@inquirer/input@2.1.4: - resolution: {integrity: sha512-FnskIUMM0ogcYu9zHIuIx8McSnXC69CMm5qzBSo27joFATe/dbK2SXrq9/i/y2dCGFfETSaiYI6q5Rp7jhDbWg==} - engines: {node: '>=18'} + '@inquirer/input@2.1.4': dependencies: '@inquirer/core': 8.0.0 '@inquirer/type': 1.3.0 - dev: false - /@inquirer/password@2.1.4: - resolution: {integrity: sha512-FK14dvubrLZi4B/OCelmtZngLIKe4AX3Iqwwp48YW1ciEDamoxirMrwV9WzhWnfannPfZFnPLZuqIoqhF9sglg==} - engines: {node: '>=18'} + '@inquirer/password@2.1.4': dependencies: '@inquirer/core': 8.0.0 '@inquirer/type': 1.3.0 ansi-escapes: 4.3.2 - dev: false - /@inquirer/prompts@4.3.3: - resolution: {integrity: sha512-QLn4tTeLKH3Foqlof0+dY0kLoCGQvvR4MDkHAooPI0rLGPOjUwoiVeEalcMtJTGulqJ76it2UW4++j88WO6KLQ==} - engines: {node: '>=18'} + '@inquirer/prompts@4.3.3': dependencies: '@inquirer/checkbox': 2.3.0 '@inquirer/confirm': 3.1.4 @@ -6627,64 +12881,43 @@ packages: '@inquirer/password': 2.1.4 '@inquirer/rawlist': 2.1.4 '@inquirer/select': 2.3.0 - dev: false - /@inquirer/rawlist@2.1.4: - resolution: {integrity: sha512-XtG9e/OYzGedsKsXfUw4tf26aNBN7o2gcYjYdYi7FuE4cOAg1fcFoIn2h0qRMr/+xLsJf4F+Hh+sRnC6yk3yxg==} - engines: {node: '>=18'} + '@inquirer/rawlist@2.1.4': dependencies: '@inquirer/core': 8.0.0 '@inquirer/type': 1.3.0 chalk: 4.1.2 - dev: false - /@inquirer/select@2.3.0: - resolution: {integrity: sha512-FHZkDUIfGfENxzH/M4tskSWUgRnszKUXb/qlrqbvjwUeFFFSOaWztMkAg4sLwnw2nbT+bdi+WlBn98C/j0NOlQ==} - engines: {node: '>=18'} + '@inquirer/select@2.3.0': dependencies: '@inquirer/core': 8.0.0 '@inquirer/figures': 1.0.0 '@inquirer/type': 1.3.0 ansi-escapes: 4.3.2 chalk: 4.1.2 - dev: false - /@inquirer/type@1.3.0: - resolution: {integrity: sha512-RW4Zf6RCTnInRaOZuRHTqAUl+v6VJuQGglir7nW2BkT3OXOphMhkIFhvFRjorBx2l0VwtC/M4No8vYR65TdN9Q==} - engines: {node: '>=18'} - dev: false + '@inquirer/type@1.3.0': {} - /@isaacs/cliui@8.0.2: - resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} - engines: {node: '>=12'} + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 - string-width-cjs: /string-width@4.2.3 + string-width-cjs: string-width@4.2.3 strip-ansi: 7.1.0 - strip-ansi-cjs: /strip-ansi@6.0.1 + strip-ansi-cjs: strip-ansi@6.0.1 wrap-ansi: 8.1.0 - wrap-ansi-cjs: /wrap-ansi@7.0.0 - dev: true + wrap-ansi-cjs: wrap-ansi@7.0.0 - /@istanbuljs/load-nyc-config@1.1.0: - resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} - engines: {node: '>=8'} + '@istanbuljs/load-nyc-config@1.1.0': dependencies: camelcase: 5.3.1 find-up: 4.1.0 get-package-type: 0.1.0 js-yaml: 3.14.1 resolve-from: 5.0.0 - dev: true - /@istanbuljs/schema@0.1.3: - resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} - engines: {node: '>=8'} - dev: true + '@istanbuljs/schema@0.1.3': {} - /@jest/console@29.7.0: - resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/console@29.7.0': dependencies: '@jest/types': 29.6.3 '@types/node': 20.12.7 @@ -6692,16 +12925,8 @@ packages: jest-message-util: 29.7.0 jest-util: 29.7.0 slash: 3.0.0 - dev: true - /@jest/core@29.7.0: - resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true + '@jest/core@29.7.0': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 @@ -6735,38 +12960,26 @@ packages: - babel-plugin-macros - supports-color - ts-node - dev: true - /@jest/environment@29.7.0: - resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/environment@29.7.0': dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 '@types/node': 20.12.7 jest-mock: 29.7.0 - dev: true - /@jest/expect-utils@29.7.0: - resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/expect-utils@29.7.0': dependencies: jest-get-type: 29.6.3 - dev: true - /@jest/expect@29.7.0: - resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/expect@29.7.0': dependencies: expect: 29.7.0 jest-snapshot: 29.7.0 transitivePeerDependencies: - supports-color - dev: true - /@jest/fake-timers@29.7.0: - resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/fake-timers@29.7.0': dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 @@ -6774,11 +12987,8 @@ packages: jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 - dev: true - /@jest/globals@29.7.0: - resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/globals@29.7.0': dependencies: '@jest/environment': 29.7.0 '@jest/expect': 29.7.0 @@ -6786,16 +12996,8 @@ packages: jest-mock: 29.7.0 transitivePeerDependencies: - supports-color - dev: true - /@jest/reporters@29.7.0: - resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true + '@jest/reporters@29.7.0': dependencies: '@bcoe/v8-coverage': 0.2.3 '@jest/console': 29.7.0 @@ -6823,47 +13025,32 @@ packages: v8-to-istanbul: 9.2.0 transitivePeerDependencies: - supports-color - dev: true - /@jest/schemas@29.6.3: - resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/schemas@29.6.3': dependencies: '@sinclair/typebox': 0.27.8 - dev: true - /@jest/source-map@29.6.3: - resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/source-map@29.6.3': dependencies: '@jridgewell/trace-mapping': 0.3.25 callsites: 3.1.0 graceful-fs: 4.2.11 - dev: true - /@jest/test-result@29.7.0: - resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/test-result@29.7.0': dependencies: '@jest/console': 29.7.0 '@jest/types': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 collect-v8-coverage: 1.0.2 - dev: true - /@jest/test-sequencer@29.7.0: - resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/test-sequencer@29.7.0': dependencies: '@jest/test-result': 29.7.0 graceful-fs: 4.2.11 jest-haste-map: 29.7.0 slash: 3.0.0 - dev: true - /@jest/transform@29.7.0: - resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/transform@29.7.0': dependencies: '@babel/core': 7.24.4 '@jest/types': 29.6.3 @@ -6882,11 +13069,8 @@ packages: write-file-atomic: 4.0.2 transitivePeerDependencies: - supports-color - dev: true - /@jest/types@29.6.3: - resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + '@jest/types@29.6.3': dependencies: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 @@ -6894,203 +13078,106 @@ packages: '@types/node': 20.12.7 '@types/yargs': 17.0.32 chalk: 4.1.2 - dev: true - /@jridgewell/gen-mapping@0.3.5: - resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} - engines: {node: '>=6.0.0'} + '@jridgewell/gen-mapping@0.3.5': dependencies: '@jridgewell/set-array': 1.2.1 '@jridgewell/sourcemap-codec': 1.4.15 '@jridgewell/trace-mapping': 0.3.25 - dev: true - /@jridgewell/resolve-uri@3.1.2: - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} - engines: {node: '>=6.0.0'} - dev: true + '@jridgewell/resolve-uri@3.1.2': {} - /@jridgewell/set-array@1.2.1: - resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} - engines: {node: '>=6.0.0'} - dev: true + '@jridgewell/set-array@1.2.1': {} - /@jridgewell/sourcemap-codec@1.4.15: - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - dev: true + '@jridgewell/sourcemap-codec@1.4.15': {} - /@jridgewell/trace-mapping@0.3.25: - resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} + '@jridgewell/trace-mapping@0.3.25': dependencies: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 - dev: true - /@jridgewell/trace-mapping@0.3.9: - resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} + '@jridgewell/trace-mapping@0.3.9': dependencies: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 - dev: true - /@kamilkisiela/fast-url-parser@1.1.4: - resolution: {integrity: sha512-gbkePEBupNydxCelHCESvFSFM8XPh1Zs/OAVRW/rKpEqPAl5PbOM90Si8mv9bvnR53uPD2s/FiRxdvSejpRJew==} - dev: true + '@kamilkisiela/fast-url-parser@1.1.4': {} - /@lukeed/ms@2.0.2: - resolution: {integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==} - engines: {node: '>=8'} - dev: true + '@lukeed/ms@2.0.2': {} - /@metamask/eth-sig-util@4.0.1: - resolution: {integrity: sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ==} - engines: {node: '>=12.0.0'} + '@metamask/eth-sig-util@4.0.1': dependencies: ethereumjs-abi: 0.6.8 ethereumjs-util: 6.2.1 ethjs-util: 0.1.6 tweetnacl: 1.0.3 tweetnacl-util: 0.15.1 - dev: true - /@microsoft/tsdoc-config@0.16.2: - resolution: {integrity: sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==} + '@microsoft/tsdoc-config@0.16.2': dependencies: '@microsoft/tsdoc': 0.14.2 ajv: 6.12.6 jju: 1.4.0 resolve: 1.19.0 - dev: true - /@microsoft/tsdoc@0.14.2: - resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==} - dev: true + '@microsoft/tsdoc@0.14.2': {} - /@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1: - resolution: {integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==} + '@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1': dependencies: eslint-scope: 5.1.1 - dev: true - /@noble/curves@1.2.0: - resolution: {integrity: sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==} + '@noble/curves@1.2.0': dependencies: '@noble/hashes': 1.3.2 - /@noble/curves@1.3.0: - resolution: {integrity: sha512-t01iSXPuN+Eqzb4eBX0S5oubSqXbK/xXa1Ne18Hj8f9pStxztHCE2gfboSp/dZRLSqfuLpRK2nDXDK+W9puocA==} + '@noble/curves@1.3.0': dependencies: '@noble/hashes': 1.3.3 - dev: true - /@noble/hashes@1.2.0: - resolution: {integrity: sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==} - dev: true + '@noble/hashes@1.2.0': {} - /@noble/hashes@1.3.2: - resolution: {integrity: sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==} - engines: {node: '>= 16'} + '@noble/hashes@1.3.2': {} - /@noble/hashes@1.3.3: - resolution: {integrity: sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==} - engines: {node: '>= 16'} + '@noble/hashes@1.3.3': {} - /@noble/hashes@1.4.0: - resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} - engines: {node: '>= 16'} - dev: true + '@noble/hashes@1.4.0': {} - /@noble/secp256k1@1.7.1: - resolution: {integrity: sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==} - dev: true + '@noble/secp256k1@1.7.1': {} - /@nodelib/fs.scandir@2.1.5: - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 - dev: true - /@nodelib/fs.stat@2.0.5: - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} - dev: true + '@nodelib/fs.stat@2.0.5': {} - /@nodelib/fs.walk@1.2.8: - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} + '@nodelib/fs.walk@1.2.8': dependencies: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 - dev: true - /@nomicfoundation/edr-darwin-arm64@0.3.5: - resolution: {integrity: sha512-gIXUIiPMUy6roLHpNlxf15DumU7/YhffUf7XIB+WUjMecaySfTGyZsTGnCMJZqrDyiYqWPyPKwCV/2u/jqFAUg==} - engines: {node: '>= 18'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true + '@nomicfoundation/edr-darwin-arm64@0.3.5': optional: true - /@nomicfoundation/edr-darwin-x64@0.3.5: - resolution: {integrity: sha512-0MrpOCXUK8gmplpYZ2Cy0holHEylvWoNeecFcrP2WJ5DLQzrB23U5JU2MvUzOJ7aL76Za1VXNBWi/UeTWdHM+w==} - engines: {node: '>= 18'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true + '@nomicfoundation/edr-darwin-x64@0.3.5': optional: true - /@nomicfoundation/edr-linux-arm64-gnu@0.3.5: - resolution: {integrity: sha512-aw9f7AZMiY1dZFNePJGKho2k+nEgFgzUAyyukiKfSqUIMXoFXMf1U3Ujv848czrSq9c5XGcdDa2xnEf3daU3xg==} - engines: {node: '>= 18'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true + '@nomicfoundation/edr-linux-arm64-gnu@0.3.5': optional: true - /@nomicfoundation/edr-linux-arm64-musl@0.3.5: - resolution: {integrity: sha512-cVFRQjyABBlsbDj+XTczYBfrCHprZ6YNzN8gGGSqAh+UGIJkAIRomK6ar27GyJLNx3HkgbuDoi/9kA0zOo/95w==} - engines: {node: '>= 18'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true + '@nomicfoundation/edr-linux-arm64-musl@0.3.5': optional: true - /@nomicfoundation/edr-linux-x64-gnu@0.3.5: - resolution: {integrity: sha512-CjOg85DfR1Vt0fQWn5U0qi26DATK9tVzo3YOZEyI0JBsnqvk43fUTPv3uUAWBrPIRg5O5kOc9xG13hSpCBBxBg==} - engines: {node: '>= 18'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true + '@nomicfoundation/edr-linux-x64-gnu@0.3.5': optional: true - /@nomicfoundation/edr-linux-x64-musl@0.3.5: - resolution: {integrity: sha512-hvX8bBGpBydAVevzK8jsu2FlqVZK1RrCyTX6wGHnltgMuBaoGLHYtNHiFpteOaJw2byYMiORc2bvj+98LhJ0Ew==} - engines: {node: '>= 18'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true + '@nomicfoundation/edr-linux-x64-musl@0.3.5': optional: true - /@nomicfoundation/edr-win32-x64-msvc@0.3.5: - resolution: {integrity: sha512-IJXjW13DY5UPsx/eG5DGfXtJ7Ydwrvw/BTZ2Y93lRLHzszVpSmeVmlxjZP5IW2afTSgMLaAAsqNw4NhppRGN8A==} - engines: {node: '>= 18'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true + '@nomicfoundation/edr-win32-x64-msvc@0.3.5': optional: true - /@nomicfoundation/edr@0.3.5: - resolution: {integrity: sha512-dPSM9DuI1sr71gqWUMgLo8MjHQWO4+WNDm3iWaT6P4vUFJReZX5qwA5X+3UwIPBry8GvNY084u7yWUvB3/8rqA==} - engines: {node: '>= 18'} + '@nomicfoundation/edr@0.3.5': optionalDependencies: '@nomicfoundation/edr-darwin-arm64': 0.3.5 '@nomicfoundation/edr-darwin-x64': 0.3.5 @@ -7099,76 +13186,33 @@ packages: '@nomicfoundation/edr-linux-x64-gnu': 0.3.5 '@nomicfoundation/edr-linux-x64-musl': 0.3.5 '@nomicfoundation/edr-win32-x64-msvc': 0.3.5 - dev: true - /@nomicfoundation/ethereumjs-common@4.0.4: - resolution: {integrity: sha512-9Rgb658lcWsjiicr5GzNCjI1llow/7r0k50dLL95OJ+6iZJcVbi15r3Y0xh2cIO+zgX0WIHcbzIu6FeQf9KPrg==} + '@nomicfoundation/ethereumjs-common@4.0.4': dependencies: '@nomicfoundation/ethereumjs-util': 9.0.4 transitivePeerDependencies: - c-kzg - dev: true - /@nomicfoundation/ethereumjs-rlp@5.0.4: - resolution: {integrity: sha512-8H1S3s8F6QueOc/X92SdrA4RDenpiAEqMg5vJH99kcQaCy/a3Q6fgseo75mgWlbanGJXSlAPtnCeG9jvfTYXlw==} - engines: {node: '>=18'} - hasBin: true - dev: true + '@nomicfoundation/ethereumjs-rlp@5.0.4': {} - /@nomicfoundation/ethereumjs-tx@5.0.4: - resolution: {integrity: sha512-Xjv8wAKJGMrP1f0n2PeyfFCCojHd7iS3s/Ab7qzF1S64kxZ8Z22LCMynArYsVqiFx6rzYy548HNVEyI+AYN/kw==} - engines: {node: '>=18'} - peerDependencies: - c-kzg: ^2.1.2 - peerDependenciesMeta: - c-kzg: - optional: true + '@nomicfoundation/ethereumjs-tx@5.0.4': dependencies: '@nomicfoundation/ethereumjs-common': 4.0.4 '@nomicfoundation/ethereumjs-rlp': 5.0.4 '@nomicfoundation/ethereumjs-util': 9.0.4 ethereum-cryptography: 0.1.3 - dev: true - /@nomicfoundation/ethereumjs-util@9.0.4: - resolution: {integrity: sha512-sLOzjnSrlx9Bb9EFNtHzK/FJFsfg2re6bsGqinFinH1gCqVfz9YYlXiMWwDM4C/L4ywuHFCYwfKTVr/QHQcU0Q==} - engines: {node: '>=18'} - peerDependencies: - c-kzg: ^2.1.2 - peerDependenciesMeta: - c-kzg: - optional: true + '@nomicfoundation/ethereumjs-util@9.0.4': dependencies: '@nomicfoundation/ethereumjs-rlp': 5.0.4 ethereum-cryptography: 0.1.3 - dev: true - /@nomicfoundation/hardhat-network-helpers@1.0.10(hardhat@2.22.2): - resolution: {integrity: sha512-R35/BMBlx7tWN5V6d/8/19QCwEmIdbnA4ZrsuXgvs8i2qFx5i7h6mH5pBS4Pwi4WigLH+upl6faYusrNPuzMrQ==} - peerDependencies: - hardhat: ^2.9.5 + '@nomicfoundation/hardhat-network-helpers@1.0.10(hardhat@2.22.2)': dependencies: ethereumjs-util: 7.1.5 hardhat: 2.22.2(ts-node@10.9.2)(typescript@5.0.4) - dev: true - /@nomicfoundation/hardhat-toolbox-viem@2.0.0(@nomicfoundation/hardhat-network-helpers@1.0.10)(@nomicfoundation/hardhat-verify@2.0.5)(@nomicfoundation/hardhat-viem@1.0.4)(@types/chai-as-promised@7.1.8)(@types/chai@4.3.14)(@types/mocha@10.0.6)(@types/node@20.12.7)(chai@4.4.1)(hardhat-gas-reporter@1.0.10)(hardhat@2.22.2)(solidity-coverage@0.8.12)(ts-node@10.9.2)(typescript@5.0.4)(viem@1.21.4): - resolution: {integrity: sha512-1bxTaC+PcbdctwgP/AvmKJGQTeLoT2kJtAfaDvt5PbL3esZ1EO+pfoBkpliP3DJSNESLSqAjVN1yIFxoLJmiBg==} - peerDependencies: - '@nomicfoundation/hardhat-network-helpers': ^1.0.0 - '@nomicfoundation/hardhat-verify': ^2.0.0 - '@nomicfoundation/hardhat-viem': ^1.0.0 - '@types/chai': ^4.2.0 - '@types/chai-as-promised': ^7.1.6 - '@types/mocha': '>=9.1.0' - '@types/node': '>=16.0.0' - chai: ^4.2.0 - hardhat: ^2.11.0 - hardhat-gas-reporter: ^1.0.8 - solidity-coverage: ^0.8.1 - ts-node: '>=8.0.0' - typescript: ~5.0.4 - viem: ^1.15.1 + '@nomicfoundation/hardhat-toolbox-viem@2.0.0(@nomicfoundation/hardhat-network-helpers@1.0.10)(@nomicfoundation/hardhat-verify@2.0.5)(@nomicfoundation/hardhat-viem@1.0.4)(@types/chai-as-promised@7.1.8)(@types/chai@4.3.14)(@types/mocha@10.0.6)(@types/node@20.12.7)(chai@4.4.1)(hardhat-gas-reporter@1.0.10)(hardhat@2.22.2)(solidity-coverage@0.8.12)(ts-node@10.9.2)(typescript@5.0.4)(viem@1.21.4)': dependencies: '@nomicfoundation/hardhat-network-helpers': 1.0.10(hardhat@2.22.2) '@nomicfoundation/hardhat-verify': 2.0.5(hardhat@2.22.2) @@ -7185,12 +13229,8 @@ packages: ts-node: 10.9.2(@types/node@20.12.7)(typescript@5.0.4) typescript: 5.0.4 viem: 1.21.4(typescript@5.0.4)(zod@3.22.4) - dev: true - /@nomicfoundation/hardhat-verify@2.0.5(hardhat@2.22.2): - resolution: {integrity: sha512-Tg4zu8RkWpyADSFIgF4FlJIUEI4VkxcvELsmbJn2OokbvH2SnUrqKmw0BBfDrtvP0hhmx8wsnrRKP5DV/oTyTA==} - peerDependencies: - hardhat: ^2.0.4 + '@nomicfoundation/hardhat-verify@2.0.5(hardhat@2.22.2)': dependencies: '@ethersproject/abi': 5.7.0 '@ethersproject/address': 5.7.0 @@ -7204,14 +13244,8 @@ packages: undici: 5.28.4 transitivePeerDependencies: - supports-color - dev: true - /@nomicfoundation/hardhat-viem@1.0.4(hardhat@2.22.2)(typescript@5.0.4)(viem@1.21.4)(zod@3.22.4): - resolution: {integrity: sha512-6coot+y0y6d75DG33zAdgXlktNp1MRy2B3vDjqlRBaubqlocYak+BSyryiv76F9JuLLgNSxkxTIZCd24h9gKcQ==} - peerDependencies: - hardhat: ^2.17.0 - typescript: ~5.0.0 - viem: ^1.15.1 + '@nomicfoundation/hardhat-viem@1.0.4(hardhat@2.22.2)(typescript@5.0.4)(viem@1.21.4)(zod@3.22.4)': dependencies: abitype: 0.9.10(typescript@5.0.4)(zod@3.22.4) hardhat: 2.22.2(ts-node@10.9.2)(typescript@5.0.4) @@ -7220,101 +13254,38 @@ packages: viem: 1.21.4(typescript@5.0.4)(zod@3.22.4) transitivePeerDependencies: - zod - dev: true - /@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.1: - resolution: {integrity: sha512-KcTodaQw8ivDZyF+D76FokN/HdpgGpfjc/gFCImdLUyqB6eSWVaZPazMbeAjmfhx3R0zm/NYVzxwAokFKgrc0w==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true + '@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.1': optional: true - /@nomicfoundation/solidity-analyzer-darwin-x64@0.1.1: - resolution: {integrity: sha512-XhQG4BaJE6cIbjAVtzGOGbK3sn1BO9W29uhk9J8y8fZF1DYz0Doj8QDMfpMu+A6TjPDs61lbsmeYodIDnfveSA==} - engines: {node: '>= 10'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true + '@nomicfoundation/solidity-analyzer-darwin-x64@0.1.1': optional: true - /@nomicfoundation/solidity-analyzer-freebsd-x64@0.1.1: - resolution: {integrity: sha512-GHF1VKRdHW3G8CndkwdaeLkVBi5A9u2jwtlS7SLhBc8b5U/GcoL39Q+1CSO3hYqePNP+eV5YI7Zgm0ea6kMHoA==} - engines: {node: '>= 10'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true + '@nomicfoundation/solidity-analyzer-freebsd-x64@0.1.1': optional: true - /@nomicfoundation/solidity-analyzer-linux-arm64-gnu@0.1.1: - resolution: {integrity: sha512-g4Cv2fO37ZsUENQ2vwPnZc2zRenHyAxHcyBjKcjaSmmkKrFr64yvzeNO8S3GBFCo90rfochLs99wFVGT/0owpg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true + '@nomicfoundation/solidity-analyzer-linux-arm64-gnu@0.1.1': optional: true - /@nomicfoundation/solidity-analyzer-linux-arm64-musl@0.1.1: - resolution: {integrity: sha512-WJ3CE5Oek25OGE3WwzK7oaopY8xMw9Lhb0mlYuJl/maZVo+WtP36XoQTb7bW/i8aAdHW5Z+BqrHMux23pvxG3w==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true + '@nomicfoundation/solidity-analyzer-linux-arm64-musl@0.1.1': optional: true - /@nomicfoundation/solidity-analyzer-linux-x64-gnu@0.1.1: - resolution: {integrity: sha512-5WN7leSr5fkUBBjE4f3wKENUy9HQStu7HmWqbtknfXkkil+eNWiBV275IOlpXku7v3uLsXTOKpnnGHJYI2qsdA==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true + '@nomicfoundation/solidity-analyzer-linux-x64-gnu@0.1.1': optional: true - /@nomicfoundation/solidity-analyzer-linux-x64-musl@0.1.1: - resolution: {integrity: sha512-KdYMkJOq0SYPQMmErv/63CwGwMm5XHenEna9X9aB8mQmhDBrYrlAOSsIPgFCUSL0hjxE3xHP65/EPXR/InD2+w==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true + '@nomicfoundation/solidity-analyzer-linux-x64-musl@0.1.1': optional: true - /@nomicfoundation/solidity-analyzer-win32-arm64-msvc@0.1.1: - resolution: {integrity: sha512-VFZASBfl4qiBYwW5xeY20exWhmv6ww9sWu/krWSesv3q5hA0o1JuzmPHR4LPN6SUZj5vcqci0O6JOL8BPw+APg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true + '@nomicfoundation/solidity-analyzer-win32-arm64-msvc@0.1.1': optional: true - /@nomicfoundation/solidity-analyzer-win32-ia32-msvc@0.1.1: - resolution: {integrity: sha512-JnFkYuyCSA70j6Si6cS1A9Gh1aHTEb8kOTBApp/c7NRTFGNMH8eaInKlyuuiIbvYFhlXW4LicqyYuWNNq9hkpQ==} - engines: {node: '>= 10'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true + '@nomicfoundation/solidity-analyzer-win32-ia32-msvc@0.1.1': optional: true - /@nomicfoundation/solidity-analyzer-win32-x64-msvc@0.1.1: - resolution: {integrity: sha512-HrVJr6+WjIXGnw3Q9u6KQcbZCtk0caVWhCdFADySvRyUxJ8PnzlaP+MhwNE8oyT8OZ6ejHBRrrgjSqDCFXGirw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true + '@nomicfoundation/solidity-analyzer-win32-x64-msvc@0.1.1': optional: true - /@nomicfoundation/solidity-analyzer@0.1.1: - resolution: {integrity: sha512-1LMtXj1puAxyFusBgUIy5pZk3073cNXYnXUpuNKFghHbIit/xZgbk0AokpUADbNm3gyD6bFWl3LRFh3dhVdREg==} - engines: {node: '>= 12'} + '@nomicfoundation/solidity-analyzer@0.1.1': optionalDependencies: '@nomicfoundation/solidity-analyzer-darwin-arm64': 0.1.1 '@nomicfoundation/solidity-analyzer-darwin-x64': 0.1.1 @@ -7326,229 +13297,146 @@ packages: '@nomicfoundation/solidity-analyzer-win32-arm64-msvc': 0.1.1 '@nomicfoundation/solidity-analyzer-win32-ia32-msvc': 0.1.1 '@nomicfoundation/solidity-analyzer-win32-x64-msvc': 0.1.1 - dev: true - /@oasisdex/addresses@0.1.20-automation.0: - resolution: {integrity: sha512-TT4F7NY0Q5r12HLgnBf1VeP6ybXbi4e3jgipi608QgEONJ/+bbWDm+itHvMjqbgUyE4TusEPPzqYyAjzc2Tv3Q==} - dev: false + '@oasisdex/addresses@0.1.20-automation.0': {} - /@oasisdex/addresses@0.1.60: - resolution: {integrity: sha512-UAmNodCG3ld4LK5w7sgtoA0ml4lMFfSE7Zp1vswW7/3823IZFmvEO6wy0Pd/vPnJjjKDYaLJdhsRRYGYHwYGSg==} - dev: false + '@oasisdex/addresses@0.1.60': {} - /@oasisdex/automation@1.6.5-morpho.6: - resolution: {integrity: sha512-zMpuB/61QkXR5+zXaBJb2tKTJR5v+BsaNwEm8gWWpDT0xjhh/gBca3hoZvWnoJUHn4raD3DvYapYhBn1qxiZmQ==} + '@oasisdex/automation@1.6.5-morpho.6': dependencies: ethers: 5.7.2 transitivePeerDependencies: - bufferutil - utf-8-validate - dev: false - /@oasisdex/dma-library@0.6.4-automation.13: - resolution: {integrity: sha512-m9sdWD9qtN0KFlF69Ggiztr9Q4D6Oww4iwswDuwXiKz47I+niVh5pp1Keb5FmzRzdCME0Dx29U9mf2pSKd/N8g==} + '@oasisdex/dma-library@0.6.4-automation.13': dependencies: bignumber.js: 9.0.1 ethers: 5.6.2 transitivePeerDependencies: - bufferutil - utf-8-validate - dev: false - /@openzeppelin/contracts@4.9.3: - resolution: {integrity: sha512-He3LieZ1pP2TNt5JbkPA4PNT9WC3gOTOlDcFGJW4Le4QKqwmiNJCRt44APfxMxvq7OugU/cqYuPcSBzOw38DAg==} - dev: true + '@openzeppelin/contracts@4.9.3': {} - /@peculiar/asn1-schema@2.3.8: - resolution: {integrity: sha512-ULB1XqHKx1WBU/tTFIA+uARuRoBVZ4pNdOA878RDrRbBfBGcSzi5HBkdScC6ZbHn8z7L8gmKCgPC1LHRrP46tA==} + '@peculiar/asn1-schema@2.3.8': dependencies: asn1js: 3.0.5 pvtsutils: 1.3.5 tslib: 2.6.2 - dev: true - /@peculiar/json-schema@1.1.12: - resolution: {integrity: sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==} - engines: {node: '>=8.0.0'} + '@peculiar/json-schema@1.1.12': dependencies: tslib: 2.6.2 - dev: true - /@peculiar/webcrypto@1.4.6: - resolution: {integrity: sha512-YBcMfqNSwn3SujUJvAaySy5tlYbYm6tVt9SKoXu8BaTdKGROiJDgPR3TXpZdAKUfklzm3lRapJEAltiMQtBgZg==} - engines: {node: '>=10.12.0'} + '@peculiar/webcrypto@1.4.6': dependencies: '@peculiar/asn1-schema': 2.3.8 '@peculiar/json-schema': 1.1.12 pvtsutils: 1.3.5 tslib: 2.6.2 webcrypto-core: 1.7.9 - dev: true - /@pkgjs/parseargs@0.11.0: - resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} - engines: {node: '>=14'} - requiresBuild: true - dev: true + '@pkgjs/parseargs@0.11.0': optional: true - /@pkgr/core@0.1.1: - resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} - engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - dev: true + '@pkgr/core@0.1.1': {} - /@prb/math@2.5.0(@ethersproject/bignumber@5.7.0)(evm-bn@1.1.2)(mathjs@10.6.4): - resolution: {integrity: sha512-iSNQd4L3HaYuAIhJliLVa7WGsyjFiQHGpomrFgdj7FhYGHT6Yo8bBwbmwAPF1bHD3LN8gdg+ssKrRUPNaNPEVw==} - peerDependencies: - '@ethersproject/bignumber': 5.x - evm-bn: 1.x - mathjs: 10.x + '@prb/math@2.5.0(@ethersproject/bignumber@5.7.0)(evm-bn@1.1.2)(mathjs@10.6.4)': dependencies: '@ethersproject/bignumber': 5.7.0 decimal.js: 10.4.3 evm-bn: 1.1.2(@ethersproject/bignumber@5.7.0) mathjs: 10.6.4 - dev: true - /@redis/bloom@1.2.0(@redis/client@1.5.14): - resolution: {integrity: sha512-HG2DFjYKbpNmVXsa0keLHp/3leGJz1mjh09f2RLGGLQZzSHpkmZWuwJbAvo3QcRY8p80m5+ZdXZdYOSBLlp7Cg==} - peerDependencies: - '@redis/client': ^1.0.0 + '@redis/bloom@1.2.0(@redis/client@1.5.14)': dependencies: '@redis/client': 1.5.14 - dev: false - /@redis/client@1.5.14: - resolution: {integrity: sha512-YGn0GqsRBFUQxklhY7v562VMOP0DcmlrHHs3IV1mFE3cbxe31IITUkqhBcIhVSI/2JqtWAJXg5mjV4aU+zD0HA==} - engines: {node: '>=14'} + '@redis/client@1.5.14': dependencies: cluster-key-slot: 1.1.2 generic-pool: 3.9.0 yallist: 4.0.0 - dev: false - /@redis/graph@1.1.1(@redis/client@1.5.14): - resolution: {integrity: sha512-FEMTcTHZozZciLRl6GiiIB4zGm5z5F3F6a6FZCyrfxdKOhFlGkiAqlexWMBzCi4DcRoyiOsuLfW+cjlGWyExOw==} - peerDependencies: - '@redis/client': ^1.0.0 + '@redis/graph@1.1.1(@redis/client@1.5.14)': dependencies: '@redis/client': 1.5.14 - dev: false - /@redis/json@1.0.6(@redis/client@1.5.14): - resolution: {integrity: sha512-rcZO3bfQbm2zPRpqo82XbW8zg4G/w4W3tI7X8Mqleq9goQjAGLL7q/1n1ZX4dXEAmORVZ4s1+uKLaUOg7LrUhw==} - peerDependencies: - '@redis/client': ^1.0.0 + '@redis/json@1.0.6(@redis/client@1.5.14)': dependencies: '@redis/client': 1.5.14 - dev: false - /@redis/search@1.1.6(@redis/client@1.5.14): - resolution: {integrity: sha512-mZXCxbTYKBQ3M2lZnEddwEAks0Kc7nauire8q20oA0oA/LoA+E/b5Y5KZn232ztPb1FkIGqo12vh3Lf+Vw5iTw==} - peerDependencies: - '@redis/client': ^1.0.0 + '@redis/search@1.1.6(@redis/client@1.5.14)': dependencies: '@redis/client': 1.5.14 - dev: false - /@redis/time-series@1.0.5(@redis/client@1.5.14): - resolution: {integrity: sha512-IFjIgTusQym2B5IZJG3XKr5llka7ey84fw/NOYqESP5WUfQs9zz1ww/9+qoz4ka/S6KcGBodzlCeZ5UImKbscg==} - peerDependencies: - '@redis/client': ^1.0.0 + '@redis/time-series@1.0.5(@redis/client@1.5.14)': dependencies: '@redis/client': 1.5.14 - dev: false - /@repeaterjs/repeater@3.0.4: - resolution: {integrity: sha512-AW8PKd6iX3vAZ0vA43nOUOnbq/X5ihgU+mSXXqunMkeQADGiqw/PY0JNeYtD5sr0PAy51YPgAPbDoeapv9r8WA==} - dev: true + '@repeaterjs/repeater@3.0.4': {} - /@repeaterjs/repeater@3.0.5: - resolution: {integrity: sha512-l3YHBLAol6d/IKnB9LhpD0cEZWAoe3eFKUyTYWmFmCO2Q/WOckxLQAUyMZWwZV2M/m3+4vgRoaolFqaII82/TA==} - dev: true + '@repeaterjs/repeater@3.0.5': {} - /@rushstack/eslint-patch@1.10.2: - resolution: {integrity: sha512-hw437iINopmQuxWPSUEvqE56NCPsiU8N4AYtfHmJFckclktzK9YQJieD3XkDCDH4OjL+C7zgPUh73R/nrcHrqw==} - dev: true + '@rushstack/eslint-patch@1.10.2': {} - /@scure/base@1.1.6: - resolution: {integrity: sha512-ok9AWwhcgYuGG3Zfhyqg+zwl+Wn5uE+dwC0NV/2qQkx4dABbb/bx96vWu8NSj+BNjjSjno+JRYRjle1jV08k3g==} + '@scure/base@1.1.6': {} - /@scure/bip32@1.1.5: - resolution: {integrity: sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==} + '@scure/bip32@1.1.5': dependencies: '@noble/hashes': 1.2.0 '@noble/secp256k1': 1.7.1 '@scure/base': 1.1.6 - dev: true - /@scure/bip32@1.3.2: - resolution: {integrity: sha512-N1ZhksgwD3OBlwTv3R6KFEcPojl/W4ElJOeCZdi+vuI5QmTFwLq3OFf2zd2ROpKvxFdgZ6hUpb0dx9bVNEwYCA==} + '@scure/bip32@1.3.2': dependencies: '@noble/curves': 1.2.0 '@noble/hashes': 1.3.3 '@scure/base': 1.1.6 - /@scure/bip32@1.3.3: - resolution: {integrity: sha512-LJaN3HwRbfQK0X1xFSi0Q9amqOgzQnnDngIt+ZlsBC3Bm7/nE7K0kwshZHyaru79yIVRv/e1mQAjZyuZG6jOFQ==} + '@scure/bip32@1.3.3': dependencies: '@noble/curves': 1.3.0 '@noble/hashes': 1.3.3 '@scure/base': 1.1.6 - dev: true - /@scure/bip39@1.1.1: - resolution: {integrity: sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg==} + '@scure/bip39@1.1.1': dependencies: '@noble/hashes': 1.2.0 '@scure/base': 1.1.6 - dev: true - /@scure/bip39@1.2.1: - resolution: {integrity: sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==} + '@scure/bip39@1.2.1': dependencies: '@noble/hashes': 1.3.3 '@scure/base': 1.1.6 - /@scure/bip39@1.2.2: - resolution: {integrity: sha512-HYf9TUXG80beW+hGAt3TRM8wU6pQoYur9iNypTROm42dorCGmLnFe3eWjz3gOq6G62H2WRh0FCzAR1PI+29zIA==} + '@scure/bip39@1.2.2': dependencies: '@noble/hashes': 1.3.3 '@scure/base': 1.1.6 - dev: true - /@sentry/core@5.30.0: - resolution: {integrity: sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==} - engines: {node: '>=6'} + '@sentry/core@5.30.0': dependencies: '@sentry/hub': 5.30.0 '@sentry/minimal': 5.30.0 '@sentry/types': 5.30.0 '@sentry/utils': 5.30.0 tslib: 1.14.1 - dev: true - /@sentry/hub@5.30.0: - resolution: {integrity: sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==} - engines: {node: '>=6'} + '@sentry/hub@5.30.0': dependencies: '@sentry/types': 5.30.0 '@sentry/utils': 5.30.0 tslib: 1.14.1 - dev: true - /@sentry/minimal@5.30.0: - resolution: {integrity: sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==} - engines: {node: '>=6'} + '@sentry/minimal@5.30.0': dependencies: '@sentry/hub': 5.30.0 '@sentry/types': 5.30.0 tslib: 1.14.1 - dev: true - /@sentry/node@5.30.0: - resolution: {integrity: sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==} - engines: {node: '>=6'} + '@sentry/node@5.30.0': dependencies: '@sentry/core': 5.30.0 '@sentry/hub': 5.30.0 @@ -7561,89 +13449,59 @@ packages: tslib: 1.14.1 transitivePeerDependencies: - supports-color - dev: true - /@sentry/tracing@5.30.0: - resolution: {integrity: sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==} - engines: {node: '>=6'} + '@sentry/tracing@5.30.0': dependencies: '@sentry/hub': 5.30.0 '@sentry/minimal': 5.30.0 '@sentry/types': 5.30.0 '@sentry/utils': 5.30.0 tslib: 1.14.1 - dev: true - /@sentry/types@5.30.0: - resolution: {integrity: sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==} - engines: {node: '>=6'} - dev: true + '@sentry/types@5.30.0': {} - /@sentry/utils@5.30.0: - resolution: {integrity: sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==} - engines: {node: '>=6'} + '@sentry/utils@5.30.0': dependencies: '@sentry/types': 5.30.0 tslib: 1.14.1 - dev: true - /@sinclair/typebox@0.27.8: - resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - dev: true + '@sinclair/typebox@0.27.8': {} - /@sinonjs/commons@3.0.1: - resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} + '@sinonjs/commons@3.0.1': dependencies: type-detect: 4.0.8 - dev: true - /@sinonjs/fake-timers@10.3.0: - resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} + '@sinonjs/fake-timers@10.3.0': dependencies: '@sinonjs/commons': 3.0.1 - dev: true - /@smithy/abort-controller@1.1.0: - resolution: {integrity: sha512-5imgGUlZL4dW4YWdMYAKLmal9ny/tlenM81QZY7xYyb76z9Z/QOg7oM5Ak9HQl8QfFTlGVWwcMXl+54jroRgEQ==} - engines: {node: '>=14.0.0'} + '@smithy/abort-controller@1.1.0': dependencies: '@smithy/types': 1.2.0 tslib: 2.6.2 - dev: true - /@smithy/abort-controller@2.2.0: - resolution: {integrity: sha512-wRlta7GuLWpTqtFfGo+nZyOO1vEvewdNR1R4rTxpC8XU6vG/NDyrFBhwLZsqg1NUoR1noVaXJPC/7ZK47QCySw==} - engines: {node: '>=14.0.0'} + '@smithy/abort-controller@2.2.0': dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 - /@smithy/chunked-blob-reader-native@2.2.0: - resolution: {integrity: sha512-VNB5+1oCgX3Fzs072yuRsUoC2N4Zg/LJ11DTxX3+Qu+Paa6AmbIF0E9sc2wthz9Psrk/zcOlTCyuposlIhPjZQ==} + '@smithy/chunked-blob-reader-native@2.2.0': dependencies: '@smithy/util-base64': 2.3.0 tslib: 2.6.2 - dev: true - /@smithy/chunked-blob-reader@2.2.0: - resolution: {integrity: sha512-3GJNvRwXBGdkDZZOGiziVYzDpn4j6zfyULHMDKAGIUo72yHALpE9CbhfQp/XcLNVoc1byfMpn6uW5H2BqPjgaQ==} + '@smithy/chunked-blob-reader@2.2.0': dependencies: tslib: 2.6.2 - dev: true - /@smithy/config-resolver@1.1.0: - resolution: {integrity: sha512-7WD9eZHp46BxAjNGHJLmxhhyeiNWkBdVStd7SUJPUZqQGeIO/REtIrcIfKUfdiHTQ9jyu2SYoqvzqqaFc6987w==} - engines: {node: '>=14.0.0'} + '@smithy/config-resolver@1.1.0': dependencies: '@smithy/types': 1.2.0 '@smithy/util-config-provider': 1.1.0 '@smithy/util-middleware': 1.1.0 tslib: 2.6.2 - dev: true - /@smithy/config-resolver@2.2.0: - resolution: {integrity: sha512-fsiMgd8toyUba6n1WRmr+qACzXltpdDkPTAaDqc8QqPBUzO+/JKwL6bUBseHVi8tu9l+3JOK+tSf7cay+4B3LA==} - engines: {node: '>=14.0.0'} + '@smithy/config-resolver@2.2.0': dependencies: '@smithy/node-config-provider': 2.3.0 '@smithy/types': 2.12.0 @@ -7651,9 +13509,7 @@ packages: '@smithy/util-middleware': 2.2.0 tslib: 2.6.2 - /@smithy/core@1.4.2: - resolution: {integrity: sha512-2fek3I0KZHWJlRLvRTqxTEri+qV0GRHrJIoLFuBMZB4EMg4WgeBGfF0X6abnrNYpq55KJ6R4D6x4f0vLnhzinA==} - engines: {node: '>=14.0.0'} + '@smithy/core@1.4.2': dependencies: '@smithy/middleware-endpoint': 2.5.1 '@smithy/middleware-retry': 2.3.1 @@ -7664,9 +13520,7 @@ packages: '@smithy/util-middleware': 2.2.0 tslib: 2.6.2 - /@smithy/credential-provider-imds@2.3.0: - resolution: {integrity: sha512-BWB9mIukO1wjEOo1Ojgl6LrG4avcaC7T/ZP6ptmAaW4xluhSIPZhY+/PI5YKzlk+jsm+4sQZB45Bt1OfMeQa3w==} - engines: {node: '>=14.0.0'} + '@smithy/credential-provider-imds@2.3.0': dependencies: '@smithy/node-config-provider': 2.3.0 '@smithy/property-provider': 2.2.0 @@ -7674,62 +13528,45 @@ packages: '@smithy/url-parser': 2.2.0 tslib: 2.6.2 - /@smithy/eventstream-codec@2.2.0: - resolution: {integrity: sha512-8janZoJw85nJmQZc4L8TuePp2pk1nxLgkxIR0TUjKJ5Dkj5oelB9WtiSSGXCQvNsJl0VSTvK/2ueMXxvpa9GVw==} + '@smithy/eventstream-codec@2.2.0': dependencies: '@aws-crypto/crc32': 3.0.0 '@smithy/types': 2.12.0 '@smithy/util-hex-encoding': 2.2.0 tslib: 2.6.2 - dev: true - /@smithy/eventstream-serde-browser@2.2.0: - resolution: {integrity: sha512-UaPf8jKbcP71BGiO0CdeLmlg+RhWnlN8ipsMSdwvqBFigl5nil3rHOI/5GE3tfiuX8LvY5Z9N0meuU7Rab7jWw==} - engines: {node: '>=14.0.0'} + '@smithy/eventstream-serde-browser@2.2.0': dependencies: '@smithy/eventstream-serde-universal': 2.2.0 '@smithy/types': 2.12.0 tslib: 2.6.2 - dev: true - /@smithy/eventstream-serde-config-resolver@2.2.0: - resolution: {integrity: sha512-RHhbTw/JW3+r8QQH7PrganjNCiuiEZmpi6fYUAetFfPLfZ6EkiA08uN3EFfcyKubXQxOwTeJRZSQmDDCdUshaA==} - engines: {node: '>=14.0.0'} + '@smithy/eventstream-serde-config-resolver@2.2.0': dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 - dev: true - /@smithy/eventstream-serde-node@2.2.0: - resolution: {integrity: sha512-zpQMtJVqCUMn+pCSFcl9K/RPNtQE0NuMh8sKpCdEHafhwRsjP50Oq/4kMmvxSRy6d8Jslqd8BLvDngrUtmN9iA==} - engines: {node: '>=14.0.0'} + '@smithy/eventstream-serde-node@2.2.0': dependencies: '@smithy/eventstream-serde-universal': 2.2.0 '@smithy/types': 2.12.0 tslib: 2.6.2 - dev: true - /@smithy/eventstream-serde-universal@2.2.0: - resolution: {integrity: sha512-pvoe/vvJY0mOpuF84BEtyZoYfbehiFj8KKWk1ds2AT0mTLYFVs+7sBJZmioOFdBXKd48lfrx1vumdPdmGlCLxA==} - engines: {node: '>=14.0.0'} + '@smithy/eventstream-serde-universal@2.2.0': dependencies: '@smithy/eventstream-codec': 2.2.0 '@smithy/types': 2.12.0 tslib: 2.6.2 - dev: true - /@smithy/fetch-http-handler@1.1.0: - resolution: {integrity: sha512-N22C9R44u5WGlcY+Wuv8EXmCAq62wWwriRAuoczMEwAIjPbvHSthyPSLqI4S7kAST1j6niWg8kwpeJ3ReAv3xg==} + '@smithy/fetch-http-handler@1.1.0': dependencies: '@smithy/protocol-http': 1.2.0 '@smithy/querystring-builder': 1.1.0 '@smithy/types': 1.2.0 '@smithy/util-base64': 1.1.0 tslib: 2.6.2 - dev: true - /@smithy/fetch-http-handler@2.5.0: - resolution: {integrity: sha512-BOWEBeppWhLn/no/JxUL/ghTfANTjT7kg3Ww2rPqTUY9R4yHPXxJ9JhMe3Z03LN3aPwiwlpDIUcVw1xDyHqEhw==} + '@smithy/fetch-http-handler@2.5.0': dependencies: '@smithy/protocol-http': 3.3.0 '@smithy/querystring-builder': 2.2.0 @@ -7737,71 +13574,52 @@ packages: '@smithy/util-base64': 2.3.0 tslib: 2.6.2 - /@smithy/hash-blob-browser@2.2.0: - resolution: {integrity: sha512-SGPoVH8mdXBqrkVCJ1Hd1X7vh1zDXojNN1yZyZTZsCno99hVue9+IYzWDjq/EQDDXxmITB0gBmuyPh8oAZSTcg==} + '@smithy/hash-blob-browser@2.2.0': dependencies: '@smithy/chunked-blob-reader': 2.2.0 '@smithy/chunked-blob-reader-native': 2.2.0 '@smithy/types': 2.12.0 tslib: 2.6.2 - dev: true - /@smithy/hash-node@2.2.0: - resolution: {integrity: sha512-zLWaC/5aWpMrHKpoDF6nqpNtBhlAYKF/7+9yMN7GpdR8CzohnWfGtMznPybnwSS8saaXBMxIGwJqR4HmRp6b3g==} - engines: {node: '>=14.0.0'} + '@smithy/hash-node@2.2.0': dependencies: '@smithy/types': 2.12.0 '@smithy/util-buffer-from': 2.2.0 '@smithy/util-utf8': 2.3.0 tslib: 2.6.2 - /@smithy/hash-stream-node@2.2.0: - resolution: {integrity: sha512-aT+HCATOSRMGpPI7bi7NSsTNVZE/La9IaxLXWoVAYMxHT5hGO3ZOGEMZQg8A6nNL+pdFGtZQtND1eoY084HgHQ==} - engines: {node: '>=14.0.0'} + '@smithy/hash-stream-node@2.2.0': dependencies: '@smithy/types': 2.12.0 '@smithy/util-utf8': 2.3.0 tslib: 2.6.2 - dev: true - /@smithy/invalid-dependency@2.2.0: - resolution: {integrity: sha512-nEDASdbKFKPXN2O6lOlTgrEEOO9NHIeO+HVvZnkqc8h5U9g3BIhWsvzFo+UcUbliMHvKNPD/zVxDrkP1Sbgp8Q==} + '@smithy/invalid-dependency@2.2.0': dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 - /@smithy/is-array-buffer@1.1.0: - resolution: {integrity: sha512-twpQ/n+3OWZJ7Z+xu43MJErmhB/WO/mMTnqR6PwWQShvSJ/emx5d1N59LQZk6ZpTAeuRWrc+eHhkzTp9NFjNRQ==} - engines: {node: '>=14.0.0'} + '@smithy/is-array-buffer@1.1.0': dependencies: tslib: 2.6.2 - dev: true - /@smithy/is-array-buffer@2.2.0: - resolution: {integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==} - engines: {node: '>=14.0.0'} + '@smithy/is-array-buffer@2.2.0': dependencies: tslib: 2.6.2 - /@smithy/md5-js@2.2.0: - resolution: {integrity: sha512-M26XTtt9IIusVMOWEAhIvFIr9jYj4ISPPGJROqw6vXngO3IYJCnVVSMFn4Tx1rUTG5BiKJNg9u2nxmBiZC5IlQ==} + '@smithy/md5-js@2.2.0': dependencies: '@smithy/types': 2.12.0 '@smithy/util-utf8': 2.3.0 tslib: 2.6.2 - dev: true - /@smithy/middleware-content-length@2.2.0: - resolution: {integrity: sha512-5bl2LG1Ah/7E5cMSC+q+h3IpVHMeOkG0yLRyQT1p2aMJkSrZG7RlXHPuAgb7EyaFeidKEnnd/fNaLLaKlHGzDQ==} - engines: {node: '>=14.0.0'} + '@smithy/middleware-content-length@2.2.0': dependencies: '@smithy/protocol-http': 3.3.0 '@smithy/types': 2.12.0 tslib: 2.6.2 - /@smithy/middleware-endpoint@2.5.1: - resolution: {integrity: sha512-1/8kFp6Fl4OsSIVTWHnNjLnTL8IqpIb/D3sTSczrKFnrE9VMNWxnrRKNvpUHOJ6zpGD5f62TPm7+17ilTJpiCQ==} - engines: {node: '>=14.0.0'} + '@smithy/middleware-endpoint@2.5.1': dependencies: '@smithy/middleware-serde': 2.3.0 '@smithy/node-config-provider': 2.3.0 @@ -7811,9 +13629,7 @@ packages: '@smithy/util-middleware': 2.2.0 tslib: 2.6.2 - /@smithy/middleware-retry@1.1.0: - resolution: {integrity: sha512-lINKYxIvT+W20YFOtHBKeGm7npuJg0/YCoShttU7fVpsmU+a2rdb9zrJn1MHqWfUL6DhTAWGa0tH2O7l4XrDcw==} - engines: {node: '>=14.0.0'} + '@smithy/middleware-retry@1.1.0': dependencies: '@smithy/protocol-http': 1.2.0 '@smithy/service-error-classification': 1.1.0 @@ -7822,11 +13638,8 @@ packages: '@smithy/util-retry': 1.1.0 tslib: 2.6.2 uuid: 8.3.2 - dev: true - /@smithy/middleware-retry@2.3.1: - resolution: {integrity: sha512-P2bGufFpFdYcWvqpyqqmalRtwFUNUA8vHjJR5iGqbfR6mp65qKOLcUd6lTr4S9Gn/enynSrSf3p3FVgVAf6bXA==} - engines: {node: '>=14.0.0'} + '@smithy/middleware-retry@2.3.1': dependencies: '@smithy/node-config-provider': 2.3.0 '@smithy/protocol-http': 3.3.0 @@ -7838,50 +13651,36 @@ packages: tslib: 2.6.2 uuid: 9.0.1 - /@smithy/middleware-serde@2.3.0: - resolution: {integrity: sha512-sIADe7ojwqTyvEQBe1nc/GXB9wdHhi9UwyX0lTyttmUWDJLP655ZYE1WngnNyXREme8I27KCaUhyhZWRXL0q7Q==} - engines: {node: '>=14.0.0'} + '@smithy/middleware-serde@2.3.0': dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 - /@smithy/middleware-stack@1.1.0: - resolution: {integrity: sha512-XynYiIvXNea2BbLcppvpNK0zu8o2woJqgnmxqYTn4FWagH/Hr2QIk8LOsUz7BIJ4tooFhmx8urHKCdlPbbPDCA==} - engines: {node: '>=14.0.0'} + '@smithy/middleware-stack@1.1.0': dependencies: tslib: 2.6.2 - dev: true - /@smithy/middleware-stack@2.2.0: - resolution: {integrity: sha512-Qntc3jrtwwrsAC+X8wms8zhrTr0sFXnyEGhZd9sLtsJ/6gGQKFzNB+wWbOcpJd7BR8ThNCoKt76BuQahfMvpeA==} - engines: {node: '>=14.0.0'} + '@smithy/middleware-stack@2.2.0': dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 - /@smithy/node-config-provider@2.3.0: - resolution: {integrity: sha512-0elK5/03a1JPWMDPaS726Iw6LpQg80gFut1tNpPfxFuChEEklo2yL823V94SpTZTxmKlXFtFgsP55uh3dErnIg==} - engines: {node: '>=14.0.0'} + '@smithy/node-config-provider@2.3.0': dependencies: '@smithy/property-provider': 2.2.0 '@smithy/shared-ini-file-loader': 2.4.0 '@smithy/types': 2.12.0 tslib: 2.6.2 - /@smithy/node-http-handler@1.1.0: - resolution: {integrity: sha512-d3kRriEgaIiGXLziAM8bjnaLn1fthCJeTLZIwEIpzQqe6yPX0a+yQoLCTyjb2fvdLwkMoG4p7THIIB5cj5lkbg==} - engines: {node: '>=14.0.0'} + '@smithy/node-http-handler@1.1.0': dependencies: '@smithy/abort-controller': 1.1.0 '@smithy/protocol-http': 1.2.0 '@smithy/querystring-builder': 1.1.0 '@smithy/types': 1.2.0 tslib: 2.6.2 - dev: true - /@smithy/node-http-handler@2.5.0: - resolution: {integrity: sha512-mVGyPBzkkGQsPoxQUbxlEfRjrj6FPyA3u3u2VXGr9hT8wilsoQdZdvKpMBFMB8Crfhv5dNkKHIW0Yyuc7eABqA==} - engines: {node: '>=14.0.0'} + '@smithy/node-http-handler@2.5.0': dependencies: '@smithy/abort-controller': 2.2.0 '@smithy/protocol-http': 3.3.0 @@ -7889,73 +13688,50 @@ packages: '@smithy/types': 2.12.0 tslib: 2.6.2 - /@smithy/property-provider@2.2.0: - resolution: {integrity: sha512-+xiil2lFhtTRzXkx8F053AV46QnIw6e7MV8od5Mi68E1ICOjCeCHw2XfLnDEUHnT9WGUIkwcqavXjfwuJbGlpg==} - engines: {node: '>=14.0.0'} + '@smithy/property-provider@2.2.0': dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 - /@smithy/protocol-http@1.2.0: - resolution: {integrity: sha512-GfGfruksi3nXdFok5RhgtOnWe5f6BndzYfmEXISD+5gAGdayFGpjWu5pIqIweTudMtse20bGbc+7MFZXT1Tb8Q==} - engines: {node: '>=14.0.0'} + '@smithy/protocol-http@1.2.0': dependencies: '@smithy/types': 1.2.0 tslib: 2.6.2 - dev: true - /@smithy/protocol-http@3.3.0: - resolution: {integrity: sha512-Xy5XK1AFWW2nlY/biWZXu6/krgbaf2dg0q492D8M5qthsnU2H+UgFeZLbM76FnH7s6RO/xhQRkj+T6KBO3JzgQ==} - engines: {node: '>=14.0.0'} + '@smithy/protocol-http@3.3.0': dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 - /@smithy/querystring-builder@1.1.0: - resolution: {integrity: sha512-gDEi4LxIGLbdfjrjiY45QNbuDmpkwh9DX4xzrR2AzjjXpxwGyfSpbJaYhXARw9p17VH0h9UewnNQXNwaQyYMDA==} - engines: {node: '>=14.0.0'} + '@smithy/querystring-builder@1.1.0': dependencies: '@smithy/types': 1.2.0 '@smithy/util-uri-escape': 1.1.0 tslib: 2.6.2 - dev: true - /@smithy/querystring-builder@2.2.0: - resolution: {integrity: sha512-L1kSeviUWL+emq3CUVSgdogoM/D9QMFaqxL/dd0X7PCNWmPXqt+ExtrBjqT0V7HLN03Vs9SuiLrG3zy3JGnE5A==} - engines: {node: '>=14.0.0'} + '@smithy/querystring-builder@2.2.0': dependencies: '@smithy/types': 2.12.0 '@smithy/util-uri-escape': 2.2.0 tslib: 2.6.2 - /@smithy/querystring-parser@2.2.0: - resolution: {integrity: sha512-BvHCDrKfbG5Yhbpj4vsbuPV2GgcpHiAkLeIlcA1LtfpMz3jrqizP1+OguSNSj1MwBHEiN+jwNisXLGdajGDQJA==} - engines: {node: '>=14.0.0'} + '@smithy/querystring-parser@2.2.0': dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 - /@smithy/service-error-classification@1.1.0: - resolution: {integrity: sha512-OCTEeJ1igatd5kFrS2VDlYbainNNpf7Lj1siFOxnRWqYOP9oNvC5HOJBd3t+Z8MbrmehBtuDJ2QqeBsfeiNkww==} - engines: {node: '>=14.0.0'} - dev: true + '@smithy/service-error-classification@1.1.0': {} - /@smithy/service-error-classification@2.1.5: - resolution: {integrity: sha512-uBDTIBBEdAQryvHdc5W8sS5YX7RQzF683XrHePVdFmAgKiMofU15FLSM0/HU03hKTnazdNRFa0YHS7+ArwoUSQ==} - engines: {node: '>=14.0.0'} + '@smithy/service-error-classification@2.1.5': dependencies: '@smithy/types': 2.12.0 - /@smithy/shared-ini-file-loader@2.4.0: - resolution: {integrity: sha512-WyujUJL8e1B6Z4PBfAqC/aGY1+C7T0w20Gih3yrvJSk97gpiVfB+y7c46T4Nunk+ZngLq0rOIdeVeIklk0R3OA==} - engines: {node: '>=14.0.0'} + '@smithy/shared-ini-file-loader@2.4.0': dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 - /@smithy/signature-v4@2.3.0: - resolution: {integrity: sha512-ui/NlpILU+6HAQBfJX8BBsDXuKSNrjTSuOYArRblcrErwKFutjrCNb/OExfVRyj9+26F9J+ZmfWT+fKWuDrH3Q==} - engines: {node: '>=14.0.0'} + '@smithy/signature-v4@2.3.0': dependencies: '@smithy/is-array-buffer': 2.2.0 '@smithy/types': 2.12.0 @@ -7965,19 +13741,14 @@ packages: '@smithy/util-utf8': 2.3.0 tslib: 2.6.2 - /@smithy/smithy-client@1.1.0: - resolution: {integrity: sha512-j32SGgVhv2G9nBTmel9u3OXux8KG20ssxuFakJrEeDug3kqbl1qrGzVLCe+Eib402UDtA0Sp1a4NZ2SEXDBxag==} - engines: {node: '>=14.0.0'} + '@smithy/smithy-client@1.1.0': dependencies: '@smithy/middleware-stack': 1.1.0 '@smithy/types': 1.2.0 '@smithy/util-stream': 1.1.0 tslib: 2.6.2 - dev: true - /@smithy/smithy-client@2.5.1: - resolution: {integrity: sha512-jrbSQrYCho0yDaaf92qWgd+7nAeap5LtHTI51KXqmpIFCceKU3K9+vIVTUH72bOJngBMqa4kyu1VJhRcSrk/CQ==} - engines: {node: '>=14.0.0'} + '@smithy/smithy-client@2.5.1': dependencies: '@smithy/middleware-endpoint': 2.5.1 '@smithy/middleware-stack': 2.2.0 @@ -7986,84 +13757,58 @@ packages: '@smithy/util-stream': 2.2.0 tslib: 2.6.2 - /@smithy/types@1.2.0: - resolution: {integrity: sha512-z1r00TvBqF3dh4aHhya7nz1HhvCg4TRmw51fjMrh5do3h+ngSstt/yKlNbHeb9QxJmFbmN8KEVSWgb1bRvfEoA==} - engines: {node: '>=14.0.0'} + '@smithy/types@1.2.0': dependencies: tslib: 2.6.2 - dev: true - /@smithy/types@2.12.0: - resolution: {integrity: sha512-QwYgloJ0sVNBeBuBs65cIkTbfzV/Q6ZNPCJ99EICFEdJYG50nGIY/uYXp+TbsdJReIuPr0a0kXmCvren3MbRRw==} - engines: {node: '>=14.0.0'} + '@smithy/types@2.12.0': dependencies: tslib: 2.6.2 - /@smithy/url-parser@2.2.0: - resolution: {integrity: sha512-hoA4zm61q1mNTpksiSWp2nEl1dt3j726HdRhiNgVJQMj7mLp7dprtF57mOB6JvEk/x9d2bsuL5hlqZbBuHQylQ==} + '@smithy/url-parser@2.2.0': dependencies: '@smithy/querystring-parser': 2.2.0 '@smithy/types': 2.12.0 tslib: 2.6.2 - /@smithy/util-base64@1.1.0: - resolution: {integrity: sha512-FpYmDmVbOXAxqvoVCwqehUN0zXS+lN8V7VS9O7I8MKeVHdSTsZzlwiMEvGoyTNOXWn8luF4CTDYgNHnZViR30g==} - engines: {node: '>=14.0.0'} + '@smithy/util-base64@1.1.0': dependencies: '@smithy/util-buffer-from': 1.1.0 tslib: 2.6.2 - dev: true - /@smithy/util-base64@2.3.0: - resolution: {integrity: sha512-s3+eVwNeJuXUwuMbusncZNViuhv2LjVJ1nMwTqSA0XAC7gjKhqqxRdJPhR8+YrkoZ9IiIbFk/yK6ACe/xlF+hw==} - engines: {node: '>=14.0.0'} + '@smithy/util-base64@2.3.0': dependencies: '@smithy/util-buffer-from': 2.2.0 '@smithy/util-utf8': 2.3.0 tslib: 2.6.2 - /@smithy/util-body-length-browser@2.2.0: - resolution: {integrity: sha512-dtpw9uQP7W+n3vOtx0CfBD5EWd7EPdIdsQnWTDoFf77e3VUf05uA7R7TGipIo8e4WL2kuPdnsr3hMQn9ziYj5w==} + '@smithy/util-body-length-browser@2.2.0': dependencies: tslib: 2.6.2 - /@smithy/util-body-length-node@2.3.0: - resolution: {integrity: sha512-ITWT1Wqjubf2CJthb0BuT9+bpzBfXeMokH/AAa5EJQgbv9aPMVfnM76iFIZVFf50hYXGbtiV71BHAthNWd6+dw==} - engines: {node: '>=14.0.0'} + '@smithy/util-body-length-node@2.3.0': dependencies: tslib: 2.6.2 - /@smithy/util-buffer-from@1.1.0: - resolution: {integrity: sha512-9m6NXE0ww+ra5HKHCHig20T+FAwxBAm7DIdwc/767uGWbRcY720ybgPacQNB96JMOI7xVr/CDa3oMzKmW4a+kw==} - engines: {node: '>=14.0.0'} + '@smithy/util-buffer-from@1.1.0': dependencies: '@smithy/is-array-buffer': 1.1.0 tslib: 2.6.2 - dev: true - /@smithy/util-buffer-from@2.2.0: - resolution: {integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==} - engines: {node: '>=14.0.0'} + '@smithy/util-buffer-from@2.2.0': dependencies: '@smithy/is-array-buffer': 2.2.0 tslib: 2.6.2 - /@smithy/util-config-provider@1.1.0: - resolution: {integrity: sha512-rQ47YpNmF6Is4I9GiE3T3+0xQ+r7RKRKbmHYyGSbyep/0cSf9kteKcI0ssJTvveJ1K4QvwrxXj1tEFp/G2UqxQ==} - engines: {node: '>=14.0.0'} + '@smithy/util-config-provider@1.1.0': dependencies: tslib: 2.6.2 - dev: true - /@smithy/util-config-provider@2.3.0: - resolution: {integrity: sha512-HZkzrRcuFN1k70RLqlNK4FnPXKOpkik1+4JaBoHNJn+RnJGYqaa3c5/+XtLOXhlKzlRgNvyaLieHTW2VwGN0VQ==} - engines: {node: '>=14.0.0'} + '@smithy/util-config-provider@2.3.0': dependencies: tslib: 2.6.2 - /@smithy/util-defaults-mode-browser@2.2.1: - resolution: {integrity: sha512-RtKW+8j8skk17SYowucwRUjeh4mCtnm5odCL0Lm2NtHQBsYKrNW0od9Rhopu9wF1gHMfHeWF7i90NwBz/U22Kw==} - engines: {node: '>= 10.0.0'} + '@smithy/util-defaults-mode-browser@2.2.1': dependencies: '@smithy/property-provider': 2.2.0 '@smithy/smithy-client': 2.5.1 @@ -8071,9 +13816,7 @@ packages: bowser: 2.11.0 tslib: 2.6.2 - /@smithy/util-defaults-mode-node@2.3.1: - resolution: {integrity: sha512-vkMXHQ0BcLFysBMWgSBLSk3+leMpFSyyFj8zQtv5ZyUBx8/owVh1/pPEkzmW/DR/Gy/5c8vjLDD9gZjXNKbrpA==} - engines: {node: '>= 10.0.0'} + '@smithy/util-defaults-mode-node@2.3.1': dependencies: '@smithy/config-resolver': 2.2.0 '@smithy/credential-provider-imds': 2.3.0 @@ -8083,60 +13826,41 @@ packages: '@smithy/types': 2.12.0 tslib: 2.6.2 - /@smithy/util-endpoints@1.2.0: - resolution: {integrity: sha512-BuDHv8zRjsE5zXd3PxFXFknzBG3owCpjq8G3FcsXW3CykYXuEqM3nTSsmLzw5q+T12ZYuDlVUZKBdpNbhVtlrQ==} - engines: {node: '>= 14.0.0'} + '@smithy/util-endpoints@1.2.0': dependencies: '@smithy/node-config-provider': 2.3.0 '@smithy/types': 2.12.0 tslib: 2.6.2 - /@smithy/util-hex-encoding@1.1.0: - resolution: {integrity: sha512-7UtIE9eH0u41zpB60Jzr0oNCQ3hMJUabMcKRUVjmyHTXiWDE4vjSqN6qlih7rCNeKGbioS7f/y2Jgym4QZcKFg==} - engines: {node: '>=14.0.0'} + '@smithy/util-hex-encoding@1.1.0': dependencies: tslib: 2.6.2 - dev: true - /@smithy/util-hex-encoding@2.2.0: - resolution: {integrity: sha512-7iKXR+/4TpLK194pVjKiasIyqMtTYJsgKgM242Y9uzt5dhHnUDvMNb+3xIhRJ9QhvqGii/5cRUt4fJn3dtXNHQ==} - engines: {node: '>=14.0.0'} + '@smithy/util-hex-encoding@2.2.0': dependencies: tslib: 2.6.2 - /@smithy/util-middleware@1.1.0: - resolution: {integrity: sha512-6hhckcBqVgjWAqLy2vqlPZ3rfxLDhFWEmM7oLh2POGvsi7j0tHkbN7w4DFhuBExVJAbJ/qqxqZdRY6Fu7/OezQ==} - engines: {node: '>=14.0.0'} + '@smithy/util-middleware@1.1.0': dependencies: tslib: 2.6.2 - dev: true - /@smithy/util-middleware@2.2.0: - resolution: {integrity: sha512-L1qpleXf9QD6LwLCJ5jddGkgWyuSvWBkJwWAZ6kFkdifdso+sk3L3O1HdmPvCdnCK3IS4qWyPxev01QMnfHSBw==} - engines: {node: '>=14.0.0'} + '@smithy/util-middleware@2.2.0': dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 - /@smithy/util-retry@1.1.0: - resolution: {integrity: sha512-ygQW5HBqYXpR3ua09UciS0sL7UGJzGiktrKkOuEJwARoUuzz40yaEGU6xd9Gs7KBmAaFC8gMfnghHtwZ2nyBCQ==} - engines: {node: '>= 14.0.0'} + '@smithy/util-retry@1.1.0': dependencies: '@smithy/service-error-classification': 1.1.0 tslib: 2.6.2 - dev: true - /@smithy/util-retry@2.2.0: - resolution: {integrity: sha512-q9+pAFPTfftHXRytmZ7GzLFFrEGavqapFc06XxzZFcSIGERXMerXxCitjOG1prVDR9QdjqotF40SWvbqcCpf8g==} - engines: {node: '>= 14.0.0'} + '@smithy/util-retry@2.2.0': dependencies: '@smithy/service-error-classification': 2.1.5 '@smithy/types': 2.12.0 tslib: 2.6.2 - /@smithy/util-stream@1.1.0: - resolution: {integrity: sha512-w3lsdGsntaLQIrwDWJkIFKrFscgZXwU/oxsse09aSTNv5TckPhDeYea3LhsDrU5MGAG3vprhVZAKr33S45coVA==} - engines: {node: '>=14.0.0'} + '@smithy/util-stream@1.1.0': dependencies: '@smithy/fetch-http-handler': 1.1.0 '@smithy/node-http-handler': 1.1.0 @@ -8146,11 +13870,8 @@ packages: '@smithy/util-hex-encoding': 1.1.0 '@smithy/util-utf8': 1.1.0 tslib: 2.6.2 - dev: true - /@smithy/util-stream@2.2.0: - resolution: {integrity: sha512-17faEXbYWIRst1aU9SvPZyMdWmqIrduZjVOqCPMIsWFNxs5yQQgFrJL6b2SdiCzyW9mJoDjFtgi53xx7EH+BXA==} - engines: {node: '>=14.0.0'} + '@smithy/util-stream@2.2.0': dependencies: '@smithy/fetch-http-handler': 2.5.0 '@smithy/node-http-handler': 2.5.0 @@ -8161,339 +13882,208 @@ packages: '@smithy/util-utf8': 2.3.0 tslib: 2.6.2 - /@smithy/util-uri-escape@1.1.0: - resolution: {integrity: sha512-/jL/V1xdVRt5XppwiaEU8Etp5WHZj609n0xMTuehmCqdoOFbId1M+aEeDWZsQ+8JbEB/BJ6ynY2SlYmOaKtt8w==} - engines: {node: '>=14.0.0'} + '@smithy/util-uri-escape@1.1.0': dependencies: tslib: 2.6.2 - dev: true - /@smithy/util-uri-escape@2.2.0: - resolution: {integrity: sha512-jtmJMyt1xMD/d8OtbVJ2gFZOSKc+ueYJZPW20ULW1GOp/q/YIM0wNh+u8ZFao9UaIGz4WoPW8hC64qlWLIfoDA==} - engines: {node: '>=14.0.0'} + '@smithy/util-uri-escape@2.2.0': dependencies: tslib: 2.6.2 - /@smithy/util-utf8@1.1.0: - resolution: {integrity: sha512-p/MYV+JmqmPyjdgyN2UxAeYDj9cBqCjp0C/NsTWnnjoZUVqoeZ6IrW915L9CAKWVECgv9lVQGc4u/yz26/bI1A==} - engines: {node: '>=14.0.0'} + '@smithy/util-utf8@1.1.0': dependencies: '@smithy/util-buffer-from': 1.1.0 tslib: 2.6.2 - dev: true - /@smithy/util-utf8@2.3.0: - resolution: {integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==} - engines: {node: '>=14.0.0'} + '@smithy/util-utf8@2.3.0': dependencies: '@smithy/util-buffer-from': 2.2.0 tslib: 2.6.2 - /@smithy/util-waiter@2.2.0: - resolution: {integrity: sha512-IHk53BVw6MPMi2Gsn+hCng8rFA3ZmR3Rk7GllxDUW9qFJl/hiSvskn7XldkECapQVkIg/1dHpMAxI9xSTaLLSA==} - engines: {node: '>=14.0.0'} + '@smithy/util-waiter@2.2.0': dependencies: '@smithy/abort-controller': 2.2.0 '@smithy/types': 2.12.0 tslib: 2.6.2 - dev: true - /@solidity-parser/parser@0.14.5: - resolution: {integrity: sha512-6dKnHZn7fg/iQATVEzqyUOyEidbn05q7YA2mQ9hC0MMXhhV3/JrsxmFSYZAcr7j1yUP700LLhTruvJ3MiQmjJg==} + '@solidity-parser/parser@0.14.5': dependencies: antlr4ts: 0.5.0-alpha.4 - dev: true - /@solidity-parser/parser@0.18.0: - resolution: {integrity: sha512-yfORGUIPgLck41qyN7nbwJRAx17/jAIXCTanHOJZhB6PJ1iAk/84b/xlsVKFSyNyLXIj0dhppoE0+CRws7wlzA==} - dev: true + '@solidity-parser/parser@0.18.0': {} - /@trpc/client@11.0.0-next-beta.264(@trpc/server@11.0.0-next-beta.264): - resolution: {integrity: sha512-He/kE++/rDq/yZr7xCkQmOC+1S3auulLVjBuo6LvuYuFQL+Slf2ObRftbNVWa92GVd/llxV+eNlbzR9mTVPCPg==} - peerDependencies: - '@trpc/server': 11.0.0-next-beta.264+f5f08f35d + '@trpc/client@11.0.0-next-beta.264(@trpc/server@11.0.0-next-beta.264)': dependencies: '@trpc/server': 11.0.0-next-beta.264 - /@trpc/server@11.0.0-next-beta.264: - resolution: {integrity: sha512-h6RJX+C+VgFQusxGVtw3n1PZPLt27ZG70U8cPR5pwmsnE2E3vREijOgEo5MRKoiUhVrjbw8e6gnGVeKzl7uZXg==} + '@trpc/server@11.0.0-next-beta.264': {} - /@trpc/server@9.16.0: - resolution: {integrity: sha512-IENsJs41ZR4oeFUJhsNNTSgEOtuRN0m9u7ec4u3eG/qOc7bIoo1nDoYtx4bl6OJJSQYEytG9tlcVz9G8OAaHbg==} + '@trpc/server@9.16.0': dependencies: tslib: 2.6.2 - dev: true - /@tsconfig/node10@1.0.11: - resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} - dev: true + '@tsconfig/node10@1.0.11': {} - /@tsconfig/node12@1.0.11: - resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} - dev: true + '@tsconfig/node12@1.0.11': {} - /@tsconfig/node14@1.0.3: - resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} - dev: true + '@tsconfig/node14@1.0.3': {} - /@tsconfig/node16@1.0.4: - resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} - dev: true + '@tsconfig/node16@1.0.4': {} - /@tsconfig/node20@20.1.4: - resolution: {integrity: sha512-sqgsT69YFeLWf5NtJ4Xq/xAF8p4ZQHlmGW74Nu2tD4+g5fAsposc4ZfaaPixVu4y01BEiDCWLRDCvDM5JOsRxg==} - dev: true + '@tsconfig/node20@20.1.4': {} - /@types/aws-lambda@8.10.137: - resolution: {integrity: sha512-YNFwzVarXAOXkjuFxONyDw1vgRNzyH8AuyN19s0bM+ChSu/bzxb5XPxYFLXoqoM+tvgzwR3k7fXcEOW125yJxg==} - dev: true + '@types/aws-lambda@8.10.137': {} - /@types/babel__core@7.20.5: - resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + '@types/babel__core@7.20.5': dependencies: '@babel/parser': 7.24.4 '@babel/types': 7.24.0 '@types/babel__generator': 7.6.8 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.20.5 - dev: true - /@types/babel__generator@7.6.8: - resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} + '@types/babel__generator@7.6.8': dependencies: '@babel/types': 7.24.0 - dev: true - /@types/babel__template@7.4.4: - resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + '@types/babel__template@7.4.4': dependencies: '@babel/parser': 7.24.4 '@babel/types': 7.24.0 - dev: true - /@types/babel__traverse@7.20.5: - resolution: {integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==} + '@types/babel__traverse@7.20.5': dependencies: '@babel/types': 7.24.0 - dev: true - /@types/bn.js@4.11.6: - resolution: {integrity: sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==} + '@types/bn.js@4.11.6': dependencies: '@types/node': 20.12.7 - dev: true - /@types/bn.js@5.1.5: - resolution: {integrity: sha512-V46N0zwKRF5Q00AZ6hWtN0T8gGmDUaUzLWQvHFo5yThtVwK/VCenFY3wXVbOvNfajEpsTfQM4IN9k/d6gUVX3A==} + '@types/bn.js@5.1.5': dependencies: '@types/node': 20.12.7 - dev: true - /@types/chai-as-promised@7.1.8: - resolution: {integrity: sha512-ThlRVIJhr69FLlh6IctTXFkmhtP3NpMZ2QGq69StYLyKZFp/HOp1VdKZj7RvfNWYYcJ1xlbLGLLWj1UvP5u/Gw==} + '@types/chai-as-promised@7.1.8': dependencies: '@types/chai': 4.3.14 - dev: true - /@types/chai@4.3.14: - resolution: {integrity: sha512-Wj71sXE4Q4AkGdG9Tvq1u/fquNz9EdG4LIJMwVVII7ashjD/8cf8fyIfJAjRr6YcsXnSE8cOGQPq1gqeR8z+3w==} - dev: true + '@types/chai@4.3.14': {} - /@types/cls-hooked@4.3.8: - resolution: {integrity: sha512-tf/7H883gFA6MPlWI15EQtfNZ+oPL0gLKkOlx9UHFrun1fC/FkuyNBpTKq1B5E3T4fbvjId6WifHUdSGsMMuPg==} + '@types/cls-hooked@4.3.8': dependencies: '@types/node': 20.12.7 - dev: false - /@types/concat-stream@1.6.1: - resolution: {integrity: sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==} + '@types/concat-stream@1.6.1': dependencies: '@types/node': 20.12.7 - dev: true - /@types/form-data@0.0.33: - resolution: {integrity: sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==} + '@types/form-data@0.0.33': dependencies: '@types/node': 20.12.7 - dev: true - /@types/fs-extra@11.0.4: - resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} - requiresBuild: true + '@types/fs-extra@11.0.4': dependencies: '@types/jsonfile': 6.1.4 '@types/node': 20.12.7 - dev: true optional: true - /@types/glob@7.2.0: - resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} + '@types/glob@7.2.0': dependencies: '@types/minimatch': 5.1.2 '@types/node': 20.12.7 - dev: true - /@types/graceful-fs@4.1.9: - resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} + '@types/graceful-fs@4.1.9': dependencies: '@types/node': 20.12.7 - dev: true - /@types/istanbul-lib-coverage@2.0.6: - resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} - dev: true + '@types/istanbul-lib-coverage@2.0.6': {} - /@types/istanbul-lib-report@3.0.3: - resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + '@types/istanbul-lib-report@3.0.3': dependencies: '@types/istanbul-lib-coverage': 2.0.6 - dev: true - /@types/istanbul-reports@3.0.4: - resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + '@types/istanbul-reports@3.0.4': dependencies: '@types/istanbul-lib-report': 3.0.3 - dev: true - /@types/jest@29.5.12: - resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} + '@types/jest@29.5.12': dependencies: expect: 29.7.0 pretty-format: 29.7.0 - dev: true - /@types/js-yaml@4.0.9: - resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==} - dev: true + '@types/js-yaml@4.0.9': {} - /@types/json-schema@7.0.15: - resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - dev: true + '@types/json-schema@7.0.15': {} - /@types/json-stable-stringify@1.0.36: - resolution: {integrity: sha512-b7bq23s4fgBB76n34m2b3RBf6M369B0Z9uRR8aHTMd8kZISRkmDEpPD8hhpYvDFzr3bJCPES96cm3Q6qRNDbQw==} - dev: true + '@types/json-stable-stringify@1.0.36': {} - /@types/json5@0.0.29: - resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - dev: true + '@types/json5@0.0.29': {} - /@types/jsonfile@6.1.4: - resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==} - requiresBuild: true + '@types/jsonfile@6.1.4': dependencies: '@types/node': 20.12.7 - dev: true optional: true - /@types/lru-cache@5.1.1: - resolution: {integrity: sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==} - dev: true + '@types/lru-cache@5.1.1': {} - /@types/minimatch@5.1.2: - resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} - dev: true + '@types/minimatch@5.1.2': {} - /@types/mocha@10.0.6: - resolution: {integrity: sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==} - dev: true + '@types/mocha@10.0.6': {} - /@types/mute-stream@0.0.4: - resolution: {integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==} + '@types/mute-stream@0.0.4': dependencies: '@types/node': 20.12.7 - dev: false - /@types/node-fetch@2.6.11: - resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==} + '@types/node-fetch@2.6.11': dependencies: '@types/node': 20.12.7 form-data: 4.0.0 - dev: false - /@types/node@10.17.60: - resolution: {integrity: sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==} - dev: true + '@types/node@10.17.60': {} - /@types/node@18.15.13: - resolution: {integrity: sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==} - dev: true + '@types/node@18.15.13': {} - /@types/node@20.12.7: - resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==} + '@types/node@20.12.7': dependencies: undici-types: 5.26.5 - /@types/node@8.10.66: - resolution: {integrity: sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==} - dev: true + '@types/node@8.10.66': {} - /@types/normalize-package-data@2.4.4: - resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} - dev: true + '@types/normalize-package-data@2.4.4': {} - /@types/pbkdf2@3.1.2: - resolution: {integrity: sha512-uRwJqmiXmh9++aSu1VNEn3iIxWOhd8AHXNSdlaLfdAAdSTY9jYVeGWnzejM3dvrkbqE3/hyQkQQ29IFATEGlew==} + '@types/pbkdf2@3.1.2': dependencies: '@types/node': 20.12.7 - dev: true - /@types/pg@8.11.6: - resolution: {integrity: sha512-/2WmmBXHLsfRqzfHW7BNZ8SbYzE8OSk7i3WjFYvfgRHj7S1xj+16Je5fUKv3lVdVzk/zn9TXOqf+avFCFIE0yQ==} + '@types/pg@8.11.6': dependencies: '@types/node': 20.12.7 pg-protocol: 1.6.1 pg-types: 4.0.2 - dev: true - /@types/qs@6.9.15: - resolution: {integrity: sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==} - dev: true + '@types/qs@6.9.15': {} - /@types/secp256k1@4.0.6: - resolution: {integrity: sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ==} + '@types/secp256k1@4.0.6': dependencies: '@types/node': 20.12.7 - dev: true - /@types/semver@7.5.8: - resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} - dev: true + '@types/semver@7.5.8': {} - /@types/stack-utils@2.0.3: - resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} - dev: true + '@types/stack-utils@2.0.3': {} - /@types/wrap-ansi@3.0.0: - resolution: {integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==} - dev: false + '@types/wrap-ansi@3.0.0': {} - /@types/ws@8.5.10: - resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} + '@types/ws@8.5.10': dependencies: '@types/node': 20.12.7 - dev: true - /@types/yargs-parser@21.0.3: - resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} - dev: true + '@types/yargs-parser@21.0.3': {} - /@types/yargs@17.0.32: - resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} + '@types/yargs@17.0.32': dependencies: '@types/yargs-parser': 21.0.3 - dev: true - /@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.4.5): - resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha - eslint: ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.4.5)': dependencies: '@eslint-community/regexpp': 4.10.0 '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.5) @@ -8511,17 +14101,8 @@ packages: typescript: 5.4.5 transitivePeerDependencies: - supports-color - dev: true - /@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5): - resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5)': dependencies: '@typescript-eslint/scope-manager': 6.21.0 '@typescript-eslint/types': 6.21.0 @@ -8532,33 +14113,18 @@ packages: typescript: 5.4.5 transitivePeerDependencies: - supports-color - dev: true - /@typescript-eslint/scope-manager@5.62.0: - resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/scope-manager@5.62.0': dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 - dev: true - /@typescript-eslint/scope-manager@6.21.0: - resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/scope-manager@6.21.0': dependencies: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0 - dev: true - /@typescript-eslint/type-utils@6.21.0(eslint@8.57.0)(typescript@5.4.5): - resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/type-utils@6.21.0(eslint@8.57.0)(typescript@5.4.5)': dependencies: '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.5) @@ -8568,26 +14134,12 @@ packages: typescript: 5.4.5 transitivePeerDependencies: - supports-color - dev: true - /@typescript-eslint/types@5.62.0: - resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true + '@typescript-eslint/types@5.62.0': {} - /@typescript-eslint/types@6.21.0: - resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} - engines: {node: ^16.0.0 || >=18.0.0} - dev: true + '@typescript-eslint/types@6.21.0': {} - /@typescript-eslint/typescript-estree@5.62.0(typescript@5.4.5): - resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/typescript-estree@5.62.0(typescript@5.4.5)': dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 @@ -8599,16 +14151,8 @@ packages: typescript: 5.4.5 transitivePeerDependencies: - supports-color - dev: true - /@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.5): - resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true + '@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.5)': dependencies: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0 @@ -8621,13 +14165,8 @@ packages: typescript: 5.4.5 transitivePeerDependencies: - supports-color - dev: true - /@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.4.5): - resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + '@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.4.5)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@types/json-schema': 7.0.15 @@ -8641,13 +14180,8 @@ packages: transitivePeerDependencies: - supports-color - typescript - dev: true - /@typescript-eslint/utils@6.21.0(eslint@8.57.0)(typescript@5.4.5): - resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + '@typescript-eslint/utils@6.21.0(eslint@8.57.0)(typescript@5.4.5)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@types/json-schema': 7.0.15 @@ -8660,45 +14194,20 @@ packages: transitivePeerDependencies: - supports-color - typescript - dev: true - /@typescript-eslint/visitor-keys@5.62.0: - resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/visitor-keys@5.62.0': dependencies: '@typescript-eslint/types': 5.62.0 eslint-visitor-keys: 3.4.3 - dev: true - /@typescript-eslint/visitor-keys@6.21.0: - resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/visitor-keys@6.21.0': dependencies: '@typescript-eslint/types': 6.21.0 eslint-visitor-keys: 3.4.3 - dev: true - /@ungap/structured-clone@1.2.0: - resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - dev: true + '@ungap/structured-clone@1.2.0': {} - /@vercel/style-guide@5.2.0(eslint@8.57.0)(jest@29.7.0)(prettier@3.2.5)(typescript@5.4.5): - resolution: {integrity: sha512-fNSKEaZvSkiBoF6XEefs8CcgAV9K9e+MbcsDZjUsktHycKdA0jvjAzQi1W/FzLS+Nr5zZ6oejCwq/97dHUKe0g==} - engines: {node: '>=16'} - peerDependencies: - '@next/eslint-plugin-next': '>=12.3.0 <15' - eslint: '>=8.48.0 <9' - prettier: '>=3.0.0 <4' - typescript: '>=4.8.0 <6' - peerDependenciesMeta: - '@next/eslint-plugin-next': - optional: true - eslint: - optional: true - prettier: - optional: true - typescript: - optional: true + '@vercel/style-guide@5.2.0(eslint@8.57.0)(jest@29.7.0)(prettier@3.2.5)(typescript@5.4.5)': dependencies: '@babel/core': 7.24.4 '@babel/eslint-parser': 7.24.1(@babel/core@7.24.4)(eslint@8.57.0) @@ -8727,339 +14236,177 @@ packages: - eslint-import-resolver-webpack - jest - supports-color - dev: true - /@whatwg-node/events@0.0.2: - resolution: {integrity: sha512-WKj/lI4QjnLuPrim0cfO7i+HsDSXHxNv1y0CrJhdntuO3hxWZmnXCwNDnwOvry11OjRin6cgWNF+j/9Pn8TN4w==} - dev: true + '@whatwg-node/events@0.0.2': {} - /@whatwg-node/events@0.0.3: - resolution: {integrity: sha512-IqnKIDWfXBJkvy/k6tzskWTc2NK3LcqHlb+KHGCrjOCH4jfQckRX0NAiIcC/vIqQkzLYw2r2CTSwAxcrtcD6lA==} - dev: true + '@whatwg-node/events@0.0.3': {} - /@whatwg-node/events@0.1.1: - resolution: {integrity: sha512-AyQEn5hIPV7Ze+xFoXVU3QTHXVbWPrzaOkxtENMPMuNL6VVHrp4hHfDt9nrQpjO7BgvuM95dMtkycX5M/DZR3w==} - engines: {node: '>=16.0.0'} - dev: true + '@whatwg-node/events@0.1.1': {} - /@whatwg-node/fetch@0.8.8: - resolution: {integrity: sha512-CdcjGC2vdKhc13KKxgsc6/616BQ7ooDIgPeTuAiE8qfCnS0mGzcfCOoZXypQSz73nxI+GWc7ZReIAVhxoE1KCg==} + '@whatwg-node/fetch@0.8.8': dependencies: '@peculiar/webcrypto': 1.4.6 '@whatwg-node/node-fetch': 0.3.6 busboy: 1.6.0 urlpattern-polyfill: 8.0.2 web-streams-polyfill: 3.3.3 - dev: true - /@whatwg-node/fetch@0.9.17: - resolution: {integrity: sha512-TDYP3CpCrxwxpiNY0UMNf096H5Ihf67BK1iKGegQl5u9SlpEDYrvnV71gWBGJm+Xm31qOy8ATgma9rm8Pe7/5Q==} - engines: {node: '>=16.0.0'} + '@whatwg-node/fetch@0.9.17': dependencies: '@whatwg-node/node-fetch': 0.5.10 urlpattern-polyfill: 10.0.0 - dev: true - /@whatwg-node/node-fetch@0.3.6: - resolution: {integrity: sha512-w9wKgDO4C95qnXZRwZTfCmLWqyRnooGjcIwG0wADWjw9/HN0p7dtvtgSvItZtUyNteEvgTrd8QojNEqV6DAGTA==} + '@whatwg-node/node-fetch@0.3.6': dependencies: '@whatwg-node/events': 0.0.3 busboy: 1.6.0 fast-querystring: 1.1.2 fast-url-parser: 1.1.3 tslib: 2.6.2 - dev: true - /@whatwg-node/node-fetch@0.5.10: - resolution: {integrity: sha512-KIAHepie/T1PRkUfze4t+bPlyvpxlWiXTPtcGlbIZ0vWkBJMdRmCg4ZrJ2y4XaO1eTPo1HlWYUuj1WvoIpumqg==} - engines: {node: '>=16.0.0'} + '@whatwg-node/node-fetch@0.5.10': dependencies: '@kamilkisiela/fast-url-parser': 1.1.4 '@whatwg-node/events': 0.1.1 busboy: 1.6.0 fast-querystring: 1.1.2 tslib: 2.6.2 - dev: true - /@whatwg-node/server@0.7.7: - resolution: {integrity: sha512-aHURgNDFm/48WVV3vhTMfnEKCYwYgdaRdRhZsQZx4UVFjGGkGay7Ys0+AYu9QT/jpoImv2oONkstoTMUprDofg==} + '@whatwg-node/server@0.7.7': dependencies: '@whatwg-node/fetch': 0.8.8 tslib: 2.6.2 - dev: true - /abbrev@1.0.9: - resolution: {integrity: sha512-LEyx4aLEC3x6T0UguF6YILf+ntvmOaWsVfENmIW0E9H09vKlLDGelMjjSm0jkDHALj8A8quZ/HapKNigzwge+Q==} - dev: true + abbrev@1.0.9: {} - /abitype@0.9.10(typescript@5.0.4)(zod@3.22.4): - resolution: {integrity: sha512-FIS7U4n7qwAT58KibwYig5iFG4K61rbhAqaQh/UWj8v1Y8mjX3F8TC9gd8cz9yT1TYel9f8nS5NO5kZp2RW0jQ==} - peerDependencies: - typescript: '>=5.0.4' - zod: ^3 >=3.22.0 - peerDependenciesMeta: - typescript: - optional: true - zod: - optional: true + abitype@0.9.10(typescript@5.0.4)(zod@3.22.4): dependencies: typescript: 5.0.4 zod: 3.22.4 - dev: true - /abitype@0.9.8(typescript@5.0.4)(zod@3.22.4): - resolution: {integrity: sha512-puLifILdm+8sjyss4S+fsUN09obiT1g2YW6CtcQF+QDzxR0euzgEB29MZujC6zMk2a6SVmtttq1fc6+YFA7WYQ==} - peerDependencies: - typescript: '>=5.0.4' - zod: ^3 >=3.19.1 - peerDependenciesMeta: - typescript: - optional: true - zod: - optional: true + abitype@0.9.8(typescript@5.0.4)(zod@3.22.4): dependencies: typescript: 5.0.4 zod: 3.22.4 - dev: true - /abitype@0.9.8(typescript@5.4.5)(zod@3.22.4): - resolution: {integrity: sha512-puLifILdm+8sjyss4S+fsUN09obiT1g2YW6CtcQF+QDzxR0euzgEB29MZujC6zMk2a6SVmtttq1fc6+YFA7WYQ==} - peerDependencies: - typescript: '>=5.0.4' - zod: ^3 >=3.19.1 - peerDependenciesMeta: - typescript: - optional: true - zod: - optional: true + abitype@0.9.8(typescript@5.4.5)(zod@3.22.4): dependencies: typescript: 5.4.5 zod: 3.22.4 - dev: false - /abitype@1.0.0(typescript@5.4.5)(zod@3.22.4): - resolution: {integrity: sha512-NMeMah//6bJ56H5XRj8QCV4AwuW6hB6zqz2LnhhLdcWVQOsXki6/Pn3APeqxCma62nXIcmZWdu1DlHWS74umVQ==} - peerDependencies: - typescript: '>=5.0.4' - zod: ^3 >=3.22.0 - peerDependenciesMeta: - typescript: - optional: true - zod: - optional: true + abitype@1.0.0(typescript@5.4.5)(zod@3.22.4): dependencies: typescript: 5.4.5 zod: 3.22.4 - dev: false - /abitype@1.0.2(typescript@5.4.5)(zod@3.22.4): - resolution: {integrity: sha512-aFt4k2H+eiAKy/zxtnORa9iIb10BMBeWL18l8v4+QuwYEBXPxxjSB1bFZCzQmKPoj8m7j68K705l3uY+E2gAjg==} - peerDependencies: - typescript: '>=5.0.4' - zod: ^3 >=3.22.0 - peerDependenciesMeta: - typescript: - optional: true - zod: - optional: true + abitype@1.0.2(typescript@5.4.5)(zod@3.22.4): dependencies: typescript: 5.4.5 zod: 3.22.4 - dev: false - /accepts@1.3.8: - resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} - engines: {node: '>= 0.6'} + accepts@1.3.8: dependencies: mime-types: 2.1.35 negotiator: 0.6.3 - dev: true - /acorn-jsx@5.3.2(acorn@8.11.3): - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 + acorn-jsx@5.3.2(acorn@8.11.3): dependencies: acorn: 8.11.3 - dev: true - /acorn-walk@8.3.2: - resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} - engines: {node: '>=0.4.0'} - dev: true + acorn-walk@8.3.2: {} - /acorn@8.11.3: - resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true + acorn@8.11.3: {} - /adm-zip@0.4.16: - resolution: {integrity: sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==} - engines: {node: '>=0.3.0'} - dev: true + adm-zip@0.4.16: {} - /adm-zip@0.5.12: - resolution: {integrity: sha512-6TVU49mK6KZb4qG6xWaaM4C7sA/sgUMLy/JYMOzkcp3BvVLpW0fXDFQiIzAuxFCt/2+xD7fNIiPFAoLZPhVNLQ==} - engines: {node: '>=6.0'} - dev: true + adm-zip@0.5.12: {} - /aes-js@3.0.0: - resolution: {integrity: sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==} + aes-js@3.0.0: {} - /aes-js@4.0.0-beta.5: - resolution: {integrity: sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==} - dev: true + aes-js@4.0.0-beta.5: {} - /agent-base@6.0.2: - resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} - engines: {node: '>= 6.0.0'} + agent-base@6.0.2: dependencies: debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color - dev: true - /agent-base@7.1.1: - resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} - engines: {node: '>= 14'} + agent-base@7.1.1: dependencies: debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color - dev: true - /aggregate-error@3.1.0: - resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} - engines: {node: '>=8'} + aggregate-error@3.1.0: dependencies: clean-stack: 2.2.0 indent-string: 4.0.0 - dev: true - /ajv-formats@2.1.1(ajv@8.12.0): - resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true + ajv-formats@2.1.1(ajv@8.12.0): dependencies: ajv: 8.12.0 - dev: true - /ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} + ajv@6.12.6: dependencies: fast-deep-equal: 3.1.3 fast-json-stable-stringify: 2.1.0 json-schema-traverse: 0.4.1 uri-js: 4.4.1 - dev: true - /ajv@8.12.0: - resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} + ajv@8.12.0: dependencies: fast-deep-equal: 3.1.3 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 uri-js: 4.4.1 - dev: true - /amdefine@1.0.1: - resolution: {integrity: sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==} - engines: {node: '>=0.4.2'} - requiresBuild: true - dev: true + amdefine@1.0.1: optional: true - /ansi-align@3.0.1: - resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} + ansi-align@3.0.1: dependencies: string-width: 4.2.3 - dev: true - /ansi-colors@4.1.1: - resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==} - engines: {node: '>=6'} - dev: true + ansi-colors@4.1.1: {} - /ansi-colors@4.1.3: - resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} - engines: {node: '>=6'} - dev: true + ansi-colors@4.1.3: {} - /ansi-escapes@4.3.2: - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} - engines: {node: '>=8'} + ansi-escapes@4.3.2: dependencies: type-fest: 0.21.3 - /ansi-escapes@6.2.1: - resolution: {integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==} - engines: {node: '>=14.16'} - dev: true + ansi-escapes@6.2.1: {} - /ansi-regex@3.0.1: - resolution: {integrity: sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==} - engines: {node: '>=4'} - dev: true + ansi-regex@3.0.1: {} - /ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} + ansi-regex@5.0.1: {} - /ansi-regex@6.0.1: - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} - engines: {node: '>=12'} - dev: true + ansi-regex@6.0.1: {} - /ansi-styles@3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} + ansi-styles@3.2.1: dependencies: color-convert: 1.9.3 - dev: true - /ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} + ansi-styles@4.3.0: dependencies: color-convert: 2.0.1 - /ansi-styles@5.2.0: - resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} - engines: {node: '>=10'} - dev: true + ansi-styles@5.2.0: {} - /ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} - engines: {node: '>=12'} - dev: true + ansi-styles@6.2.1: {} - /antlr4ts@0.5.0-alpha.4: - resolution: {integrity: sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ==} - dev: true + antlr4ts@0.5.0-alpha.4: {} - /any-promise@1.3.0: - resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} - dev: true + any-promise@1.3.0: {} - /anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} + anymatch@3.1.3: dependencies: normalize-path: 3.0.0 picomatch: 2.3.1 - dev: true - /app-module-path@2.2.0: - resolution: {integrity: sha512-gkco+qxENJV+8vFcDiiFhuoSvRXb2a/QPqpSoWhVz829VNJfOTnELbBmPmNKFxf3xdNnw4DWCkzkDaavcX/1YQ==} - dev: true + app-module-path@2.2.0: {} - /archiver-utils@2.1.0: - resolution: {integrity: sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==} - engines: {node: '>= 6'} + archiver-utils@2.1.0: dependencies: glob: 7.2.3 graceful-fs: 4.2.11 @@ -9071,11 +14418,8 @@ packages: lodash.union: 4.6.0 normalize-path: 3.0.0 readable-stream: 2.3.8 - dev: true - /archiver-utils@3.0.4: - resolution: {integrity: sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==} - engines: {node: '>= 10'} + archiver-utils@3.0.4: dependencies: glob: 7.2.3 graceful-fs: 4.2.11 @@ -9087,11 +14431,8 @@ packages: lodash.union: 4.6.0 normalize-path: 3.0.0 readable-stream: 3.6.2 - dev: true - /archiver@5.3.2: - resolution: {integrity: sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==} - engines: {node: '>= 10'} + archiver@5.3.2: dependencies: archiver-utils: 2.1.0 async: 3.2.5 @@ -9100,43 +14441,27 @@ packages: readdir-glob: 1.1.3 tar-stream: 2.2.0 zip-stream: 4.1.1 - dev: true - /arg@4.1.3: - resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} - dev: true + arg@4.1.3: {} - /argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} + argparse@1.0.10: dependencies: sprintf-js: 1.0.3 - dev: true - /argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - dev: true + argparse@2.0.1: {} - /aria-query@5.3.0: - resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} + aria-query@5.3.0: dependencies: dequal: 2.0.3 - dev: true - /array-buffer-byte-length@1.0.1: - resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} - engines: {node: '>= 0.4'} + array-buffer-byte-length@1.0.1: dependencies: call-bind: 1.0.7 is-array-buffer: 3.0.4 - dev: true - /array-flatten@1.1.1: - resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} - dev: true + array-flatten@1.1.1: {} - /array-includes@3.1.8: - resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} - engines: {node: '>= 0.4'} + array-includes@3.1.8: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -9144,21 +14469,12 @@ packages: es-object-atoms: 1.0.0 get-intrinsic: 1.2.4 is-string: 1.0.7 - dev: true - /array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} - dev: true + array-union@2.1.0: {} - /array-uniq@1.0.3: - resolution: {integrity: sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==} - engines: {node: '>=0.10.0'} - dev: true + array-uniq@1.0.3: {} - /array.prototype.findlast@1.2.5: - resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} - engines: {node: '>= 0.4'} + array.prototype.findlast@1.2.5: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -9166,11 +14482,8 @@ packages: es-errors: 1.3.0 es-object-atoms: 1.0.0 es-shim-unscopables: 1.0.2 - dev: true - /array.prototype.findlastindex@1.2.5: - resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==} - engines: {node: '>= 0.4'} + array.prototype.findlastindex@1.2.5: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -9178,50 +14491,37 @@ packages: es-errors: 1.3.0 es-object-atoms: 1.0.0 es-shim-unscopables: 1.0.2 - dev: true - /array.prototype.flat@1.3.2: - resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} - engines: {node: '>= 0.4'} + array.prototype.flat@1.3.2: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.3 es-shim-unscopables: 1.0.2 - dev: true - /array.prototype.flatmap@1.3.2: - resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} - engines: {node: '>= 0.4'} + array.prototype.flatmap@1.3.2: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.3 es-shim-unscopables: 1.0.2 - dev: true - /array.prototype.toreversed@1.1.2: - resolution: {integrity: sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==} + array.prototype.toreversed@1.1.2: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.3 es-shim-unscopables: 1.0.2 - dev: true - /array.prototype.tosorted@1.1.3: - resolution: {integrity: sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==} + array.prototype.tosorted@1.1.3: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.3 es-errors: 1.3.0 es-shim-unscopables: 1.0.2 - dev: true - /arraybuffer.prototype.slice@1.0.3: - resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} - engines: {node: '>= 0.4'} + arraybuffer.prototype.slice@1.0.3: dependencies: array-buffer-byte-length: 1.0.1 call-bind: 1.0.7 @@ -9231,128 +14531,64 @@ packages: get-intrinsic: 1.2.4 is-array-buffer: 3.0.4 is-shared-array-buffer: 1.0.3 - dev: true - /asap@2.0.6: - resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} - dev: true + asap@2.0.6: {} - /asn1.js@5.4.1: - resolution: {integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==} + asn1.js@5.4.1: dependencies: bn.js: 4.12.0 inherits: 2.0.4 minimalistic-assert: 1.0.1 safer-buffer: 2.1.2 - dev: true - /asn1js@3.0.5: - resolution: {integrity: sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==} - engines: {node: '>=12.0.0'} + asn1js@3.0.5: dependencies: pvtsutils: 1.3.5 pvutils: 1.1.3 tslib: 2.6.2 - dev: true - /assertion-error@1.1.0: - resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} - dev: true + assertion-error@1.1.0: {} - /ast-module-types@5.0.0: - resolution: {integrity: sha512-JvqziE0Wc0rXQfma0HZC/aY7URXHFuZV84fJRtP8u+lhp0JYCNd5wJzVXP45t0PH0Mej3ynlzvdyITYIu0G4LQ==} - engines: {node: '>=14'} - dev: true + ast-module-types@5.0.0: {} - /ast-types-flow@0.0.8: - resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} - dev: true + ast-types-flow@0.0.8: {} - /astral-regex@2.0.0: - resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} - engines: {node: '>=8'} - dev: true + astral-regex@2.0.0: {} - /async-hook-jl@1.7.6: - resolution: {integrity: sha512-gFaHkFfSxTjvoxDMYqDuGHlcRyUuamF8s+ZTtJdDzqjws4mCt7v0vuV79/E2Wr2/riMQgtG4/yUtXWs1gZ7JMg==} - engines: {node: ^4.7 || >=6.9 || >=7.3} + async-hook-jl@1.7.6: dependencies: stack-chain: 1.3.7 - dev: false - /async-limiter@1.0.1: - resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==} - dev: true + async-limiter@1.0.1: {} - /async@1.5.2: - resolution: {integrity: sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==} - dev: true + async@1.5.2: {} - /async@3.2.5: - resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} - dev: true + async@3.2.5: {} - /asynckit@0.4.0: - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} + asynckit@0.4.0: {} - /at-least-node@1.0.0: - resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} - engines: {node: '>= 4.0.0'} - dev: true + at-least-node@1.0.0: {} - /atomic-batcher@1.0.2: - resolution: {integrity: sha512-EFGCRj4kLX1dHv1cDzTk+xbjBFj1GnJDpui52YmEcxxHHEWjYyT6l51U7n6WQ28osZH4S9gSybxe56Vm7vB61Q==} - dev: false + atomic-batcher@1.0.2: {} - /atomically@1.7.0: - resolution: {integrity: sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w==} - engines: {node: '>=10.12.0'} - dev: true + atomically@1.7.0: {} - /auto-bind@4.0.0: - resolution: {integrity: sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ==} - engines: {node: '>=8'} - dev: true + auto-bind@4.0.0: {} - /auto-bind@5.0.1: - resolution: {integrity: sha512-ooviqdwwgfIfNmDwo94wlshcdzfO64XV0Cg6oDsDYBJfITDz1EngD2z7DkbvCWn+XIMsIqW27sEVF6qcpJrRcg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true + auto-bind@5.0.1: {} - /available-typed-arrays@1.0.7: - resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} - engines: {node: '>= 0.4'} + available-typed-arrays@1.0.7: dependencies: possible-typed-array-names: 1.0.0 - dev: true - - /aws-cdk-lib@2.132.1(constructs@10.3.0): - resolution: {integrity: sha512-VheC7WcvmxiteNaZPucS9J9haGQZwbUtwNiNqsbTaEiru6ETUhf/yIOIamLto1kOKEPxCw2bfLkgYrWoCzwOpw==} - engines: {node: '>= 14.15.0'} - peerDependencies: - constructs: ^10.0.0 - dependencies: - '@aws-cdk/asset-awscli-v1': 2.2.202 - '@aws-cdk/asset-kubectl-v20': 2.1.2 - '@aws-cdk/asset-node-proxy-agent-v6': 2.0.3 - constructs: 10.3.0 - dev: true - bundledDependencies: - - '@balena/dockerignore' - - case - - fs-extra - - ignore - - jsonschema - - minimatch - - punycode - - semver - - table - - yaml - - mime-types - /aws-crt@1.21.2: - resolution: {integrity: sha512-/jq5yJwdethIaC+HyqCrgW2ZqxjUURBo/6CIfnD0HbpIE+vLIPQxENW/pp3Atu20Hm2WkjM9diJD4zJycK+olA==} - requiresBuild: true + aws-cdk-lib@2.132.1(constructs@10.3.0): + dependencies: + '@aws-cdk/asset-awscli-v1': 2.2.202 + '@aws-cdk/asset-kubectl-v20': 2.1.2 + '@aws-cdk/asset-node-proxy-agent-v6': 2.0.3 + constructs: 10.3.0 + + aws-crt@1.21.2: dependencies: '@aws-sdk/util-utf8-browser': 3.259.0 '@httptoolkit/websocket-stream': 6.0.1 @@ -9366,11 +14602,8 @@ packages: - debug - supports-color - utf-8-validate - dev: true - /aws-iot-device-sdk@2.2.13: - resolution: {integrity: sha512-rUR68vJxna5q0HSvBFy70QD0kFa91H8mQU2Jdor0JpNxmfNaOhQoiGCcgrZAxR69xY1kGHs+JzWOqqVtAfL0+A==} - engines: {node: '>=4.0.0'} + aws-iot-device-sdk@2.2.13: dependencies: crypto-js: 4.2.0 minimist: 1.2.6 @@ -9380,12 +14613,8 @@ packages: - bufferutil - supports-color - utf-8-validate - dev: true - /aws-sdk@2.1599.0: - resolution: {integrity: sha512-jPb1LAN+s1TLTK+VR3TTJLr//sb3AhhT60Bm9jxB5G/fVeeRczXtBtixNpQ00gksQdkstILYLc9S6MuKMsksxA==} - engines: {node: '>= 10.0.0'} - requiresBuild: true + aws-sdk@2.1599.0: dependencies: buffer: 4.9.2 events: 1.1.1 @@ -9397,11 +14626,8 @@ packages: util: 0.12.5 uuid: 8.0.0 xml2js: 0.6.2 - dev: true - /aws-xray-sdk-core@3.6.0: - resolution: {integrity: sha512-+UnYmVEni9NNJvE6aFY1dbvMtFquXSYAj+HYfm+90icoGKYvvLD71R7PHyFFnYct5of4NFpEXJtUJrWMv8e4mQ==} - engines: {node: '>= 14.x'} + aws-xray-sdk-core@3.6.0: dependencies: '@aws-sdk/types': 3.535.0 '@smithy/service-error-classification': 2.1.5 @@ -9409,34 +14635,22 @@ packages: atomic-batcher: 1.0.2 cls-hooked: 4.2.2 semver: 7.6.0 - dev: false - /axe-core@4.7.0: - resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==} - engines: {node: '>=4'} - dev: true + axe-core@4.7.0: {} - /axios@1.6.8: - resolution: {integrity: sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==} + axios@1.6.8: dependencies: follow-redirects: 1.15.6(debug@4.3.4) form-data: 4.0.0 proxy-from-env: 1.1.0 transitivePeerDependencies: - debug - dev: true - /axobject-query@3.2.1: - resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} + axobject-query@3.2.1: dependencies: dequal: 2.0.3 - dev: true - /babel-jest@29.7.0(@babel/core@7.24.4): - resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@babel/core': ^7.8.0 + babel-jest@29.7.0(@babel/core@7.24.4): dependencies: '@babel/core': 7.24.4 '@jest/transform': 29.7.0 @@ -9448,11 +14662,8 @@ packages: slash: 3.0.0 transitivePeerDependencies: - supports-color - dev: true - /babel-plugin-istanbul@6.1.1: - resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} - engines: {node: '>=8'} + babel-plugin-istanbul@6.1.1: dependencies: '@babel/helper-plugin-utils': 7.24.0 '@istanbuljs/load-nyc-config': 1.1.0 @@ -9461,26 +14672,17 @@ packages: test-exclude: 6.0.0 transitivePeerDependencies: - supports-color - dev: true - /babel-plugin-jest-hoist@29.6.3: - resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + babel-plugin-jest-hoist@29.6.3: dependencies: '@babel/template': 7.24.0 '@babel/types': 7.24.0 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.20.5 - dev: true - /babel-plugin-syntax-trailing-function-commas@7.0.0-beta.0: - resolution: {integrity: sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==} - dev: true + babel-plugin-syntax-trailing-function-commas@7.0.0-beta.0: {} - /babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.4): - resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} - peerDependencies: - '@babel/core': ^7.0.0 + babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.4): dependencies: '@babel/core': 7.24.4 '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.4) @@ -9495,12 +14697,8 @@ packages: '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.4) '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.4) '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.4) - dev: true - /babel-preset-fbjs@3.4.0(@babel/core@7.24.4): - resolution: {integrity: sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==} - peerDependencies: - '@babel/core': ^7.0.0 + babel-preset-fbjs@3.4.0(@babel/core@7.24.4): dependencies: '@babel/core': 7.24.4 '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.24.4) @@ -9530,82 +14728,50 @@ packages: '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.24.4) '@babel/plugin-transform-template-literals': 7.24.1(@babel/core@7.24.4) babel-plugin-syntax-trailing-function-commas: 7.0.0-beta.0 - dev: true - /babel-preset-jest@29.6.3(@babel/core@7.24.4): - resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@babel/core': ^7.0.0 + babel-preset-jest@29.6.3(@babel/core@7.24.4): dependencies: '@babel/core': 7.24.4 babel-plugin-jest-hoist: 29.6.3 babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.4) - dev: true - /balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - dev: true + balanced-match@1.0.2: {} - /base-x@3.0.9: - resolution: {integrity: sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==} + base-x@3.0.9: dependencies: safe-buffer: 5.2.1 - dev: true - /base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - dev: true + base64-js@1.5.1: {} - /bech32@1.1.4: - resolution: {integrity: sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==} + bech32@1.1.4: {} - /bignumber.js@9.0.1: - resolution: {integrity: sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA==} - dev: false + bignumber.js@9.0.1: {} - /bignumber.js@9.1.2: - resolution: {integrity: sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==} - dev: false + bignumber.js@9.1.2: {} - /binary-extensions@2.3.0: - resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} - engines: {node: '>=8'} - dev: true + binary-extensions@2.3.0: {} - /bl@4.1.0: - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} + bl@4.1.0: dependencies: buffer: 5.7.1 inherits: 2.0.4 readable-stream: 3.6.2 - dev: true - /bl@5.1.0: - resolution: {integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==} + bl@5.1.0: dependencies: buffer: 6.0.3 inherits: 2.0.4 readable-stream: 3.6.2 - dev: true - /blakejs@1.2.1: - resolution: {integrity: sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==} - dev: true + blakejs@1.2.1: {} - /bn.js@4.11.6: - resolution: {integrity: sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==} - dev: true + bn.js@4.11.6: {} - /bn.js@4.12.0: - resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==} + bn.js@4.12.0: {} - /bn.js@5.2.1: - resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} + bn.js@5.2.1: {} - /body-parser@1.20.2: - resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + body-parser@1.20.2: dependencies: bytes: 3.1.2 content-type: 1.0.5 @@ -9621,14 +14787,10 @@ packages: unpipe: 1.0.0 transitivePeerDependencies: - supports-color - dev: true - /bowser@2.11.0: - resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==} + bowser@2.11.0: {} - /boxen@5.1.2: - resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==} - engines: {node: '>=10'} + boxen@5.1.2: dependencies: ansi-align: 3.0.1 camelcase: 6.3.0 @@ -9638,37 +14800,25 @@ packages: type-fest: 0.20.2 widest-line: 3.1.0 wrap-ansi: 7.0.0 - dev: true - /brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} + brace-expansion@1.1.11: dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 - dev: true - /brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} + brace-expansion@2.0.1: dependencies: balanced-match: 1.0.2 - dev: true - /braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} - engines: {node: '>=8'} + braces@3.0.2: dependencies: fill-range: 7.0.1 - dev: true - /brorand@1.1.0: - resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} + brorand@1.1.0: {} - /browser-stdout@1.3.1: - resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} - dev: true + browser-stdout@1.3.1: {} - /browserify-aes@1.2.0: - resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} + browserify-aes@1.2.0: dependencies: buffer-xor: 1.0.3 cipher-base: 1.0.4 @@ -9676,162 +14826,98 @@ packages: evp_bytestokey: 1.0.3 inherits: 2.0.4 safe-buffer: 5.2.1 - dev: true - /browserslist@4.23.0: - resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true + browserslist@4.23.0: dependencies: caniuse-lite: 1.0.30001610 electron-to-chromium: 1.4.737 node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.23.0) - dev: true - /bs-logger@0.2.6: - resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} - engines: {node: '>= 6'} + bs-logger@0.2.6: dependencies: fast-json-stable-stringify: 2.1.0 - dev: true - /bs58@4.0.1: - resolution: {integrity: sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==} + bs58@4.0.1: dependencies: base-x: 3.0.9 - dev: true - /bs58check@2.1.2: - resolution: {integrity: sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==} + bs58check@2.1.2: dependencies: bs58: 4.0.1 create-hash: 1.2.0 safe-buffer: 5.2.1 - dev: true - /bser@2.1.1: - resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + bser@2.1.1: dependencies: node-int64: 0.4.0 - dev: true - /buffer-crc32@0.2.13: - resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} - dev: true + buffer-crc32@0.2.13: {} - /buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - dev: true + buffer-from@1.1.2: {} - /buffer-xor@1.0.3: - resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} - dev: true + buffer-xor@1.0.3: {} - /buffer@4.9.2: - resolution: {integrity: sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==} + buffer@4.9.2: dependencies: base64-js: 1.5.1 ieee754: 1.2.1 isarray: 1.0.0 - dev: true - /buffer@5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + buffer@5.7.1: dependencies: base64-js: 1.5.1 ieee754: 1.2.1 - dev: true - /buffer@6.0.3: - resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} + buffer@6.0.3: dependencies: base64-js: 1.5.1 ieee754: 1.2.1 - dev: true - /builtin-modules@3.2.0: - resolution: {integrity: sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==} - engines: {node: '>=6'} - dev: true + builtin-modules@3.2.0: {} - /builtin-modules@3.3.0: - resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} - engines: {node: '>=6'} - dev: true + builtin-modules@3.3.0: {} - /busboy@1.6.0: - resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} - engines: {node: '>=10.16.0'} + busboy@1.6.0: dependencies: streamsearch: 1.1.0 - dev: true - /bytes@3.1.2: - resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} - engines: {node: '>= 0.8'} - dev: true + bytes@3.1.2: {} - /call-bind@1.0.7: - resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} - engines: {node: '>= 0.4'} + call-bind@1.0.7: dependencies: es-define-property: 1.0.0 es-errors: 1.3.0 function-bind: 1.1.2 get-intrinsic: 1.2.4 set-function-length: 1.2.2 - dev: true - /callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - dev: true + callsites@3.1.0: {} - /camel-case@4.1.2: - resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} + camel-case@4.1.2: dependencies: pascal-case: 3.1.2 tslib: 2.6.2 - dev: true - /camelcase@5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} - dev: true + camelcase@5.3.1: {} - /camelcase@6.3.0: - resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} - engines: {node: '>=10'} - dev: true + camelcase@6.3.0: {} - /caniuse-lite@1.0.30001610: - resolution: {integrity: sha512-QFutAY4NgaelojVMjY63o6XlZyORPaLfyMnsl3HgnWdJUcX6K0oaJymHjH8PT5Gk7sTm8rvC/c5COUQKXqmOMA==} - dev: true + caniuse-lite@1.0.30001610: {} - /capital-case@1.0.4: - resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} + capital-case@1.0.4: dependencies: no-case: 3.0.4 tslib: 2.6.2 upper-case-first: 2.0.2 - dev: true - /caseless@0.12.0: - resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} - dev: true + caseless@0.12.0: {} - /cbor@8.1.0: - resolution: {integrity: sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==} - engines: {node: '>=12.19'} + cbor@8.1.0: dependencies: nofilter: 3.1.0 - dev: true - /cdk-assets@2.132.1: - resolution: {integrity: sha512-npaa5DTO9GMdnErCk5mguR6XpaLZv1R36T3kJPgSuJDcD2T5gk7BzuMyJWQM0QHMLNw3fMOOjG1D7Wi39LJ3cQ==} - engines: {node: '>= 14.15.0'} - hasBin: true + cdk-assets@2.132.1: dependencies: '@aws-cdk/cloud-assembly-schema': 2.132.1 '@aws-cdk/cx-api': 2.132.1(@aws-cdk/cloud-assembly-schema@2.132.1) @@ -9840,20 +14926,13 @@ packages: glob: 7.2.3 mime: 2.6.0 yargs: 16.2.0 - dev: true - /chai-as-promised@7.1.1(chai@4.4.1): - resolution: {integrity: sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==} - peerDependencies: - chai: '>= 2.1.2 < 5' + chai-as-promised@7.1.1(chai@4.4.1): dependencies: chai: 4.4.1 check-error: 1.0.3 - dev: true - /chai@4.4.1: - resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} - engines: {node: '>=4'} + chai@4.4.1: dependencies: assertion-error: 1.1.0 check-error: 1.0.3 @@ -9862,31 +14941,21 @@ packages: loupe: 2.3.7 pathval: 1.1.1 type-detect: 4.0.8 - dev: true - /chalk@2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} + chalk@2.4.2: dependencies: ansi-styles: 3.2.1 escape-string-regexp: 1.0.5 supports-color: 5.5.0 - dev: true - /chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} + chalk@4.1.2: dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 - /chalk@5.3.0: - resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - dev: true + chalk@5.3.0: {} - /change-case-all@1.0.15: - resolution: {integrity: sha512-3+GIFhk3sNuvFAJKU46o26OdzudQlPNBCu1ZQi3cMeMHhty1bhDxu2WrEilVNYaGvqUtR1VSigFcJOiS13dRhQ==} + change-case-all@1.0.15: dependencies: change-case: 4.1.2 is-lower-case: 2.0.2 @@ -9898,10 +14967,8 @@ packages: title-case: 3.0.3 upper-case: 2.0.2 upper-case-first: 2.0.2 - dev: true - /change-case@4.1.2: - resolution: {integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==} + change-case@4.1.2: dependencies: camel-case: 4.1.2 capital-case: 1.0.4 @@ -9915,29 +14982,18 @@ packages: sentence-case: 3.0.4 snake-case: 3.0.4 tslib: 2.6.2 - dev: true - /char-regex@1.0.2: - resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} - engines: {node: '>=10'} - dev: true + char-regex@1.0.2: {} - /chardet@0.7.0: - resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} + chardet@0.7.0: {} - /charenc@0.0.2: - resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==} - dev: true + charenc@0.0.2: {} - /check-error@1.0.3: - resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} + check-error@1.0.3: dependencies: get-func-name: 2.0.2 - dev: true - /chokidar@3.5.3: - resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} - engines: {node: '>= 8.10.0'} + chokidar@3.5.3: dependencies: anymatch: 3.1.3 braces: 3.0.2 @@ -9948,11 +15004,8 @@ packages: readdirp: 3.6.0 optionalDependencies: fsevents: 2.3.3 - dev: true - /chokidar@3.6.0: - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} - engines: {node: '>= 8.10.0'} + chokidar@3.6.0: dependencies: anymatch: 3.1.3 braces: 3.0.2 @@ -9963,278 +15016,160 @@ packages: readdirp: 3.6.0 optionalDependencies: fsevents: 2.3.3 - dev: true - /ci-info@2.0.0: - resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} - dev: true + ci-info@2.0.0: {} - /ci-info@3.9.0: - resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} - engines: {node: '>=8'} - dev: true + ci-info@3.9.0: {} - /cipher-base@1.0.4: - resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==} + cipher-base@1.0.4: dependencies: inherits: 2.0.4 safe-buffer: 5.2.1 - dev: true - /cjs-module-lexer@1.2.3: - resolution: {integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==} - dev: true + cjs-module-lexer@1.2.3: {} - /clean-regexp@1.0.0: - resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} - engines: {node: '>=4'} + clean-regexp@1.0.0: dependencies: escape-string-regexp: 1.0.5 - dev: true - /clean-stack@2.2.0: - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} - engines: {node: '>=6'} - dev: true + clean-stack@2.2.0: {} - /cli-boxes@2.2.1: - resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} - engines: {node: '>=6'} - dev: true + cli-boxes@2.2.1: {} - /cli-boxes@3.0.0: - resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} - engines: {node: '>=10'} - dev: true + cli-boxes@3.0.0: {} - /cli-cursor@3.1.0: - resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} - engines: {node: '>=8'} + cli-cursor@3.1.0: dependencies: restore-cursor: 3.1.0 - dev: true - /cli-cursor@4.0.0: - resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + cli-cursor@4.0.0: dependencies: restore-cursor: 4.0.0 - dev: true - /cli-spinners@2.9.2: - resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} - engines: {node: '>=6'} + cli-spinners@2.9.2: {} - /cli-table3@0.5.1: - resolution: {integrity: sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==} - engines: {node: '>=6'} + cli-table3@0.5.1: dependencies: object-assign: 4.1.1 string-width: 2.1.1 optionalDependencies: colors: 1.4.0 - dev: true - /cli-truncate@2.1.0: - resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} - engines: {node: '>=8'} + cli-truncate@2.1.0: dependencies: slice-ansi: 3.0.0 string-width: 4.2.3 - dev: true - /cli-truncate@3.1.0: - resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + cli-truncate@3.1.0: dependencies: slice-ansi: 5.0.0 string-width: 5.1.2 - dev: true - /cli-width@3.0.0: - resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} - engines: {node: '>= 10'} - dev: true + cli-width@3.0.0: {} - /cli-width@4.1.0: - resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} - engines: {node: '>= 12'} - dev: false + cli-width@4.1.0: {} - /cliui@6.0.0: - resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} + cliui@6.0.0: dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 6.2.0 - dev: true - /cliui@7.0.4: - resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} + cliui@7.0.4: dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 7.0.0 - dev: true - /cliui@8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} + cliui@8.0.1: dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 7.0.0 - dev: true - /clone@1.0.4: - resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} - engines: {node: '>=0.8'} - dev: true + clone@1.0.4: {} - /cls-hooked@4.2.2: - resolution: {integrity: sha512-J4Xj5f5wq/4jAvcdgoGsL3G103BtWpZrMo8NEinRltN+xpTZdI+M38pyQqhuFU/P792xkMFvnKSf+Lm81U1bxw==} - engines: {node: ^4.7 || >=6.9 || >=7.3 || >=8.2.1} + cls-hooked@4.2.2: dependencies: async-hook-jl: 1.7.6 emitter-listener: 1.1.2 semver: 5.7.2 - dev: false - /cluster-key-slot@1.1.2: - resolution: {integrity: sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==} - engines: {node: '>=0.10.0'} - dev: false + cluster-key-slot@1.1.2: {} - /co@4.6.0: - resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} - engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} - dev: true + co@4.6.0: {} - /code-excerpt@4.0.0: - resolution: {integrity: sha512-xxodCmBen3iy2i0WtAK8FlFNrRzjUqjRsMfho58xT/wvZU1YTM3fCnRjcy1gJPMepaRlgm/0e6w8SpWHpn3/cA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + code-excerpt@4.0.0: dependencies: convert-to-spaces: 2.0.1 - dev: true - /collect-v8-coverage@1.0.2: - resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} - dev: true + collect-v8-coverage@1.0.2: {} - /color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} + color-convert@1.9.3: dependencies: color-name: 1.1.3 - dev: true - /color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} + color-convert@2.0.1: dependencies: color-name: 1.1.4 - /color-name@1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - dev: true + color-name@1.1.3: {} - /color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + color-name@1.1.4: {} - /colorette@2.0.20: - resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} - dev: true + colorette@2.0.20: {} - /colors@1.4.0: - resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} - engines: {node: '>=0.1.90'} - dev: true + colors@1.4.0: {} - /combined-stream@1.0.8: - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} - engines: {node: '>= 0.8'} + combined-stream@1.0.8: dependencies: delayed-stream: 1.0.0 - /command-exists@1.2.9: - resolution: {integrity: sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==} - dev: true + command-exists@1.2.9: {} - /commander@10.0.1: - resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} - engines: {node: '>=14'} - dev: true + commander@10.0.1: {} - /commander@3.0.2: - resolution: {integrity: sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==} - dev: true + commander@3.0.2: {} - /commander@7.2.0: - resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} - engines: {node: '>= 10'} - dev: true + commander@7.2.0: {} - /commander@9.5.0: - resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} - engines: {node: ^12.20.0 || >=14} - dev: true + commander@9.5.0: {} - /commist@1.1.0: - resolution: {integrity: sha512-rraC8NXWOEjhADbZe9QBNzLAN5Q3fsTPQtBV+fEVj6xKIgDgNiEVE6ZNfHpZOqfQ21YUzfVNUXLOEZquYvQPPg==} + commist@1.1.0: dependencies: leven: 2.1.0 minimist: 1.2.8 - dev: true - /common-tags@1.8.2: - resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} - engines: {node: '>=4.0.0'} - dev: true + common-tags@1.8.2: {} - /commondir@1.0.1: - resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} - dev: true + commondir@1.0.1: {} - /complex.js@2.1.1: - resolution: {integrity: sha512-8njCHOTtFFLtegk6zQo0kkVX1rngygb/KQI6z1qZxlFI3scluC+LVTCFbrkWjBv4vvLlbQ9t88IPMC6k95VTTg==} - dev: true + complex.js@2.1.1: {} - /compress-commons@4.1.2: - resolution: {integrity: sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==} - engines: {node: '>= 10'} + compress-commons@4.1.2: dependencies: buffer-crc32: 0.2.13 crc32-stream: 4.0.3 normalize-path: 3.0.0 readable-stream: 3.6.2 - dev: true - /concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - dev: true + concat-map@0.0.1: {} - /concat-stream@1.6.2: - resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} - engines: {'0': node >= 0.8} + concat-stream@1.6.2: dependencies: buffer-from: 1.1.2 inherits: 2.0.4 readable-stream: 2.3.8 typedarray: 0.0.6 - dev: true - /concat-stream@2.0.0: - resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==} - engines: {'0': node >= 6.0} + concat-stream@2.0.0: dependencies: buffer-from: 1.1.2 inherits: 2.0.4 readable-stream: 3.6.2 typedarray: 0.0.6 - dev: true - /conf@10.2.0: - resolution: {integrity: sha512-8fLl9F04EJqjSqH+QjITQfJF8BrOVaYr1jewVgSRAEWePfxT0sku4w2hrGQ60BC/TNLGQ2pgxNlTbWQmMPFvXg==} - engines: {node: '>=12'} + conf@10.2.0: dependencies: ajv: 8.12.0 ajv-formats: 2.1.1(ajv@8.12.0) @@ -10246,109 +15181,61 @@ packages: onetime: 5.1.2 pkg-up: 3.1.0 semver: 7.6.0 - dev: true - /constant-case@3.0.4: - resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==} + constant-case@3.0.4: dependencies: no-case: 3.0.4 tslib: 2.6.2 upper-case: 2.0.2 - dev: true - /constructs@10.3.0: - resolution: {integrity: sha512-vbK8i3rIb/xwZxSpTjz3SagHn1qq9BChLEfy5Hf6fB3/2eFbrwt2n9kHwQcS0CPTRBesreeAcsJfMq2229FnbQ==} - engines: {node: '>= 16.14.0'} - dev: true + constructs@10.3.0: {} - /content-disposition@0.5.4: - resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} - engines: {node: '>= 0.6'} + content-disposition@0.5.4: dependencies: safe-buffer: 5.2.1 - dev: true - /content-type@1.0.5: - resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} - engines: {node: '>= 0.6'} - dev: true + content-type@1.0.5: {} - /convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - dev: true + convert-source-map@2.0.0: {} - /convert-to-spaces@2.0.1: - resolution: {integrity: sha512-rcQ1bsQO9799wq24uE5AM2tAILy4gXGIK/njFWcVQkGNZ96edlpY+A7bjwvzjYvLDyzmG1MmMLZhpcsb+klNMQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true + convert-to-spaces@2.0.1: {} - /cookie-signature@1.0.6: - resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} - dev: true + cookie-signature@1.0.6: {} - /cookie@0.4.2: - resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} - engines: {node: '>= 0.6'} - dev: true + cookie@0.4.2: {} - /cookie@0.6.0: - resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} - engines: {node: '>= 0.6'} - dev: true + cookie@0.6.0: {} - /copy-anything@3.0.5: - resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==} - engines: {node: '>=12.13'} + copy-anything@3.0.5: dependencies: is-what: 4.1.16 - dev: false - /core-util-is@1.0.3: - resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - dev: true + core-util-is@1.0.3: {} - /cosmiconfig@8.3.6(typescript@5.4.5): - resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} - engines: {node: '>=14'} - peerDependencies: - typescript: '>=4.9.5' - peerDependenciesMeta: - typescript: - optional: true + cosmiconfig@8.3.6(typescript@5.4.5): dependencies: import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 typescript: 5.4.5 - dev: true - /crc-32@1.2.2: - resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} - engines: {node: '>=0.8'} - hasBin: true - dev: true + crc-32@1.2.2: {} - /crc32-stream@4.0.3: - resolution: {integrity: sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==} - engines: {node: '>= 10'} + crc32-stream@4.0.3: dependencies: crc-32: 1.2.2 readable-stream: 3.6.2 - dev: true - /create-hash@1.2.0: - resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} + create-hash@1.2.0: dependencies: cipher-base: 1.0.4 inherits: 2.0.4 md5.js: 1.3.5 ripemd160: 2.0.2 sha.js: 2.4.11 - dev: true - /create-hmac@1.1.7: - resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} + create-hmac@1.1.7: dependencies: cipher-base: 1.0.4 create-hash: 1.2.0 @@ -10356,12 +15243,8 @@ packages: ripemd160: 2.0.2 safe-buffer: 5.2.1 sha.js: 2.4.11 - dev: true - /create-jest@29.7.0(@types/node@20.12.7): - resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true + create-jest@29.7.0(@types/node@20.12.7): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 @@ -10375,239 +15258,126 @@ packages: - babel-plugin-macros - supports-color - ts-node - dev: true - /create-require@1.1.1: - resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - dev: true + create-require@1.1.1: {} - /cross-fetch@3.1.8: - resolution: {integrity: sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==} + cross-fetch@3.1.8: dependencies: node-fetch: 2.7.0 transitivePeerDependencies: - encoding - /cross-inspect@1.0.0: - resolution: {integrity: sha512-4PFfn4b5ZN6FMNGSZlyb7wUhuN8wvj8t/VQHZdM4JsDcruGJ8L2kf9zao98QIrBPFCpdk27qst/AGTl7pL3ypQ==} - engines: {node: '>=16.0.0'} + cross-inspect@1.0.0: dependencies: tslib: 2.6.2 - dev: true - /cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} + cross-spawn@7.0.3: dependencies: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 - dev: true - /crypt@0.0.2: - resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==} - dev: true + crypt@0.0.2: {} - /crypto-js@4.2.0: - resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==} - dev: true + crypto-js@4.2.0: {} - /damerau-levenshtein@1.0.8: - resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} - dev: true + damerau-levenshtein@1.0.8: {} - /data-uri-to-buffer@4.0.1: - resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} - engines: {node: '>= 12'} - dev: false + data-uri-to-buffer@4.0.1: {} - /data-view-buffer@1.0.1: - resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} - engines: {node: '>= 0.4'} + data-view-buffer@1.0.1: dependencies: call-bind: 1.0.7 es-errors: 1.3.0 is-data-view: 1.0.1 - dev: true - /data-view-byte-length@1.0.1: - resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} - engines: {node: '>= 0.4'} + data-view-byte-length@1.0.1: dependencies: call-bind: 1.0.7 es-errors: 1.3.0 is-data-view: 1.0.1 - dev: true - /data-view-byte-offset@1.0.0: - resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} - engines: {node: '>= 0.4'} + data-view-byte-offset@1.0.0: dependencies: call-bind: 1.0.7 es-errors: 1.3.0 is-data-view: 1.0.1 - dev: true - - /dataloader@2.2.2: - resolution: {integrity: sha512-8YnDaaf7N3k/q5HnTJVuzSyLETjoZjVmHc4AeKAzOvKHEFQKcn64OKBfzHYtE9zGjctNM7V9I0MfnUVLpi7M5g==} - dev: true - /death@1.1.0: - resolution: {integrity: sha512-vsV6S4KVHvTGxbEcij7hkWRv0It+sGGWVOM67dQde/o5Xjnr+KmLjxWJii2uEObIrt1CcM9w0Yaovx+iOlIL+w==} - dev: true + dataloader@2.2.2: {} - /debounce-fn@4.0.0: - resolution: {integrity: sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ==} - engines: {node: '>=10'} + death@1.1.0: {} + + debounce-fn@4.0.0: dependencies: mimic-fn: 3.1.0 - dev: true - /debounce@1.2.1: - resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} - dev: true + debounce@1.2.1: {} - /debug@2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + debug@2.6.9: dependencies: ms: 2.0.0 - dev: true - /debug@3.2.7: - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + debug@3.2.7: dependencies: ms: 2.1.3 - dev: true - /debug@4.3.4(supports-color@8.1.1): - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true + debug@4.3.4(supports-color@8.1.1): dependencies: ms: 2.1.2 supports-color: 8.1.1 - dev: true - /decamelize@1.2.0: - resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} - engines: {node: '>=0.10.0'} - dev: true + decamelize@1.2.0: {} - /decamelize@4.0.0: - resolution: {integrity: sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==} - engines: {node: '>=10'} - dev: true + decamelize@4.0.0: {} - /decimal.js@10.4.3: - resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} - dev: true + decimal.js@10.4.3: {} - /dedent@1.5.3: - resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} - peerDependencies: - babel-plugin-macros: ^3.1.0 - peerDependenciesMeta: - babel-plugin-macros: - optional: true - dev: true + dedent@1.5.3: {} - /deep-eql@4.1.3: - resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} - engines: {node: '>=6'} + deep-eql@4.1.3: dependencies: type-detect: 4.0.8 - dev: true - /deep-extend@0.6.0: - resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} - engines: {node: '>=4.0.0'} - dev: true + deep-extend@0.6.0: {} - /deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - dev: true + deep-is@0.1.4: {} - /deepmerge@4.3.1: - resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} - engines: {node: '>=0.10.0'} - dev: true + deepmerge@4.3.1: {} - /defaults@1.0.4: - resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} + defaults@1.0.4: dependencies: clone: 1.0.4 - dev: true - /define-data-property@1.1.4: - resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} - engines: {node: '>= 0.4'} + define-data-property@1.1.4: dependencies: es-define-property: 1.0.0 es-errors: 1.3.0 gopd: 1.0.1 - dev: true - /define-properties@1.2.1: - resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} - engines: {node: '>= 0.4'} + define-properties@1.2.1: dependencies: define-data-property: 1.1.4 has-property-descriptors: 1.0.2 object-keys: 1.1.1 - dev: true - /delayed-stream@1.0.0: - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} - engines: {node: '>=0.4.0'} + delayed-stream@1.0.0: {} - /delete-empty@3.0.0: - resolution: {integrity: sha512-ZUyiwo76W+DYnKsL3Kim6M/UOavPdBJgDYWOmuQhYaZvJH0AXAHbUNyEDtRbBra8wqqr686+63/0azfEk1ebUQ==} - engines: {node: '>=10'} - hasBin: true + delete-empty@3.0.0: dependencies: ansi-colors: 4.1.3 minimist: 1.2.8 path-starts-with: 2.0.1 rimraf: 2.7.1 - dev: true - /dendriform-immer-patch-optimiser@2.1.3(immer@9.0.21): - resolution: {integrity: sha512-QG2IegUCdlhycVwsBOJ7SNd18PgzyWPxBivTzuF0E1KFxaU47fHy/frud74A9E66a4WXyFFp9FLLC2XQDkVj7g==} - engines: {node: '>=10'} - peerDependencies: - immer: '9' + dendriform-immer-patch-optimiser@2.1.3(immer@9.0.21): dependencies: immer: 9.0.21 - dev: true - /depd@2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} - dev: true + depd@2.0.0: {} - /dependency-graph@0.11.0: - resolution: {integrity: sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==} - engines: {node: '>= 0.6.0'} - dev: true + dependency-graph@0.11.0: {} - /dependency-tree@10.0.9: - resolution: {integrity: sha512-dwc59FRIsht+HfnTVM0BCjJaEWxdq2YAvEDy4/Hn6CwS3CBWMtFnL3aZGAkQn3XCYxk/YcTDE4jX2Q7bFTwCjA==} - engines: {node: '>=14'} - hasBin: true + dependency-tree@10.0.9: dependencies: commander: 10.0.1 filing-cabinet: 4.2.0 @@ -10615,97 +15385,54 @@ packages: typescript: 5.4.5 transitivePeerDependencies: - supports-color - dev: true - /dequal@2.0.3: - resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} - engines: {node: '>=6'} - dev: true + dequal@2.0.3: {} - /destroy@1.2.0: - resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - dev: true + destroy@1.2.0: {} - /detect-indent@6.1.0: - resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} - engines: {node: '>=8'} - dev: true + detect-indent@6.1.0: {} - /detect-indent@7.0.1: - resolution: {integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==} - engines: {node: '>=12.20'} - dev: true + detect-indent@7.0.1: {} - /detect-newline@3.1.0: - resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} - engines: {node: '>=8'} - dev: true + detect-newline@3.1.0: {} - /detect-newline@4.0.1: - resolution: {integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true + detect-newline@4.0.1: {} - /detective-amd@5.0.2: - resolution: {integrity: sha512-XFd/VEQ76HSpym80zxM68ieB77unNuoMwopU2TFT/ErUk5n4KvUTwW4beafAVUugrjV48l4BmmR0rh2MglBaiA==} - engines: {node: '>=14'} - hasBin: true + detective-amd@5.0.2: dependencies: ast-module-types: 5.0.0 escodegen: 2.1.0 get-amd-module-type: 5.0.1 node-source-walk: 6.0.2 - dev: true - /detective-cjs@5.0.1: - resolution: {integrity: sha512-6nTvAZtpomyz/2pmEmGX1sXNjaqgMplhQkskq2MLrar0ZAIkHMrDhLXkRiK2mvbu9wSWr0V5/IfiTrZqAQMrmQ==} - engines: {node: '>=14'} + detective-cjs@5.0.1: dependencies: ast-module-types: 5.0.0 node-source-walk: 6.0.2 - dev: true - /detective-es6@4.0.1: - resolution: {integrity: sha512-k3Z5tB4LQ8UVHkuMrFOlvb3GgFWdJ9NqAa2YLUU/jTaWJIm+JJnEh4PsMc+6dfT223Y8ACKOaC0qcj7diIhBKw==} - engines: {node: '>=14'} + detective-es6@4.0.1: dependencies: node-source-walk: 6.0.2 - dev: true - /detective-postcss@6.1.3: - resolution: {integrity: sha512-7BRVvE5pPEvk2ukUWNQ+H2XOq43xENWbH0LcdCE14mwgTBEAMoAx+Fc1rdp76SmyZ4Sp48HlV7VedUnP6GA1Tw==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + detective-postcss@6.1.3: dependencies: is-url: 1.2.4 postcss: 8.4.38 postcss-values-parser: 6.0.2(postcss@8.4.38) - dev: true - /detective-sass@5.0.3: - resolution: {integrity: sha512-YsYT2WuA8YIafp2RVF5CEfGhhyIVdPzlwQgxSjK+TUm3JoHP+Tcorbk3SfG0cNZ7D7+cYWa0ZBcvOaR0O8+LlA==} - engines: {node: '>=14'} + detective-sass@5.0.3: dependencies: gonzales-pe: 4.3.0 node-source-walk: 6.0.2 - dev: true - /detective-scss@4.0.3: - resolution: {integrity: sha512-VYI6cHcD0fLokwqqPFFtDQhhSnlFWvU614J42eY6G0s8c+MBhi9QAWycLwIOGxlmD8I/XvGSOUV1kIDhJ70ZPg==} - engines: {node: '>=14'} + detective-scss@4.0.3: dependencies: gonzales-pe: 4.3.0 node-source-walk: 6.0.2 - dev: true - /detective-stylus@4.0.0: - resolution: {integrity: sha512-TfPotjhszKLgFBzBhTOxNHDsutIxx9GTWjrL5Wh7Qx/ydxKhwUrlSFeLIn+ZaHPF+h0siVBkAQSuy6CADyTxgQ==} - engines: {node: '>=14'} - dev: true + detective-stylus@4.0.0: {} - /detective-typescript@11.2.0: - resolution: {integrity: sha512-ARFxjzizOhPqs1fYC/2NMC3N4jrQ6HvVflnXBTRqNEqJuXwyKLRr9CrJwkRcV/SnZt1sNXgsF6FPm0x57Tq0rw==} - engines: {node: ^14.14.0 || >=16.0.0} + detective-typescript@11.2.0: dependencies: '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.5) ast-module-types: 5.0.0 @@ -10713,134 +15440,77 @@ packages: typescript: 5.4.5 transitivePeerDependencies: - supports-color - dev: true - /diff-sequences@29.6.3: - resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true + diff-sequences@29.6.3: {} - /diff@3.5.0: - resolution: {integrity: sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==} - engines: {node: '>=0.3.1'} - dev: true + diff@3.5.0: {} - /diff@4.0.2: - resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} - engines: {node: '>=0.3.1'} - dev: true + diff@4.0.2: {} - /diff@5.0.0: - resolution: {integrity: sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==} - engines: {node: '>=0.3.1'} - dev: true + diff@5.0.0: {} - /diff@5.2.0: - resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} - engines: {node: '>=0.3.1'} - dev: true + diff@5.2.0: {} - /difflib@0.2.4: - resolution: {integrity: sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w==} + difflib@0.2.4: dependencies: heap: 0.2.7 - dev: true - /dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} + dir-glob@3.0.1: dependencies: path-type: 4.0.0 - dev: true - /doctrine@2.1.0: - resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} - engines: {node: '>=0.10.0'} + doctrine@2.1.0: dependencies: esutils: 2.0.3 - dev: true - /doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} + doctrine@3.0.0: dependencies: esutils: 2.0.3 - dev: true - /dot-case@3.0.4: - resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} + dot-case@3.0.4: dependencies: no-case: 3.0.4 tslib: 2.6.2 - dev: true - /dot-prop@6.0.1: - resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} - engines: {node: '>=10'} + dot-prop@6.0.1: dependencies: is-obj: 2.0.0 - dev: true - /dotenv-expand@11.0.6: - resolution: {integrity: sha512-8NHi73otpWsZGBSZwwknTXS5pqMOrk9+Ssrna8xCaxkzEpU9OTf9R5ArQGVw03//Zmk9MOwLPng9WwndvpAJ5g==} - engines: {node: '>=12'} + dotenv-expand@11.0.6: dependencies: dotenv: 16.4.5 - dev: true - /dotenv@16.0.3: - resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} - engines: {node: '>=12'} - dev: true + dotenv@16.0.3: {} - /dotenv@16.4.5: - resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} - engines: {node: '>=12'} - dev: true + dotenv@16.4.5: {} - /dset@3.1.3: - resolution: {integrity: sha512-20TuZZHCEZ2O71q9/+8BwKwZ0QtD9D8ObhrihJPr+vLLYlSuAU3/zL4cSlgbfeoGHTjCSJBa7NGcrF9/Bx/WJQ==} - engines: {node: '>=4'} - dev: true + dset@3.1.3: {} - /duplexify@3.7.1: - resolution: {integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==} + duplexify@3.7.1: dependencies: end-of-stream: 1.4.4 inherits: 2.0.4 readable-stream: 2.3.8 stream-shift: 1.0.3 - dev: true - /duplexify@4.1.3: - resolution: {integrity: sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA==} + duplexify@4.1.3: dependencies: end-of-stream: 1.4.4 inherits: 2.0.4 readable-stream: 3.6.2 stream-shift: 1.0.3 - dev: true - /eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - dev: true + eastasianwidth@0.2.0: {} - /ecdsa-sig-formatter@1.0.11: - resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} + ecdsa-sig-formatter@1.0.11: dependencies: safe-buffer: 5.2.1 - dev: true - /ee-first@1.1.1: - resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - dev: true + ee-first@1.1.1: {} - /electron-to-chromium@1.4.737: - resolution: {integrity: sha512-QvLTxaLHKdy5YxvixAw/FfHq2eWLUL9KvsPjp0aHK1gI5d3EDuDgITkvj0nFO2c6zUY3ZqVAJQiBYyQP9tQpfw==} - dev: true + electron-to-chromium@1.4.737: {} - /elliptic@6.5.4: - resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==} + elliptic@6.5.4: dependencies: bn.js: 4.12.0 brorand: 1.1.0 @@ -10850,8 +15520,7 @@ packages: minimalistic-assert: 1.0.1 minimalistic-crypto-utils: 1.0.1 - /elliptic@6.5.5: - resolution: {integrity: sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw==} + elliptic@6.5.5: dependencies: bn.js: 4.12.0 brorand: 1.1.0 @@ -10860,67 +15529,40 @@ packages: inherits: 2.0.4 minimalistic-assert: 1.0.1 minimalistic-crypto-utils: 1.0.1 - dev: true - /emitter-listener@1.1.2: - resolution: {integrity: sha512-Bt1sBAGFHY9DKY+4/2cV6izcKJUf5T7/gkdmkxzX/qv9CcGH8xSwVRW5mtX03SWJtRTWSOpzCuWN9rBFYZepZQ==} + emitter-listener@1.1.2: dependencies: shimmer: 1.2.1 - dev: false - /emittery@0.13.1: - resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} - engines: {node: '>=12'} - dev: true + emittery@0.13.1: {} - /emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} + emoji-regex@8.0.0: {} - /emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - dev: true + emoji-regex@9.2.2: {} - /encodeurl@1.0.2: - resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} - engines: {node: '>= 0.8'} - dev: true + encodeurl@1.0.2: {} - /end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + end-of-stream@1.4.4: dependencies: once: 1.4.0 - dev: true - /enhanced-resolve@5.16.0: - resolution: {integrity: sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==} - engines: {node: '>=10.13.0'} + enhanced-resolve@5.16.0: dependencies: graceful-fs: 4.2.11 tapable: 2.2.1 - dev: true - /enquirer@2.4.1: - resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} - engines: {node: '>=8.6'} + enquirer@2.4.1: dependencies: ansi-colors: 4.1.3 strip-ansi: 6.0.1 - dev: true - /env-paths@2.2.1: - resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} - engines: {node: '>=6'} - dev: true + env-paths@2.2.1: {} - /error-ex@1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + error-ex@1.3.2: dependencies: is-arrayish: 0.2.1 - dev: true - /es-abstract@1.23.3: - resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} - engines: {node: '>= 0.4'} + es-abstract@1.23.3: dependencies: array-buffer-byte-length: 1.0.1 arraybuffer.prototype.slice: 1.0.3 @@ -10968,23 +15610,14 @@ packages: typed-array-length: 1.0.6 unbox-primitive: 1.0.2 which-typed-array: 1.1.15 - dev: true - /es-define-property@1.0.0: - resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} - engines: {node: '>= 0.4'} + es-define-property@1.0.0: dependencies: get-intrinsic: 1.2.4 - dev: true - /es-errors@1.3.0: - resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} - engines: {node: '>= 0.4'} - dev: true + es-errors@1.3.0: {} - /es-iterator-helpers@1.0.18: - resolution: {integrity: sha512-scxAJaewsahbqTYrGKJihhViaM6DDZDDoucfvzNbK0pOren1g/daDQ3IAhzn+1G14rBG7w+i5N+qul60++zlKA==} - engines: {node: '>= 0.4'} + es-iterator-helpers@1.0.18: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -11000,44 +15633,28 @@ packages: internal-slot: 1.0.7 iterator.prototype: 1.1.2 safe-array-concat: 1.1.2 - dev: true - /es-object-atoms@1.0.0: - resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} - engines: {node: '>= 0.4'} + es-object-atoms@1.0.0: dependencies: es-errors: 1.3.0 - dev: true - /es-set-tostringtag@2.0.3: - resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} - engines: {node: '>= 0.4'} + es-set-tostringtag@2.0.3: dependencies: get-intrinsic: 1.2.4 has-tostringtag: 1.0.2 hasown: 2.0.2 - dev: true - /es-shim-unscopables@1.0.2: - resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} + es-shim-unscopables@1.0.2: dependencies: hasown: 2.0.2 - dev: true - /es-to-primitive@1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} - engines: {node: '>= 0.4'} + es-to-primitive@1.2.1: dependencies: is-callable: 1.2.7 is-date-object: 1.0.5 is-symbol: 1.0.4 - dev: true - /esbuild@0.18.13: - resolution: {integrity: sha512-vhg/WR/Oiu4oUIkVhmfcc23G6/zWuEQKFS+yiosSHe4aN6+DQRXIfeloYGibIfVhkr4wyfuVsGNLr+sQU1rWWw==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true + esbuild@0.18.13: optionalDependencies: '@esbuild/android-arm': 0.18.13 '@esbuild/android-arm64': 0.18.13 @@ -11061,13 +15678,8 @@ packages: '@esbuild/win32-arm64': 0.18.13 '@esbuild/win32-ia32': 0.18.13 '@esbuild/win32-x64': 0.18.13 - dev: true - /esbuild@0.19.12: - resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true + esbuild@0.19.12: optionalDependencies: '@esbuild/aix-ppc64': 0.19.12 '@esbuild/android-arm': 0.19.12 @@ -11092,13 +15704,8 @@ packages: '@esbuild/win32-arm64': 0.19.12 '@esbuild/win32-ia32': 0.19.12 '@esbuild/win32-x64': 0.19.12 - dev: true - /esbuild@0.20.2: - resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true + esbuild@0.20.2: optionalDependencies: '@esbuild/aix-ppc64': 0.20.2 '@esbuild/android-arm': 0.20.2 @@ -11123,40 +15730,20 @@ packages: '@esbuild/win32-arm64': 0.20.2 '@esbuild/win32-ia32': 0.20.2 '@esbuild/win32-x64': 0.20.2 - dev: true - /escalade@3.1.2: - resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} - engines: {node: '>=6'} - dev: true + escalade@3.1.2: {} - /escape-html@1.0.3: - resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} - dev: true + escape-html@1.0.3: {} - /escape-latex@1.2.0: - resolution: {integrity: sha512-nV5aVWW1K0wEiUIEdZ4erkGGH8mDxGyxSeqPzRNtWP7ataw+/olFObw7hujFWlVjNsaDFw5VZ5NzVSIqRgfTiw==} - dev: true + escape-latex@1.2.0: {} - /escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - dev: true + escape-string-regexp@1.0.5: {} - /escape-string-regexp@2.0.0: - resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} - engines: {node: '>=8'} - dev: true + escape-string-regexp@2.0.0: {} - /escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} - dev: true + escape-string-regexp@4.0.0: {} - /escodegen@1.8.1: - resolution: {integrity: sha512-yhi5S+mNTOuRvyW4gWlg5W1byMaQGWWSYHXsuFZ7GBo7tpyOwi2EdzMP/QWxh9hwkD2m+wDVHJsxhRIj+v/b/A==} - engines: {node: '>=0.12.0'} - hasBin: true + escodegen@1.8.1: dependencies: esprima: 2.7.3 estraverse: 1.9.3 @@ -11164,63 +15751,37 @@ packages: optionator: 0.8.3 optionalDependencies: source-map: 0.2.0 - dev: true - /escodegen@2.1.0: - resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} - engines: {node: '>=6.0'} - hasBin: true + escodegen@2.1.0: dependencies: esprima: 4.0.1 estraverse: 5.3.0 esutils: 2.0.3 optionalDependencies: source-map: 0.6.1 - dev: true - /eslint-config-prettier@9.1.0(eslint@8.57.0): - resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} - hasBin: true - peerDependencies: - eslint: '>=7.0.0' + eslint-config-prettier@9.1.0(eslint@8.57.0): dependencies: eslint: 8.57.0 - dev: true - /eslint-config-turbo@1.13.2(eslint@8.57.0): - resolution: {integrity: sha512-TzvsMwNJx/P4JYw79iFqbyQApnyT050gW7dBxnNeNVl3pVMnT2rwaFo9Q3Hc49Tp5NANxEwYN9RStF50P/IwGA==} - peerDependencies: - eslint: '>6.6.0' + eslint-config-turbo@1.13.2(eslint@8.57.0): dependencies: eslint: 8.57.0 eslint-plugin-turbo: 1.13.2(eslint@8.57.0) - dev: true - /eslint-import-resolver-alias@1.1.2(eslint-plugin-import@2.29.1): - resolution: {integrity: sha512-WdviM1Eu834zsfjHtcGHtGfcu+F30Od3V7I9Fi57uhBEwPkjDcii7/yW8jAT+gOhn4P/vOxxNAXbFAKsrrc15w==} - engines: {node: '>= 4'} - peerDependencies: - eslint-plugin-import: '>=1.4.0' + eslint-import-resolver-alias@1.1.2(eslint-plugin-import@2.29.1): dependencies: eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) - dev: true - /eslint-import-resolver-node@0.3.9: - resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} + eslint-import-resolver-node@0.3.9: dependencies: debug: 3.2.7 is-core-module: 2.13.1 resolve: 1.22.8 transitivePeerDependencies: - supports-color - dev: true - /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0): - resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - eslint: '*' - eslint-plugin-import: '*' + eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0): dependencies: debug: 4.3.4(supports-color@8.1.1) enhanced-resolve: 5.16.0 @@ -11236,28 +15797,8 @@ packages: - eslint-import-resolver-node - eslint-import-resolver-webpack - supports-color - dev: true - /eslint-module-utils@2.8.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): - resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: '*' - eslint-import-resolver-node: '*' - eslint-import-resolver-typescript: '*' - eslint-import-resolver-webpack: '*' - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - eslint: - optional: true - eslint-import-resolver-node: - optional: true - eslint-import-resolver-typescript: - optional: true - eslint-import-resolver-webpack: - optional: true + eslint-module-utils@2.8.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): dependencies: '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.5) debug: 3.2.7 @@ -11266,28 +15807,14 @@ packages: eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0) transitivePeerDependencies: - supports-color - dev: true - /eslint-plugin-eslint-comments@3.2.0(eslint@8.57.0): - resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==} - engines: {node: '>=6.5.0'} - peerDependencies: - eslint: '>=4.19.1' + eslint-plugin-eslint-comments@3.2.0(eslint@8.57.0): dependencies: escape-string-regexp: 1.0.5 eslint: 8.57.0 ignore: 5.3.1 - dev: true - /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): - resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true + eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): dependencies: '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.5) array-includes: 3.1.8 @@ -11312,20 +15839,8 @@ packages: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - dev: true - /eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.5): - resolution: {integrity: sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@typescript-eslint/eslint-plugin': ^5.0.0 || ^6.0.0 || ^7.0.0 - eslint: ^7.0.0 || ^8.0.0 - jest: '*' - peerDependenciesMeta: - '@typescript-eslint/eslint-plugin': - optional: true - jest: - optional: true + eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.5): dependencies: '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.4.5) '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.5) @@ -11334,13 +15849,8 @@ packages: transitivePeerDependencies: - supports-color - typescript - dev: true - /eslint-plugin-jsx-a11y@6.8.0(eslint@8.57.0): - resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==} - engines: {node: '>=4.0'} - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + eslint-plugin-jsx-a11y@6.8.0(eslint@8.57.0): dependencies: '@babel/runtime': 7.24.4 aria-query: 5.3.0 @@ -11354,40 +15864,22 @@ packages: es-iterator-helpers: 1.0.18 eslint: 8.57.0 hasown: 2.0.2 - jsx-ast-utils: 3.3.5 - language-tags: 1.0.9 - minimatch: 3.1.2 - object.entries: 1.1.8 - object.fromentries: 2.0.8 - dev: true - - /eslint-plugin-playwright@0.16.0(eslint-plugin-jest@27.9.0)(eslint@8.57.0): - resolution: {integrity: sha512-DcHpF0SLbNeh9MT4pMzUGuUSnJ7q5MWbP8sSEFIMS6j7Ggnduq8ghNlfhURgty4c1YFny7Ge9xYTO1FSAoV2Vw==} - peerDependencies: - eslint: '>=7' - eslint-plugin-jest: '>=25' - peerDependenciesMeta: - eslint-plugin-jest: - optional: true + jsx-ast-utils: 3.3.5 + language-tags: 1.0.9 + minimatch: 3.1.2 + object.entries: 1.1.8 + object.fromentries: 2.0.8 + + eslint-plugin-playwright@0.16.0(eslint-plugin-jest@27.9.0)(eslint@8.57.0): dependencies: eslint: 8.57.0 eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.5) - dev: true - /eslint-plugin-react-hooks@4.6.0(eslint@8.57.0): - resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} - engines: {node: '>=10'} - peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 + eslint-plugin-react-hooks@4.6.0(eslint@8.57.0): dependencies: eslint: 8.57.0 - dev: true - /eslint-plugin-react@7.34.1(eslint@8.57.0): - resolution: {integrity: sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==} - engines: {node: '>=4'} - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + eslint-plugin-react@7.34.1(eslint@8.57.0): dependencies: array-includes: 3.1.8 array.prototype.findlast: 1.2.5 @@ -11408,42 +15900,26 @@ packages: resolve: 2.0.0-next.5 semver: 6.3.1 string.prototype.matchall: 4.0.11 - dev: true - /eslint-plugin-testing-library@6.2.2(eslint@8.57.0)(typescript@5.4.5): - resolution: {integrity: sha512-1E94YOTUDnOjSLyvOwmbVDzQi/WkKm3WVrMXu6SmBr6DN95xTGZmI6HJ/eOkSXh/DlheRsxaPsJvZByDBhWLVQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6'} - peerDependencies: - eslint: ^7.5.0 || ^8.0.0 + eslint-plugin-testing-library@6.2.2(eslint@8.57.0)(typescript@5.4.5): dependencies: '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.5) eslint: 8.57.0 transitivePeerDependencies: - supports-color - typescript - dev: true - /eslint-plugin-tsdoc@0.2.17: - resolution: {integrity: sha512-xRmVi7Zx44lOBuYqG8vzTXuL6IdGOeF9nHX17bjJ8+VE6fsxpdGem0/SBTmAwgYMKYB1WBkqRJVQ+n8GK041pA==} + eslint-plugin-tsdoc@0.2.17: dependencies: '@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc-config': 0.16.2 - dev: true - /eslint-plugin-turbo@1.13.2(eslint@8.57.0): - resolution: {integrity: sha512-QNaihF0hTRjfOBd1SLHrftm8V3pOU35CNS/C0/Z6qY1xxdL1PSv4IctEIldSMX7/A1jOPYwMPO7wYwPXgjgp/g==} - peerDependencies: - eslint: '>6.6.0' + eslint-plugin-turbo@1.13.2(eslint@8.57.0): dependencies: dotenv: 16.0.3 eslint: 8.57.0 - dev: true - /eslint-plugin-unicorn@48.0.1(eslint@8.57.0): - resolution: {integrity: sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw==} - engines: {node: '>=16'} - peerDependencies: - eslint: '>=8.44.0' + eslint-plugin-unicorn@48.0.1(eslint@8.57.0): dependencies: '@babel/helper-validator-identifier': 7.22.20 '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) @@ -11461,58 +15937,30 @@ packages: regjsparser: 0.10.0 semver: 7.6.0 strip-indent: 3.0.0 - dev: true - /eslint-plugin-unused-imports@3.1.0(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.57.0): - resolution: {integrity: sha512-9l1YFCzXKkw1qtAru1RWUtG2EVDZY0a0eChKXcL+EZ5jitG7qxdctu4RnvhOJHv4xfmUf7h+JJPINlVpGhZMrw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - '@typescript-eslint/eslint-plugin': 6 - 7 - eslint: '8' - peerDependenciesMeta: - '@typescript-eslint/eslint-plugin': - optional: true + eslint-plugin-unused-imports@3.1.0(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.57.0): dependencies: '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.4.5) eslint: 8.57.0 eslint-rule-composer: 0.3.0 - dev: true - /eslint-rule-composer@0.3.0: - resolution: {integrity: sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==} - engines: {node: '>=4.0.0'} - dev: true + eslint-rule-composer@0.3.0: {} - /eslint-scope@5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} + eslint-scope@5.1.1: dependencies: esrecurse: 4.3.0 estraverse: 4.3.0 - dev: true - /eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-scope@7.2.2: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 - dev: true - /eslint-visitor-keys@2.1.0: - resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} - engines: {node: '>=10'} - dev: true + eslint-visitor-keys@2.1.0: {} - /eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: true + eslint-visitor-keys@3.4.3: {} - /eslint@8.57.0: - resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - hasBin: true + eslint@8.57.0: dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@eslint-community/regexpp': 4.10.0 @@ -11554,75 +16002,36 @@ packages: text-table: 0.2.0 transitivePeerDependencies: - supports-color - dev: true - /espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + espree@9.6.1: dependencies: acorn: 8.11.3 acorn-jsx: 5.3.2(acorn@8.11.3) eslint-visitor-keys: 3.4.3 - dev: true - /esprima@2.7.3: - resolution: {integrity: sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A==} - engines: {node: '>=0.10.0'} - hasBin: true - dev: true + esprima@2.7.3: {} - /esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true - dev: true + esprima@4.0.1: {} - /esquery@1.5.0: - resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} - engines: {node: '>=0.10'} + esquery@1.5.0: dependencies: estraverse: 5.3.0 - dev: true - /esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} + esrecurse@4.3.0: dependencies: estraverse: 5.3.0 - dev: true - /estraverse@1.9.3: - resolution: {integrity: sha512-25w1fMXQrGdoquWnScXZGckOv+Wes+JDnuN/+7ex3SauFRS72r2lFDec0EKPt2YD1wUJ/IrfEex+9yp4hfSOJA==} - engines: {node: '>=0.10.0'} - dev: true + estraverse@1.9.3: {} - /estraverse@4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} - dev: true + estraverse@4.3.0: {} - /estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} - dev: true + estraverse@5.3.0: {} - /esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} - dev: true + esutils@2.0.3: {} - /etag@1.8.1: - resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} - engines: {node: '>= 0.6'} - dev: true + etag@1.8.1: {} - /eth-gas-reporter@0.2.27: - resolution: {integrity: sha512-femhvoAM7wL0GcI8ozTdxfuBtBFJ9qsyIAsmKVjlWAHUbdnnXHt+lKzz/kmldM5lA9jLuNHGwuIxorNpLbR1Zw==} - peerDependencies: - '@codechecks/client': ^0.1.0 - peerDependenciesMeta: - '@codechecks/client': - optional: true + eth-gas-reporter@0.2.27: dependencies: '@solidity-parser/parser': 0.14.5 axios: 1.6.8 @@ -11641,16 +16050,12 @@ packages: - bufferutil - debug - utf-8-validate - dev: true - /ethereum-bloom-filters@1.1.0: - resolution: {integrity: sha512-J1gDRkLpuGNvWYzWslBQR9cDV4nd4kfvVTE/Wy4Kkm4yb3EYRSlyi0eB/inTsSTTVyA0+HyzHgbr95Fn/Z1fSw==} + ethereum-bloom-filters@1.1.0: dependencies: '@noble/hashes': 1.4.0 - dev: true - /ethereum-cryptography@0.1.3: - resolution: {integrity: sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==} + ethereum-cryptography@0.1.3: dependencies: '@types/pbkdf2': 3.1.2 '@types/secp256k1': 4.0.6 @@ -11667,35 +16072,27 @@ packages: scrypt-js: 3.0.1 secp256k1: 4.0.3 setimmediate: 1.0.5 - dev: true - /ethereum-cryptography@1.2.0: - resolution: {integrity: sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw==} + ethereum-cryptography@1.2.0: dependencies: '@noble/hashes': 1.2.0 '@noble/secp256k1': 1.7.1 '@scure/bip32': 1.1.5 '@scure/bip39': 1.1.1 - dev: true - /ethereum-cryptography@2.1.3: - resolution: {integrity: sha512-BlwbIL7/P45W8FGW2r7LGuvoEZ+7PWsniMvQ4p5s2xCyw9tmaDlpfsN9HjAucbF+t/qpVHwZUisgfK24TCW8aA==} + ethereum-cryptography@2.1.3: dependencies: '@noble/curves': 1.3.0 '@noble/hashes': 1.3.3 '@scure/bip32': 1.3.3 '@scure/bip39': 1.2.2 - dev: true - /ethereumjs-abi@0.6.8: - resolution: {integrity: sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==} + ethereumjs-abi@0.6.8: dependencies: bn.js: 4.12.0 ethereumjs-util: 6.2.1 - dev: true - /ethereumjs-util@6.2.1: - resolution: {integrity: sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==} + ethereumjs-util@6.2.1: dependencies: '@types/bn.js': 4.11.6 bn.js: 4.12.0 @@ -11704,21 +16101,16 @@ packages: ethereum-cryptography: 0.1.3 ethjs-util: 0.1.6 rlp: 2.2.7 - dev: true - /ethereumjs-util@7.1.5: - resolution: {integrity: sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==} - engines: {node: '>=10.0.0'} + ethereumjs-util@7.1.5: dependencies: '@types/bn.js': 5.1.5 bn.js: 5.2.1 create-hash: 1.2.0 ethereum-cryptography: 0.1.3 rlp: 2.2.7 - dev: true - /ethers@5.6.2: - resolution: {integrity: sha512-EzGCbns24/Yluu7+ToWnMca3SXJ1Jk1BvWB7CCmVNxyOeM4LLvw2OLuIHhlkhQk1dtOcj9UMsdkxUh8RiG1dxQ==} + ethers@5.6.2: dependencies: '@ethersproject/abi': 5.6.0 '@ethersproject/abstract-provider': 5.6.0 @@ -11753,10 +16145,8 @@ packages: transitivePeerDependencies: - bufferutil - utf-8-validate - dev: false - /ethers@5.7.2: - resolution: {integrity: sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==} + ethers@5.7.2: dependencies: '@ethersproject/abi': 5.7.0 '@ethersproject/abstract-provider': 5.7.0 @@ -11792,9 +16182,7 @@ packages: - bufferutil - utf-8-validate - /ethers@6.11.1: - resolution: {integrity: sha512-mxTAE6wqJQAbp5QAe/+o+rXOID7Nw91OZXvgpjDa1r4fAbq2Nu314oEZSbjoRLacuCzs7kUC3clEvkCQowffGg==} - engines: {node: '>=14.0.0'} + ethers@6.11.1: dependencies: '@adraffy/ens-normalize': 1.10.1 '@noble/curves': 1.2.0 @@ -11806,48 +16194,30 @@ packages: transitivePeerDependencies: - bufferutil - utf-8-validate - dev: true - /ethjs-unit@0.1.6: - resolution: {integrity: sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==} - engines: {node: '>=6.5.0', npm: '>=3'} + ethjs-unit@0.1.6: dependencies: bn.js: 4.11.6 number-to-bn: 1.7.0 - dev: true - /ethjs-util@0.1.6: - resolution: {integrity: sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==} - engines: {node: '>=6.5.0', npm: '>=3'} + ethjs-util@0.1.6: dependencies: is-hex-prefixed: 1.0.0 strip-hex-prefix: 1.0.0 - dev: true - /events@1.1.1: - resolution: {integrity: sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==} - engines: {node: '>=0.4.x'} - dev: true + events@1.1.1: {} - /evm-bn@1.1.2(@ethersproject/bignumber@5.7.0): - resolution: {integrity: sha512-Lq8CT1EAjSeN+Yk0h1hpSwnZyMA4Xir6fQD4vlStljAuW2xr7qLOEGDLGsTa9sU2e40EYIumA4wYhMC/e+lyKw==} - peerDependencies: - '@ethersproject/bignumber': 5.x + evm-bn@1.1.2(@ethersproject/bignumber@5.7.0): dependencies: '@ethersproject/bignumber': 5.7.0 from-exponential: 1.1.1 - dev: true - /evp_bytestokey@1.0.3: - resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} + evp_bytestokey@1.0.3: dependencies: md5.js: 1.3.5 safe-buffer: 5.2.1 - dev: true - /execa@5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} + execa@5.1.1: dependencies: cross-spawn: 7.0.3 get-stream: 6.0.1 @@ -11858,27 +16228,18 @@ packages: onetime: 5.1.2 signal-exit: 3.0.7 strip-final-newline: 2.0.0 - dev: true - /exit@0.1.2: - resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} - engines: {node: '>= 0.8.0'} - dev: true + exit@0.1.2: {} - /expect@29.7.0: - resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + expect@29.7.0: dependencies: '@jest/expect-utils': 29.7.0 jest-get-type: 29.6.3 jest-matcher-utils: 29.7.0 jest-message-util: 29.7.0 jest-util: 29.7.0 - dev: true - /express@4.19.2: - resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==} - engines: {node: '>= 0.10.0'} + express@4.19.2: dependencies: accepts: 1.3.8 array-flatten: 1.1.1 @@ -11913,94 +16274,61 @@ packages: vary: 1.1.2 transitivePeerDependencies: - supports-color - dev: true - /external-editor@3.1.0: - resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} - engines: {node: '>=4'} + external-editor@3.1.0: dependencies: chardet: 0.7.0 iconv-lite: 0.4.24 tmp: 0.0.33 - /extract-files@11.0.0: - resolution: {integrity: sha512-FuoE1qtbJ4bBVvv94CC7s0oTnKUGvQs+Rjf1L2SJFfS+HTVVjhPFtehPdQ0JiGPqVNfSSZvL5yzHHQq2Z4WNhQ==} - engines: {node: ^12.20 || >= 14.13} - dev: true + extract-files@11.0.0: {} - /fast-decode-uri-component@1.0.1: - resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==} - dev: true + fast-decode-uri-component@1.0.1: {} - /fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - dev: true + fast-deep-equal@3.1.3: {} - /fast-glob@3.3.2: - resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} - engines: {node: '>=8.6.0'} + fast-glob@3.3.2: dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 micromatch: 4.0.5 - dev: true - /fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - dev: true + fast-json-stable-stringify@2.1.0: {} - /fast-jwt@3.3.3: - resolution: {integrity: sha512-oS3P8bRI24oPLJUePt2OgF64FBQib5TlgHLFQxYNoHYEEZe0gU3cKjJAVqpB5XKV/zjxmq4Hzbk3fgfW/wRz8Q==} - engines: {node: '>=16 <22'} + fast-jwt@3.3.3: dependencies: '@lukeed/ms': 2.0.2 asn1.js: 5.4.1 ecdsa-sig-formatter: 1.0.11 mnemonist: 0.39.8 - dev: true - /fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - dev: true + fast-levenshtein@2.0.6: {} - /fast-querystring@1.1.2: - resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} + fast-querystring@1.1.2: dependencies: fast-decode-uri-component: 1.0.1 - dev: true - /fast-url-parser@1.1.3: - resolution: {integrity: sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==} + fast-url-parser@1.1.3: dependencies: punycode: 1.4.1 - dev: true - /fast-xml-parser@4.2.5: - resolution: {integrity: sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==} - hasBin: true + fast-xml-parser@4.2.5: dependencies: strnum: 1.0.5 - /fastq@1.17.1: - resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + fastq@1.17.1: dependencies: reusify: 1.0.4 - dev: true - /fb-watchman@2.0.2: - resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + fb-watchman@2.0.2: dependencies: bser: 2.1.1 - dev: true - /fbjs-css-vars@1.0.2: - resolution: {integrity: sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==} - dev: true + fbjs-css-vars@1.0.2: {} - /fbjs@3.0.5: - resolution: {integrity: sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==} + fbjs@3.0.5: dependencies: cross-fetch: 3.1.8 fbjs-css-vars: 1.0.2 @@ -12011,34 +16339,21 @@ packages: ua-parser-js: 1.0.37 transitivePeerDependencies: - encoding - dev: true - /fetch-blob@3.2.0: - resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} - engines: {node: ^12.20 || >= 14.13} + fetch-blob@3.2.0: dependencies: node-domexception: 1.0.0 web-streams-polyfill: 3.3.3 - dev: false - /figures@3.2.0: - resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} - engines: {node: '>=8'} + figures@3.2.0: dependencies: escape-string-regexp: 1.0.5 - dev: true - /file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} + file-entry-cache@6.0.1: dependencies: flat-cache: 3.2.0 - dev: true - /filing-cabinet@4.2.0: - resolution: {integrity: sha512-YZ21ryzRcyqxpyKggdYSoXx//d3sCJzM3lsYoaeg/FyXdADGJrUl+BW1KIglaVLJN5BBcMtWylkygY8zBp2MrQ==} - engines: {node: '>=14'} - hasBin: true + filing-cabinet@4.2.0: dependencies: app-module-path: 2.2.0 commander: 10.0.1 @@ -12052,18 +16367,12 @@ packages: stylus-lookup: 5.0.1 tsconfig-paths: 4.2.0 typescript: 5.4.5 - dev: true - /fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} + fill-range@7.0.1: dependencies: to-regex-range: 5.0.1 - dev: true - /finalhandler@1.2.0: - resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} - engines: {node: '>= 0.8'} + finalhandler@1.2.0: dependencies: debug: 2.6.9 encodeurl: 1.0.2 @@ -12074,354 +16383,207 @@ packages: unpipe: 1.0.0 transitivePeerDependencies: - supports-color - dev: true - /find-up@2.1.0: - resolution: {integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==} - engines: {node: '>=4'} + find-up@2.1.0: dependencies: locate-path: 2.0.0 - dev: true - /find-up@3.0.0: - resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} - engines: {node: '>=6'} + find-up@3.0.0: dependencies: locate-path: 3.0.0 - dev: true - /find-up@4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} - engines: {node: '>=8'} + find-up@4.1.0: dependencies: locate-path: 5.0.0 path-exists: 4.0.0 - dev: true - /find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} + find-up@5.0.0: dependencies: locate-path: 6.0.0 path-exists: 4.0.0 - dev: true - /flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} + flat-cache@3.2.0: dependencies: flatted: 3.3.1 keyv: 4.5.4 rimraf: 3.0.2 - dev: true - /flat@5.0.2: - resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} - hasBin: true - dev: true + flat@5.0.2: {} - /flatted@3.3.1: - resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} - dev: true + flatted@3.3.1: {} - /follow-redirects@1.15.6(debug@4.3.4): - resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true + follow-redirects@1.15.6(debug@4.3.4): dependencies: debug: 4.3.4(supports-color@8.1.1) - dev: true - /for-each@0.3.3: - resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + for-each@0.3.3: dependencies: is-callable: 1.2.7 - dev: true - /foreground-child@3.1.1: - resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} - engines: {node: '>=14'} + foreground-child@3.1.1: dependencies: cross-spawn: 7.0.3 signal-exit: 4.1.0 - dev: true - /form-data@2.5.1: - resolution: {integrity: sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==} - engines: {node: '>= 0.12'} + form-data@2.5.1: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 mime-types: 2.1.35 - dev: true - /form-data@4.0.0: - resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} - engines: {node: '>= 6'} + form-data@4.0.0: dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 mime-types: 2.1.35 - /formdata-polyfill@4.0.10: - resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} - engines: {node: '>=12.20.0'} + formdata-polyfill@4.0.10: dependencies: fetch-blob: 3.2.0 - dev: false - /forwarded@0.2.0: - resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} - engines: {node: '>= 0.6'} - dev: true + forwarded@0.2.0: {} - /fp-ts@1.19.3: - resolution: {integrity: sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==} - dev: true + fp-ts@1.19.3: {} - /fraction.js@4.3.7: - resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} - dev: true + fraction.js@4.3.7: {} - /fresh@0.5.2: - resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} - engines: {node: '>= 0.6'} - dev: true + fresh@0.5.2: {} - /from-exponential@1.1.1: - resolution: {integrity: sha512-VBE7f5OVnYwdgB3LHa+Qo29h8qVpxhVO9Trlc+AWm+/XNAgks1tAwMFHb33mjeiof77GglsJzeYF7OqXrROP/A==} - dev: true + from-exponential@1.1.1: {} - /fs-constants@1.0.0: - resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} - dev: true + fs-constants@1.0.0: {} - /fs-extra@0.30.0: - resolution: {integrity: sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA==} + fs-extra@0.30.0: dependencies: graceful-fs: 4.2.11 jsonfile: 2.4.0 klaw: 1.3.1 path-is-absolute: 1.0.1 rimraf: 2.7.1 - dev: true - /fs-extra@7.0.1: - resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} - engines: {node: '>=6 <7 || >=8'} + fs-extra@7.0.1: dependencies: graceful-fs: 4.2.11 jsonfile: 4.0.0 universalify: 0.1.2 - dev: true - /fs-extra@8.1.0: - resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} - engines: {node: '>=6 <7 || >=8'} + fs-extra@8.1.0: dependencies: graceful-fs: 4.2.11 jsonfile: 4.0.0 universalify: 0.1.2 - dev: true - /fs-extra@9.1.0: - resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} - engines: {node: '>=10'} + fs-extra@9.1.0: dependencies: at-least-node: 1.0.0 graceful-fs: 4.2.11 jsonfile: 6.1.0 universalify: 2.0.1 - dev: true - /fs-readdir-recursive@1.1.0: - resolution: {integrity: sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==} - dev: true + fs-readdir-recursive@1.1.0: {} - /fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - dev: true + fs.realpath@1.0.0: {} - /fsevents@2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true - dev: true + fsevents@2.3.2: optional: true - /fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - requiresBuild: true - dev: true + fsevents@2.3.3: optional: true - /function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + function-bind@1.1.2: {} - /function.prototype.name@1.1.6: - resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} - engines: {node: '>= 0.4'} + function.prototype.name@1.1.6: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.3 functions-have-names: 1.2.3 - dev: true - /functions-have-names@1.2.3: - resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - dev: true + functions-have-names@1.2.3: {} - /generic-pool@3.9.0: - resolution: {integrity: sha512-hymDOu5B53XvN4QT9dBmZxPX4CWhBPPLguTZ9MMFeFa/Kg0xWVfylOVNlJji/E7yTZWFd/q9GO5TxDLq156D7g==} - engines: {node: '>= 4'} - dev: false + generic-pool@3.9.0: {} - /gensync@1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} - dev: true + gensync@1.0.0-beta.2: {} - /get-amd-module-type@5.0.1: - resolution: {integrity: sha512-jb65zDeHyDjFR1loOVk0HQGM5WNwoGB8aLWy3LKCieMKol0/ProHkhO2X1JxojuN10vbz1qNn09MJ7tNp7qMzw==} - engines: {node: '>=14'} + get-amd-module-type@5.0.1: dependencies: ast-module-types: 5.0.0 node-source-walk: 6.0.2 - dev: true - /get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} - dev: true + get-caller-file@2.0.5: {} - /get-func-name@2.0.2: - resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} - dev: true + get-func-name@2.0.2: {} - /get-intrinsic@1.2.4: - resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} - engines: {node: '>= 0.4'} + get-intrinsic@1.2.4: dependencies: es-errors: 1.3.0 function-bind: 1.1.2 has-proto: 1.0.3 has-symbols: 1.0.3 hasown: 2.0.2 - dev: true - /get-own-enumerable-property-symbols@3.0.2: - resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} - dev: true + get-own-enumerable-property-symbols@3.0.2: {} - /get-package-type@0.1.0: - resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} - engines: {node: '>=8.0.0'} - dev: true + get-package-type@0.1.0: {} - /get-port@3.2.0: - resolution: {integrity: sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==} - engines: {node: '>=4'} - dev: true + get-port@3.2.0: {} - /get-port@6.1.2: - resolution: {integrity: sha512-BrGGraKm2uPqurfGVj/z97/zv8dPleC6x9JBNRTrDNtCkkRF4rPwrQXFgL7+I+q8QSdU4ntLQX2D7KIxSy8nGw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true + get-port@6.1.2: {} - /get-stdin@9.0.0: - resolution: {integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==} - engines: {node: '>=12'} - dev: true + get-stdin@9.0.0: {} - /get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} - dev: true + get-stream@6.0.1: {} - /get-symbol-description@1.0.2: - resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} - engines: {node: '>= 0.4'} + get-symbol-description@1.0.2: dependencies: call-bind: 1.0.7 es-errors: 1.3.0 get-intrinsic: 1.2.4 - dev: true - /get-tsconfig@4.7.3: - resolution: {integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==} + get-tsconfig@4.7.3: dependencies: resolve-pkg-maps: 1.0.0 - dev: true - /ghost-testrpc@0.0.2: - resolution: {integrity: sha512-i08dAEgJ2g8z5buJIrCTduwPIhih3DP+hOCTyyryikfV8T0bNvHnGXO67i0DD1H4GBDETTclPy9njZbfluQYrQ==} - hasBin: true + ghost-testrpc@0.0.2: dependencies: chalk: 2.4.2 node-emoji: 1.11.0 - dev: true - /git-diff@2.0.6: - resolution: {integrity: sha512-/Iu4prUrydE3Pb3lCBMbcSNIf81tgGt0W1ZwknnyF62t3tHmtiJTRj0f+1ZIhp3+Rh0ktz1pJVoa7ZXUCskivA==} - engines: {node: '>= 4.8.0'} + git-diff@2.0.6: dependencies: chalk: 2.4.2 diff: 3.5.0 loglevel: 1.9.1 shelljs: 0.8.5 shelljs.exec: 1.1.8 - dev: true - /git-hooks-list@3.1.0: - resolution: {integrity: sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA==} - dev: true + git-hooks-list@3.1.0: {} - /glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} + glob-parent@5.1.2: dependencies: is-glob: 4.0.3 - dev: true - /glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} + glob-parent@6.0.2: dependencies: is-glob: 4.0.3 - dev: true - /glob@10.3.12: - resolution: {integrity: sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==} - engines: {node: '>=16 || 14 >=14.17'} - hasBin: true + glob@10.3.12: dependencies: foreground-child: 3.1.1 jackspeak: 2.3.6 minimatch: 9.0.4 minipass: 7.0.4 path-scurry: 1.10.2 - dev: true - /glob@5.0.15: - resolution: {integrity: sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==} + glob@5.0.15: dependencies: inflight: 1.0.6 inherits: 2.0.4 minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 - dev: true - /glob@7.2.0: - resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==} + glob@7.2.0: dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -12429,10 +16591,8 @@ packages: minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 - dev: true - /glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} + glob@7.2.3: dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -12440,57 +16600,36 @@ packages: minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 - dev: true - /glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} + glob@8.1.0: dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 minimatch: 5.0.1 once: 1.4.0 - dev: true - /global-modules@2.0.0: - resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==} - engines: {node: '>=6'} + global-modules@2.0.0: dependencies: global-prefix: 3.0.0 - dev: true - /global-prefix@3.0.0: - resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==} - engines: {node: '>=6'} + global-prefix@3.0.0: dependencies: ini: 1.3.8 kind-of: 6.0.3 which: 1.3.1 - dev: true - /globals@11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} - dev: true + globals@11.12.0: {} - /globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} + globals@13.24.0: dependencies: type-fest: 0.20.2 - dev: true - /globalthis@1.0.3: - resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} - engines: {node: '>= 0.4'} + globalthis@1.0.3: dependencies: define-properties: 1.2.1 - dev: true - /globby@10.0.2: - resolution: {integrity: sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==} - engines: {node: '>=8'} + globby@10.0.2: dependencies: '@types/glob': 7.2.0 array-union: 2.1.0 @@ -12500,11 +16639,8 @@ packages: ignore: 5.3.1 merge2: 1.4.1 slash: 3.0.0 - dev: true - /globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} + globby@11.1.0: dependencies: array-union: 2.1.0 dir-glob: 3.0.1 @@ -12512,50 +16648,28 @@ packages: ignore: 5.3.1 merge2: 1.4.1 slash: 3.0.0 - dev: true - /globby@13.2.2: - resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + globby@13.2.2: dependencies: dir-glob: 3.0.1 fast-glob: 3.3.2 ignore: 5.3.1 merge2: 1.4.1 slash: 4.0.0 - dev: true - - /gonzales-pe@4.3.0: - resolution: {integrity: sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==} - engines: {node: '>=0.6.0'} - hasBin: true + + gonzales-pe@4.3.0: dependencies: minimist: 1.2.8 - dev: true - /gopd@1.0.1: - resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} + gopd@1.0.1: dependencies: get-intrinsic: 1.2.4 - dev: true - /graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - dev: true + graceful-fs@4.2.11: {} - /graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - dev: true + graphemer@1.4.0: {} - /graphql-config@5.0.3(@types/node@20.12.7)(graphql@16.8.1)(typescript@5.4.5): - resolution: {integrity: sha512-BNGZaoxIBkv9yy6Y7omvsaBUHOzfFcII3UN++tpH8MGOKFPFkCPZuwx09ggANMt8FgyWP1Od8SWPmrUEZca4NQ==} - engines: {node: '>= 16.0.0'} - peerDependencies: - cosmiconfig-toml-loader: ^1.0.0 - graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - peerDependenciesMeta: - cosmiconfig-toml-loader: - optional: true + graphql-config@5.0.3(@types/node@20.12.7)(graphql@16.8.1)(typescript@5.4.5): dependencies: '@graphql-tools/graphql-file-loader': 8.0.1(graphql@16.8.1) '@graphql-tools/json-file-loader': 8.0.1(graphql@16.8.1) @@ -12575,12 +16689,8 @@ packages: - encoding - typescript - utf-8-validate - dev: true - /graphql-request@6.1.0(graphql@16.8.1): - resolution: {integrity: sha512-p+XPfS4q7aIpKVcgmnZKhMNqhltk20hfXtkaIkTfjjmiKMJ5xrt5c743cL03y/K7y1rg3WrIC49xGiEQ4mxdNw==} - peerDependencies: - graphql: 14 - 16 + graphql-request@6.1.0(graphql@16.8.1): dependencies: '@graphql-typed-document-node/core': 3.2.0(graphql@16.8.1) cross-fetch: 3.1.8 @@ -12588,29 +16698,16 @@ packages: transitivePeerDependencies: - encoding - /graphql-tag@2.12.6(graphql@16.8.1): - resolution: {integrity: sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==} - engines: {node: '>=10'} - peerDependencies: - graphql: ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + graphql-tag@2.12.6(graphql@16.8.1): dependencies: graphql: 16.8.1 tslib: 2.6.2 - dev: true - /graphql-ws@5.16.0(graphql@16.8.1): - resolution: {integrity: sha512-Ju2RCU2dQMgSKtArPbEtsK5gNLnsQyTNIo/T7cZNp96niC1x0KdJNZV0TIoilceBPQwfb5itrGl8pkFeOUMl4A==} - engines: {node: '>=10'} - peerDependencies: - graphql: '>=0.11 <=16' + graphql-ws@5.16.0(graphql@16.8.1): dependencies: graphql: 16.8.1 - dev: true - /graphql-yoga@3.9.1(graphql@16.8.1): - resolution: {integrity: sha512-BB6EkN64VBTXWmf9Kym2OsVZFzBC0mAsQNo9eNB5xIr3t+x7qepQ34xW5A353NWol3Js3xpzxwIKFVF6l9VsPg==} - peerDependencies: - graphql: ^15.2.0 || ^16.0.0 + graphql-yoga@3.9.1(graphql@16.8.1): dependencies: '@envelop/core': 3.0.6 '@envelop/validation-cache': 5.1.3(@envelop/core@3.0.6)(graphql@16.8.1) @@ -12625,16 +16722,10 @@ packages: graphql: 16.8.1 lru-cache: 7.18.3 tslib: 2.6.2 - dev: true - /graphql@16.8.1: - resolution: {integrity: sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==} - engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} + graphql@16.8.1: {} - /handlebars@4.7.8: - resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} - engines: {node: '>=0.4.7'} - hasBin: true + handlebars@4.7.8: dependencies: minimist: 1.2.8 neo-async: 2.6.2 @@ -12642,23 +16733,14 @@ packages: wordwrap: 1.0.0 optionalDependencies: uglify-js: 3.17.4 - dev: true - /hardhat-abi-exporter@2.10.1(hardhat@2.22.2): - resolution: {integrity: sha512-X8GRxUTtebMAd2k4fcPyVnCdPa6dYK4lBsrwzKP5yiSq4i+WadWPIumaLfce53TUf/o2TnLpLOduyO1ylE2NHQ==} - engines: {node: '>=14.14.0'} - peerDependencies: - hardhat: ^2.0.0 + hardhat-abi-exporter@2.10.1(hardhat@2.22.2): dependencies: '@ethersproject/abi': 5.7.0 delete-empty: 3.0.0 hardhat: 2.22.2(ts-node@10.9.2)(typescript@5.0.4) - dev: true - /hardhat-gas-reporter@1.0.10(hardhat@2.22.2): - resolution: {integrity: sha512-02N4+So/fZrzJ88ci54GqwVA3Zrf0C9duuTyGt0CFRIh/CdNwbnTgkXkRfojOMLBQ+6t+lBIkgbsOtqMvNwikA==} - peerDependencies: - hardhat: ^2.0.2 + hardhat-gas-reporter@1.0.10(hardhat@2.22.2): dependencies: array-uniq: 1.0.3 eth-gas-reporter: 0.2.27 @@ -12669,19 +16751,8 @@ packages: - bufferutil - debug - utf-8-validate - dev: true - /hardhat@2.22.2(ts-node@10.9.2)(typescript@5.0.4): - resolution: {integrity: sha512-0xZ7MdCZ5sJem4MrvpQWLR3R3zGDoHw5lsR+pBFimqwagimIOn3bWuZv69KA+veXClwI1s/zpqgwPwiFrd4Dxw==} - hasBin: true - peerDependencies: - ts-node: '*' - typescript: '*' - peerDependenciesMeta: - ts-node: - optional: true - typescript: - optional: true + hardhat@2.22.2(ts-node@10.9.2)(typescript@5.0.4): dependencies: '@ethersproject/abi': 5.7.0 '@metamask/eth-sig-util': 4.0.1 @@ -12733,281 +16804,160 @@ packages: - c-kzg - supports-color - utf-8-validate - dev: true - /has-bigints@1.0.2: - resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} - dev: true + has-bigints@1.0.2: {} - /has-flag@1.0.0: - resolution: {integrity: sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==} - engines: {node: '>=0.10.0'} - dev: true + has-flag@1.0.0: {} - /has-flag@3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} - dev: true + has-flag@3.0.0: {} - /has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} + has-flag@4.0.0: {} - /has-property-descriptors@1.0.2: - resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} + has-property-descriptors@1.0.2: dependencies: es-define-property: 1.0.0 - dev: true - /has-proto@1.0.3: - resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} - engines: {node: '>= 0.4'} - dev: true + has-proto@1.0.3: {} - /has-symbols@1.0.3: - resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} - engines: {node: '>= 0.4'} - dev: true + has-symbols@1.0.3: {} - /has-tostringtag@1.0.2: - resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} - engines: {node: '>= 0.4'} + has-tostringtag@1.0.2: dependencies: has-symbols: 1.0.3 - dev: true - /hash-base@3.1.0: - resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} - engines: {node: '>=4'} + hash-base@3.1.0: dependencies: inherits: 2.0.4 readable-stream: 3.6.2 safe-buffer: 5.2.1 - dev: true - /hash-it@6.0.0: - resolution: {integrity: sha512-KHzmSFx1KwyMPw0kXeeUD752q/Kfbzhy6dAZrjXV9kAIXGqzGvv8vhkUqj+2MGZldTo0IBpw6v7iWE7uxsvH0w==} - dev: true + hash-it@6.0.0: {} - /hash.js@1.1.7: - resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} + hash.js@1.1.7: dependencies: inherits: 2.0.4 minimalistic-assert: 1.0.1 - /hasown@2.0.2: - resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} - engines: {node: '>= 0.4'} + hasown@2.0.2: dependencies: function-bind: 1.1.2 - /he@1.2.0: - resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} - hasBin: true - dev: true + he@1.2.0: {} - /header-case@2.0.4: - resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} + header-case@2.0.4: dependencies: capital-case: 1.0.4 tslib: 2.6.2 - dev: true - /heap@0.2.7: - resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==} - dev: true + heap@0.2.7: {} - /help-me@3.0.0: - resolution: {integrity: sha512-hx73jClhyk910sidBB7ERlnhMlFsJJIBqSVMFDwPN8o2v9nmp5KgLq1Xz1Bf1fCMMZ6mPrX159iG0VLy/fPMtQ==} + help-me@3.0.0: dependencies: glob: 7.2.3 readable-stream: 3.6.2 - dev: true - /hmac-drbg@1.0.1: - resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} + hmac-drbg@1.0.1: dependencies: hash.js: 1.1.7 minimalistic-assert: 1.0.1 minimalistic-crypto-utils: 1.0.1 - /hosted-git-info@2.8.9: - resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} - dev: true + hosted-git-info@2.8.9: {} - /html-escaper@2.0.2: - resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - dev: true + html-escaper@2.0.2: {} - /http-basic@8.1.3: - resolution: {integrity: sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==} - engines: {node: '>=6.0.0'} + http-basic@8.1.3: dependencies: caseless: 0.12.0 concat-stream: 1.6.2 http-response-object: 3.0.2 parse-cache-control: 1.0.1 - dev: true - /http-errors@2.0.0: - resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} - engines: {node: '>= 0.8'} + http-errors@2.0.0: dependencies: depd: 2.0.0 inherits: 2.0.4 setprototypeof: 1.2.0 statuses: 2.0.1 toidentifier: 1.0.1 - dev: true - /http-proxy-agent@7.0.2: - resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} - engines: {node: '>= 14'} + http-proxy-agent@7.0.2: dependencies: agent-base: 7.1.1 debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color - dev: true - /http-response-object@3.0.2: - resolution: {integrity: sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==} + http-response-object@3.0.2: dependencies: '@types/node': 10.17.60 - dev: true - /https-proxy-agent@5.0.1: - resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} - engines: {node: '>= 6'} + https-proxy-agent@5.0.1: dependencies: agent-base: 6.0.2 debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color - dev: true - /https-proxy-agent@7.0.4: - resolution: {integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==} - engines: {node: '>= 14'} + https-proxy-agent@7.0.4: dependencies: agent-base: 7.1.1 debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color - dev: true - /human-signals@2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} - dev: true + human-signals@2.1.0: {} - /iconv-lite@0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} - engines: {node: '>=0.10.0'} + iconv-lite@0.4.24: dependencies: safer-buffer: 2.1.2 - /ieee754@1.1.13: - resolution: {integrity: sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==} - dev: true + ieee754@1.1.13: {} - /ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - dev: true + ieee754@1.2.1: {} - /ignore@5.3.1: - resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} - engines: {node: '>= 4'} - dev: true + ignore@5.3.1: {} - /immer@9.0.21: - resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==} - dev: true + immer@9.0.21: {} - /immutable@3.7.6: - resolution: {integrity: sha512-AizQPcaofEtO11RZhPPHBOJRdo/20MKQF9mBLnVkBoyHi1/zXK8fzVdnEpSV9gxqtnh6Qomfp3F0xT5qP/vThw==} - engines: {node: '>=0.8.0'} - dev: true + immutable@3.7.6: {} - /immutable@4.3.5: - resolution: {integrity: sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==} - dev: true + immutable@4.3.5: {} - /import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} + import-fresh@3.3.0: dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 - dev: true - /import-from@4.0.0: - resolution: {integrity: sha512-P9J71vT5nLlDeV8FHs5nNxaLbrpfAV5cF5srvbZfpwpcJoM/xZR3hiv+q+SAnuSmuGbXMWud063iIMx/V/EWZQ==} - engines: {node: '>=12.2'} - dev: true + import-from@4.0.0: {} - /import-local@3.1.0: - resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} - engines: {node: '>=8'} - hasBin: true + import-local@3.1.0: dependencies: pkg-dir: 4.2.0 resolve-cwd: 3.0.0 - dev: true - /imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} - dev: true + imurmurhash@0.1.4: {} - /indent-string@4.0.0: - resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} - engines: {node: '>=8'} - dev: true + indent-string@4.0.0: {} - /indent-string@5.0.0: - resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} - engines: {node: '>=12'} - dev: true + indent-string@5.0.0: {} - /inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + inflight@1.0.6: dependencies: once: 1.4.0 wrappy: 1.0.2 - dev: true - /inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + inherits@2.0.4: {} - /ini@1.3.8: - resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - dev: true + ini@1.3.8: {} - /ink-spinner@5.0.0(ink@4.4.1)(react@18.2.0): - resolution: {integrity: sha512-EYEasbEjkqLGyPOUc8hBJZNuC5GvXGMLu0w5gdTNskPc7Izc5vO3tdQEYnzvshucyGCBXc86ig0ujXPMWaQCdA==} - engines: {node: '>=14.16'} - peerDependencies: - ink: '>=4.0.0' - react: '>=18.0.0' + ink-spinner@5.0.0(ink@4.4.1)(react@18.2.0): dependencies: cli-spinners: 2.9.2 ink: 4.4.1(react@18.2.0) react: 18.2.0 - dev: true - /ink@4.4.1(react@18.2.0): - resolution: {integrity: sha512-rXckvqPBB0Krifk5rn/5LvQGmyXwCUpBfmTwbkQNBY9JY8RSl3b8OftBNEYxg4+SWUhEKcPifgope28uL9inlA==} - engines: {node: '>=14.16'} - peerDependencies: - '@types/react': '>=18.0.0' - react: '>=18.0.0' - react-devtools-core: ^4.19.1 - peerDependenciesMeta: - '@types/react': - optional: true - react-devtools-core: - optional: true + ink@4.4.1(react@18.2.0): dependencies: '@alcalzone/ansi-tokenize': 0.1.3 ansi-escapes: 6.2.1 @@ -13038,11 +16988,8 @@ packages: transitivePeerDependencies: - bufferutil - utf-8-validate - dev: true - /inquirer@8.2.6: - resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==} - engines: {node: '>=12.0.0'} + inquirer@8.2.6: dependencies: ansi-escapes: 4.3.2 chalk: 4.1.2 @@ -13059,411 +17006,218 @@ packages: strip-ansi: 6.0.1 through: 2.3.8 wrap-ansi: 6.2.0 - dev: true - /internal-slot@1.0.7: - resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} - engines: {node: '>= 0.4'} + internal-slot@1.0.7: dependencies: es-errors: 1.3.0 hasown: 2.0.2 side-channel: 1.0.6 - dev: true - /interpret@1.4.0: - resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} - engines: {node: '>= 0.10'} - dev: true + interpret@1.4.0: {} - /invariant@2.2.4: - resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} + invariant@2.2.4: dependencies: loose-envify: 1.4.0 - dev: true - /io-ts@1.10.4: - resolution: {integrity: sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==} + io-ts@1.10.4: dependencies: fp-ts: 1.19.3 - dev: true - /ipaddr.js@1.9.1: - resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} - engines: {node: '>= 0.10'} - dev: true + ipaddr.js@1.9.1: {} - /is-absolute@1.0.0: - resolution: {integrity: sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==} - engines: {node: '>=0.10.0'} + is-absolute@1.0.0: dependencies: is-relative: 1.0.0 is-windows: 1.0.2 - dev: true - /is-arguments@1.1.1: - resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} - engines: {node: '>= 0.4'} + is-arguments@1.1.1: dependencies: call-bind: 1.0.7 has-tostringtag: 1.0.2 - dev: true - /is-array-buffer@3.0.4: - resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} - engines: {node: '>= 0.4'} + is-array-buffer@3.0.4: dependencies: call-bind: 1.0.7 get-intrinsic: 1.2.4 - dev: true - /is-arrayish@0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - dev: true + is-arrayish@0.2.1: {} - /is-async-function@2.0.0: - resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} - engines: {node: '>= 0.4'} + is-async-function@2.0.0: dependencies: has-tostringtag: 1.0.2 - dev: true - /is-bigint@1.0.4: - resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} + is-bigint@1.0.4: dependencies: has-bigints: 1.0.2 - dev: true - /is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} + is-binary-path@2.1.0: dependencies: binary-extensions: 2.3.0 - dev: true - /is-boolean-object@1.1.2: - resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} - engines: {node: '>= 0.4'} + is-boolean-object@1.1.2: dependencies: call-bind: 1.0.7 has-tostringtag: 1.0.2 - dev: true - /is-builtin-module@3.2.1: - resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} - engines: {node: '>=6'} + is-builtin-module@3.2.1: dependencies: builtin-modules: 3.3.0 - dev: true - /is-callable@1.2.7: - resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} - engines: {node: '>= 0.4'} - dev: true + is-callable@1.2.7: {} - /is-ci@3.0.1: - resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} - hasBin: true + is-ci@3.0.1: dependencies: ci-info: 3.9.0 - dev: true - /is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} + is-core-module@2.13.1: dependencies: hasown: 2.0.2 - /is-data-view@1.0.1: - resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} - engines: {node: '>= 0.4'} + is-data-view@1.0.1: dependencies: is-typed-array: 1.1.13 - dev: true - /is-date-object@1.0.5: - resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} - engines: {node: '>= 0.4'} + is-date-object@1.0.5: dependencies: has-tostringtag: 1.0.2 - dev: true - /is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - dev: true + is-extglob@2.1.1: {} - /is-finalizationregistry@1.0.2: - resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} + is-finalizationregistry@1.0.2: dependencies: call-bind: 1.0.7 - dev: true - /is-fullwidth-code-point@2.0.0: - resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==} - engines: {node: '>=4'} - dev: true + is-fullwidth-code-point@2.0.0: {} - /is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} + is-fullwidth-code-point@3.0.0: {} - /is-fullwidth-code-point@4.0.0: - resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} - engines: {node: '>=12'} - dev: true + is-fullwidth-code-point@4.0.0: {} - /is-generator-fn@2.1.0: - resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} - engines: {node: '>=6'} - dev: true + is-generator-fn@2.1.0: {} - /is-generator-function@1.0.10: - resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} - engines: {node: '>= 0.4'} + is-generator-function@1.0.10: dependencies: has-tostringtag: 1.0.2 - dev: true - /is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} + is-glob@4.0.3: dependencies: is-extglob: 2.1.1 - dev: true - /is-hex-prefixed@1.0.0: - resolution: {integrity: sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==} - engines: {node: '>=6.5.0', npm: '>=3'} - dev: true + is-hex-prefixed@1.0.0: {} - /is-interactive@1.0.0: - resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} - engines: {node: '>=8'} - dev: true + is-interactive@1.0.0: {} - /is-interactive@2.0.0: - resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} - engines: {node: '>=12'} - dev: true + is-interactive@2.0.0: {} - /is-lower-case@2.0.2: - resolution: {integrity: sha512-bVcMJy4X5Og6VZfdOZstSexlEy20Sr0k/p/b2IlQJlfdKAQuMpiv5w2Ccxb8sKdRUNAG1PnHVHjFSdRDVS6NlQ==} + is-lower-case@2.0.2: dependencies: tslib: 2.6.2 - dev: true - /is-map@2.0.3: - resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} - engines: {node: '>= 0.4'} - dev: true + is-map@2.0.3: {} - /is-negative-zero@2.0.3: - resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} - engines: {node: '>= 0.4'} - dev: true + is-negative-zero@2.0.3: {} - /is-number-object@1.0.7: - resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} - engines: {node: '>= 0.4'} + is-number-object@1.0.7: dependencies: has-tostringtag: 1.0.2 - dev: true - /is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - dev: true + is-number@7.0.0: {} - /is-obj@1.0.1: - resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} - engines: {node: '>=0.10.0'} - dev: true + is-obj@1.0.1: {} - /is-obj@2.0.0: - resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} - engines: {node: '>=8'} - dev: true + is-obj@2.0.0: {} - /is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - dev: true + is-path-inside@3.0.3: {} - /is-plain-obj@2.1.0: - resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} - engines: {node: '>=8'} - dev: true + is-plain-obj@2.1.0: {} - /is-plain-obj@4.1.0: - resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} - engines: {node: '>=12'} - dev: true + is-plain-obj@4.1.0: {} - /is-regex@1.1.4: - resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} - engines: {node: '>= 0.4'} + is-regex@1.1.4: dependencies: call-bind: 1.0.7 has-tostringtag: 1.0.2 - dev: true - /is-regexp@1.0.0: - resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} - engines: {node: '>=0.10.0'} - dev: true + is-regexp@1.0.0: {} - /is-relative-path@1.0.2: - resolution: {integrity: sha512-i1h+y50g+0hRbBD+dbnInl3JlJ702aar58snAeX+MxBAPvzXGej7sYoPMhlnykabt0ZzCJNBEyzMlekuQZN7fA==} - dev: true + is-relative-path@1.0.2: {} - /is-relative@1.0.0: - resolution: {integrity: sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==} - engines: {node: '>=0.10.0'} + is-relative@1.0.0: dependencies: is-unc-path: 1.0.0 - dev: true - /is-set@2.0.3: - resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} - engines: {node: '>= 0.4'} - dev: true + is-set@2.0.3: {} - /is-shared-array-buffer@1.0.3: - resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} - engines: {node: '>= 0.4'} + is-shared-array-buffer@1.0.3: dependencies: call-bind: 1.0.7 - dev: true - /is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} - dev: true + is-stream@2.0.1: {} - /is-string@1.0.7: - resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} - engines: {node: '>= 0.4'} + is-string@1.0.7: dependencies: has-tostringtag: 1.0.2 - dev: true - /is-symbol@1.0.4: - resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} - engines: {node: '>= 0.4'} + is-symbol@1.0.4: dependencies: has-symbols: 1.0.3 - dev: true - /is-typed-array@1.1.13: - resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} - engines: {node: '>= 0.4'} + is-typed-array@1.1.13: dependencies: which-typed-array: 1.1.15 - dev: true - /is-unc-path@1.0.0: - resolution: {integrity: sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==} - engines: {node: '>=0.10.0'} + is-unc-path@1.0.0: dependencies: unc-path-regex: 0.1.2 - dev: true - /is-unicode-supported@0.1.0: - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} - engines: {node: '>=10'} - dev: true + is-unicode-supported@0.1.0: {} - /is-unicode-supported@1.3.0: - resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} - engines: {node: '>=12'} - dev: true + is-unicode-supported@1.3.0: {} - /is-upper-case@2.0.2: - resolution: {integrity: sha512-44pxmxAvnnAOwBg4tHPnkfvgjPwbc5QIsSstNU+YcJ1ovxVzCWpSGosPJOZh/a1tdl81fbgnLc9LLv+x2ywbPQ==} + is-upper-case@2.0.2: dependencies: tslib: 2.6.2 - dev: true - /is-url-superb@4.0.0: - resolution: {integrity: sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA==} - engines: {node: '>=10'} - dev: true + is-url-superb@4.0.0: {} - /is-url@1.2.4: - resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} - dev: true + is-url@1.2.4: {} - /is-weakmap@2.0.2: - resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} - engines: {node: '>= 0.4'} - dev: true + is-weakmap@2.0.2: {} - /is-weakref@1.0.2: - resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + is-weakref@1.0.2: dependencies: call-bind: 1.0.7 - dev: true - /is-weakset@2.0.3: - resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} - engines: {node: '>= 0.4'} + is-weakset@2.0.3: dependencies: call-bind: 1.0.7 get-intrinsic: 1.2.4 - dev: true - /is-what@4.1.16: - resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} - engines: {node: '>=12.13'} - dev: false + is-what@4.1.16: {} - /is-windows@1.0.2: - resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} - engines: {node: '>=0.10.0'} - dev: true + is-windows@1.0.2: {} - /isarray@1.0.0: - resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} - dev: true + isarray@1.0.0: {} - /isarray@2.0.5: - resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} - dev: true + isarray@2.0.5: {} - /isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - dev: true + isexe@2.0.0: {} - /isomorphic-ws@4.0.1(ws@8.16.0): - resolution: {integrity: sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==} - peerDependencies: - ws: '*' + isomorphic-ws@4.0.1(ws@8.16.0): dependencies: ws: 8.16.0 - dev: true - /isomorphic-ws@5.0.0(ws@8.16.0): - resolution: {integrity: sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==} - peerDependencies: - ws: '*' + isomorphic-ws@5.0.0(ws@8.16.0): dependencies: ws: 8.16.0 - dev: true - /isows@1.0.3(ws@8.13.0): - resolution: {integrity: sha512-2cKei4vlmg2cxEjm3wVSqn8pcoRF/LX/wpifuuNquFO4SQmPwarClT+SUCA2lt+l581tTeZIPIZuIDo2jWN1fg==} - peerDependencies: - ws: '*' + isows@1.0.3(ws@8.13.0): dependencies: ws: 8.13.0 - /istanbul-lib-coverage@3.2.2: - resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} - engines: {node: '>=8'} - dev: true + istanbul-lib-coverage@3.2.2: {} - /istanbul-lib-instrument@5.2.1: - resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} - engines: {node: '>=8'} + istanbul-lib-instrument@5.2.1: dependencies: '@babel/core': 7.24.4 '@babel/parser': 7.24.4 @@ -13472,11 +17226,8 @@ packages: semver: 6.3.1 transitivePeerDependencies: - supports-color - dev: true - /istanbul-lib-instrument@6.0.2: - resolution: {integrity: sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==} - engines: {node: '>=10'} + istanbul-lib-instrument@6.0.2: dependencies: '@babel/core': 7.24.4 '@babel/parser': 7.24.4 @@ -13485,71 +17236,49 @@ packages: semver: 7.6.0 transitivePeerDependencies: - supports-color - dev: true - /istanbul-lib-report@3.0.1: - resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} - engines: {node: '>=10'} + istanbul-lib-report@3.0.1: dependencies: istanbul-lib-coverage: 3.2.2 make-dir: 4.0.0 supports-color: 7.2.0 - dev: true - /istanbul-lib-source-maps@4.0.1: - resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} - engines: {node: '>=10'} + istanbul-lib-source-maps@4.0.1: dependencies: debug: 4.3.4(supports-color@8.1.1) istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: - supports-color - dev: true - /istanbul-reports@3.1.7: - resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} - engines: {node: '>=8'} + istanbul-reports@3.1.7: dependencies: html-escaper: 2.0.2 istanbul-lib-report: 3.0.1 - dev: true - /iterator.prototype@1.1.2: - resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} + iterator.prototype@1.1.2: dependencies: define-properties: 1.2.1 get-intrinsic: 1.2.4 has-symbols: 1.0.3 reflect.getprototypeof: 1.0.6 set-function-name: 2.0.2 - dev: true - /jackspeak@2.3.6: - resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} - engines: {node: '>=14'} + jackspeak@2.3.6: dependencies: '@isaacs/cliui': 8.0.2 optionalDependencies: '@pkgjs/parseargs': 0.11.0 - dev: true - /javascript-natural-sort@0.7.1: - resolution: {integrity: sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==} - dev: true + javascript-natural-sort@0.7.1: {} - /jest-changed-files@29.7.0: - resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-changed-files@29.7.0: dependencies: execa: 5.1.1 jest-util: 29.7.0 p-limit: 3.1.0 - dev: true - /jest-circus@29.7.0: - resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-circus@29.7.0: dependencies: '@jest/environment': 29.7.0 '@jest/expect': 29.7.0 @@ -13574,17 +17303,8 @@ packages: transitivePeerDependencies: - babel-plugin-macros - supports-color - dev: true - /jest-cli@29.7.0(@types/node@20.12.7): - resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true + jest-cli@29.7.0(@types/node@20.12.7): dependencies: '@jest/core': 29.7.0 '@jest/test-result': 29.7.0 @@ -13602,19 +17322,8 @@ packages: - babel-plugin-macros - supports-color - ts-node - dev: true - /jest-config@29.7.0(@types/node@20.12.7): - resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@types/node': '*' - ts-node: '>=9.0.0' - peerDependenciesMeta: - '@types/node': - optional: true - ts-node: - optional: true + jest-config@29.7.0(@types/node@20.12.7): dependencies: '@babel/core': 7.24.4 '@jest/test-sequencer': 29.7.0 @@ -13642,39 +17351,27 @@ packages: transitivePeerDependencies: - babel-plugin-macros - supports-color - dev: true - /jest-diff@29.7.0: - resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-diff@29.7.0: dependencies: chalk: 4.1.2 diff-sequences: 29.6.3 jest-get-type: 29.6.3 pretty-format: 29.7.0 - dev: true - /jest-docblock@29.7.0: - resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-docblock@29.7.0: dependencies: detect-newline: 3.1.0 - dev: true - /jest-each@29.7.0: - resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-each@29.7.0: dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 jest-get-type: 29.6.3 jest-util: 29.7.0 pretty-format: 29.7.0 - dev: true - /jest-environment-node@29.7.0: - resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-environment-node@29.7.0: dependencies: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 @@ -13682,34 +17379,18 @@ packages: '@types/node': 20.12.7 jest-mock: 29.7.0 jest-util: 29.7.0 - dev: true - /jest-expect-message@1.1.3: - resolution: {integrity: sha512-bTK77T4P+zto+XepAX3low8XVQxDgaEqh3jSTQOG8qvPpD69LsIdyJTa+RmnJh3HNSzJng62/44RPPc7OIlFxg==} - dev: true + jest-expect-message@1.1.3: {} - /jest-extended@4.0.2(jest@29.7.0): - resolution: {integrity: sha512-FH7aaPgtGYHc9mRjriS0ZEHYM5/W69tLrFTIdzm+yJgeoCmmrSB/luSfMSqWP9O29QWHPEmJ4qmU6EwsZideog==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - jest: '>=27.2.5' - peerDependenciesMeta: - jest: - optional: true + jest-extended@4.0.2(jest@29.7.0): dependencies: jest: 29.7.0(@types/node@20.12.7) jest-diff: 29.7.0 jest-get-type: 29.6.3 - dev: true - /jest-get-type@29.6.3: - resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true + jest-get-type@29.6.3: {} - /jest-haste-map@29.7.0: - resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-haste-map@29.7.0: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 @@ -13724,29 +17405,20 @@ packages: walker: 1.0.8 optionalDependencies: fsevents: 2.3.3 - dev: true - /jest-leak-detector@29.7.0: - resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-leak-detector@29.7.0: dependencies: jest-get-type: 29.6.3 pretty-format: 29.7.0 - dev: true - /jest-matcher-utils@29.7.0: - resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-matcher-utils@29.7.0: dependencies: chalk: 4.1.2 jest-diff: 29.7.0 jest-get-type: 29.6.3 pretty-format: 29.7.0 - dev: true - /jest-message-util@29.7.0: - resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-message-util@29.7.0: dependencies: '@babel/code-frame': 7.24.2 '@jest/types': 29.6.3 @@ -13757,47 +17429,27 @@ packages: pretty-format: 29.7.0 slash: 3.0.0 stack-utils: 2.0.6 - dev: true - /jest-mock@29.7.0: - resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-mock@29.7.0: dependencies: '@jest/types': 29.6.3 '@types/node': 20.12.7 jest-util: 29.7.0 - dev: true - /jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): - resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} - engines: {node: '>=6'} - peerDependencies: - jest-resolve: '*' - peerDependenciesMeta: - jest-resolve: - optional: true + jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): dependencies: jest-resolve: 29.7.0 - dev: true - /jest-regex-util@29.6.3: - resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - dev: true + jest-regex-util@29.6.3: {} - /jest-resolve-dependencies@29.7.0: - resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-resolve-dependencies@29.7.0: dependencies: jest-regex-util: 29.6.3 jest-snapshot: 29.7.0 transitivePeerDependencies: - supports-color - dev: true - /jest-resolve@29.7.0: - resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-resolve@29.7.0: dependencies: chalk: 4.1.2 graceful-fs: 4.2.11 @@ -13808,11 +17460,8 @@ packages: resolve: 1.22.8 resolve.exports: 2.0.2 slash: 3.0.0 - dev: true - /jest-runner@29.7.0: - resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-runner@29.7.0: dependencies: '@jest/console': 29.7.0 '@jest/environment': 29.7.0 @@ -13837,11 +17486,8 @@ packages: source-map-support: 0.5.13 transitivePeerDependencies: - supports-color - dev: true - /jest-runtime@29.7.0: - resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-runtime@29.7.0: dependencies: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 @@ -13867,11 +17513,8 @@ packages: strip-bom: 4.0.0 transitivePeerDependencies: - supports-color - dev: true - /jest-snapshot@29.7.0: - resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-snapshot@29.7.0: dependencies: '@babel/core': 7.24.4 '@babel/generator': 7.24.4 @@ -13895,11 +17538,8 @@ packages: semver: 7.6.0 transitivePeerDependencies: - supports-color - dev: true - /jest-util@29.7.0: - resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-util@29.7.0: dependencies: '@jest/types': 29.6.3 '@types/node': 20.12.7 @@ -13907,11 +17547,8 @@ packages: ci-info: 3.9.0 graceful-fs: 4.2.11 picomatch: 2.3.1 - dev: true - /jest-validate@29.7.0: - resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-validate@29.7.0: dependencies: '@jest/types': 29.6.3 camelcase: 6.3.0 @@ -13919,11 +17556,8 @@ packages: jest-get-type: 29.6.3 leven: 3.1.0 pretty-format: 29.7.0 - dev: true - /jest-watcher@29.7.0: - resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-watcher@29.7.0: dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 @@ -13933,27 +17567,15 @@ packages: emittery: 0.13.1 jest-util: 29.7.0 string-length: 4.0.2 - dev: true - /jest-worker@29.7.0: - resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + jest-worker@29.7.0: dependencies: '@types/node': 20.12.7 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 - dev: true - /jest@29.7.0(@types/node@20.12.7): - resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true + jest@29.7.0(@types/node@20.12.7): dependencies: '@jest/core': 29.7.0 '@jest/types': 29.6.3 @@ -13964,255 +17586,122 @@ packages: - babel-plugin-macros - supports-color - ts-node - dev: true - /jiti@1.21.0: - resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} - hasBin: true - dev: true + jiti@1.21.0: {} - /jju@1.4.0: - resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} - dev: true + jju@1.4.0: {} - /jmespath@0.16.0: - resolution: {integrity: sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==} - engines: {node: '>= 0.6.0'} - dev: true + jmespath@0.16.0: {} - /jose@4.15.5: - resolution: {integrity: sha512-jc7BFxgKPKi94uOvEmzlSWFFe2+vASyXaKUpdQKatWAESU2MWjDfFf0fdfc83CDKcA5QecabZeNLyfhe3yKNkg==} - dev: true + jose@4.15.5: {} - /jose@5.2.4: - resolution: {integrity: sha512-6ScbIk2WWCeXkmzF6bRPmEuaqy1m8SbsRFMa/FLrSCkGIhj8OLVG/IH+XHVmNMx/KUo8cVWEE6oKR4dJ+S0Rkg==} - dev: true + jose@5.2.4: {} - /js-sdsl@4.3.0: - resolution: {integrity: sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==} - dev: true + js-sdsl@4.3.0: {} - /js-sha3@0.8.0: - resolution: {integrity: sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==} + js-sha3@0.8.0: {} - /js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - dev: true + js-tokens@4.0.0: {} - /js-yaml@3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true + js-yaml@3.14.1: dependencies: argparse: 1.0.10 esprima: 4.0.1 - dev: true - /js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true + js-yaml@4.1.0: dependencies: argparse: 2.0.1 - dev: true - /jsesc@0.5.0: - resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} - hasBin: true - dev: true + jsesc@0.5.0: {} - /jsesc@2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} - engines: {node: '>=4'} - hasBin: true - dev: true + jsesc@2.5.2: {} - /jsesc@3.0.2: - resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} - engines: {node: '>=6'} - hasBin: true - dev: true + jsesc@3.0.2: {} - /json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - dev: true + json-buffer@3.0.1: {} - /json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - dev: true + json-parse-even-better-errors@2.3.1: {} - /json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - dev: true + json-schema-traverse@0.4.1: {} - /json-schema-traverse@1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - dev: true + json-schema-traverse@1.0.0: {} - /json-schema-typed@7.0.3: - resolution: {integrity: sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A==} - dev: true + json-schema-typed@7.0.3: {} - /json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - dev: true + json-stable-stringify-without-jsonify@1.0.1: {} - /json-stable-stringify@1.1.1: - resolution: {integrity: sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg==} - engines: {node: '>= 0.4'} + json-stable-stringify@1.1.1: dependencies: call-bind: 1.0.7 isarray: 2.0.5 jsonify: 0.0.1 object-keys: 1.1.1 - dev: true - /json-to-pretty-yaml@1.2.2: - resolution: {integrity: sha512-rvm6hunfCcqegwYaG5T4yKJWxc9FXFgBVrcTZ4XfSVRwa5HA/Xs+vB/Eo9treYYHCeNM0nrSUr82V/M31Urc7A==} - engines: {node: '>= 0.2.0'} + json-to-pretty-yaml@1.2.2: dependencies: remedial: 1.0.8 remove-trailing-spaces: 1.0.8 - dev: true - /json5@1.0.2: - resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} - hasBin: true + json5@1.0.2: dependencies: minimist: 1.2.8 - dev: true - /json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true - dev: true + json5@2.2.3: {} - /jsonfile@2.4.0: - resolution: {integrity: sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==} + jsonfile@2.4.0: optionalDependencies: graceful-fs: 4.2.11 - dev: true - /jsonfile@4.0.0: - resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} + jsonfile@4.0.0: optionalDependencies: graceful-fs: 4.2.11 - dev: true - /jsonfile@6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} + jsonfile@6.1.0: dependencies: universalify: 2.0.1 optionalDependencies: graceful-fs: 4.2.11 - dev: true - /jsonify@0.0.1: - resolution: {integrity: sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==} - dev: true + jsonify@0.0.1: {} - /jsonschema@1.4.1: - resolution: {integrity: sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ==} - dev: true + jsonschema@1.4.1: {} - /jsx-ast-utils@3.3.5: - resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} - engines: {node: '>=4.0'} + jsx-ast-utils@3.3.5: dependencies: array-includes: 3.1.8 array.prototype.flat: 1.3.2 object.assign: 4.1.5 object.values: 1.2.0 - dev: true - /just-memoize@2.2.0: - resolution: {integrity: sha512-zriv+MY+61RXT0QsrO1ZJtL5umouqqSWmCGBkp2wJm35kniunBAA4qhUKx8Lvg/QcwrF9xuw9E6PkevKFf4boQ==} - dev: false + just-memoize@2.2.0: {} - /keccak@3.0.4: - resolution: {integrity: sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==} - engines: {node: '>=10.0.0'} - requiresBuild: true + keccak@3.0.4: dependencies: node-addon-api: 2.0.2 node-gyp-build: 4.8.0 readable-stream: 3.6.2 - dev: true - /keyv@4.5.4: - resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + keyv@4.5.4: dependencies: json-buffer: 3.0.1 - dev: true - /kind-of@6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} - dev: true + kind-of@6.0.3: {} - /klaw@1.3.1: - resolution: {integrity: sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==} + klaw@1.3.1: optionalDependencies: graceful-fs: 4.2.11 - dev: true - /kleur@3.0.3: - resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} - engines: {node: '>=6'} - dev: true + kleur@3.0.3: {} - /kysely-codegen@0.10.1(kysely@0.25.0): - resolution: {integrity: sha512-8Bslh952gN5gtucRv4jTZDFD18RBioS6M50zHfe5kwb5iSyEAunU4ZYMdHzkHraa4zxjg5/183XlOryBCXLRIw==} - hasBin: true - peerDependencies: - better-sqlite3: '>=7.6.2' - kysely: '>=0.19.12' - mysql2: ^2.3.3 || ^3.0.0 - pg: ^8.8.0 - peerDependenciesMeta: - better-sqlite3: - optional: true - mysql2: - optional: true - pg: - optional: true + kysely-codegen@0.10.1(kysely@0.25.0): dependencies: chalk: 4.1.2 dotenv: 16.4.5 kysely: 0.25.0 micromatch: 4.0.5 minimist: 1.2.8 - dev: true - /kysely-codegen@0.15.0(kysely@0.27.3)(pg@8.11.5): - resolution: {integrity: sha512-LPta2nQOyoEPDQ3w/Gsplc+2iyZPAsGvtWoS21VzOB0NDQ0B38Xy1gS8WlbGef542Zdw2eLJHxekud9DzVdNRw==} - hasBin: true - peerDependencies: - '@libsql/kysely-libsql': ^0.3.0 - '@tediousjs/connection-string': ^0.5.0 - better-sqlite3: '>=7.6.2' - kysely: ^0.27.0 - kysely-bun-worker: ^0.5.3 - mysql2: ^2.3.3 || ^3.0.0 - pg: ^8.8.0 - tarn: ^3.0.0 - tedious: ^16.6.0 || ^17.0.0 - peerDependenciesMeta: - '@libsql/kysely-libsql': - optional: true - '@tediousjs/connection-string': - optional: true - better-sqlite3: - optional: true - kysely-bun-worker: - optional: true - mysql2: - optional: true - pg: - optional: true - tarn: - optional: true - tedious: - optional: true + kysely-codegen@0.15.0(kysely@0.27.3)(pg@8.11.5): dependencies: chalk: 4.1.2 dotenv: 16.4.5 @@ -14222,103 +17711,53 @@ packages: micromatch: 4.0.5 minimist: 1.2.8 pg: 8.11.5 - dev: true - /kysely-data-api@0.2.1(@aws-sdk/client-rds-data@3.569.0)(kysely@0.25.0): - resolution: {integrity: sha512-KmASvF1gmjVqyU9WOUXhCQlv29ofR+xc2DhjaIomz1+Bjd/VtR2/3g4ZuXwG1L4lWGKxMuo5iOvK3XyPbB4LdQ==} - peerDependencies: - '@aws-sdk/client-rds-data': 3.x - kysely: 0.x + kysely-data-api@0.2.1(@aws-sdk/client-rds-data@3.569.0)(kysely@0.25.0): dependencies: '@aws-sdk/client-rds-data': 3.569.0 kysely: 0.25.0 - dev: true - /kysely-data-api@0.2.1(@aws-sdk/client-rds-data@3.569.0)(kysely@0.27.3): - resolution: {integrity: sha512-KmASvF1gmjVqyU9WOUXhCQlv29ofR+xc2DhjaIomz1+Bjd/VtR2/3g4ZuXwG1L4lWGKxMuo5iOvK3XyPbB4LdQ==} - peerDependencies: - '@aws-sdk/client-rds-data': 3.x - kysely: 0.x + kysely-data-api@0.2.1(@aws-sdk/client-rds-data@3.569.0)(kysely@0.27.3): dependencies: '@aws-sdk/client-rds-data': 3.569.0 kysely: 0.27.3 - dev: false - /kysely-postgres-js@2.0.0(kysely@0.27.3)(postgres@3.4.4): - resolution: {integrity: sha512-R1tWx6/x3tSatWvsmbHJxpBZYhNNxcnMw52QzZaHKg7ZOWtHib4iZyEaw4gb2hNKVctWQ3jfMxZT/ZaEMK6kBQ==} - peerDependencies: - kysely: '>= 0.24.0 < 1' - postgres: '>= 3.4.0 < 4' + kysely-postgres-js@2.0.0(kysely@0.27.3)(postgres@3.4.4): dependencies: kysely: 0.27.3 postgres: 3.4.4 - dev: false - /kysely@0.25.0: - resolution: {integrity: sha512-srn0efIMu5IoEBk0tBmtGnoUss4uwvxtbFQWG/U2MosfqIace1l43IFP1PmEpHRDp+Z79xIcKEqmHH3dAvQdQA==} - engines: {node: '>=14.0.0'} - dev: true + kysely@0.25.0: {} - /kysely@0.27.3: - resolution: {integrity: sha512-lG03Ru+XyOJFsjH3OMY6R/9U38IjDPfnOfDgO3ynhbDr+Dz8fak+X6L62vqu3iybQnj+lG84OttBuU9KY3L9kA==} - engines: {node: '>=14.0.0'} + kysely@0.27.3: {} - /language-subtag-registry@0.3.22: - resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} - dev: true + language-subtag-registry@0.3.22: {} - /language-tags@1.0.9: - resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} - engines: {node: '>=0.10'} + language-tags@1.0.9: dependencies: language-subtag-registry: 0.3.22 - dev: true - /lazystream@1.0.1: - resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} - engines: {node: '>= 0.6.3'} + lazystream@1.0.1: dependencies: readable-stream: 2.3.8 - dev: true - /leven@2.1.0: - resolution: {integrity: sha512-nvVPLpIHUxCUoRLrFqTgSxXJ614d8AgQoWl7zPe/2VadE8+1dpU3LBhowRuBAcuwruWtOdD8oYC9jDNJjXDPyA==} - engines: {node: '>=0.10.0'} - dev: true + leven@2.1.0: {} - /leven@3.1.0: - resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} - engines: {node: '>=6'} - dev: true + leven@3.1.0: {} - /levn@0.3.0: - resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} - engines: {node: '>= 0.8.0'} + levn@0.3.0: dependencies: prelude-ls: 1.1.2 type-check: 0.3.2 - dev: true - /levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} + levn@0.4.1: dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 - dev: true - /lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - dev: true + lines-and-columns@1.2.4: {} - /listr2@4.0.5: - resolution: {integrity: sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==} - engines: {node: '>=12'} - peerDependencies: - enquirer: '>= 2.3.0 < 3' - peerDependenciesMeta: - enquirer: - optional: true + listr2@4.0.5: dependencies: cli-truncate: 2.1.0 colorette: 2.0.20 @@ -14328,172 +17767,97 @@ packages: rxjs: 7.8.1 through: 2.3.8 wrap-ansi: 7.0.0 - dev: true - /locate-path@2.0.0: - resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} - engines: {node: '>=4'} + locate-path@2.0.0: dependencies: p-locate: 2.0.0 path-exists: 3.0.0 - dev: true - /locate-path@3.0.0: - resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} - engines: {node: '>=6'} + locate-path@3.0.0: dependencies: p-locate: 3.0.0 path-exists: 3.0.0 - dev: true - /locate-path@5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} + locate-path@5.0.0: dependencies: p-locate: 4.1.0 - dev: true - /locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} + locate-path@6.0.0: dependencies: p-locate: 5.0.0 - dev: true - - /lodash.clonedeep@4.5.0: - resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==} - dev: true - /lodash.defaults@4.2.0: - resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} - dev: true + lodash.clonedeep@4.5.0: {} - /lodash.difference@4.5.0: - resolution: {integrity: sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==} - dev: true + lodash.defaults@4.2.0: {} - /lodash.flatten@4.4.0: - resolution: {integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==} - dev: true + lodash.difference@4.5.0: {} - /lodash.isplainobject@4.0.6: - resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} - dev: true + lodash.flatten@4.4.0: {} - /lodash.memoize@4.1.2: - resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} - dev: true + lodash.isplainobject@4.0.6: {} - /lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + lodash.memoize@4.1.2: {} - /lodash.sortby@4.7.0: - resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} - dev: true + lodash.merge@4.6.2: {} - /lodash.truncate@4.4.2: - resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} - dev: true + lodash.sortby@4.7.0: {} - /lodash.union@4.6.0: - resolution: {integrity: sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==} - dev: true + lodash.truncate@4.4.2: {} - /lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - dev: true + lodash.union@4.6.0: {} - /log-symbols@4.1.0: - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} - engines: {node: '>=10'} + lodash@4.17.21: {} + + log-symbols@4.1.0: dependencies: chalk: 4.1.2 is-unicode-supported: 0.1.0 - dev: true - /log-symbols@5.1.0: - resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==} - engines: {node: '>=12'} + log-symbols@5.1.0: dependencies: chalk: 5.3.0 is-unicode-supported: 1.3.0 - dev: true - /log-update@4.0.0: - resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} - engines: {node: '>=10'} + log-update@4.0.0: dependencies: ansi-escapes: 4.3.2 cli-cursor: 3.1.0 slice-ansi: 4.0.0 wrap-ansi: 6.2.0 - dev: true - /loglevel@1.9.1: - resolution: {integrity: sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==} - engines: {node: '>= 0.6.0'} - dev: true + loglevel@1.9.1: {} - /loose-envify@1.4.0: - resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} - hasBin: true + loose-envify@1.4.0: dependencies: js-tokens: 4.0.0 - dev: true - /loupe@2.3.7: - resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} + loupe@2.3.7: dependencies: get-func-name: 2.0.2 - dev: true - /lower-case-first@2.0.2: - resolution: {integrity: sha512-EVm/rR94FJTZi3zefZ82fLWab+GX14LJN4HrWBcuo6Evmsl9hEfnqxgcHCKb9q+mNf6EVdsjx/qucYFIIB84pg==} + lower-case-first@2.0.2: dependencies: tslib: 2.6.2 - dev: true - /lower-case@2.0.2: - resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} + lower-case@2.0.2: dependencies: tslib: 2.6.2 - dev: true - /lru-cache@10.2.0: - resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} - engines: {node: 14 || >=16.14} - dev: true + lru-cache@10.2.0: {} - /lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + lru-cache@5.1.1: dependencies: yallist: 3.1.1 - dev: true - /lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} + lru-cache@6.0.0: dependencies: yallist: 4.0.0 - /lru-cache@7.18.3: - resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} - engines: {node: '>=12'} - dev: true + lru-cache@7.18.3: {} - /lru_map@0.3.3: - resolution: {integrity: sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==} - dev: true + lru_map@0.3.3: {} - /madge@7.0.0(typescript@5.4.5): - resolution: {integrity: sha512-x9eHkBWoCJ2B8yGesWf8LRucarkbH5P3lazqgvmxe4xn5U2Meyfu906iG9mBB1RnY/f4D+gtELWdiz1k6+jAZA==} - engines: {node: '>=14'} - hasBin: true - peerDependencies: - typescript: ^3.9.5 || ^4.9.5 || ^5 - peerDependenciesMeta: - typescript: - optional: true + madge@7.0.0(typescript@5.4.5): dependencies: chalk: 4.1.2 commander: 7.2.0 @@ -14511,38 +17875,22 @@ packages: walkdir: 0.4.1 transitivePeerDependencies: - supports-color - dev: true - /make-dir@4.0.0: - resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} - engines: {node: '>=10'} + make-dir@4.0.0: dependencies: semver: 7.6.0 - dev: true - /make-error@1.3.6: - resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - dev: true + make-error@1.3.6: {} - /makeerror@1.0.12: - resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + makeerror@1.0.12: dependencies: tmpl: 1.0.5 - dev: true - /map-cache@0.2.2: - resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} - engines: {node: '>=0.10.0'} - dev: true + map-cache@0.2.2: {} - /markdown-table@1.1.3: - resolution: {integrity: sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==} - dev: true + markdown-table@1.1.3: {} - /mathjs@10.6.4: - resolution: {integrity: sha512-omQyvRE1jIy+3k2qsqkWASOcd45aZguXZDckr3HtnTYyXk5+2xpVfC3kATgbO2Srjxlqww3TVdhD0oUdZ/hiFA==} - engines: {node: '>= 14'} - hasBin: true + mathjs@10.6.4: dependencies: '@babel/runtime': 7.24.4 complex.js: 2.1.1 @@ -14553,195 +17901,103 @@ packages: seedrandom: 3.0.5 tiny-emitter: 2.1.0 typed-function: 2.1.0 - dev: true - /md5.js@1.3.5: - resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} + md5.js@1.3.5: dependencies: hash-base: 3.1.0 inherits: 2.0.4 safe-buffer: 5.2.1 - dev: true - /media-typer@0.3.0: - resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} - engines: {node: '>= 0.6'} - dev: true + media-typer@0.3.0: {} - /memorystream@0.3.1: - resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} - engines: {node: '>= 0.10.0'} - dev: true + memorystream@0.3.1: {} - /merge-descriptors@1.0.1: - resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} - dev: true + merge-descriptors@1.0.1: {} - /merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - dev: true + merge-stream@2.0.0: {} - /merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - dev: true + merge2@1.4.1: {} - /meros@1.3.0(@types/node@20.12.7): - resolution: {integrity: sha512-2BNGOimxEz5hmjUG2FwoxCt5HN7BXdaWyFqEwxPTrJzVdABtrL4TiHTcsWSFAxPQ/tOnEaQEJh3qWq71QRMY+w==} - engines: {node: '>=13'} - peerDependencies: - '@types/node': '>=13' - peerDependenciesMeta: - '@types/node': - optional: true + meros@1.3.0(@types/node@20.12.7): dependencies: '@types/node': 20.12.7 - dev: true - /methods@1.1.2: - resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} - engines: {node: '>= 0.6'} - dev: true + methods@1.1.2: {} - /micro-ftch@0.3.1: - resolution: {integrity: sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==} - dev: true + micro-ftch@0.3.1: {} - /micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} - engines: {node: '>=8.6'} + micromatch@4.0.5: dependencies: braces: 3.0.2 picomatch: 2.3.1 - dev: true - /mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} + mime-db@1.52.0: {} - /mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} + mime-types@2.1.35: dependencies: mime-db: 1.52.0 - /mime@1.6.0: - resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} - engines: {node: '>=4'} - hasBin: true - dev: true + mime@1.6.0: {} - /mime@2.6.0: - resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} - engines: {node: '>=4.0.0'} - hasBin: true - dev: true + mime@2.6.0: {} - /mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - dev: true + mimic-fn@2.1.0: {} - /mimic-fn@3.1.0: - resolution: {integrity: sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==} - engines: {node: '>=8'} - dev: true + mimic-fn@3.1.0: {} - /min-indent@1.0.1: - resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} - engines: {node: '>=4'} - dev: true + min-indent@1.0.1: {} - /minimalistic-assert@1.0.1: - resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} + minimalistic-assert@1.0.1: {} - /minimalistic-crypto-utils@1.0.1: - resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} + minimalistic-crypto-utils@1.0.1: {} - /minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} + minimatch@3.1.2: dependencies: brace-expansion: 1.1.11 - dev: true - /minimatch@4.2.3: - resolution: {integrity: sha512-lIUdtK5hdofgCTu3aT0sOaHsYR37viUuIc0rwnnDXImbwFRcumyLMeZaM0t0I/fgxS6s6JMfu0rLD1Wz9pv1ng==} - engines: {node: '>=10'} + minimatch@4.2.3: dependencies: brace-expansion: 1.1.11 - dev: true - /minimatch@5.0.1: - resolution: {integrity: sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==} - engines: {node: '>=10'} + minimatch@5.0.1: dependencies: brace-expansion: 2.0.1 - dev: true - /minimatch@5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} - engines: {node: '>=10'} + minimatch@5.1.6: dependencies: brace-expansion: 2.0.1 - dev: true - /minimatch@6.2.0: - resolution: {integrity: sha512-sauLxniAmvnhhRjFwPNnJKaPFYyddAgbYdeUpHULtCT/GhzdCx/MDNy+Y40lBxTQUrMzDE8e0S43Z5uqfO0REg==} - engines: {node: '>=10'} + minimatch@6.2.0: dependencies: brace-expansion: 2.0.1 - dev: true - /minimatch@9.0.3: - resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} - engines: {node: '>=16 || 14 >=14.17'} + minimatch@9.0.3: dependencies: brace-expansion: 2.0.1 - dev: true - /minimatch@9.0.4: - resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} - engines: {node: '>=16 || 14 >=14.17'} + minimatch@9.0.4: dependencies: brace-expansion: 2.0.1 - dev: true - /minimist@1.2.6: - resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==} - dev: true + minimist@1.2.6: {} - /minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - dev: true + minimist@1.2.8: {} - /minipass@7.0.4: - resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} - engines: {node: '>=16 || 14 >=14.17'} - dev: true + minipass@7.0.4: {} - /mkdirp@0.5.6: - resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} - hasBin: true + mkdirp@0.5.6: dependencies: minimist: 1.2.8 - dev: true - /mnemonist@0.38.5: - resolution: {integrity: sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==} + mnemonist@0.38.5: dependencies: obliterator: 2.0.4 - dev: true - /mnemonist@0.39.8: - resolution: {integrity: sha512-vyWo2K3fjrUw8YeeZ1zF0fy6Mu59RHokURlld8ymdUPjMlD9EC9ov1/YPqTgqRvUN9nTr3Gqfz29LYAmu0PHPQ==} + mnemonist@0.39.8: dependencies: obliterator: 2.0.4 - dev: true - /mocha@10.4.0: - resolution: {integrity: sha512-eqhGB8JKapEYcC4ytX/xrzKforgEc3j1pGlAXVy3eRwrtAy5/nIfT1SvgGzfN0XZZxeLq0aQWkOUAmqIJiv+bA==} - engines: {node: '>= 14.0.0'} - hasBin: true + mocha@10.4.0: dependencies: ansi-colors: 4.1.1 browser-stdout: 1.3.1 @@ -14763,42 +18019,28 @@ packages: yargs: 16.2.0 yargs-parser: 20.2.4 yargs-unparser: 2.0.0 - dev: true - /module-definition@5.0.1: - resolution: {integrity: sha512-kvw3B4G19IXk+BOXnYq/D/VeO9qfHaapMeuS7w7sNUqmGaA6hywdFHMi+VWeR9wUScXM7XjoryTffCZ5B0/8IA==} - engines: {node: '>=14'} - hasBin: true + module-definition@5.0.1: dependencies: ast-module-types: 5.0.0 node-source-walk: 6.0.2 - dev: true - /module-lookup-amd@8.0.5: - resolution: {integrity: sha512-vc3rYLjDo5Frjox8NZpiyLXsNWJ5BWshztc/5KSOMzpg9k5cHH652YsJ7VKKmtM4SvaxuE9RkrYGhiSjH3Ehow==} - engines: {node: '>=14'} - hasBin: true + module-lookup-amd@8.0.5: dependencies: commander: 10.0.1 glob: 7.2.3 requirejs: 2.3.6 requirejs-config-file: 4.0.0 - dev: true - /mqtt-packet@6.10.0: - resolution: {integrity: sha512-ja8+mFKIHdB1Tpl6vac+sktqy3gA8t9Mduom1BA75cI+R9AHnZOiaBQwpGiWnaVJLDGRdNhQmFaAqd7tkKSMGA==} + mqtt-packet@6.10.0: dependencies: bl: 4.1.0 debug: 4.3.4(supports-color@8.1.1) process-nextick-args: 2.0.1 transitivePeerDependencies: - supports-color - dev: true - /mqtt@4.2.8: - resolution: {integrity: sha512-DJYjlXODVXtSDecN8jnNzi6ItX3+ufGsEs9OB3YV24HtkRrh7kpx8L5M1LuyF0KzaiGtWr2PzDcMGAY60KGOSA==} - engines: {node: '>=10.0.0'} - hasBin: true + mqtt@4.2.8: dependencies: commist: 1.1.0 concat-stream: 2.0.0 @@ -14818,12 +18060,8 @@ packages: - bufferutil - supports-color - utf-8-validate - dev: true - /mqtt@4.3.8: - resolution: {integrity: sha512-2xT75uYa0kiPEF/PE0VPdavmEkoBzMT/UL9moid0rAvlCtV48qBwxD62m7Ld/4j8tSkIO1E/iqRl/S72SEOhOw==} - engines: {node: '>=10.0.0'} - hasBin: true + mqtt@4.3.8: dependencies: commist: 1.1.0 concat-stream: 2.0.0 @@ -14846,296 +18084,169 @@ packages: - bufferutil - supports-color - utf-8-validate - dev: true - /ms@2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - dev: true + ms@2.0.0: {} - /ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - dev: true + ms@2.1.2: {} - /ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - dev: true + ms@2.1.3: {} - /mute-stream@0.0.8: - resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} - dev: true + mute-stream@0.0.8: {} - /mute-stream@1.0.0: - resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - dev: false + mute-stream@1.0.0: {} - /mylas@2.1.13: - resolution: {integrity: sha512-+MrqnJRtxdF+xngFfUUkIMQrUUL0KsxbADUkn23Z/4ibGg192Q+z+CQyiYwvWTsYjJygmMR8+w3ZDa98Zh6ESg==} - engines: {node: '>=12.0.0'} - dev: true + mylas@2.1.13: {} - /nanoid@3.3.7: - resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - dev: true + nanoid@3.3.7: {} - /natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - dev: true + natural-compare@1.4.0: {} - /negotiator@0.6.3: - resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} - engines: {node: '>= 0.6'} - dev: true + negotiator@0.6.3: {} - /neo-async@2.6.2: - resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - dev: true + neo-async@2.6.2: {} - /no-case@3.0.4: - resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} + no-case@3.0.4: dependencies: lower-case: 2.0.2 tslib: 2.6.2 - dev: true - /node-addon-api@2.0.2: - resolution: {integrity: sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==} - dev: true + node-addon-api@2.0.2: {} - /node-domexception@1.0.0: - resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} - engines: {node: '>=10.5.0'} - dev: false + node-domexception@1.0.0: {} - /node-emoji@1.11.0: - resolution: {integrity: sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==} + node-emoji@1.11.0: dependencies: lodash: 4.17.21 - dev: true - /node-fetch@2.7.0: - resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true + node-fetch@2.7.0: dependencies: whatwg-url: 5.0.0 - /node-fetch@3.3.2: - resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + node-fetch@3.3.2: dependencies: data-uri-to-buffer: 4.0.1 fetch-blob: 3.2.0 formdata-polyfill: 4.0.10 - dev: false - /node-gyp-build@4.8.0: - resolution: {integrity: sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==} - hasBin: true - dev: true + node-gyp-build@4.8.0: {} - /node-int64@0.4.0: - resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} - dev: true + node-int64@0.4.0: {} - /node-releases@2.0.14: - resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} - dev: true + node-releases@2.0.14: {} - /node-source-walk@6.0.2: - resolution: {integrity: sha512-jn9vOIK/nfqoFCcpK89/VCVaLg1IHE6UVfDOzvqmANaJ/rWCTEdH8RZ1V278nv2jr36BJdyQXIAavBLXpzdlag==} - engines: {node: '>=14'} + node-source-walk@6.0.2: dependencies: '@babel/parser': 7.24.4 - dev: true - /nofilter@3.1.0: - resolution: {integrity: sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==} - engines: {node: '>=12.19'} - dev: true + nofilter@3.1.0: {} - /nopt@3.0.6: - resolution: {integrity: sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg==} - hasBin: true + nopt@3.0.6: dependencies: abbrev: 1.0.9 - dev: true - /normalize-package-data@2.5.0: - resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} + normalize-package-data@2.5.0: dependencies: hosted-git-info: 2.8.9 resolve: 1.22.8 semver: 5.7.2 validate-npm-package-license: 3.0.4 - dev: true - /normalize-path@2.1.1: - resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} - engines: {node: '>=0.10.0'} + normalize-path@2.1.1: dependencies: remove-trailing-separator: 1.1.0 - dev: true - /normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - dev: true + normalize-path@3.0.0: {} - /npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} + npm-run-path@4.0.1: dependencies: path-key: 3.1.1 - dev: true - /nullthrows@1.1.1: - resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==} - dev: true + nullthrows@1.1.1: {} - /number-allocator@1.0.14: - resolution: {integrity: sha512-OrL44UTVAvkKdOdRQZIJpLkAdjXGTRda052sN4sO77bKEzYYqWKMBjQvrJFzqygI99gL6Z4u2xctPW1tB8ErvA==} + number-allocator@1.0.14: dependencies: debug: 4.3.4(supports-color@8.1.1) js-sdsl: 4.3.0 transitivePeerDependencies: - supports-color - dev: true - /number-to-bn@1.7.0: - resolution: {integrity: sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==} - engines: {node: '>=6.5.0', npm: '>=3'} + number-to-bn@1.7.0: dependencies: bn.js: 4.11.6 strip-hex-prefix: 1.0.0 - dev: true - /object-assign@4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} - dev: true + object-assign@4.1.1: {} - /object-hash@2.2.0: - resolution: {integrity: sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==} - engines: {node: '>= 6'} - dev: true + object-hash@2.2.0: {} - /object-inspect@1.13.1: - resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} - dev: true + object-inspect@1.13.1: {} - /object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} - dev: true + object-keys@1.1.1: {} - /object.assign@4.1.5: - resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} - engines: {node: '>= 0.4'} + object.assign@4.1.5: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 has-symbols: 1.0.3 object-keys: 1.1.1 - dev: true - /object.entries@1.1.8: - resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==} - engines: {node: '>= 0.4'} + object.entries@1.1.8: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-object-atoms: 1.0.0 - dev: true - /object.fromentries@2.0.8: - resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} - engines: {node: '>= 0.4'} + object.fromentries@2.0.8: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.3 es-object-atoms: 1.0.0 - dev: true - /object.groupby@1.0.3: - resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} - engines: {node: '>= 0.4'} + object.groupby@1.0.3: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.3 - dev: true - /object.hasown@1.1.4: - resolution: {integrity: sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==} - engines: {node: '>= 0.4'} + object.hasown@1.1.4: dependencies: define-properties: 1.2.1 es-abstract: 1.23.3 es-object-atoms: 1.0.0 - dev: true - /object.values@1.2.0: - resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} - engines: {node: '>= 0.4'} + object.values@1.2.0: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-object-atoms: 1.0.0 - dev: true - /obliterator@2.0.4: - resolution: {integrity: sha512-lgHwxlxV1qIg1Eap7LgIeoBWIMFibOjbrYPIPJZcI1mmGAI2m3lNYpK12Y+GBdPQ0U1hRwSord7GIaawz962qQ==} - dev: true + obliterator@2.0.4: {} - /obuf@1.1.2: - resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} - dev: true + obuf@1.1.2: {} - /oidc-token-hash@5.0.3: - resolution: {integrity: sha512-IF4PcGgzAr6XXSff26Sk/+P4KZFJVuHAJZj3wgO3vX2bMdNVp/QXTP3P7CEm9V1IdG8lDLY3HhiqpsE/nOwpPw==} - engines: {node: ^10.13.0 || >=12.0.0} - dev: true + oidc-token-hash@5.0.3: {} - /on-finished@2.4.1: - resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} - engines: {node: '>= 0.8'} + on-finished@2.4.1: dependencies: ee-first: 1.1.1 - dev: true - /once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + once@1.4.0: dependencies: wrappy: 1.0.2 - dev: true - /onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} + onetime@5.1.2: dependencies: mimic-fn: 2.1.0 - dev: true - /openid-client@5.6.5: - resolution: {integrity: sha512-5P4qO9nGJzB5PI0LFlhj4Dzg3m4odt0qsJTfyEtZyOlkgpILwEioOhVVJOrS1iVH494S4Ee5OCjjg6Bf5WOj3w==} + openid-client@5.6.5: dependencies: jose: 4.15.5 lru-cache: 6.0.0 object-hash: 2.2.0 oidc-token-hash: 5.0.3 - dev: true - /optionator@0.8.3: - resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} - engines: {node: '>= 0.8.0'} + optionator@0.8.3: dependencies: deep-is: 0.1.4 fast-levenshtein: 2.0.6 @@ -15143,11 +18254,8 @@ packages: prelude-ls: 1.1.2 type-check: 0.3.2 word-wrap: 1.2.5 - dev: true - /optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} - engines: {node: '>= 0.8.0'} + optionator@0.9.3: dependencies: '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 @@ -15155,11 +18263,8 @@ packages: levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 - dev: true - /ora@5.4.1: - resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} - engines: {node: '>=10'} + ora@5.4.1: dependencies: bl: 4.1.0 chalk: 4.1.2 @@ -15170,11 +18275,8 @@ packages: log-symbols: 4.1.0 strip-ansi: 6.0.1 wcwidth: 1.0.1 - dev: true - /ora@6.3.1: - resolution: {integrity: sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + ora@6.3.1: dependencies: chalk: 5.3.0 cli-cursor: 4.0.0 @@ -15185,262 +18287,146 @@ packages: stdin-discarder: 0.1.0 strip-ansi: 7.1.0 wcwidth: 1.0.1 - dev: true - /os-tmpdir@1.0.2: - resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} - engines: {node: '>=0.10.0'} + os-tmpdir@1.0.2: {} - /p-limit@1.3.0: - resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} - engines: {node: '>=4'} + p-limit@1.3.0: dependencies: p-try: 1.0.0 - dev: true - /p-limit@2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} + p-limit@2.3.0: dependencies: p-try: 2.2.0 - dev: true - /p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} + p-limit@3.1.0: dependencies: yocto-queue: 0.1.0 - dev: true - /p-locate@2.0.0: - resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==} - engines: {node: '>=4'} + p-locate@2.0.0: dependencies: p-limit: 1.3.0 - dev: true - /p-locate@3.0.0: - resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} - engines: {node: '>=6'} + p-locate@3.0.0: dependencies: p-limit: 2.3.0 - dev: true - /p-locate@4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} + p-locate@4.1.0: dependencies: p-limit: 2.3.0 - dev: true - /p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} + p-locate@5.0.0: dependencies: p-limit: 3.1.0 - dev: true - /p-map@4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} + p-map@4.0.0: dependencies: aggregate-error: 3.1.0 - dev: true - /p-try@1.0.0: - resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==} - engines: {node: '>=4'} - dev: true + p-try@1.0.0: {} - /p-try@2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} - dev: true + p-try@2.2.0: {} - /param-case@3.0.4: - resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} + param-case@3.0.4: dependencies: dot-case: 3.0.4 tslib: 2.6.2 - dev: true - /parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} + parent-module@1.0.1: dependencies: callsites: 3.1.0 - dev: true - /parse-cache-control@1.0.1: - resolution: {integrity: sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==} - dev: true + parse-cache-control@1.0.1: {} - /parse-filepath@1.0.2: - resolution: {integrity: sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==} - engines: {node: '>=0.8'} + parse-filepath@1.0.2: dependencies: is-absolute: 1.0.0 map-cache: 0.2.2 path-root: 0.1.1 - dev: true - /parse-json@5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} + parse-json@5.2.0: dependencies: '@babel/code-frame': 7.24.2 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 - dev: true - /parse-ms@2.1.0: - resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} - engines: {node: '>=6'} - dev: true + parse-ms@2.1.0: {} - /parseurl@1.3.3: - resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} - engines: {node: '>= 0.8'} - dev: true + parseurl@1.3.3: {} - /pascal-case@3.1.2: - resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} + pascal-case@3.1.2: dependencies: no-case: 3.0.4 tslib: 2.6.2 - dev: true - /patch-console@2.0.0: - resolution: {integrity: sha512-0YNdUceMdaQwoKce1gatDScmMo5pu/tfABfnzEqeG0gtTmd7mh/WcwgUjtAeOU7N8nFFlbQBnFK2gXW5fGvmMA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - dev: true + patch-console@2.0.0: {} - /path-case@3.0.4: - resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==} + path-case@3.0.4: dependencies: dot-case: 3.0.4 tslib: 2.6.2 - dev: true - /path-exists@3.0.0: - resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} - engines: {node: '>=4'} - dev: true + path-exists@3.0.0: {} - /path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - dev: true + path-exists@4.0.0: {} - /path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - dev: true + path-is-absolute@1.0.1: {} - /path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - dev: true + path-key@3.1.1: {} - /path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + path-parse@1.0.7: {} - /path-root-regex@0.1.2: - resolution: {integrity: sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==} - engines: {node: '>=0.10.0'} - dev: true + path-root-regex@0.1.2: {} - /path-root@0.1.1: - resolution: {integrity: sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==} - engines: {node: '>=0.10.0'} + path-root@0.1.1: dependencies: path-root-regex: 0.1.2 - dev: true - /path-scurry@1.10.2: - resolution: {integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==} - engines: {node: '>=16 || 14 >=14.17'} + path-scurry@1.10.2: dependencies: lru-cache: 10.2.0 minipass: 7.0.4 - dev: true - /path-starts-with@2.0.1: - resolution: {integrity: sha512-wZ3AeiRBRlNwkdUxvBANh0+esnt38DLffHDujZyRHkqkaKHTglnY2EP5UX3b8rdeiSutgO4y9NEJwXezNP5vHg==} - engines: {node: '>=8'} - dev: true + path-starts-with@2.0.1: {} - /path-to-regexp@0.1.7: - resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} - dev: true + path-to-regexp@0.1.7: {} - /path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - dev: true + path-type@4.0.0: {} - /pathval@1.1.1: - resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} - dev: true + pathval@1.1.1: {} - /pbkdf2@3.1.2: - resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} - engines: {node: '>=0.12'} + pbkdf2@3.1.2: dependencies: create-hash: 1.2.0 create-hmac: 1.1.7 ripemd160: 2.0.2 safe-buffer: 5.2.1 sha.js: 2.4.11 - dev: true - /pg-cloudflare@1.1.1: - resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} - requiresBuild: true - dev: true + pg-cloudflare@1.1.1: optional: true - /pg-connection-string@2.6.4: - resolution: {integrity: sha512-v+Z7W/0EO707aNMaAEfiGnGL9sxxumwLl2fJvCQtMn9Fxsg+lPpPkdcyBSv/KFgpGdYkMfn+EI1Or2EHjpgLCA==} - dev: true + pg-connection-string@2.6.4: {} - /pg-int8@1.0.1: - resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} - engines: {node: '>=4.0.0'} - dev: true + pg-int8@1.0.1: {} - /pg-numeric@1.0.2: - resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==} - engines: {node: '>=4'} - dev: true + pg-numeric@1.0.2: {} - /pg-pool@3.6.2(pg@8.11.5): - resolution: {integrity: sha512-Htjbg8BlwXqSBQ9V8Vjtc+vzf/6fVUuak/3/XXKA9oxZprwW3IMDQTGHP+KDmVL7rtd+R1QjbnCFPuTHm3G4hg==} - peerDependencies: - pg: '>=8.0' + pg-pool@3.6.2(pg@8.11.5): dependencies: pg: 8.11.5 - dev: true - /pg-protocol@1.6.1: - resolution: {integrity: sha512-jPIlvgoD63hrEuihvIg+tJhoGjUsLPn6poJY9N5CnlPd91c2T18T/9zBtLxZSb1EhYxBRoZJtzScCaWlYLtktg==} - dev: true + pg-protocol@1.6.1: {} - /pg-types@2.2.0: - resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} - engines: {node: '>=4'} + pg-types@2.2.0: dependencies: pg-int8: 1.0.1 postgres-array: 2.0.0 postgres-bytea: 1.0.0 postgres-date: 1.0.7 postgres-interval: 1.2.0 - dev: true - /pg-types@4.0.2: - resolution: {integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==} - engines: {node: '>=10'} + pg-types@4.0.2: dependencies: pg-int8: 1.0.1 pg-numeric: 1.0.2 @@ -15449,16 +18435,8 @@ packages: postgres-date: 2.1.0 postgres-interval: 3.0.0 postgres-range: 1.1.4 - dev: true - /pg@8.11.5: - resolution: {integrity: sha512-jqgNHSKL5cbDjFlHyYsCXmQDrfIX/3RsNwYqpd4N0Kt8niLuNoRNH+aazv6cOd43gPh9Y4DjQCtb+X0MH0Hvnw==} - engines: {node: '>= 8.0.0'} - peerDependencies: - pg-native: '>=3.0.1' - peerDependenciesMeta: - pg-native: - optional: true + pg@8.11.5: dependencies: pg-connection-string: 2.6.4 pg-pool: 3.6.2(pg@8.11.5) @@ -15467,142 +18445,73 @@ packages: pgpass: 1.0.5 optionalDependencies: pg-cloudflare: 1.1.1 - dev: true - /pgpass@1.0.5: - resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} + pgpass@1.0.5: dependencies: split2: 4.2.0 - dev: true - /picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - dev: true + picocolors@1.0.0: {} - /picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - dev: true + picomatch@2.3.1: {} - /pify@4.0.1: - resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} - engines: {node: '>=6'} - dev: true + pify@4.0.1: {} - /pirates@4.0.6: - resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} - engines: {node: '>= 6'} - dev: true + pirates@4.0.6: {} - /pkg-dir@4.2.0: - resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} - engines: {node: '>=8'} + pkg-dir@4.2.0: dependencies: find-up: 4.1.0 - dev: true - /pkg-up@3.1.0: - resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} - engines: {node: '>=8'} + pkg-up@3.1.0: dependencies: find-up: 3.0.0 - dev: true - /plimit-lit@1.6.1: - resolution: {integrity: sha512-B7+VDyb8Tl6oMJT9oSO2CW8XC/T4UcJGrwOVoNGwOQsQYhlpfajmrMj5xeejqaASq3V/EqThyOeATEOMuSEXiA==} - engines: {node: '>=12'} + plimit-lit@1.6.1: dependencies: queue-lit: 1.5.2 - dev: true - /pluralize@8.0.0: - resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} - engines: {node: '>=4'} - dev: true + pluralize@8.0.0: {} - /possible-typed-array-names@1.0.0: - resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} - engines: {node: '>= 0.4'} - dev: true + possible-typed-array-names@1.0.0: {} - /postcss-values-parser@6.0.2(postcss@8.4.38): - resolution: {integrity: sha512-YLJpK0N1brcNJrs9WatuJFtHaV9q5aAOj+S4DI5S7jgHlRfm0PIbDCAFRYMQD5SHq7Fy6xsDhyutgS0QOAs0qw==} - engines: {node: '>=10'} - peerDependencies: - postcss: ^8.2.9 + postcss-values-parser@6.0.2(postcss@8.4.38): dependencies: color-name: 1.1.4 is-url-superb: 4.0.0 postcss: 8.4.38 quote-unquote: 1.0.0 - dev: true - /postcss@8.4.38: - resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} - engines: {node: ^10 || ^12 || >=14} + postcss@8.4.38: dependencies: nanoid: 3.3.7 picocolors: 1.0.0 source-map-js: 1.2.0 - dev: true - /postgres-array@2.0.0: - resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} - engines: {node: '>=4'} - dev: true + postgres-array@2.0.0: {} - /postgres-array@3.0.2: - resolution: {integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==} - engines: {node: '>=12'} - dev: true + postgres-array@3.0.2: {} - /postgres-bytea@1.0.0: - resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} - engines: {node: '>=0.10.0'} - dev: true + postgres-bytea@1.0.0: {} - /postgres-bytea@3.0.0: - resolution: {integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==} - engines: {node: '>= 6'} + postgres-bytea@3.0.0: dependencies: obuf: 1.1.2 - dev: true - /postgres-date@1.0.7: - resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} - engines: {node: '>=0.10.0'} - dev: true + postgres-date@1.0.7: {} - /postgres-date@2.1.0: - resolution: {integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==} - engines: {node: '>=12'} - dev: true + postgres-date@2.1.0: {} - /postgres-interval@1.2.0: - resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} - engines: {node: '>=0.10.0'} + postgres-interval@1.2.0: dependencies: xtend: 4.0.2 - dev: true - /postgres-interval@3.0.0: - resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==} - engines: {node: '>=12'} - dev: true + postgres-interval@3.0.0: {} - /postgres-range@1.1.4: - resolution: {integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==} - dev: true + postgres-range@1.1.4: {} - /postgres@3.4.4: - resolution: {integrity: sha512-IbyN+9KslkqcXa8AO9fxpk97PA4pzewvpi2B3Dwy9u4zpV32QicaEdgmF3eSQUzdRk7ttDHQejNgAEr4XoeH4A==} - engines: {node: '>=12'} - dev: false + postgres@3.4.4: {} - /precinct@11.0.5: - resolution: {integrity: sha512-oHSWLC8cL/0znFhvln26D14KfCQFFn4KOLSw6hmLhd+LQ2SKt9Ljm89but76Pc7flM9Ty1TnXyrA2u16MfRV3w==} - engines: {node: ^14.14.0 || >=16.0.0} - hasBin: true + precinct@11.0.5: dependencies: '@dependents/detective-less': 4.1.0 commander: 10.0.1 @@ -15618,261 +18527,150 @@ packages: node-source-walk: 6.0.2 transitivePeerDependencies: - supports-color - dev: true - /prelude-ls@1.1.2: - resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} - engines: {node: '>= 0.8.0'} - dev: true + prelude-ls@1.1.2: {} - /prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - dev: true + prelude-ls@1.2.1: {} - /prettier-plugin-packagejson@2.5.0(prettier@3.2.5): - resolution: {integrity: sha512-6XkH3rpin5QEQodBSVNg+rBo4r91g/1mCaRwS1YGdQJZ6jwqrg2UchBsIG9tpS1yK1kNBvOt84OILsX8uHzBGg==} - peerDependencies: - prettier: '>= 1.16.0' - peerDependenciesMeta: - prettier: - optional: true + prettier-plugin-packagejson@2.5.0(prettier@3.2.5): dependencies: prettier: 3.2.5 sort-package-json: 2.10.0 synckit: 0.9.0 - dev: true - /prettier@3.2.5: - resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} - engines: {node: '>=14'} - hasBin: true - dev: true + prettier@3.2.5: {} - /pretty-format@29.7.0: - resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + pretty-format@29.7.0: dependencies: '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 react-is: 18.2.0 - dev: true - /pretty-ms@7.0.1: - resolution: {integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==} - engines: {node: '>=10'} + pretty-ms@7.0.1: dependencies: parse-ms: 2.1.0 - dev: true - /process-nextick-args@2.0.1: - resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - dev: true + process-nextick-args@2.0.1: {} - /process@0.11.10: - resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} - engines: {node: '>= 0.6.0'} - dev: true + process@0.11.10: {} - /promise@7.3.1: - resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==} + promise@7.3.1: dependencies: asap: 2.0.6 - dev: true - /promise@8.3.0: - resolution: {integrity: sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==} + promise@8.3.0: dependencies: asap: 2.0.6 - dev: true - /promptly@3.2.0: - resolution: {integrity: sha512-WnR9obtgW+rG4oUV3hSnNGl1pHm3V1H/qD9iJBumGSmVsSC5HpZOLuu8qdMb6yCItGfT7dcRszejr/5P3i9Pug==} + promptly@3.2.0: dependencies: read: 1.0.7 - dev: true - /prompts@2.4.2: - resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} - engines: {node: '>= 6'} + prompts@2.4.2: dependencies: kleur: 3.0.3 sisteransi: 1.0.5 - dev: true - /prop-types@15.8.1: - resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + prop-types@15.8.1: dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 react-is: 16.13.1 - dev: true - /proxy-addr@2.0.7: - resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} - engines: {node: '>= 0.10'} + proxy-addr@2.0.7: dependencies: forwarded: 0.2.0 ipaddr.js: 1.9.1 - dev: true - /proxy-from-env@1.1.0: - resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - dev: true + proxy-from-env@1.1.0: {} - /pump@3.0.0: - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} + pump@3.0.0: dependencies: end-of-stream: 1.4.4 once: 1.4.0 - dev: true - /punycode@1.3.2: - resolution: {integrity: sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==} - dev: true + punycode@1.3.2: {} - /punycode@1.4.1: - resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} - dev: true + punycode@1.4.1: {} - /punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} - engines: {node: '>=6'} - dev: true + punycode@2.3.1: {} - /pure-rand@6.1.0: - resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} - dev: true + pure-rand@6.1.0: {} - /pvtsutils@1.3.5: - resolution: {integrity: sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA==} + pvtsutils@1.3.5: dependencies: tslib: 2.6.2 - dev: true - /pvutils@1.1.3: - resolution: {integrity: sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==} - engines: {node: '>=6.0.0'} - dev: true + pvutils@1.1.3: {} - /qs@6.11.0: - resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} - engines: {node: '>=0.6'} + qs@6.11.0: dependencies: side-channel: 1.0.6 - dev: true - /qs@6.12.1: - resolution: {integrity: sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==} - engines: {node: '>=0.6'} + qs@6.12.1: dependencies: side-channel: 1.0.6 - dev: true - /querystring@0.2.0: - resolution: {integrity: sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==} - engines: {node: '>=0.4.x'} - deprecated: The querystring API is considered Legacy. new code should use the URLSearchParams API instead. - dev: true + querystring@0.2.0: {} - /queue-lit@1.5.2: - resolution: {integrity: sha512-tLc36IOPeMAubu8BkW8YDBV+WyIgKlYU7zUNs0J5Vk9skSZ4JfGlPOqplP0aHdfv7HL0B2Pg6nwiq60Qc6M2Hw==} - engines: {node: '>=12'} - dev: true + queue-lit@1.5.2: {} - /queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - dev: true + queue-microtask@1.2.3: {} - /quote-unquote@1.0.0: - resolution: {integrity: sha512-twwRO/ilhlG/FIgYeKGFqyHhoEhqgnKVkcmqMKi2r524gz3ZbDTcyFt38E9xjJI2vT+KbRNHVbnJ/e0I25Azwg==} - dev: true + quote-unquote@1.0.0: {} - /randombytes@2.1.0: - resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} + randombytes@2.1.0: dependencies: safe-buffer: 5.2.1 - dev: true - /range-parser@1.2.1: - resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} - engines: {node: '>= 0.6'} - dev: true + range-parser@1.2.1: {} - /raw-body@2.5.2: - resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} - engines: {node: '>= 0.8'} + raw-body@2.5.2: dependencies: bytes: 3.1.2 http-errors: 2.0.0 iconv-lite: 0.4.24 unpipe: 1.0.0 - dev: true - /rc@1.2.8: - resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} - hasBin: true + rc@1.2.8: dependencies: deep-extend: 0.6.0 ini: 1.3.8 minimist: 1.2.8 strip-json-comments: 2.0.1 - dev: true - /react-is@16.13.1: - resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} - dev: true + react-is@16.13.1: {} - /react-is@18.2.0: - resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} - dev: true + react-is@18.2.0: {} - /react-reconciler@0.29.0(react@18.2.0): - resolution: {integrity: sha512-wa0fGj7Zht1EYMRhKWwoo1H9GApxYLBuhoAuXN0TlltESAjDssB+Apf0T/DngVqaMyPypDmabL37vw/2aRM98Q==} - engines: {node: '>=0.10.0'} - peerDependencies: - react: ^18.2.0 + react-reconciler@0.29.0(react@18.2.0): dependencies: loose-envify: 1.4.0 react: 18.2.0 scheduler: 0.23.0 - dev: true - /react@18.2.0: - resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} - engines: {node: '>=0.10.0'} + react@18.2.0: dependencies: loose-envify: 1.4.0 - dev: true - /read-pkg-up@7.0.1: - resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} - engines: {node: '>=8'} + read-pkg-up@7.0.1: dependencies: find-up: 4.1.0 read-pkg: 5.2.0 type-fest: 0.8.1 - dev: true - /read-pkg@5.2.0: - resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} - engines: {node: '>=8'} + read-pkg@5.2.0: dependencies: '@types/normalize-package-data': 2.4.4 normalize-package-data: 2.5.0 parse-json: 5.2.0 type-fest: 0.6.0 - dev: true - /read@1.0.7: - resolution: {integrity: sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ==} - engines: {node: '>=0.8'} + read@1.0.7: dependencies: mute-stream: 0.0.8 - dev: true - /readable-stream@2.3.8: - resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + readable-stream@2.3.8: dependencies: core-util-is: 1.0.3 inherits: 2.0.4 @@ -15881,46 +18679,30 @@ packages: safe-buffer: 5.1.2 string_decoder: 1.1.1 util-deprecate: 1.0.2 - dev: true - /readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} + readable-stream@3.6.2: dependencies: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 - dev: true - /readdir-glob@1.1.3: - resolution: {integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==} + readdir-glob@1.1.3: dependencies: minimatch: 5.1.6 - dev: true - /readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} + readdirp@3.6.0: dependencies: picomatch: 2.3.1 - dev: true - /rechoir@0.6.2: - resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} - engines: {node: '>= 0.10'} + rechoir@0.6.2: dependencies: resolve: 1.22.8 - dev: true - /recursive-readdir@2.2.3: - resolution: {integrity: sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==} - engines: {node: '>=6.0.0'} + recursive-readdir@2.2.3: dependencies: minimatch: 3.1.2 - dev: true - /redis@4.6.13: - resolution: {integrity: sha512-MHgkS4B+sPjCXpf+HfdetBwbRz6vCtsceTmw1pHNYJAsYxrfpOP6dz+piJWGos8wqG7qb3vj/Rrc5qOlmInUuA==} + redis@4.6.13: dependencies: '@redis/bloom': 1.2.0(@redis/client@1.5.14) '@redis/client': 1.5.14 @@ -15928,11 +18710,8 @@ packages: '@redis/json': 1.0.6(@redis/client@1.5.14) '@redis/search': 1.1.6(@redis/client@1.5.14) '@redis/time-series': 1.0.5(@redis/client@1.5.14) - dev: false - /reflect.getprototypeof@1.0.6: - resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==} - engines: {node: '>= 0.4'} + reflect.getprototypeof@1.0.6: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -15941,304 +18720,172 @@ packages: get-intrinsic: 1.2.4 globalthis: 1.0.3 which-builtin-type: 1.1.3 - dev: true - /regenerator-runtime@0.14.1: - resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} - dev: true + regenerator-runtime@0.14.1: {} - /regexp-tree@0.1.27: - resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} - hasBin: true - dev: true + regexp-tree@0.1.27: {} - /regexp.prototype.flags@1.5.2: - resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} - engines: {node: '>= 0.4'} + regexp.prototype.flags@1.5.2: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-errors: 1.3.0 set-function-name: 2.0.2 - dev: true - /regjsparser@0.10.0: - resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} - hasBin: true + regjsparser@0.10.0: dependencies: jsesc: 0.5.0 - dev: true - /reinterval@1.1.0: - resolution: {integrity: sha512-QIRet3SYrGp0HUHO88jVskiG6seqUGC5iAG7AwI/BV4ypGcuqk9Du6YQBUOUqm9c8pw1eyLoIaONifRua1lsEQ==} - dev: true + reinterval@1.1.0: {} - /relay-runtime@12.0.0: - resolution: {integrity: sha512-QU6JKr1tMsry22DXNy9Whsq5rmvwr3LSZiiWV/9+DFpuTWvp+WFhobWMc8TC4OjKFfNhEZy7mOiqUAn5atQtug==} + relay-runtime@12.0.0: dependencies: '@babel/runtime': 7.24.4 fbjs: 3.0.5 invariant: 2.2.4 transitivePeerDependencies: - encoding - dev: true - /remeda@1.59.0: - resolution: {integrity: sha512-yqIz7z+eriLF6ll4TxhUM56b2wIrmHgJNbzRGYqfJ0Jx6QOioSvGJuT9jD6MqtKzGUizaxSlJZXTVYjVSC4Qig==} - dev: true + remeda@1.59.0: {} - /remedial@1.0.8: - resolution: {integrity: sha512-/62tYiOe6DzS5BqVsNpH/nkGlX45C/Sp6V+NtiN6JQNS1Viay7cWkazmRkrQrdFj2eshDe96SIQNIoMxqhzBOg==} - dev: true + remedial@1.0.8: {} - /remove-trailing-separator@1.1.0: - resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} - dev: true + remove-trailing-separator@1.1.0: {} - /remove-trailing-spaces@1.0.8: - resolution: {integrity: sha512-O3vsMYfWighyFbTd8hk8VaSj9UAGENxAtX+//ugIst2RMk5e03h6RoIS+0ylsFxY1gvmPuAY/PO4It+gPEeySA==} - dev: true + remove-trailing-spaces@1.0.8: {} - /req-cwd@2.0.0: - resolution: {integrity: sha512-ueoIoLo1OfB6b05COxAA9UpeoscNpYyM+BqYlA7H6LVF4hKGPXQQSSaD2YmvDVJMkk4UDpAHIeU1zG53IqjvlQ==} - engines: {node: '>=4'} + req-cwd@2.0.0: dependencies: req-from: 2.0.0 - dev: true - /req-from@2.0.0: - resolution: {integrity: sha512-LzTfEVDVQHBRfjOUMgNBA+V6DWsSnoeKzf42J7l0xa/B4jyPOuuF5MlNSmomLNGemWTnV2TIdjSSLnEn95fOQA==} - engines: {node: '>=4'} + req-from@2.0.0: dependencies: resolve-from: 3.0.0 - dev: true - /require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} - dev: true + require-directory@2.1.1: {} - /require-from-string@2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} - dev: true + require-from-string@2.0.2: {} - /require-main-filename@2.0.0: - resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} - dev: true + require-main-filename@2.0.0: {} - /requirejs-config-file@4.0.0: - resolution: {integrity: sha512-jnIre8cbWOyvr8a5F2KuqBnY+SDA4NXr/hzEZJG79Mxm2WiFQz2dzhC8ibtPJS7zkmBEl1mxSwp5HhC1W4qpxw==} - engines: {node: '>=10.13.0'} + requirejs-config-file@4.0.0: dependencies: esprima: 4.0.1 stringify-object: 3.3.0 - dev: true - /requirejs@2.3.6: - resolution: {integrity: sha512-ipEzlWQe6RK3jkzikgCupiTbTvm4S0/CAU5GlgptkN5SO6F3u0UD0K18wy6ErDqiCyP4J4YYe1HuAShvsxePLg==} - engines: {node: '>=0.4.0'} - hasBin: true - dev: true + requirejs@2.3.6: {} - /resolve-cwd@3.0.0: - resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} - engines: {node: '>=8'} + resolve-cwd@3.0.0: dependencies: resolve-from: 5.0.0 - dev: true - /resolve-dependency-path@3.0.2: - resolution: {integrity: sha512-Tz7zfjhLfsvR39ADOSk9us4421J/1ztVBo4rWUkF38hgHK5m0OCZ3NxFVpqHRkjctnwVa15igEUHFJp8MCS7vA==} - engines: {node: '>=14'} - dev: true + resolve-dependency-path@3.0.2: {} - /resolve-from@3.0.0: - resolution: {integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==} - engines: {node: '>=4'} - dev: true + resolve-from@3.0.0: {} - /resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - dev: true + resolve-from@4.0.0: {} - /resolve-from@5.0.0: - resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} - engines: {node: '>=8'} - dev: true + resolve-from@5.0.0: {} - /resolve-pkg-maps@1.0.0: - resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - dev: true + resolve-pkg-maps@1.0.0: {} - /resolve.exports@2.0.2: - resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} - engines: {node: '>=10'} - dev: true + resolve.exports@2.0.2: {} - /resolve@1.1.7: - resolution: {integrity: sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==} - dev: true + resolve@1.1.7: {} - /resolve@1.17.0: - resolution: {integrity: sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==} + resolve@1.17.0: dependencies: path-parse: 1.0.7 - dev: true - /resolve@1.19.0: - resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} + resolve@1.19.0: dependencies: is-core-module: 2.13.1 path-parse: 1.0.7 - dev: true - /resolve@1.22.8: - resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} - hasBin: true + resolve@1.22.8: dependencies: is-core-module: 2.13.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - /resolve@2.0.0-next.5: - resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} - hasBin: true + resolve@2.0.0-next.5: dependencies: is-core-module: 2.13.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - dev: true - /restore-cursor@3.1.0: - resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} - engines: {node: '>=8'} + restore-cursor@3.1.0: dependencies: onetime: 5.1.2 signal-exit: 3.0.7 - dev: true - /restore-cursor@4.0.0: - resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + restore-cursor@4.0.0: dependencies: onetime: 5.1.2 signal-exit: 3.0.7 - dev: true - /reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - dev: true + reusify@1.0.4: {} - /reverse-mirage@1.1.0(typescript@5.4.5)(viem@1.21.4): - resolution: {integrity: sha512-cA1O7GR0pn4rMFoaiEG7Skms9GenuW91DtCxeR5hphyNhH90eowV4RmUVlVPVS11CPkezm/iUjnCfmxlHri05w==} - peerDependencies: - typescript: '>=5.0.4' - viem: '>=2' - peerDependenciesMeta: - typescript: - optional: true + reverse-mirage@1.1.0(typescript@5.4.5)(viem@1.21.4): dependencies: typescript: 5.4.5 viem: 1.21.4(typescript@5.4.5)(zod@3.22.4) - dev: false - /rfdc@1.3.1: - resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} - dev: true + rfdc@1.3.1: {} - /rimraf@2.7.1: - resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} - hasBin: true + rimraf@2.7.1: dependencies: glob: 7.2.3 - dev: true - /rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - hasBin: true + rimraf@3.0.2: dependencies: glob: 7.2.3 - dev: true - /ripemd160@2.0.2: - resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} + ripemd160@2.0.2: dependencies: hash-base: 3.1.0 inherits: 2.0.4 - dev: true - /rlp@2.2.7: - resolution: {integrity: sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==} - hasBin: true + rlp@2.2.7: dependencies: bn.js: 5.2.1 - dev: true - /run-async@2.4.1: - resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} - engines: {node: '>=0.12.0'} - dev: true + run-async@2.4.1: {} - /run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + run-parallel@1.2.0: dependencies: queue-microtask: 1.2.3 - dev: true - /rxjs@7.8.1: - resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} + rxjs@7.8.1: dependencies: tslib: 2.6.2 - dev: true - /safe-array-concat@1.1.2: - resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} - engines: {node: '>=0.4'} + safe-array-concat@1.1.2: dependencies: call-bind: 1.0.7 get-intrinsic: 1.2.4 has-symbols: 1.0.3 isarray: 2.0.5 - dev: true - /safe-buffer@5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} - dev: true + safe-buffer@5.1.2: {} - /safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - dev: true + safe-buffer@5.2.1: {} - /safe-regex-test@1.0.3: - resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} - engines: {node: '>= 0.4'} + safe-regex-test@1.0.3: dependencies: call-bind: 1.0.7 es-errors: 1.3.0 is-regex: 1.1.4 - dev: true - /safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + safer-buffer@2.1.2: {} - /sass-lookup@5.0.1: - resolution: {integrity: sha512-t0X5PaizPc2H4+rCwszAqHZRtr4bugo4pgiCvrBFvIX0XFxnr29g77LJcpyj9A0DcKf7gXMLcgvRjsonYI6x4g==} - engines: {node: '>=14'} - hasBin: true + sass-lookup@5.0.1: dependencies: commander: 10.0.1 - dev: true - /sax@1.2.1: - resolution: {integrity: sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==} - dev: true + sax@1.2.1: {} - /sc-istanbul@0.4.6: - resolution: {integrity: sha512-qJFF/8tW/zJsbyfh/iT/ZM5QNHE3CXxtLJbZsL+CzdJLBsPD7SedJZoUA4d8iAcN2IoMp/Dx80shOOd2x96X/g==} - hasBin: true + sc-istanbul@0.4.6: dependencies: abbrev: 1.0.9 async: 1.5.2 @@ -16254,54 +18901,32 @@ packages: supports-color: 3.2.3 which: 1.3.1 wordwrap: 1.0.0 - dev: true - /scheduler@0.23.0: - resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + scheduler@0.23.0: dependencies: loose-envify: 1.4.0 - dev: true - /scrypt-js@3.0.1: - resolution: {integrity: sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==} + scrypt-js@3.0.1: {} - /scuid@1.1.0: - resolution: {integrity: sha512-MuCAyrGZcTLfQoH2XoBlQ8C6bzwN88XT/0slOGz0pn8+gIP85BOAfYa44ZXQUTOwRwPU0QvgU+V+OSajl/59Xg==} - dev: true + scuid@1.1.0: {} - /secp256k1@4.0.3: - resolution: {integrity: sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==} - engines: {node: '>=10.0.0'} - requiresBuild: true + secp256k1@4.0.3: dependencies: elliptic: 6.5.5 node-addon-api: 2.0.2 node-gyp-build: 4.8.0 - dev: true - /seedrandom@3.0.5: - resolution: {integrity: sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==} - dev: true + seedrandom@3.0.5: {} - /semver@5.7.2: - resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} - hasBin: true + semver@5.7.2: {} - /semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true - dev: true + semver@6.3.1: {} - /semver@7.6.0: - resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} - engines: {node: '>=10'} - hasBin: true + semver@7.6.0: dependencies: lru-cache: 6.0.0 - /send@0.18.0: - resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} - engines: {node: '>= 0.8.0'} + send@0.18.0: dependencies: debug: 2.6.9 depd: 2.0.0 @@ -16318,25 +18943,18 @@ packages: statuses: 2.0.1 transitivePeerDependencies: - supports-color - dev: true - /sentence-case@3.0.4: - resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} + sentence-case@3.0.4: dependencies: no-case: 3.0.4 tslib: 2.6.2 upper-case-first: 2.0.2 - dev: true - /serialize-javascript@6.0.0: - resolution: {integrity: sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==} + serialize-javascript@6.0.0: dependencies: randombytes: 2.1.0 - dev: true - /serve-static@1.15.0: - resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} - engines: {node: '>= 0.8.0'} + serve-static@1.15.0: dependencies: encodeurl: 1.0.2 escape-html: 1.0.3 @@ -16344,15 +18962,10 @@ packages: send: 0.18.0 transitivePeerDependencies: - supports-color - dev: true - /set-blocking@2.0.0: - resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} - dev: true + set-blocking@2.0.0: {} - /set-function-length@1.2.2: - resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} - engines: {node: '>= 0.4'} + set-function-length@1.2.2: dependencies: define-data-property: 1.1.4 es-errors: 1.3.0 @@ -16360,157 +18973,93 @@ packages: get-intrinsic: 1.2.4 gopd: 1.0.1 has-property-descriptors: 1.0.2 - dev: true - /set-function-name@2.0.2: - resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} - engines: {node: '>= 0.4'} + set-function-name@2.0.2: dependencies: define-data-property: 1.1.4 es-errors: 1.3.0 functions-have-names: 1.2.3 has-property-descriptors: 1.0.2 - dev: true - /setimmediate@1.0.5: - resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} - dev: true + setimmediate@1.0.5: {} - /setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - dev: true + setprototypeof@1.2.0: {} - /sha.js@2.4.11: - resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} - hasBin: true + sha.js@2.4.11: dependencies: inherits: 2.0.4 safe-buffer: 5.2.1 - dev: true - /sha1@1.1.1: - resolution: {integrity: sha512-dZBS6OrMjtgVkopB1Gmo4RQCDKiZsqcpAQpkV/aaj+FCrCg8r4I4qMkDPQjBgLIxlmu9k4nUbWq6ohXahOneYA==} + sha1@1.1.1: dependencies: charenc: 0.0.2 crypt: 0.0.2 - dev: true - /shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} + shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 - dev: true - /shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - dev: true + shebang-regex@3.0.0: {} - /shell-quote@1.8.1: - resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} - dev: true + shell-quote@1.8.1: {} - /shelljs.exec@1.1.8: - resolution: {integrity: sha512-vFILCw+lzUtiwBAHV8/Ex8JsFjelFMdhONIsgKNLgTzeRckp2AOYRQtHJE/9LhNvdMmE27AGtzWx0+DHpwIwSw==} - engines: {node: '>= 4.0.0'} - dev: true + shelljs.exec@1.1.8: {} - /shelljs@0.8.5: - resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} - engines: {node: '>=4'} - hasBin: true + shelljs@0.8.5: dependencies: glob: 7.2.3 interpret: 1.4.0 rechoir: 0.6.2 - dev: true - /shimmer@1.2.1: - resolution: {integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==} - dev: false + shimmer@1.2.1: {} - /side-channel@1.0.6: - resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} - engines: {node: '>= 0.4'} + side-channel@1.0.6: dependencies: call-bind: 1.0.7 es-errors: 1.3.0 get-intrinsic: 1.2.4 object-inspect: 1.13.1 - dev: true - /signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - dev: true + signal-exit@3.0.7: {} - /signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} + signal-exit@4.1.0: {} - /signedsource@1.0.0: - resolution: {integrity: sha512-6+eerH9fEnNmi/hyM1DXcRK3pWdoMQtlkQ+ns0ntzunjKqp5i3sKCc80ym8Fib3iaYhdJUOPdhlJWj1tvge2Ww==} - dev: true + signedsource@1.0.0: {} - /sisteransi@1.0.5: - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - dev: true + sisteransi@1.0.5: {} - /slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - dev: true + slash@3.0.0: {} - /slash@4.0.0: - resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} - engines: {node: '>=12'} - dev: true + slash@4.0.0: {} - /slice-ansi@3.0.0: - resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} - engines: {node: '>=8'} + slice-ansi@3.0.0: dependencies: ansi-styles: 4.3.0 astral-regex: 2.0.0 is-fullwidth-code-point: 3.0.0 - dev: true - /slice-ansi@4.0.0: - resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} - engines: {node: '>=10'} + slice-ansi@4.0.0: dependencies: ansi-styles: 4.3.0 astral-regex: 2.0.0 is-fullwidth-code-point: 3.0.0 - dev: true - /slice-ansi@5.0.0: - resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} - engines: {node: '>=12'} + slice-ansi@5.0.0: dependencies: ansi-styles: 6.2.1 is-fullwidth-code-point: 4.0.0 - dev: true - /slice-ansi@6.0.0: - resolution: {integrity: sha512-6bn4hRfkTvDfUoEQYkERg0BVF1D0vrX9HEkMl08uDiNWvVvjylLHvZFZWkDo6wjT8tUctbYl1nCOuE66ZTaUtA==} - engines: {node: '>=14.16'} + slice-ansi@6.0.0: dependencies: ansi-styles: 6.2.1 is-fullwidth-code-point: 4.0.0 - dev: true - /snake-case@3.0.4: - resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} + snake-case@3.0.4: dependencies: dot-case: 3.0.4 tslib: 2.6.2 - dev: true - /solc@0.7.3(debug@4.3.4): - resolution: {integrity: sha512-GAsWNAjGzIDg7VxzP6mPjdurby3IkGCjQcM8GFYZT6RyaoUZKmMU6Y7YwG+tFGhv7dwZ8rmR4iwFDrrD99JwqA==} - engines: {node: '>=8.0.0'} - hasBin: true + solc@0.7.3(debug@4.3.4): dependencies: command-exists: 1.2.9 commander: 3.0.2 @@ -16523,19 +19072,12 @@ packages: tmp: 0.0.33 transitivePeerDependencies: - debug - dev: true - /solidity-ast@0.4.56: - resolution: {integrity: sha512-HgmsA/Gfklm/M8GFbCX/J1qkVH0spXHgALCNZ8fA8x5X+MFdn/8CP2gr5OVyXjXw6RZTPC/Sxl2RUDQOXyNMeA==} + solidity-ast@0.4.56: dependencies: array.prototype.findlast: 1.2.5 - dev: true - /solidity-coverage@0.8.12(hardhat@2.22.2): - resolution: {integrity: sha512-8cOB1PtjnjFRqOgwFiD8DaUsYJtVJ6+YdXQtSZDrLGf8cdhhh8xzTtGzVTGeBf15kTv0v7lYPJlV/az7zLEPJw==} - hasBin: true - peerDependencies: - hardhat: ^2.11.0 + solidity-coverage@0.8.12(hardhat@2.22.2): dependencies: '@ethersproject/abi': 5.7.0 '@solidity-parser/parser': 0.18.0 @@ -16557,25 +19099,16 @@ packages: semver: 7.6.0 shelljs: 0.8.5 web3-utils: 1.10.4 - dev: true - /solidity-docgen@0.6.0-beta.36(hardhat@2.22.2): - resolution: {integrity: sha512-f/I5G2iJgU1h0XrrjRD0hHMr7C10u276vYvm//rw1TzFcYQ4xTOyAoi9oNAHRU0JU4mY9eTuxdVc2zahdMuhaQ==} - peerDependencies: - hardhat: ^2.8.0 + solidity-docgen@0.6.0-beta.36(hardhat@2.22.2): dependencies: handlebars: 4.7.8 hardhat: 2.22.2(ts-node@10.9.2)(typescript@5.0.4) solidity-ast: 0.4.56 - dev: true - /sort-object-keys@1.1.3: - resolution: {integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==} - dev: true + sort-object-keys@1.1.3: {} - /sort-package-json@2.10.0: - resolution: {integrity: sha512-MYecfvObMwJjjJskhxYfuOADkXp1ZMMnCFC8yhp+9HDsk7HhR336hd7eiBs96lTXfiqmUNI+WQCeCMRBhl251g==} - hasBin: true + sort-package-json@2.10.0: dependencies: detect-indent: 7.0.1 detect-newline: 4.0.1 @@ -16585,88 +19118,53 @@ packages: is-plain-obj: 4.1.0 semver: 7.6.0 sort-object-keys: 1.1.3 - dev: true - /source-map-js@1.2.0: - resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} - engines: {node: '>=0.10.0'} - dev: true + source-map-js@1.2.0: {} - /source-map-support@0.5.13: - resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} + source-map-support@0.5.13: dependencies: buffer-from: 1.1.2 source-map: 0.6.1 - dev: true - /source-map-support@0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} + source-map-support@0.5.21: dependencies: buffer-from: 1.1.2 source-map: 0.6.1 - dev: true - /source-map@0.2.0: - resolution: {integrity: sha512-CBdZ2oa/BHhS4xj5DlhjWNHcan57/5YuvfdLf17iVmIpd9KRm+DFLmC6nBNj+6Ua7Kt3TmOjDpQT1aTYOQtoUA==} - engines: {node: '>=0.8.0'} - requiresBuild: true + source-map@0.2.0: dependencies: amdefine: 1.0.1 - dev: true optional: true - /source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - dev: true + source-map@0.6.1: {} - /spdx-correct@3.2.0: - resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} + spdx-correct@3.2.0: dependencies: spdx-expression-parse: 3.0.1 spdx-license-ids: 3.0.17 - dev: true - /spdx-exceptions@2.5.0: - resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} - dev: true + spdx-exceptions@2.5.0: {} - /spdx-expression-parse@3.0.1: - resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} + spdx-expression-parse@3.0.1: dependencies: spdx-exceptions: 2.5.0 spdx-license-ids: 3.0.17 - dev: true - /spdx-license-ids@3.0.17: - resolution: {integrity: sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==} - dev: true + spdx-license-ids@3.0.17: {} - /split2@3.2.2: - resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} + split2@3.2.2: dependencies: readable-stream: 3.6.2 - dev: true - /split2@4.2.0: - resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} - engines: {node: '>= 10.x'} - dev: true + split2@4.2.0: {} - /sponge-case@1.0.1: - resolution: {integrity: sha512-dblb9Et4DAtiZ5YSUZHLl4XhH4uK80GhAZrVXdN4O2P4gQ40Wa5UIOPUHlA/nFd2PLblBZWUioLMMAVrgpoYcA==} + sponge-case@1.0.1: dependencies: tslib: 2.6.2 - dev: true - /sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - dev: true + sprintf-js@1.0.3: {} - /sst-aws-cdk@2.132.1: - resolution: {integrity: sha512-zep3sr+XkCmw9rHjgYQc44G+6s4eB/yxgLCCoi1h6R2AN8IarwZ4aHRwxAfigmJTPXYO6kmsxBIOcwjKy+oi3g==} - engines: {node: '>= 14.15.0'} - hasBin: true + sst-aws-cdk@2.132.1: dependencies: archiver: 5.3.2 chalk: 4.1.2 @@ -16675,16 +19173,8 @@ packages: yaml: 1.10.2 optionalDependencies: fsevents: 2.3.2 - dev: true - /sst@2.41.5: - resolution: {integrity: sha512-IM1O1CnDcrjAAsl0ag9fXxQ7zyjYXyZDxBZwcdrAbjnijaSBMheC9v3b+WMXmRj1YBiVOjGAHIgzkTJVp/REvg==} - hasBin: true - peerDependencies: - '@sls-next/lambda-at-edge': ^3.7.0 - peerDependenciesMeta: - '@sls-next/lambda-at-edge': - optional: true + sst@2.41.5: dependencies: '@aws-cdk/aws-lambda-python-alpha': 2.132.1-alpha.0(aws-cdk-lib@2.132.1)(constructs@10.3.0) '@aws-cdk/cloud-assembly-schema': 2.132.1 @@ -16764,93 +19254,56 @@ packages: - react-devtools-core - supports-color - utf-8-validate - dev: true - /stack-chain@1.3.7: - resolution: {integrity: sha512-D8cWtWVdIe/jBA7v5p5Hwl5yOSOrmZPWDPe2KxQ5UAGD+nxbxU0lKXA4h85Ta6+qgdKVL3vUxsbIZjc1kBG7ug==} - dev: false + stack-chain@1.3.7: {} - /stack-utils@2.0.6: - resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} - engines: {node: '>=10'} + stack-utils@2.0.6: dependencies: escape-string-regexp: 2.0.0 - dev: true - /stacktrace-parser@0.1.10: - resolution: {integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==} - engines: {node: '>=6'} + stacktrace-parser@0.1.10: dependencies: type-fest: 0.7.1 - dev: true - /statuses@2.0.1: - resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} - engines: {node: '>= 0.8'} - dev: true + statuses@2.0.1: {} - /stdin-discarder@0.1.0: - resolution: {integrity: sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + stdin-discarder@0.1.0: dependencies: bl: 5.1.0 - dev: true - /stream-shift@1.0.3: - resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==} - dev: true + stream-shift@1.0.3: {} - /stream-to-array@2.3.0: - resolution: {integrity: sha512-UsZtOYEn4tWU2RGLOXr/o/xjRBftZRlG3dEWoaHr8j4GuypJ3isitGbVyjQKAuMu+xbiop8q224TjiZWc4XTZA==} + stream-to-array@2.3.0: dependencies: any-promise: 1.3.0 - dev: true - /streamsearch@1.1.0: - resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} - engines: {node: '>=10.0.0'} - dev: true + streamsearch@1.1.0: {} - /string-env-interpolation@1.0.1: - resolution: {integrity: sha512-78lwMoCcn0nNu8LszbP1UA7g55OeE4v7rCeWnM5B453rnNr4aq+5it3FEYtZrSEiMvHZOZ9Jlqb0OD0M2VInqg==} - dev: true + string-env-interpolation@1.0.1: {} - /string-length@4.0.2: - resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} - engines: {node: '>=10'} + string-length@4.0.2: dependencies: char-regex: 1.0.2 strip-ansi: 6.0.1 - dev: true - /string-width@2.1.1: - resolution: {integrity: sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==} - engines: {node: '>=4'} + string-width@2.1.1: dependencies: is-fullwidth-code-point: 2.0.0 strip-ansi: 4.0.0 - dev: true - /string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} + string-width@4.2.3: dependencies: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - /string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} + string-width@5.1.2: dependencies: eastasianwidth: 0.2.0 emoji-regex: 9.2.2 strip-ansi: 7.1.0 - dev: true - /string.prototype.matchall@4.0.11: - resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} - engines: {node: '>= 0.4'} + string.prototype.matchall@4.0.11: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -16864,236 +19317,144 @@ packages: regexp.prototype.flags: 1.5.2 set-function-name: 2.0.2 side-channel: 1.0.6 - dev: true - /string.prototype.trim@1.2.9: - resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} - engines: {node: '>= 0.4'} + string.prototype.trim@1.2.9: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.3 es-object-atoms: 1.0.0 - dev: true - /string.prototype.trimend@1.0.8: - resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} + string.prototype.trimend@1.0.8: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-object-atoms: 1.0.0 - dev: true - /string.prototype.trimstart@1.0.8: - resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} - engines: {node: '>= 0.4'} + string.prototype.trimstart@1.0.8: dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-object-atoms: 1.0.0 - dev: true - /string_decoder@1.1.1: - resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + string_decoder@1.1.1: dependencies: safe-buffer: 5.1.2 - dev: true - /string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} + string_decoder@1.3.0: dependencies: safe-buffer: 5.2.1 - dev: true - /stringify-object@3.3.0: - resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} - engines: {node: '>=4'} + stringify-object@3.3.0: dependencies: get-own-enumerable-property-symbols: 3.0.2 is-obj: 1.0.1 is-regexp: 1.0.0 - dev: true - /strip-ansi@4.0.0: - resolution: {integrity: sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==} - engines: {node: '>=4'} + strip-ansi@4.0.0: dependencies: ansi-regex: 3.0.1 - dev: true - /strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} + strip-ansi@6.0.1: dependencies: ansi-regex: 5.0.1 - /strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} - engines: {node: '>=12'} + strip-ansi@7.1.0: dependencies: ansi-regex: 6.0.1 - dev: true - /strip-bom@3.0.0: - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} - engines: {node: '>=4'} - dev: true + strip-bom@3.0.0: {} - /strip-bom@4.0.0: - resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} - engines: {node: '>=8'} - dev: true + strip-bom@4.0.0: {} - /strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} - dev: true + strip-final-newline@2.0.0: {} - /strip-hex-prefix@1.0.0: - resolution: {integrity: sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==} - engines: {node: '>=6.5.0', npm: '>=3'} + strip-hex-prefix@1.0.0: dependencies: is-hex-prefixed: 1.0.0 - dev: true - /strip-indent@3.0.0: - resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} - engines: {node: '>=8'} + strip-indent@3.0.0: dependencies: min-indent: 1.0.1 - dev: true - /strip-json-comments@2.0.1: - resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} - engines: {node: '>=0.10.0'} - dev: true + strip-json-comments@2.0.1: {} - /strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - dev: true + strip-json-comments@3.1.1: {} - /strnum@1.0.5: - resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} + strnum@1.0.5: {} - /stylus-lookup@5.0.1: - resolution: {integrity: sha512-tLtJEd5AGvnVy4f9UHQMw4bkJJtaAcmo54N+ovQBjDY3DuWyK9Eltxzr5+KG0q4ew6v2EHyuWWNnHeiw/Eo7rQ==} - engines: {node: '>=14'} - hasBin: true + stylus-lookup@5.0.1: dependencies: commander: 10.0.1 - dev: true - /superjson@1.13.3: - resolution: {integrity: sha512-mJiVjfd2vokfDxsQPOwJ/PtanO87LhpYY88ubI5dUB1Ab58Txbyje3+jpm+/83R/fevaq/107NNhtYBLuoTrFg==} - engines: {node: '>=10'} + superjson@1.13.3: dependencies: copy-anything: 3.0.5 - dev: false - /supports-color@3.2.3: - resolution: {integrity: sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==} - engines: {node: '>=0.8.0'} + supports-color@3.2.3: dependencies: has-flag: 1.0.0 - dev: true - /supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} + supports-color@5.5.0: dependencies: has-flag: 3.0.0 - dev: true - /supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} + supports-color@7.2.0: dependencies: has-flag: 4.0.0 - /supports-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} + supports-color@8.1.1: dependencies: has-flag: 4.0.0 - dev: true - /supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} + supports-preserve-symlinks-flag@1.0.0: {} - /swap-case@2.0.2: - resolution: {integrity: sha512-kc6S2YS/2yXbtkSMunBtKdah4VFETZ8Oh6ONSmSd9bRxhqTrtARUCBUiWXH3xVPpvR7tz2CSnkuXVE42EcGnMw==} + swap-case@2.0.2: dependencies: tslib: 2.6.2 - dev: true - /sync-request@6.1.0: - resolution: {integrity: sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==} - engines: {node: '>=8.0.0'} + sync-request@6.1.0: dependencies: http-response-object: 3.0.2 sync-rpc: 1.3.6 then-request: 6.0.2 - dev: true - /sync-rpc@1.3.6: - resolution: {integrity: sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==} + sync-rpc@1.3.6: dependencies: get-port: 3.2.0 - dev: true - /synckit@0.9.0: - resolution: {integrity: sha512-7RnqIMq572L8PeEzKeBINYEJDDxpcH8JEgLwUqBd3TkofhFRbkq4QLR0u+36avGAhCRbk2nnmjcW9SE531hPDg==} - engines: {node: ^14.18.0 || >=16.0.0} + synckit@0.9.0: dependencies: '@pkgr/core': 0.1.1 tslib: 2.6.2 - dev: true - /table@6.8.2: - resolution: {integrity: sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==} - engines: {node: '>=10.0.0'} + table@6.8.2: dependencies: ajv: 8.12.0 lodash.truncate: 4.4.2 slice-ansi: 4.0.0 string-width: 4.2.3 strip-ansi: 6.0.1 - dev: true - /tapable@2.2.1: - resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} - engines: {node: '>=6'} - dev: true + tapable@2.2.1: {} - /tar-stream@2.2.0: - resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} - engines: {node: '>=6'} + tar-stream@2.2.0: dependencies: bl: 4.1.0 end-of-stream: 1.4.4 fs-constants: 1.0.0 inherits: 2.0.4 readable-stream: 3.6.2 - dev: true - /test-exclude@6.0.0: - resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} - engines: {node: '>=8'} + test-exclude@6.0.0: dependencies: '@istanbuljs/schema': 0.1.3 glob: 7.2.3 minimatch: 3.1.2 - dev: true - /text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - dev: true + text-table@0.2.0: {} - /then-request@6.0.2: - resolution: {integrity: sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==} - engines: {node: '>=6.0.0'} + then-request@6.0.2: dependencies: '@types/concat-stream': 1.6.1 '@types/form-data': 0.0.33 @@ -17106,91 +19467,40 @@ packages: http-response-object: 3.0.2 promise: 8.3.0 qs: 6.12.1 - dev: true - /through@2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - dev: true + through@2.3.8: {} - /tiny-emitter@2.1.0: - resolution: {integrity: sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==} - dev: true + tiny-emitter@2.1.0: {} - /title-case@3.0.3: - resolution: {integrity: sha512-e1zGYRvbffpcHIrnuqT0Dh+gEJtDaxDSoG4JAIpq4oDFyooziLBIiYQv0GBT4FUAnUop5uZ1hiIAj7oAF6sOCA==} + title-case@3.0.3: dependencies: tslib: 2.6.2 - dev: true - /tmp@0.0.33: - resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} - engines: {node: '>=0.6.0'} + tmp@0.0.33: dependencies: os-tmpdir: 1.0.2 - /tmpl@1.0.5: - resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} - dev: true + tmpl@1.0.5: {} - /to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} - dev: true + to-fast-properties@2.0.0: {} - /to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} + to-regex-range@5.0.1: dependencies: is-number: 7.0.0 - dev: true - /toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} - dev: true + toidentifier@1.0.1: {} - /tr46@0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} + tr46@0.0.3: {} - /tree-kill@1.2.2: - resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} - hasBin: true - dev: true + tree-kill@1.2.2: {} - /ts-api-utils@1.3.0(typescript@5.4.5): - resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} - engines: {node: '>=16'} - peerDependencies: - typescript: '>=4.2.0' + ts-api-utils@1.3.0(typescript@5.4.5): dependencies: typescript: 5.4.5 - dev: true - /ts-graphviz@1.8.2: - resolution: {integrity: sha512-5YhbFoHmjxa7pgQLkB07MtGnGJ/yhvjmc9uhsnDBEICME6gkPf83SBwLDQqGDoCa3XzUMWLk1AU2Wn1u1naDtA==} - engines: {node: '>=14.16'} - dev: true + ts-graphviz@1.8.2: {} - /ts-jest@29.1.2(@babel/core@7.24.4)(esbuild@0.20.2)(jest@29.7.0)(typescript@5.4.5): - resolution: {integrity: sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g==} - engines: {node: ^16.10.0 || ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@babel/core': '>=7.0.0-beta.0 <8' - '@jest/types': ^29.0.0 - babel-jest: ^29.0.0 - esbuild: '*' - jest: ^29.0.0 - typescript: '>=4.3 <6' - peerDependenciesMeta: - '@babel/core': - optional: true - '@jest/types': - optional: true - babel-jest: - optional: true - esbuild: - optional: true + ts-jest@29.1.2(@babel/core@7.24.4)(esbuild@0.20.2)(jest@29.7.0)(typescript@5.4.5): dependencies: '@babel/core': 7.24.4 bs-logger: 0.2.6 @@ -17204,25 +19514,10 @@ packages: semver: 7.6.0 typescript: 5.4.5 yargs-parser: 21.1.1 - dev: true - /ts-log@2.2.5: - resolution: {integrity: sha512-PGcnJoTBnVGy6yYNFxWVNkdcAuAMstvutN9MgDJIV6L0oG8fB+ZNNy1T+wJzah8RPGor1mZuPQkVfXNDpy9eHA==} - dev: true + ts-log@2.2.5: {} - /ts-node@10.9.2(@types/node@20.12.7)(typescript@5.0.4): - resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true + ts-node@10.9.2(@types/node@20.12.7)(typescript@5.0.4): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 @@ -17239,11 +19534,8 @@ packages: typescript: 5.0.4 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 - dev: true - /tsc-alias@1.8.8: - resolution: {integrity: sha512-OYUOd2wl0H858NvABWr/BoSKNERw3N9GTi3rHPK8Iv4O1UyUXIrTTOAZNHsjlVpXFOhpJBVARI1s+rzwLivN3Q==} - hasBin: true + tsc-alias@1.8.8: dependencies: chokidar: 3.6.0 commander: 9.5.0 @@ -17251,123 +19543,66 @@ packages: mylas: 2.1.13 normalize-path: 3.0.0 plimit-lit: 1.6.1 - dev: true - /tsconfig-paths@3.15.0: - resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + tsconfig-paths@3.15.0: dependencies: '@types/json5': 0.0.29 json5: 1.0.2 minimist: 1.2.8 strip-bom: 3.0.0 - dev: true - /tsconfig-paths@4.2.0: - resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} - engines: {node: '>=6'} + tsconfig-paths@4.2.0: dependencies: json5: 2.2.3 minimist: 1.2.8 strip-bom: 3.0.0 - dev: true - /tslib@1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + tslib@1.14.1: {} - /tslib@2.4.0: - resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} - dev: true + tslib@2.4.0: {} - /tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + tslib@2.6.2: {} - /tsort@0.0.1: - resolution: {integrity: sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==} - dev: true + tsort@0.0.1: {} - /tsutils@3.21.0(typescript@5.4.5): - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} - peerDependencies: - typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' + tsutils@3.21.0(typescript@5.4.5): dependencies: tslib: 1.14.1 typescript: 5.4.5 - dev: true - /tsx@4.7.2: - resolution: {integrity: sha512-BCNd4kz6fz12fyrgCTEdZHGJ9fWTGeUzXmQysh0RVocDY3h4frk05ZNCXSy4kIenF7y/QnrdiVpTsyNRn6vlAw==} - engines: {node: '>=18.0.0'} - hasBin: true + tsx@4.7.2: dependencies: esbuild: 0.19.12 get-tsconfig: 4.7.3 optionalDependencies: fsevents: 2.3.3 - dev: true - /tsx@4.9.3: - resolution: {integrity: sha512-czVbetlILiyJZI5zGlj2kw9vFiSeyra9liPD4nG+Thh4pKTi0AmMEQ8zdV/L2xbIVKrIqif4sUNrsMAOksx9Zg==} - engines: {node: '>=18.0.0'} - hasBin: true + tsx@4.9.3: dependencies: esbuild: 0.20.2 get-tsconfig: 4.7.3 optionalDependencies: fsevents: 2.3.3 - dev: true - /turbo-darwin-64@1.13.2: - resolution: {integrity: sha512-CCSuD8CfmtncpohCuIgq7eAzUas0IwSbHfI8/Q3vKObTdXyN8vAo01gwqXjDGpzG9bTEVedD0GmLbD23dR0MLA==} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true + turbo-darwin-64@1.13.2: optional: true - /turbo-darwin-arm64@1.13.2: - resolution: {integrity: sha512-0HySm06/D2N91rJJ89FbiI/AodmY8B3WDSFTVEpu2+8spUw7hOJ8okWOT0e5iGlyayUP9gr31eOeL3VFZkpfCw==} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true + turbo-darwin-arm64@1.13.2: optional: true - /turbo-linux-64@1.13.2: - resolution: {integrity: sha512-7HnibgbqZrjn4lcfIouzlPu8ZHSBtURG4c7Bedu7WJUDeZo+RE1crlrQm8wuwO54S0siYqUqo7GNHxu4IXbioQ==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true + turbo-linux-64@1.13.2: optional: true - /turbo-linux-arm64@1.13.2: - resolution: {integrity: sha512-sUq4dbpk6SNKg/Hkwn256Vj2AEYSQdG96repio894h5/LEfauIK2QYiC/xxAeW3WBMc6BngmvNyURIg7ltrePg==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true + turbo-linux-arm64@1.13.2: optional: true - /turbo-windows-64@1.13.2: - resolution: {integrity: sha512-DqzhcrciWq3dpzllJR2VVIyOhSlXYCo4mNEWl98DJ3FZ08PEzcI3ceudlH6F0t/nIcfSItK1bDP39cs7YoZHEA==} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true + turbo-windows-64@1.13.2: optional: true - /turbo-windows-arm64@1.13.2: - resolution: {integrity: sha512-WnPMrwfCXxK69CdDfS1/j2DlzcKxSmycgDAqV0XCYpK/812KB0KlvsVAt5PjEbZGXkY88pCJ1BLZHAjF5FcbqA==} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true + turbo-windows-arm64@1.13.2: optional: true - /turbo@1.13.2: - resolution: {integrity: sha512-rX/d9f4MgRT3yK6cERPAkfavIxbpBZowDQpgvkYwGMGDQ0Nvw1nc0NVjruE76GrzXQqoxR1UpnmEP54vBARFHQ==} - hasBin: true + turbo@1.13.2: optionalDependencies: turbo-darwin-64: 1.13.2 turbo-darwin-arm64: 1.13.2 @@ -17375,95 +19610,53 @@ packages: turbo-linux-arm64: 1.13.2 turbo-windows-64: 1.13.2 turbo-windows-arm64: 1.13.2 - dev: true - /tweetnacl-util@0.15.1: - resolution: {integrity: sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==} - dev: true + tweetnacl-util@0.15.1: {} - /tweetnacl@1.0.3: - resolution: {integrity: sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==} - dev: true + tweetnacl@1.0.3: {} - /type-check@0.3.2: - resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} - engines: {node: '>= 0.8.0'} + type-check@0.3.2: dependencies: prelude-ls: 1.1.2 - dev: true - /type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} + type-check@0.4.0: dependencies: prelude-ls: 1.2.1 - dev: true - /type-detect@4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} - dev: true + type-detect@4.0.8: {} - /type-fest@0.12.0: - resolution: {integrity: sha512-53RyidyjvkGpnWPMF9bQgFtWp+Sl8O2Rp13VavmJgfAP9WWG6q6TkrKU8iyJdnwnfgHI6k2hTlgqH4aSdjoTbg==} - engines: {node: '>=10'} - dev: true + type-fest@0.12.0: {} - /type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - dev: true + type-fest@0.20.2: {} - /type-fest@0.21.3: - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} - engines: {node: '>=10'} + type-fest@0.21.3: {} - /type-fest@0.6.0: - resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} - engines: {node: '>=8'} - dev: true + type-fest@0.6.0: {} - /type-fest@0.7.1: - resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} - engines: {node: '>=8'} - dev: true + type-fest@0.7.1: {} - /type-fest@0.8.1: - resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} - engines: {node: '>=8'} - dev: true + type-fest@0.8.1: {} - /type-is@1.6.18: - resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} - engines: {node: '>= 0.6'} + type-is@1.6.18: dependencies: media-typer: 0.3.0 mime-types: 2.1.35 - dev: true - /typed-array-buffer@1.0.2: - resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} - engines: {node: '>= 0.4'} + typed-array-buffer@1.0.2: dependencies: call-bind: 1.0.7 es-errors: 1.3.0 is-typed-array: 1.1.13 - dev: true - /typed-array-byte-length@1.0.1: - resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} - engines: {node: '>= 0.4'} + typed-array-byte-length@1.0.1: dependencies: call-bind: 1.0.7 for-each: 0.3.3 gopd: 1.0.1 has-proto: 1.0.3 is-typed-array: 1.1.13 - dev: true - /typed-array-byte-offset@1.0.2: - resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} - engines: {node: '>= 0.4'} + typed-array-byte-offset@1.0.2: dependencies: available-typed-arrays: 1.0.7 call-bind: 1.0.7 @@ -17471,11 +19664,8 @@ packages: gopd: 1.0.1 has-proto: 1.0.3 is-typed-array: 1.1.13 - dev: true - /typed-array-length@1.0.6: - resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} - engines: {node: '>= 0.4'} + typed-array-length@1.0.6: dependencies: call-bind: 1.0.7 for-each: 0.3.3 @@ -17483,208 +19673,112 @@ packages: has-proto: 1.0.3 is-typed-array: 1.1.13 possible-typed-array-names: 1.0.0 - dev: true - /typed-function@2.1.0: - resolution: {integrity: sha512-bctQIOqx2iVbWGDGPWwIm18QScpu2XRmkC19D8rQGFsjKSgteq/o1hTZvIG/wuDq8fanpBDrLkLq+aEN/6y5XQ==} - engines: {node: '>= 10'} - dev: true + typed-function@2.1.0: {} - /typedarray@0.0.6: - resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} - dev: true + typedarray@0.0.6: {} - /typescript@5.0.4: - resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==} - engines: {node: '>=12.20'} - hasBin: true - dev: true + typescript@5.0.4: {} - /typescript@5.4.5: - resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} - engines: {node: '>=14.17'} - hasBin: true + typescript@5.4.5: {} - /ua-parser-js@1.0.37: - resolution: {integrity: sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==} - dev: true + ua-parser-js@1.0.37: {} - /uglify-js@3.17.4: - resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==} - engines: {node: '>=0.8.0'} - hasBin: true - requiresBuild: true - dev: true + uglify-js@3.17.4: optional: true - /ultron@1.1.1: - resolution: {integrity: sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==} - dev: true + ultron@1.1.1: {} - /unbox-primitive@1.0.2: - resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} + unbox-primitive@1.0.2: dependencies: call-bind: 1.0.7 has-bigints: 1.0.2 has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 - dev: true - /unc-path-regex@0.1.2: - resolution: {integrity: sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==} - engines: {node: '>=0.10.0'} - dev: true + unc-path-regex@0.1.2: {} - /undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} + undici-types@5.26.5: {} - /undici@5.28.4: - resolution: {integrity: sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==} - engines: {node: '>=14.0'} + undici@5.28.4: dependencies: '@fastify/busboy': 2.1.1 - dev: true - /universalify@0.1.2: - resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} - engines: {node: '>= 4.0.0'} - dev: true + universalify@0.1.2: {} - /universalify@2.0.1: - resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} - engines: {node: '>= 10.0.0'} - dev: true + universalify@2.0.1: {} - /unixify@1.0.0: - resolution: {integrity: sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg==} - engines: {node: '>=0.10.0'} + unixify@1.0.0: dependencies: normalize-path: 2.1.1 - dev: true - /unpipe@1.0.0: - resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} - engines: {node: '>= 0.8'} - dev: true + unpipe@1.0.0: {} - /update-browserslist-db@1.0.13(browserslist@4.23.0): - resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' + update-browserslist-db@1.0.13(browserslist@4.23.0): dependencies: browserslist: 4.23.0 escalade: 3.1.2 picocolors: 1.0.0 - dev: true - /upper-case-first@2.0.2: - resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} + upper-case-first@2.0.2: dependencies: tslib: 2.6.2 - dev: true - /upper-case@2.0.2: - resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==} + upper-case@2.0.2: dependencies: tslib: 2.6.2 - dev: true - /uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + uri-js@4.4.1: dependencies: punycode: 2.3.1 - dev: true - /url@0.10.3: - resolution: {integrity: sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==} + url@0.10.3: dependencies: punycode: 1.3.2 querystring: 0.2.0 - dev: true - /urlpattern-polyfill@10.0.0: - resolution: {integrity: sha512-H/A06tKD7sS1O1X2SshBVeA5FLycRpjqiBeqGKmBwBDBy28EnRjORxTNe269KSSr5un5qyWi1iL61wLxpd+ZOg==} - dev: true + urlpattern-polyfill@10.0.0: {} - /urlpattern-polyfill@8.0.2: - resolution: {integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==} - dev: true + urlpattern-polyfill@8.0.2: {} - /utf8@3.0.0: - resolution: {integrity: sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==} - dev: true + utf8@3.0.0: {} - /util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - dev: true + util-deprecate@1.0.2: {} - /util@0.12.5: - resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} + util@0.12.5: dependencies: inherits: 2.0.4 is-arguments: 1.1.1 is-generator-function: 1.0.10 is-typed-array: 1.1.13 which-typed-array: 1.1.15 - dev: true - /utils-merge@1.0.1: - resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} - engines: {node: '>= 0.4.0'} - dev: true + utils-merge@1.0.1: {} - /uuid@8.0.0: - resolution: {integrity: sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==} - hasBin: true - dev: true + uuid@8.0.0: {} - /uuid@8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} - hasBin: true - dev: true + uuid@8.3.2: {} - /uuid@9.0.1: - resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} - hasBin: true + uuid@9.0.1: {} - /v8-compile-cache-lib@3.0.1: - resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} - dev: true + v8-compile-cache-lib@3.0.1: {} - /v8-to-istanbul@9.2.0: - resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} - engines: {node: '>=10.12.0'} + v8-to-istanbul@9.2.0: dependencies: '@jridgewell/trace-mapping': 0.3.25 '@types/istanbul-lib-coverage': 2.0.6 convert-source-map: 2.0.0 - dev: true - /validate-npm-package-license@3.0.4: - resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} + validate-npm-package-license@3.0.4: dependencies: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 - dev: true - /value-or-promise@1.0.12: - resolution: {integrity: sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q==} - engines: {node: '>=12'} - dev: true + value-or-promise@1.0.12: {} - /vary@1.1.2: - resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} - engines: {node: '>= 0.8'} - dev: true + vary@1.1.2: {} - /viem@1.21.4(typescript@5.0.4)(zod@3.22.4): - resolution: {integrity: sha512-BNVYdSaUjeS2zKQgPs+49e5JKocfo60Ib2yiXOWBT6LuVxY1I/6fFX3waEtpXvL1Xn4qu+BVitVtMh9lyThyhQ==} - peerDependencies: - typescript: '>=5.0.4' - peerDependenciesMeta: - typescript: - optional: true + viem@1.21.4(typescript@5.0.4)(zod@3.22.4): dependencies: '@adraffy/ens-normalize': 1.10.0 '@noble/curves': 1.2.0 @@ -17699,15 +19793,8 @@ packages: - bufferutil - utf-8-validate - zod - dev: true - /viem@1.21.4(typescript@5.4.5)(zod@3.22.4): - resolution: {integrity: sha512-BNVYdSaUjeS2zKQgPs+49e5JKocfo60Ib2yiXOWBT6LuVxY1I/6fFX3waEtpXvL1Xn4qu+BVitVtMh9lyThyhQ==} - peerDependencies: - typescript: '>=5.0.4' - peerDependenciesMeta: - typescript: - optional: true + viem@1.21.4(typescript@5.4.5)(zod@3.22.4): dependencies: '@adraffy/ens-normalize': 1.10.0 '@noble/curves': 1.2.0 @@ -17722,15 +19809,8 @@ packages: - bufferutil - utf-8-validate - zod - dev: false - /viem@2.9.19(typescript@5.4.5)(zod@3.22.4): - resolution: {integrity: sha512-1txsVoTz9+XGQpuN62wcDXasNtalW52UR41KnzwWTwHtV2cDcGuVuS/j/hcuQdZ7pU8X8jtq2IrwwR4jjKpy9Q==} - peerDependencies: - typescript: '>=5.0.4' - peerDependenciesMeta: - typescript: - optional: true + viem@2.9.19(typescript@5.4.5)(zod@3.22.4): dependencies: '@adraffy/ens-normalize': 1.10.0 '@noble/curves': 1.2.0 @@ -17745,32 +19825,20 @@ packages: - bufferutil - utf-8-validate - zod - dev: false - /walkdir@0.4.1: - resolution: {integrity: sha512-3eBwRyEln6E1MSzcxcVpQIhRG8Q1jLvEqRmCZqS3dsfXEDR/AhOF4d+jHg1qvDCpYaVRZjENPQyrVxAkQqxPgQ==} - engines: {node: '>=6.0.0'} - dev: true + walkdir@0.4.1: {} - /walker@1.0.8: - resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} + walker@1.0.8: dependencies: makeerror: 1.0.12 - dev: true - /wcwidth@1.0.1: - resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + wcwidth@1.0.1: dependencies: defaults: 1.0.4 - dev: true - /web-streams-polyfill@3.3.3: - resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} - engines: {node: '>= 8'} + web-streams-polyfill@3.3.3: {} - /web3-utils@1.10.4: - resolution: {integrity: sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A==} - engines: {node: '>=8.0.0'} + web3-utils@1.10.4: dependencies: '@ethereumjs/util': 8.1.0 bn.js: 5.2.1 @@ -17780,23 +19848,18 @@ packages: number-to-bn: 1.7.0 randombytes: 2.1.0 utf8: 3.0.0 - dev: true - /webcrypto-core@1.7.9: - resolution: {integrity: sha512-FE+a4PPkOmBbgNDIyRmcHhgXn+2ClRl3JzJdDu/P4+B8y81LqKe6RAsI9b3lAOHe1T1BMkSjsRHTYRikImZnVA==} + webcrypto-core@1.7.9: dependencies: '@peculiar/asn1-schema': 2.3.8 '@peculiar/json-schema': 1.1.12 asn1js: 3.0.5 pvtsutils: 1.3.5 tslib: 2.6.2 - dev: true - /webidl-conversions@3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} + webidl-conversions@3.0.1: {} - /websocket-stream@5.5.2: - resolution: {integrity: sha512-8z49MKIHbGk3C4HtuHWDtYX8mYej1wWabjthC/RupM9ngeukU4IWoM46dgth1UOS/T4/IqgEdCDJuMe2039OQQ==} + websocket-stream@5.5.2: dependencies: duplexify: 3.7.1 inherits: 2.0.4 @@ -17807,27 +19870,21 @@ packages: transitivePeerDependencies: - bufferutil - utf-8-validate - dev: true - /whatwg-url@5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} + whatwg-url@5.0.0: dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 - /which-boxed-primitive@1.0.2: - resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + which-boxed-primitive@1.0.2: dependencies: is-bigint: 1.0.4 is-boolean-object: 1.1.2 is-number-object: 1.0.7 is-string: 1.0.7 is-symbol: 1.0.4 - dev: true - /which-builtin-type@1.1.3: - resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==} - engines: {node: '>= 0.4'} + which-builtin-type@1.1.3: dependencies: function.prototype.name: 1.1.6 has-tostringtag: 1.0.2 @@ -17841,272 +19898,127 @@ packages: which-boxed-primitive: 1.0.2 which-collection: 1.0.2 which-typed-array: 1.1.15 - dev: true - /which-collection@1.0.2: - resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} - engines: {node: '>= 0.4'} + which-collection@1.0.2: dependencies: is-map: 2.0.3 is-set: 2.0.3 is-weakmap: 2.0.2 is-weakset: 2.0.3 - dev: true - /which-module@2.0.1: - resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} - dev: true + which-module@2.0.1: {} - /which-typed-array@1.1.15: - resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} - engines: {node: '>= 0.4'} + which-typed-array@1.1.15: dependencies: available-typed-arrays: 1.0.7 call-bind: 1.0.7 for-each: 0.3.3 gopd: 1.0.1 has-tostringtag: 1.0.2 - dev: true - /which@1.3.1: - resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} - hasBin: true + which@1.3.1: dependencies: isexe: 2.0.0 - dev: true - /which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true + which@2.0.2: dependencies: isexe: 2.0.0 - dev: true - /widest-line@3.1.0: - resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} - engines: {node: '>=8'} + widest-line@3.1.0: dependencies: string-width: 4.2.3 - dev: true - /widest-line@4.0.1: - resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} - engines: {node: '>=12'} + widest-line@4.0.1: dependencies: string-width: 5.1.2 - dev: true - /word-wrap@1.2.5: - resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} - engines: {node: '>=0.10.0'} - dev: true + word-wrap@1.2.5: {} - /wordwrap@1.0.0: - resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} - dev: true + wordwrap@1.0.0: {} - /workerpool@6.2.1: - resolution: {integrity: sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==} - dev: true + workerpool@6.2.1: {} - /wrap-ansi@6.2.0: - resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} - engines: {node: '>=8'} + wrap-ansi@6.2.0: dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 - /wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} + wrap-ansi@7.0.0: dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 - dev: true - /wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} + wrap-ansi@8.1.0: dependencies: ansi-styles: 6.2.1 string-width: 5.1.2 strip-ansi: 7.1.0 - dev: true - /wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - dev: true + wrappy@1.0.2: {} - /write-file-atomic@4.0.2: - resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + write-file-atomic@4.0.2: dependencies: imurmurhash: 0.1.4 signal-exit: 3.0.7 - dev: true - /ws@3.3.3: - resolution: {integrity: sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true + ws@3.3.3: dependencies: async-limiter: 1.0.1 safe-buffer: 5.1.2 ultron: 1.1.1 - dev: true - /ws@7.4.6: - resolution: {integrity: sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==} - engines: {node: '>=8.3.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true + ws@7.4.6: {} - /ws@7.5.9: - resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==} - engines: {node: '>=8.3.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dev: true + ws@7.5.9: {} - /ws@8.13.0: - resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true + ws@8.13.0: {} - /ws@8.16.0: - resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dev: true + ws@8.16.0: {} - /ws@8.5.0: - resolution: {integrity: sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - dev: true + ws@8.5.0: {} - /xml2js@0.6.2: - resolution: {integrity: sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==} - engines: {node: '>=4.0.0'} + xml2js@0.6.2: dependencies: sax: 1.2.1 xmlbuilder: 11.0.1 - dev: true - /xmlbuilder@11.0.1: - resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==} - engines: {node: '>=4.0'} - dev: true + xmlbuilder@11.0.1: {} - /xtend@4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} - dev: true + xtend@4.0.2: {} - /y18n@4.0.3: - resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} - dev: true + y18n@4.0.3: {} - /y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} - dev: true + y18n@5.0.8: {} - /yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - dev: true + yallist@3.1.1: {} - /yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + yallist@4.0.0: {} - /yaml-ast-parser@0.0.43: - resolution: {integrity: sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==} - dev: true + yaml-ast-parser@0.0.43: {} - /yaml@1.10.2: - resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} - engines: {node: '>= 6'} - dev: true + yaml@1.10.2: {} - /yaml@2.4.1: - resolution: {integrity: sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==} - engines: {node: '>= 14'} - hasBin: true - dev: true + yaml@2.4.1: {} - /yargs-parser@18.1.3: - resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} - engines: {node: '>=6'} + yargs-parser@18.1.3: dependencies: camelcase: 5.3.1 decamelize: 1.2.0 - dev: true - /yargs-parser@20.2.4: - resolution: {integrity: sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==} - engines: {node: '>=10'} - dev: true + yargs-parser@20.2.4: {} - /yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} - dev: true + yargs-parser@21.1.1: {} - /yargs-unparser@2.0.0: - resolution: {integrity: sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==} - engines: {node: '>=10'} + yargs-unparser@2.0.0: dependencies: camelcase: 6.3.0 decamelize: 4.0.0 flat: 5.0.2 is-plain-obj: 2.1.0 - dev: true - /yargs@15.4.1: - resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} - engines: {node: '>=8'} + yargs@15.4.1: dependencies: cliui: 6.0.0 decamelize: 1.2.0 @@ -18119,11 +20031,8 @@ packages: which-module: 2.0.1 y18n: 4.0.3 yargs-parser: 18.1.3 - dev: true - /yargs@16.2.0: - resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} - engines: {node: '>=10'} + yargs@16.2.0: dependencies: cliui: 7.0.4 escalade: 3.1.2 @@ -18132,11 +20041,8 @@ packages: string-width: 4.2.3 y18n: 5.0.8 yargs-parser: 20.2.4 - dev: true - /yargs@17.7.2: - resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} - engines: {node: '>=12'} + yargs@17.7.2: dependencies: cliui: 8.0.1 escalade: 3.1.2 @@ -18145,39 +20051,22 @@ packages: string-width: 4.2.3 y18n: 5.0.8 yargs-parser: 21.1.1 - dev: true - /yn@3.1.1: - resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} - engines: {node: '>=6'} - dev: true + yn@3.1.1: {} - /yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - dev: true + yocto-queue@0.1.0: {} - /yoga-wasm-web@0.3.3: - resolution: {integrity: sha512-N+d4UJSJbt/R3wqY7Coqs5pcV0aUj2j9IaQ3rNj9bVCLld8tTGKRa2USARjnvZJWVx1NDmQev8EknoczaOQDOA==} - dev: true + yoga-wasm-web@0.3.3: {} - /zip-stream@4.1.1: - resolution: {integrity: sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==} - engines: {node: '>= 10'} + zip-stream@4.1.1: dependencies: archiver-utils: 3.0.4 compress-commons: 4.1.2 readable-stream: 3.6.2 - dev: true - /zod@3.22.4: - resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} + zod@3.22.4: {} - /zx@8.0.1: - resolution: {integrity: sha512-Y+ITW1GQjADk7qgrbhnukMgoNsJmlyx53cUQ6/6NXU+BMBdCbTc6flTOHUctmzKvPjTmdwaddzJY/dbLie9sQg==} - engines: {node: '>= 16.0.0'} - hasBin: true + zx@8.0.1: optionalDependencies: '@types/fs-extra': 11.0.4 '@types/node': 20.12.7 - dev: true diff --git a/sdk/protocol-plugins-common/src/actions/BaseAction.ts b/sdk/protocol-plugins-common/src/actions/BaseAction.ts index c17864a8c1..1625697c9d 100644 --- a/sdk/protocol-plugins-common/src/actions/BaseAction.ts +++ b/sdk/protocol-plugins-common/src/actions/BaseAction.ts @@ -11,6 +11,7 @@ import { ActionConfig, ActionCall } from './Types' import { InputSlotsMapping } from '../types/InputSlotsMapping' import { AbiParametersToPrimitiveTypes } from 'abitype' import { IAction } from '../interfaces/IAction' +import { HexData } from '@summerfi/sdk-common' /** * @class Base class for all actions. It provides the basic functionality to encode the call to the action and provide @@ -27,10 +28,7 @@ export abstract class BaseAction< { private readonly DefaultParamsMapping: InputSlotsMapping = [0, 0, 0, 0] - /** - * @description Returns the versioned name of the action - * @returns The versioned name of the action - */ + /** @see IAction.getVersionedName */ public getVersionedName(): string { if (this.config.version === 0) { // Special case for compatiblility with v1 actions @@ -40,13 +38,12 @@ export abstract class BaseAction< } } - /** - * @description Encodes the call to the action. Provided so the implementer has an opportunity to pre-process - * the parameters before encoding the call. - * @param params The parameters to encode - * @param paramsMapping The mapping of the parameters to the execution storage - * @returns The encoded call to the action - */ + /** @see IAction.getActionHash */ + public getActionHash(): HexData { + return keccak256(toBytes(this.getVersionedName())) + } + + /** @see IAction.encodeCall */ public abstract encodeCall(params: unknown, paramsMapping?: InputSlotsMapping): ActionCall /** @@ -59,8 +56,7 @@ export abstract class BaseAction< arguments: AbiParametersTypes mapping?: InputSlotsMapping }): ActionCall { - const contractNameWithVersion = this.getVersionedName() - const targetHash = keccak256(toBytes(contractNameWithVersion)) + const targetHash = this.getActionHash() const abi = parseAbi([ 'function execute(bytes calldata data, uint8[] paramsMap) external payable returns (bytes calldata)', diff --git a/sdk/protocol-plugins-common/src/interfaces/IAction.ts b/sdk/protocol-plugins-common/src/interfaces/IAction.ts index c5839980bc..896769a0de 100644 --- a/sdk/protocol-plugins-common/src/interfaces/IAction.ts +++ b/sdk/protocol-plugins-common/src/interfaces/IAction.ts @@ -1,3 +1,4 @@ +import { HexData } from '@summerfi/sdk-common' import { ActionConfig, ActionCall } from '../actions/Types' import { InputSlotsMapping } from '../types/InputSlotsMapping' @@ -12,6 +13,12 @@ export interface IAction { */ getVersionedName(): string + /** + * @description Returns the hash of the action + * @returns The hash of the action + */ + getActionHash(): HexData + /** * @description Encodes the call to the action. Provided so the implementer has an opportunity to pre-process * the parameters before encoding the call. diff --git a/sdk/protocol-plugins-common/src/interfaces/IProtocolPlugin.ts b/sdk/protocol-plugins-common/src/interfaces/IProtocolPlugin.ts index 3a4604e85a..5387a1d37a 100644 --- a/sdk/protocol-plugins-common/src/interfaces/IProtocolPlugin.ts +++ b/sdk/protocol-plugins-common/src/interfaces/IProtocolPlugin.ts @@ -5,11 +5,11 @@ import { ILendingPoolIdData, ILendingPoolInfo, } from '@summerfi/sdk-common/protocols' -import { type IProtocolPluginContext } from './IProtocolPluginContext' -import { steps } from '@summerfi/sdk-common/simulation' +import { SimulationSteps, steps } from '@summerfi/sdk-common/simulation' import { IUser } from '@summerfi/sdk-common/user' import { IExternalPosition, IPositionsManager, TransactionInfo } from '@summerfi/sdk-common/orders' -import { IActionBuilder, ActionBuildersMap } from './IActionBuilder' +import { IActionBuilder, ActionBuildersMap, FilterStep } from './IActionBuilder' +import { IProtocolPluginContext } from './IProtocolPluginContext' /** * @interface IProtocolPlugin @@ -19,7 +19,9 @@ export interface IProtocolPlugin { protocolName: ProtocolName supportedChains: ChainInfo[] stepBuilders: Partial - context: IProtocolPluginContext + + /** INITIALIZATION */ + initialize(params: { context: IProtocolPluginContext }): void /** LENDING POOLS */ @@ -57,7 +59,12 @@ export interface IProtocolPlugin { * @param step The simulation step for which to get the action builder * @returns The action builder for the given step for the specific protocol, or undefined if not found */ - getActionBuilder(step: StepType): Maybe> + getActionBuilder< + StepType extends SimulationSteps, + Step extends FilterStep, + >( + stepType: StepType, + ): Maybe> /** IMPORT POSITION */ diff --git a/sdk/protocol-plugins/src/implementation/BaseActionBuilder.ts b/sdk/protocol-plugins/src/implementation/BaseActionBuilder.ts index cd58538236..294c0ff31f 100644 --- a/sdk/protocol-plugins/src/implementation/BaseActionBuilder.ts +++ b/sdk/protocol-plugins/src/implementation/BaseActionBuilder.ts @@ -48,7 +48,7 @@ export abstract class BaseActionBuilder throw new Error(`No protocol plugin found for protocol ${protocolName}`) } - const builder = plugin.getActionBuilder(params.actionBuilderParams.step) + const builder = plugin.getActionBuilder(params.actionBuilderParams.step.type) if (!builder) { throw new Error(`No action builder found for protocol ${protocolName}`) } diff --git a/sdk/protocol-plugins/src/implementation/BaseProtocolPlugin.ts b/sdk/protocol-plugins/src/implementation/BaseProtocolPlugin.ts index ee078e0122..d0b2cc65ed 100644 --- a/sdk/protocol-plugins/src/implementation/BaseProtocolPlugin.ts +++ b/sdk/protocol-plugins/src/implementation/BaseProtocolPlugin.ts @@ -1,5 +1,6 @@ import { ActionBuildersMap, + FilterStep, IActionBuilder, IProtocolPlugin, IProtocolPluginContext, @@ -19,7 +20,7 @@ import { ILendingPoolIdData, ILendingPoolInfo, } from '@summerfi/sdk-common/protocols' -import { steps } from '@summerfi/sdk-common/simulation' +import { SimulationSteps, steps } from '@summerfi/sdk-common/simulation' import { IUser } from '@summerfi/sdk-common/user' import { getContractAddress } from '../plugins/utils/GetContractAddress' @@ -38,23 +39,34 @@ export abstract class BaseProtocolPlugin implements IProtocolPlugin { abstract readonly stepBuilders: Partial /** These properties are initialized in the constructor */ - readonly context: IProtocolPluginContext + private _context: Maybe - protected constructor(params: { context: IProtocolPluginContext }) { - this.context = params.context + /** INITIALIZATION */ - if (!this.context.provider.chain) { + /** @see IProtocolPlugin.initialize */ + initialize(params: { context: IProtocolPluginContext }) { + if (this._context) { + throw new Error('Already initialized') + } + + this._context = params.context + + if (!this._context.provider.chain) { throw new Error('ctx.provider.chain undefined') } - if (!this.context.provider.chain.id) { + if (!this._context.provider.chain.id) { throw new Error('ctx.provider.chain.id undefined') } } // Short alias for the context - protected get ctx(): IProtocolPluginContext { - return this.context + protected get context(): IProtocolPluginContext { + if (!this._context) { + throw new Error('Context not initialized') + } + + return this._context } /** VALIDATORS */ @@ -136,14 +148,17 @@ export abstract class BaseProtocolPlugin implements IProtocolPlugin { /** ACTION BUILDERS */ /** @see IProtocolPlugin.getActionBuilder */ - getActionBuilder(step: StepType): Maybe> { - const builder = this.stepBuilders[step.type] + getActionBuilder< + StepType extends SimulationSteps, + Step extends FilterStep, + >(stepType: StepType): Maybe> { + const builder = this.stepBuilders[stepType] if (!builder) { return undefined } - return new builder() as IActionBuilder + return new builder() as IActionBuilder } /** HELPERS */ diff --git a/sdk/protocol-plugins/src/implementation/ProtocolPluginsRegistry.ts b/sdk/protocol-plugins/src/implementation/ProtocolPluginsRegistry.ts index dff5352344..6d929b3edb 100644 --- a/sdk/protocol-plugins/src/implementation/ProtocolPluginsRegistry.ts +++ b/sdk/protocol-plugins/src/implementation/ProtocolPluginsRegistry.ts @@ -10,9 +10,7 @@ import { Maybe } from '@summerfi/sdk-common/common' * @typedef ProtocolPluginConstructor * @description Constructor for a protocol plugin */ -export type ProtocolPluginConstructor = new (params: { - context: IProtocolPluginContext -}) => IProtocolPlugin +export type ProtocolPluginConstructor = new () => IProtocolPlugin /** * @typedef ProtocolPluginsRecordType @@ -44,6 +42,10 @@ export class ProtocolPluginsRegistry implements IProtocolPluginsRegistry { if (!Plugin) { return } - return new Plugin({ context: this.context }) + const plugin = new Plugin() + + plugin.initialize({ context: this.context }) + + return plugin } } diff --git a/sdk/protocol-plugins/src/index.ts b/sdk/protocol-plugins/src/index.ts index d9a4808b16..3ef2f3c7ea 100644 --- a/sdk/protocol-plugins/src/index.ts +++ b/sdk/protocol-plugins/src/index.ts @@ -4,3 +4,4 @@ export * from './plugins/maker' export * from './plugins/morphoblue' export * from './plugins/common' export * from './implementation' +export * from './plugins/ProtocolPluginsRecord' diff --git a/sdk/protocol-plugins/src/plugins/ProtocolPluginsRecord.ts b/sdk/protocol-plugins/src/plugins/ProtocolPluginsRecord.ts new file mode 100644 index 0000000000..0349df4e96 --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/ProtocolPluginsRecord.ts @@ -0,0 +1,18 @@ +import { ProtocolName } from '@summerfi/sdk-common/protocols' +import { ProtocolPluginsRecordType } from '../implementation/ProtocolPluginsRegistry' +import { AaveV3ProtocolPlugin } from './aave-v3/implementation/AAVEv3ProtocolPlugin' +import { MakerProtocolPlugin } from './maker/implementation/MakerProtocolPlugin' +import { MorphoProtocolPlugin } from './morphoblue/implementation/MorphoProtocolPlugin' +import { SparkProtocolPlugin } from './spark/implementation/SparkProtocolPlugin' + +/** + * Protocol plugins record + * + * Note: add here the plugins you want to use in the SDK + */ +export const ProtocolPluginsRecord: ProtocolPluginsRecordType = { + [ProtocolName.Maker]: MakerProtocolPlugin, + [ProtocolName.Spark]: SparkProtocolPlugin, + [ProtocolName.AAVEv3]: AaveV3ProtocolPlugin, + [ProtocolName.Morpho]: MorphoProtocolPlugin, +} diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AAVEv3ProtocolPlugin.ts b/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AAVEv3ProtocolPlugin.ts index bcffec4598..d6e19724bb 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AAVEv3ProtocolPlugin.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AAVEv3ProtocolPlugin.ts @@ -46,10 +46,10 @@ export class AaveV3ProtocolPlugin extends AAVEv3LikeBaseProtocolPlugin< ]) readonly stepBuilders: Partial = AaveV3StepBuilders - constructor(params: { context: IProtocolPluginContext }) { + initialize(params: { context: IProtocolPluginContext }) { const contractsAbiProvider = new ChainContractsProvider(AaveV3AbiMap) - super({ + super.initialize({ ...params, contractsAbiProvider, }) diff --git a/sdk/protocol-plugins/src/plugins/common/helpers/aaveV3Like/AAVEv3LikeBaseProtocolPlugin.ts b/sdk/protocol-plugins/src/plugins/common/helpers/aaveV3Like/AAVEv3LikeBaseProtocolPlugin.ts index 8fae171d03..e6c22fd6de 100644 --- a/sdk/protocol-plugins/src/plugins/common/helpers/aaveV3Like/AAVEv3LikeBaseProtocolPlugin.ts +++ b/sdk/protocol-plugins/src/plugins/common/helpers/aaveV3Like/AAVEv3LikeBaseProtocolPlugin.ts @@ -42,18 +42,18 @@ export abstract class AAVEv3LikeBaseProtocolPlugin< ContractsAbiMap extends GenericAbiMap, > extends BaseProtocolPlugin { abstract readonly protocolName: AllowedProtocolNames - readonly contractsAbiProvider: ChainContractsProvider + private _contractsAbiProvider: Maybe> private _assetsList: Maybe> = undefined /** CONSTRUCTOR */ - protected constructor(params: { + initialize(params: { context: IProtocolPluginContext contractsAbiProvider: ChainContractsProvider }) { - super(params) + super.initialize(params) - this.contractsAbiProvider = params.contractsAbiProvider + this._contractsAbiProvider = params.contractsAbiProvider } /** PROTECTED */ @@ -258,4 +258,12 @@ export abstract class AAVEv3LikeBaseProtocolPlugin< throw new Error(`error in debt loop ${e}`) } } + + get contractsAbiProvider(): ChainContractsProvider { + if (!this._contractsAbiProvider) { + throw new Error('Contracts ABI provider not initialized') + } + + return this._contractsAbiProvider + } } diff --git a/sdk/protocol-plugins/src/plugins/common/helpers/aaveV3Like/AAVEv3LikeProtocolDataBuilder.ts b/sdk/protocol-plugins/src/plugins/common/helpers/aaveV3Like/AAVEv3LikeProtocolDataBuilder.ts index 416d24afc5..91d6e07772 100644 --- a/sdk/protocol-plugins/src/plugins/common/helpers/aaveV3Like/AAVEv3LikeProtocolDataBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/common/helpers/aaveV3Like/AAVEv3LikeProtocolDataBuilder.ts @@ -30,7 +30,7 @@ export class AaveV3LikeProtocolDataBuilder< ContractNames extends string, ContractsAbiMap extends GenericAbiMap, > { - private readonly ctx: IProtocolPluginContext + private readonly context: IProtocolPluginContext private operations: QueuedOperation[] = [] private tokensUsedAsReserves: Token[] | undefined private reservesAssetsList: Array> = [] @@ -44,7 +44,7 @@ export class AaveV3LikeProtocolDataBuilder< chainInfo: IChainInfo, chainContractsProvider: ChainContractsProvider, ) { - this.ctx = ctx + this.context = ctx this.protocolName = protocolName this.chainInfo = chainInfo this.chainContractsProvider = chainContractsProvider @@ -54,7 +54,7 @@ export class AaveV3LikeProtocolDataBuilder< AaveV3LikeProtocolDataBuilder, ContractNames, ContractsAbiMap> > { const rawTokens = await fetchReservesTokens( - this.ctx, + this.context, this.chainInfo, this.chainContractsProvider, ) @@ -62,7 +62,7 @@ export class AaveV3LikeProtocolDataBuilder< const tokensUsedAsReserves = await Promise.all( rawTokens.map(async (reservesToken) => { - return await this.ctx.tokensManager.getTokenByAddress({ + return await this.context.tokensManager.getTokenByAddress({ chainInfo: ChainFamilyMap.Ethereum.Mainnet, address: Address.createFromEthereum({ value: reservesToken.tokenAddress }), }) @@ -74,7 +74,7 @@ export class AaveV3LikeProtocolDataBuilder< WithToken, ContractNames, ContractsAbiMap - >(this.ctx, this.protocolName, this.chainInfo, this.chainContractsProvider), + >(this.context, this.protocolName, this.chainInfo, this.chainContractsProvider), this, { tokensUsedAsReserves, @@ -101,7 +101,7 @@ export class AaveV3LikeProtocolDataBuilder< operation: async () => { this._assertIsInitialised(this.tokensUsedAsReserves) const reservesCapsPerAsset = await fetchReservesCap( - this.ctx, + this.context, this.tokensUsedAsReserves!, this.chainInfo, this.chainContractsProvider, @@ -140,7 +140,7 @@ export class AaveV3LikeProtocolDataBuilder< operation: async () => { this._assertIsInitialised(this.tokensUsedAsReserves) const reservesConfigDataPerAsset = await fetchAssetConfigurationData( - this.ctx, + this.context, this.tokensUsedAsReserves, this.chainInfo, this.chainContractsProvider, @@ -208,7 +208,7 @@ export class AaveV3LikeProtocolDataBuilder< operation: async () => { this._assertIsInitialised(this.tokensUsedAsReserves) const reservesDataPerAsset = await fetchAssetReserveData( - this.ctx, + this.context, this.tokensUsedAsReserves, this.chainInfo, this.chainContractsProvider, @@ -283,7 +283,7 @@ export class AaveV3LikeProtocolDataBuilder< operation: async () => { this._assertIsInitialised(this.tokensUsedAsReserves) const emodeCategoryPerAsset = await fetchEmodeCategoriesForReserves( - this.ctx, + this.context, this.tokensUsedAsReserves, this.chainInfo, this.chainContractsProvider, @@ -318,7 +318,7 @@ export class AaveV3LikeProtocolDataBuilder< operation: async () => { this._assertIsInitialised(this.tokensUsedAsReserves) const [assetPrices] = await fetchAssetPrices( - this.ctx, + this.context, this.tokensUsedAsReserves, this.chainInfo, this.chainContractsProvider, diff --git a/sdk/protocol-plugins/src/plugins/maker/implementation/MakerProtocolPlugin.ts b/sdk/protocol-plugins/src/plugins/maker/implementation/MakerProtocolPlugin.ts index 3c26925b4e..66a295900e 100644 --- a/sdk/protocol-plugins/src/plugins/maker/implementation/MakerProtocolPlugin.ts +++ b/sdk/protocol-plugins/src/plugins/maker/implementation/MakerProtocolPlugin.ts @@ -55,8 +55,9 @@ export class MakerProtocolPlugin extends BaseProtocolPlugin { readonly CdpManagerContractName = 'CdpManager' readonly DssProxyActionsContractName = 'DssProxyActions' - constructor(params: { context: IProtocolPluginContext }) { - super(params) + /** INITIALIZATION */ + initialize(params: { context: IProtocolPluginContext }) { + super.initialize(params) if ( !this.supportedChains.some( @@ -188,7 +189,7 @@ export class MakerProtocolPlugin extends BaseProtocolPlugin { private async _getCollateralInfo(protocolData: ProtocolData) { const { osmData, joinGemBalance, collateralToken, quoteToken, dogRes, spotRes } = protocolData - const collateralPriceUSD = await this.ctx.oracleManager.getSpotPrice({ + const collateralPriceUSD = await this.context.oracleManager.getSpotPrice({ baseToken: collateralToken, }) @@ -224,7 +225,7 @@ export class MakerProtocolPlugin extends BaseProtocolPlugin { private async _getDebtInfo(protocolData: ProtocolData) { const { quoteToken, stabilityFee, vatRes } = protocolData - const priceUSD = await this.ctx.oracleManager.getSpotPrice({ + const priceUSD = await this.context.oracleManager.getSpotPrice({ baseToken: quoteToken, }) return DebtInfo.createFrom({ @@ -260,7 +261,7 @@ export class MakerProtocolPlugin extends BaseProtocolPlugin { const { osm, vatRes, jugRes, dogRes, spotRes, erc20, ilkRegistryRes } = await this._getIlkProtocolData({ chainInfo: makerLendingPoolId.protocol.chainInfo, ilkInHex }) - const DAI = await this.ctx.tokensManager.getTokenBySymbol({ + const DAI = await this.context.tokensManager.getTokenBySymbol({ chainInfo: makerLendingPoolId.protocol.chainInfo, symbol: CommonTokenSymbols.DAI, }) @@ -268,7 +269,7 @@ export class MakerProtocolPlugin extends BaseProtocolPlugin { throw new Error(`DAI token not found for chain: ${makerLendingPoolId.protocol.chainInfo}`) } - const ilkGemToken = await this.ctx.tokensManager.getTokenByAddress({ + const ilkGemToken = await this.context.tokensManager.getTokenByAddress({ chainInfo: makerLendingPoolId.protocol.chainInfo, address: Address.createFromEthereum({ value: ilkRegistryRes.gem }), }) @@ -333,7 +334,6 @@ export class MakerProtocolPlugin extends BaseProtocolPlugin { } private async _getIlkProtocolData(params: { chainInfo: IChainInfo; ilkInHex: `0x${string}` }) { - const ctx = this.ctx const makerDogDef = await this._getContractDef({ chainInfo: params.chainInfo, contractName: 'Dog', @@ -389,7 +389,7 @@ export class MakerProtocolPlugin extends BaseProtocolPlugin { 7: name, // Token name 8: symbol, // Token symbol }, - ] = await ctx.provider.multicall({ + ] = await this.context.provider.multicall({ contracts: [ { abi: makerVatDef.abi, @@ -452,13 +452,13 @@ export class MakerProtocolPlugin extends BaseProtocolPlugin { const osm = getContract({ abi: OSM_ABI, address: spotRes.priceFeedAddress.value, - client: ctx.provider, + client: this.context.provider, }) const erc20 = getContract({ abi: ERC20_ABI, address: gem, - client: ctx.provider, + client: this.context.provider, }) const ilkRegistryRes = { diff --git a/sdk/protocol-plugins/src/plugins/maker/implementation/MakerStepBuilders.ts b/sdk/protocol-plugins/src/plugins/maker/implementation/MakerStepBuilders.ts index 84ba6f58de..6e31733aae 100644 --- a/sdk/protocol-plugins/src/plugins/maker/implementation/MakerStepBuilders.ts +++ b/sdk/protocol-plugins/src/plugins/maker/implementation/MakerStepBuilders.ts @@ -2,6 +2,7 @@ import { ActionBuildersMap } from '@summerfi/protocol-plugins-common' import { MakerPaybackWithdrawActionBuilder } from '../builders/MakerPaybackWithdrawActionBuilder' import { MakerImportPositionActionBuilder } from '../builders/MakerImportPositionActionBuilder' import { SimulationSteps } from '@summerfi/sdk-common/simulation' +import { MakerOpenPositionActionBuilder } from '../builders' /** * @description Map of action builders for the Maker protocol @@ -9,4 +10,5 @@ import { SimulationSteps } from '@summerfi/sdk-common/simulation' export const MakerStepBuilders: Partial = { [SimulationSteps.PaybackWithdraw]: MakerPaybackWithdrawActionBuilder, [SimulationSteps.Import]: MakerImportPositionActionBuilder, + [SimulationSteps.OpenPosition]: MakerOpenPositionActionBuilder, } diff --git a/sdk/protocol-plugins/src/plugins/morphoblue/builders/MorphoStepBuilders.ts b/sdk/protocol-plugins/src/plugins/morphoblue/builders/MorphoStepBuilders.ts index 25fb35e3e0..5e63d99562 100644 --- a/sdk/protocol-plugins/src/plugins/morphoblue/builders/MorphoStepBuilders.ts +++ b/sdk/protocol-plugins/src/plugins/morphoblue/builders/MorphoStepBuilders.ts @@ -2,8 +2,10 @@ import { ActionBuildersMap } from '@summerfi/protocol-plugins-common' import { MorphoDepositBorrowActionBuilder } from './MorphoDepositBorrowActionBuilder' import { SimulationSteps } from '@summerfi/sdk-common/simulation' import { MorphoPaybackWithdrawActionBuilder } from './MorphoPaybackWithdrawActionBuilder' +import { MorphoOpenPositionActionBuilder } from './MorphoOpenPositionActionBuilder' export const MorphoStepBuilders: Partial = { [SimulationSteps.DepositBorrow]: MorphoDepositBorrowActionBuilder, [SimulationSteps.PaybackWithdraw]: MorphoPaybackWithdrawActionBuilder, + [SimulationSteps.OpenPosition]: MorphoOpenPositionActionBuilder, } diff --git a/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoProtocolPlugin.ts b/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoProtocolPlugin.ts index 323cdab4e1..0a55b1b44b 100644 --- a/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoProtocolPlugin.ts +++ b/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoProtocolPlugin.ts @@ -53,8 +53,8 @@ export class MorphoProtocolPlugin extends BaseProtocolPlugin { readonly supportedChains = valuesOfChainFamilyMap([ChainFamilyName.Ethereum]) readonly stepBuilders: Partial = MorphoStepBuilders - constructor(params: { context: IProtocolPluginContext }) { - super(params) + initialize(params: { context: IProtocolPluginContext }) { + super.initialize(params) if ( !this.supportedChains.some( @@ -171,7 +171,7 @@ export class MorphoProtocolPlugin extends BaseProtocolPlugin { const collateralToken = morphoLendingPool.collateralToken const liquidationPenalty = this._getLiquidationPenalty(morphoLendingPool) - const collateralPriceUSD = await this.ctx.oracleManager.getSpotPrice({ + const collateralPriceUSD = await this.context.oracleManager.getSpotPrice({ baseToken: collateralToken, }) @@ -205,7 +205,7 @@ export class MorphoProtocolPlugin extends BaseProtocolPlugin { const { morphoLendingPool, marketInfo, marketCollateralPriceInDebt } = params const debtToken = morphoLendingPool.debtToken - const priceUSD = await this.ctx.oracleManager.getSpotPrice({ + const priceUSD = await this.context.oracleManager.getSpotPrice({ baseToken: debtToken, }) @@ -238,7 +238,7 @@ export class MorphoProtocolPlugin extends BaseProtocolPlugin { * @returns The market oracle price */ private async _getMarketOraclePrice(morphoLendingPool: IMorphoLendingPool): Promise { - const [price] = await this.ctx.provider.multicall({ + const [price] = await this.context.provider.multicall({ contracts: [ { abi: morphoBlueOracleAbi, @@ -274,7 +274,7 @@ export class MorphoProtocolPlugin extends BaseProtocolPlugin { }) const marketParamsId = morphoLendingPool.id.marketId - const [marketInfo] = await this.ctx.provider.multicall({ + const [marketInfo] = await this.context.provider.multicall({ contracts: [ { abi: morphoBlueAbi, @@ -319,7 +319,7 @@ export class MorphoProtocolPlugin extends BaseProtocolPlugin { }) const marketParamsId = morphoLendingPoolId.marketId - const [marketParameters] = await this.ctx.provider.multicall({ + const [marketParameters] = await this.context.provider.multicall({ contracts: [ { abi: morphoBlueAbi, @@ -331,7 +331,7 @@ export class MorphoProtocolPlugin extends BaseProtocolPlugin { allowFailure: false, }) - const debtToken = await this.ctx.tokensManager.getTokenByAddress({ + const debtToken = await this.context.tokensManager.getTokenByAddress({ address: Address.createFromEthereum({ value: marketParameters[0] }), chainInfo: morphoLendingPoolId.protocol.chainInfo, }) @@ -342,7 +342,7 @@ export class MorphoProtocolPlugin extends BaseProtocolPlugin { ) } - const collateralToken = await this.ctx.tokensManager.getTokenByAddress({ + const collateralToken = await this.context.tokensManager.getTokenByAddress({ address: Address.createFromEthereum({ value: marketParameters[1] }), chainInfo: morphoLendingPoolId.protocol.chainInfo, }) diff --git a/sdk/protocol-plugins/src/plugins/spark/builders/SparkOpenPositionActionBuilder.ts b/sdk/protocol-plugins/src/plugins/spark/builders/SparkOpenPositionActionBuilder.ts index c3d255c0bf..25c55c93c2 100644 --- a/sdk/protocol-plugins/src/plugins/spark/builders/SparkOpenPositionActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/spark/builders/SparkOpenPositionActionBuilder.ts @@ -5,9 +5,7 @@ import { ActionBuilderParams, ActionBuilderUsedAction } from '@summerfi/protocol import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' export class SparkOpenPositionActionBuilder extends BaseActionBuilder { - readonly actions: ActionBuilderUsedAction[] = [ - // Empty on purpose, no definition needs to be generated for this builder - ] + readonly actions: ActionBuilderUsedAction[] = [{ action: SparkSetEmodeAction }] async build(params: ActionBuilderParams): Promise { const { context, step } = params diff --git a/sdk/protocol-plugins/src/plugins/spark/implementation/SparkProtocolPlugin.ts b/sdk/protocol-plugins/src/plugins/spark/implementation/SparkProtocolPlugin.ts index 5f5002dafb..6aeb6579ce 100644 --- a/sdk/protocol-plugins/src/plugins/spark/implementation/SparkProtocolPlugin.ts +++ b/sdk/protocol-plugins/src/plugins/spark/implementation/SparkProtocolPlugin.ts @@ -41,10 +41,10 @@ export class SparkProtocolPlugin extends AAVEv3LikeBaseProtocolPlugin< readonly supportedChains = valuesOfChainFamilyMap([ChainFamilyName.Ethereum]) readonly stepBuilders: Partial = SparkStepBuilders - constructor(params: { context: IProtocolPluginContext }) { + initialize(params: { context: IProtocolPluginContext }) { const contractsAbiProvider = new ChainContractsProvider(SparkAbiMap) - super({ + super.initialize({ ...params, contractsAbiProvider, }) diff --git a/sdk/protocol-plugins/tests/unit/plugins/AAVEv3ProtocolPlugin.spec.ts b/sdk/protocol-plugins/tests/unit/plugins/AAVEv3ProtocolPlugin.spec.ts index 2064e3eb03..118d88c718 100644 --- a/sdk/protocol-plugins/tests/unit/plugins/AAVEv3ProtocolPlugin.spec.ts +++ b/sdk/protocol-plugins/tests/unit/plugins/AAVEv3ProtocolPlugin.spec.ts @@ -74,9 +74,9 @@ describe('AAVEv3 Protocol Plugin', () => { context: { ...ctx, provider: { - ...ctx.provider, + ...context.provider, chain: { - ...ctx.provider.chain!, + ...context.provider.chain!, id: undefined as unknown as number, }, }, @@ -97,9 +97,9 @@ describe('AAVEv3 Protocol Plugin', () => { context: { ...ctx, provider: { - ...ctx.provider, + ...context.provider, chain: { - ...ctx.provider.chain!, + ...context.provider.chain!, id: wrongChainId, }, }, diff --git a/sdk/protocol-plugins/tests/unit/plugins/BaseProtocolPlugin.spec.ts b/sdk/protocol-plugins/tests/unit/plugins/BaseProtocolPlugin.spec.ts index 8e1321e640..b6ebcd9115 100644 --- a/sdk/protocol-plugins/tests/unit/plugins/BaseProtocolPlugin.spec.ts +++ b/sdk/protocol-plugins/tests/unit/plugins/BaseProtocolPlugin.spec.ts @@ -11,15 +11,11 @@ describe('Base Protocol Plugin', () => { let baseProtocolPlugin: BaseProtocolPlugin beforeAll(async () => { ctx = await createProtocolPluginContext(ChainFamilyMap.Ethereum.Mainnet) - baseProtocolPlugin = new MakerProtocolPlugin({ - context: ctx, - }) + baseProtocolPlugin = new MakerProtocolPlugin() }) it('should correctly return the corresponding action builder for a given simulation step', () => { - const actionBuilder = baseProtocolPlugin.getActionBuilder({ - type: SimulationSteps.PaybackWithdraw, - } as steps.PaybackWithdrawStep) + const actionBuilder = baseProtocolPlugin.getActionBuilder(SimulationSteps.PaybackWithdraw) assert(actionBuilder, 'ActionBuilder is not defined') }) }) diff --git a/sdk/protocol-plugins/tests/unit/plugins/MakerProtocolPlugin.spec.ts b/sdk/protocol-plugins/tests/unit/plugins/MakerProtocolPlugin.spec.ts index 45b9dac2fe..d9ac190a4e 100644 --- a/sdk/protocol-plugins/tests/unit/plugins/MakerProtocolPlugin.spec.ts +++ b/sdk/protocol-plugins/tests/unit/plugins/MakerProtocolPlugin.spec.ts @@ -72,9 +72,9 @@ describe('Maker Protocol Plugin', () => { context: { ...ctx, provider: { - ...ctx.provider, + ...context.provider, chain: { - ...ctx.provider.chain!, + ...context.provider.chain!, id: undefined as unknown as number, }, }, @@ -93,9 +93,9 @@ describe('Maker Protocol Plugin', () => { context: { ...ctx, provider: { - ...ctx.provider, + ...context.provider, chain: { - ...ctx.provider.chain!, + ...context.provider.chain!, id: wrongChainId, }, }, diff --git a/sdk/protocol-plugins/tests/unit/plugins/MorphoProtocolPlugin.spec.ts b/sdk/protocol-plugins/tests/unit/plugins/MorphoProtocolPlugin.spec.ts index 3788de8cb6..5164edcc2b 100644 --- a/sdk/protocol-plugins/tests/unit/plugins/MorphoProtocolPlugin.spec.ts +++ b/sdk/protocol-plugins/tests/unit/plugins/MorphoProtocolPlugin.spec.ts @@ -68,9 +68,9 @@ describe('Protocol Plugin | Unit | Morpho', () => { context: { ...ctx, provider: { - ...ctx.provider, + ...context.provider, chain: { - ...ctx.provider.chain!, + ...context.provider.chain!, id: undefined as unknown as number, }, }, @@ -89,9 +89,9 @@ describe('Protocol Plugin | Unit | Morpho', () => { context: { ...ctx, provider: { - ...ctx.provider, + ...context.provider, chain: { - ...ctx.provider.chain!, + ...context.provider.chain!, id: wrongChainId, }, }, diff --git a/sdk/protocol-plugins/tests/unit/plugins/SparkProtocolPlugin.spec.ts b/sdk/protocol-plugins/tests/unit/plugins/SparkProtocolPlugin.spec.ts index d31fc864e6..500e46d6cd 100644 --- a/sdk/protocol-plugins/tests/unit/plugins/SparkProtocolPlugin.spec.ts +++ b/sdk/protocol-plugins/tests/unit/plugins/SparkProtocolPlugin.spec.ts @@ -74,9 +74,9 @@ describe('Spark Protocol Plugin', () => { context: { ...ctx, provider: { - ...ctx.provider, + ...context.provider, chain: { - ...ctx.provider.chain!, + ...context.provider.chain!, id: undefined as unknown as number, }, }, @@ -95,9 +95,9 @@ describe('Spark Protocol Plugin', () => { context: { ...ctx, provider: { - ...ctx.provider, + ...context.provider, chain: { - ...ctx.provider.chain!, + ...context.provider.chain!, id: wrongChainId, }, }, diff --git a/sdk/sdk-server/src/context/CreateProtocolPluginsRegistry.ts b/sdk/sdk-server/src/context/CreateProtocolPluginsRegistry.ts index cb0c95d312..8b21352e92 100644 --- a/sdk/sdk-server/src/context/CreateProtocolPluginsRegistry.ts +++ b/sdk/sdk-server/src/context/CreateProtocolPluginsRegistry.ts @@ -1,14 +1,5 @@ -import { AaveV3ProtocolPlugin } from '@summerfi/protocol-plugins/plugins/aave-v3' -import { - ProtocolPluginsRecordType, - ProtocolPluginsRegistry, -} from '@summerfi/protocol-plugins/implementation' -import { SparkProtocolPlugin } from '@summerfi/protocol-plugins/plugins/spark' -import { MakerProtocolPlugin } from '@summerfi/protocol-plugins/plugins/maker' -import { MorphoProtocolPlugin } from '@summerfi/protocol-plugins/plugins/morphoblue' - +import { ProtocolPluginsRecord, ProtocolPluginsRegistry } from '@summerfi/protocol-plugins' import { IProtocolPluginsRegistry } from '@summerfi/protocol-plugins-common' -import { ProtocolName } from '@summerfi/sdk-common/protocols' import { createPublicClient, http } from 'viem' import { mainnet } from 'viem/chains' import { ISwapManager } from '@summerfi/swap-common/interfaces' @@ -21,18 +12,6 @@ import { ITokensManager } from '@summerfi/tokens-common' import { IOracleManager } from '@summerfi/oracle-common' import { IAddressBookManager } from '@summerfi/address-book-common' -/** - * Protocol plugins record - * - * Note: add here the plugins you want to use in the SDK - */ -const ProtocolPlugins: ProtocolPluginsRecordType = { - [ProtocolName.Maker]: MakerProtocolPlugin, - [ProtocolName.Spark]: SparkProtocolPlugin, - [ProtocolName.AAVEv3]: AaveV3ProtocolPlugin, - [ProtocolName.Morpho]: MorphoProtocolPlugin, -} - /** * RPC configuration for the RPC Gateway */ @@ -83,7 +62,7 @@ export function createProtocolsPluginsRegistry(params: { }) return new ProtocolPluginsRegistry({ - plugins: ProtocolPlugins, + plugins: ProtocolPluginsRecord, context: { provider, tokensManager, diff --git a/sdk/simulator-service/src/strategies/StrategyIndex.ts b/sdk/simulator-service/src/strategies/StrategyIndex.ts new file mode 100644 index 0000000000..6b2369429a --- /dev/null +++ b/sdk/simulator-service/src/strategies/StrategyIndex.ts @@ -0,0 +1,12 @@ +import { refinanceLendingToLendingSamePairStrategy } from './refinanceSamePair/Strategy' +import { refinanceLendingToLendingAnyPairStrategy } from './refinanceAnyPair/Strategy' +import { refinanceLendingToLendingNoDebtStrategy } from './refinanceNoDebt/Strategy' + +/** + * List of all strategies so the strategy definition generation tool can use them + */ +export const StrategyIndex = [ + refinanceLendingToLendingSamePairStrategy, + refinanceLendingToLendingAnyPairStrategy, + refinanceLendingToLendingNoDebtStrategy, +] diff --git a/sdk/simulator-service/tsconfig.json b/sdk/simulator-service/tsconfig.json index 6e6486dd1f..bbfa557d0a 100644 --- a/sdk/simulator-service/tsconfig.json +++ b/sdk/simulator-service/tsconfig.json @@ -6,5 +6,5 @@ "baseUrl": "." }, "include": ["src/**/*.ts", "tests/**/*.ts"], - "exclude": ["node_modules"] + "exclude": ["node_modules", "dist"] } diff --git a/sdk/tools/genStrategyDefinitions/.eslintrc.cjs b/sdk/tools/genStrategyDefinitions/.eslintrc.cjs new file mode 100644 index 0000000000..8eb0f19d5c --- /dev/null +++ b/sdk/tools/genStrategyDefinitions/.eslintrc.cjs @@ -0,0 +1,7 @@ +/** @type {import("eslint").Linter.Config} */ +module.exports = { + root: true, + ignorePatterns: ['jest.config.js', 'tests'], + extends: ['@summerfi/eslint-config/library.cjs'], + parser: '@typescript-eslint/parser', +} diff --git a/sdk/tools/genStrategyDefinitions/README.md b/sdk/tools/genStrategyDefinitions/README.md new file mode 100644 index 0000000000..38ee027b64 --- /dev/null +++ b/sdk/tools/genStrategyDefinitions/README.md @@ -0,0 +1,20 @@ +## Summer.fi Tools + +# encode:makerGive + +Generates the calldata necessary to give a Maker position (CDP) to another address. This is done by +executing the calldata on a DsProxy or DPM and using the CdpManager proxy actions to delegate the +call. The parameters of the tool are: + +``` +Options: + -p, --makerProxyActions Maker Proxy Actions address + -c, --cdpManager Maker CDP Manager address + -i, --cdpId ID of the position to give + -t, --to Address to give the CDP to + -h, --help Show help +``` + +# strategy:gen + +Generates the strategy definitions for the Summer.fi protocol. The parameters of the tool are: diff --git a/sdk/tools/genStrategyDefinitions/bundle/package.json b/sdk/tools/genStrategyDefinitions/bundle/package.json new file mode 100644 index 0000000000..0327851e48 --- /dev/null +++ b/sdk/tools/genStrategyDefinitions/bundle/package.json @@ -0,0 +1,9 @@ +{ + "name": "@summer_fi/gen-strategy-definitions", + "version": "0.0.1", + "module": "dist/index.js", + "types": "dist/index.d.ts", + "packageManager": "yarn@1.22.21", + "scripts": {}, + "dependencies": {} +} diff --git a/sdk/tools/genStrategyDefinitions/jest.config.js b/sdk/tools/genStrategyDefinitions/jest.config.js new file mode 100644 index 0000000000..47ec2d384e --- /dev/null +++ b/sdk/tools/genStrategyDefinitions/jest.config.js @@ -0,0 +1,15 @@ +const { compilerOptions } = require('./tsconfig.test') +const sharedConfig = require('@summerfi/jest-config/jest.base') + +/** @type {import('ts-jest').JestConfigWithTsJest} */ +module.exports = { + ...sharedConfig(compilerOptions), + collectCoverageFrom: [ + '/**/*.{ts,tsx}', + '!src/**/index.ts', + '!src/config/Config.ts', + '!src/interfaces/IOrderPlannerService.ts', + '!src/utils/**/*.{ts,tsx}', + ], + coveragePathIgnorePatterns: ['/tests/utils/', '/tests/mocks/'], +} diff --git a/sdk/tools/genStrategyDefinitions/package.json b/sdk/tools/genStrategyDefinitions/package.json new file mode 100644 index 0000000000..4d345ec732 --- /dev/null +++ b/sdk/tools/genStrategyDefinitions/package.json @@ -0,0 +1,30 @@ +{ + "name": "@summerfi/get-strategy-definitions", + "version": "0.0.1", + "scripts": { + "tsc": "tsc", + "watch": "tsc -w", + "test": "jest --coverage=true --silent=false", + "testw": "jest --watch", + "lint": "eslint .", + "lint:fix": "eslint . --fix", + "build": "tsc -b tsconfig.build.json", + "bundle:npm": "esbuild src/index.ts --platform=node --target=es2020 --conditions= --main-fields=main --bundle --sourcemap --outfile=bundle/dist/index.js --external:crypto --external:tls --external:https --external:net --external:http --external:stream --external:zlib --external:assert --keep-names && tsc --emitDeclarationOnly --outDir bundle/dist -p tsconfig.build.json", + "strategy:gen": "pnpm bundle:npm; node ./bundle/dist/index.js" + }, + "dependencies": { + "@summerfi/sdk-common": "workspace:*", + "@summerfi/simulator-service": "workspace:*", + "@summerfi/order-planner-service": "workspace:*", + "@summerfi/protocol-plugins": "workspace:*", + "@summerfi/protocol-plugins-common": "workspace:*" + }, + "devDependencies": { + "@summerfi/eslint-config": "workspace:*", + "@summerfi/jest-config": "workspace:*", + "@summerfi/typescript-config": "workspace:*", + "@types/yargs": "^17.0.32", + "tsx": "^4.7.2", + "yargs": "^17.7.2" + } +} diff --git a/sdk/tools/genStrategyDefinitions/src/Helpers.ts b/sdk/tools/genStrategyDefinitions/src/Helpers.ts new file mode 100644 index 0000000000..0dafdbcf30 --- /dev/null +++ b/sdk/tools/genStrategyDefinitions/src/Helpers.ts @@ -0,0 +1,128 @@ +import { ActionBuildersConfig } from '@summerfi/order-planner-service/config/Config' +import { ProtocolPluginsRecord } from '@summerfi/protocol-plugins' +import { ActionBuilderUsedAction } from '@summerfi/protocol-plugins-common' +import { SimulationSteps, SimulationStrategy, StrategyStep } from '@summerfi/sdk-common/simulation' +import { StrategyDefinitions } from './Types' + +export function processStrategies(strategyConfigs: SimulationStrategy[]): StrategyDefinitions { + return strategyConfigs.reduce((acc, strategy) => { + acc.push(...processStrategy(strategy)) + + return acc + }, [] as StrategyDefinitions) +} + +export function processStrategy(strategyConfig: SimulationStrategy): StrategyDefinitions { + const strategyDefinitions = strategyConfig.reduce( + (acc, stepConfig) => { + const suffixes = processStep(stepConfig) + return combinePrefixesAndSuffixes(acc, suffixes) + }, + [[]] as StrategyDefinitions, + ) + + return filterIncompatibleStrategies(strategyDefinitions) +} + +export function processActionsList( + stepType: SimulationSteps, + actionsList: ActionBuilderUsedAction[], +): StrategyDefinitions { + return actionsList.reduce( + (acc, actionConfig) => { + const suffixes = processAction(stepType, actionConfig) + return combinePrefixesAndSuffixes(acc, suffixes) + }, + [[]] as StrategyDefinitions, + ) +} + +export function processStep(stepConfig: StrategyStep): StrategyDefinitions { + const stepDefinitions = processActionsList( + stepConfig.step, + new ActionBuildersConfig[stepConfig.step]().actions, + ) + + if (stepConfig.optional) { + return [...stepDefinitions, []] + } else { + return stepDefinitions + } +} + +export function processAction( + stepType: SimulationSteps, + actionConfig: ActionBuilderUsedAction, +): StrategyDefinitions { + if (actionConfig.action === 'DelegatedToProtocol') { + return processDelegateToProtocol(stepType) + } + const action = new actionConfig.action() + const definition = [[{ name: action.config.name, hash: action.getActionHash() }]] + + if (actionConfig.isOptionalTags !== undefined) { + definition.push([]) + } + + return definition +} + +export function processDelegateToProtocol(stepType: SimulationSteps): StrategyDefinitions { + return Object.values(ProtocolPluginsRecord).reduce((acc, pluginClass) => { + const plugin = new pluginClass() + + const pluginBuilder = plugin.getActionBuilder(stepType) + if (!pluginBuilder) { + return acc + } + + const suffixes = processActionsList(stepType, pluginBuilder.actions) + acc.push(...suffixes) + return acc + }, [] as StrategyDefinitions) +} + +export function combinePrefixesAndSuffixes( + prefixes: StrategyDefinitions, + suffixes: StrategyDefinitions, +): StrategyDefinitions { + return suffixes.reduce((acc, suffix) => { + acc.push(...prefixes.map((prefix) => [...prefix, ...suffix])) + return acc + }, [] as StrategyDefinitions) +} + +export function filterIncompatibleStrategies(strategies: StrategyDefinitions): StrategyDefinitions { + return strategies.filter((strategy) => { + const strategyLowercase = strategy.map((action) => action.name.toLowerCase()) + + const setEmodeAction = strategyLowercase.find((action) => { + return action.includes('setemode') + }) + + if (!setEmodeAction) { + return true + } + + const depositAction = strategyLowercase.find((action) => { + return action.includes('deposit') + }) + + if (!depositAction) { + return true + } + + const setEmodeProtocol = setEmodeAction?.split('setemode')[0] + const depositProtocol = depositAction?.split('deposit')[0] + + if (setEmodeProtocol === depositProtocol) { + console.log('strategy', strategy) + console.log('depositAction', depositAction) + console.log('setEmodeAction', setEmodeAction) + console.log('setEmodeProtocol', setEmodeProtocol) + console.log('depositProtocol', depositProtocol) + } + + return setEmodeProtocol === depositProtocol + }) +} diff --git a/sdk/tools/genStrategyDefinitions/src/Types.ts b/sdk/tools/genStrategyDefinitions/src/Types.ts new file mode 100644 index 0000000000..364701380b --- /dev/null +++ b/sdk/tools/genStrategyDefinitions/src/Types.ts @@ -0,0 +1,5 @@ +import { HexData } from '@summerfi/sdk-common' + +export type ActionDefinition = { name: string; hash: HexData } +export type StrategyDefinition = ActionDefinition[] +export type StrategyDefinitions = StrategyDefinition[] diff --git a/sdk/tools/genStrategyDefinitions/src/index.ts b/sdk/tools/genStrategyDefinitions/src/index.ts new file mode 100644 index 0000000000..6015ecce16 --- /dev/null +++ b/sdk/tools/genStrategyDefinitions/src/index.ts @@ -0,0 +1,37 @@ +import { processStrategies, processStrategy } from './Helpers' +import { StrategyIndex } from '@summerfi/simulator-service/strategies/StrategyIndex' +import { StrategyDefinitions } from './Types' +import yargs from 'yargs' +import fs from 'fs' + +async function main() { + const args = await yargs(process.argv.slice(2)) + .option('output', { + alias: 'o', + description: 'Output file path', + type: 'string', + }) + .help() + .alias('help', 'h').argv + + const strategyDefinitions = processStrategies(StrategyIndex) + + if (args.output) { + console.log(`Writing to ${args.output}`) + + // Write to file + fs.writeFileSync(args.output, JSON.stringify(strategyDefinitions, null, 2)) + } else { + console.log('--------------------') + console.log(JSON.stringify(strategyDefinitions, null, 2)) + console.log('--------------------') + console.log(`Strategy Definitions (${strategyDefinitions.length})`) + } +} + +main() + .catch((error) => { + console.error(error) + process.exit(1) + }) + .then(() => process.exit(0)) diff --git a/sdk/tools/genStrategyDefinitions/test.json b/sdk/tools/genStrategyDefinitions/test.json new file mode 100644 index 0000000000..fe7c20330c --- /dev/null +++ b/sdk/tools/genStrategyDefinitions/test.json @@ -0,0 +1,49898 @@ +[ + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "ReturnFunds", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SwapAction", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "TakeFlashloan", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "MakerWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SparkPayback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "AaveV3Payback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SparkPayback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "MakerWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SparkWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SparkPayback", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "AaveV3Withdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "AaveV3Payback", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "MorphoBlueWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "MakerPayback", + "MakerWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "MakerWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SparkPayback", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SparkPayback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "AaveV3Payback", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "AaveV3Payback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "MakerWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SparkPayback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "AaveV3Payback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SparkPayback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "SparkBorrow", + "PositionCreated" + ], + [ + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "MakerWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SparkPayback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SwapAction", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SwapAction", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "AaveV3Payback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SwapAction", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SwapAction", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SparkPayback", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "MakerWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SparkWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SparkPayback", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "AaveV3Withdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "AaveV3Payback", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "MorphoBlueWithdraw", + "SwapAction", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "MakerPayback", + "MakerWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "MakerWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SparkPayback", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SparkWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SparkPayback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "AaveV3Payback", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "AaveV3Withdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "AaveV3Payback", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "MorphoBlueWithdraw", + "SparkSetEMode", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "MakerWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SparkWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SparkPayback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SwapAction", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SwapAction", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "AaveV3Payback", + "SwapAction", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SwapAction", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SwapAction", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "MakerWithdraw", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SparkWithdraw", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SparkPayback", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "AaveV3Withdraw", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "AaveV3Payback", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "MorphoBlueWithdraw", + "SetApproval", + "SparkDeposit", + "PositionCreated" + ], + [ + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "MakerWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SparkPayback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "AaveV3Payback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "MakerWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SparkWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SparkPayback", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "AaveV3Withdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "AaveV3Payback", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "MorphoBlueWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "MakerPayback", + "MakerWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "MakerWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SparkPayback", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SparkPayback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "AaveV3Payback", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "AaveV3Payback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "MorphoBluePayback", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "MakerWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SparkPayback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "AaveV3Payback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "AaveV3Borrow", + "PositionCreated" + ], + [ + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "MakerWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SparkPayback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "AaveV3Payback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "MakerWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SparkWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SparkPayback", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "AaveV3Withdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "AaveV3Payback", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "MorphoBlueWithdraw", + "SwapAction", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "MakerPayback", + "MakerWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "MakerWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SparkPayback", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SparkWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SparkPayback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "AaveV3Payback", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "AaveV3Withdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "AaveV3Payback", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "MorphoBluePayback", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "MorphoBlueWithdraw", + "AaveV3SetEMode", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "MakerWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SparkWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SparkPayback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "AaveV3Payback", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "MakerWithdraw", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SparkWithdraw", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SparkPayback", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "AaveV3Withdraw", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "AaveV3Payback", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "MorphoBlueWithdraw", + "SetApproval", + "AaveV3Deposit", + "PositionCreated" + ], + [ + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "SendToken", + "PositionCreated" + ], + [ + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "SendToken", + "PositionCreated" + ], + [ + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "MorphoBlueBorrow", + "PositionCreated" + ], + [ + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "MakerPayback", + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "MakerWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SparkPayback", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SparkWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SparkPayback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "AaveV3Payback", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "AaveV3Withdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "AaveV3Payback", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "MorphoBlueWithdraw", + "SwapAction", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "MakerPayback", + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "MakerWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SparkPayback", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SparkWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SparkPayback", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "AaveV3Payback", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "AaveV3Withdraw", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "AaveV3Payback", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "MorphoBluePayback", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "SetApproval", + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ], + [ + "MorphoBlueWithdraw", + "SetApproval", + "MorphoBlueDeposit", + "PositionCreated" + ] +] \ No newline at end of file diff --git a/sdk/tools/genStrategyDefinitions/tsconfig.build.json b/sdk/tools/genStrategyDefinitions/tsconfig.build.json new file mode 100644 index 0000000000..b909ecaa0e --- /dev/null +++ b/sdk/tools/genStrategyDefinitions/tsconfig.build.json @@ -0,0 +1,9 @@ +{ + // by using a separate tsconfig for build, we can set main tsconfig to + // include tests and use module paths in tests but build without tests + "extends": "./tsconfig.json", + "compilerOptions": { + "rootDir": "src" + }, + "include": ["src/**/*.ts"] +} diff --git a/sdk/tools/genStrategyDefinitions/tsconfig.json b/sdk/tools/genStrategyDefinitions/tsconfig.json new file mode 100644 index 0000000000..629f57d79f --- /dev/null +++ b/sdk/tools/genStrategyDefinitions/tsconfig.json @@ -0,0 +1,19 @@ +{ + "extends": "@summerfi/typescript-config/tsconfig.base.json", + "compilerOptions": { + "rootDir": "src", + "outDir": "dist", + "baseUrl": ".", + "paths": { + "@summerfi/simulator-service/*": ["node_modules/@summerfi/simulator-service/src/*"], + "@summerfi/order-planner-service/*": ["node_modules/@summerfi/order-planner-service/src/*"], + "@summerfi/protocol-plugins": ["node_modules/@summerfi/protocol-plugins/src/index.ts"], + "@summerfi/protocol-plugins-common": [ + "node_modules/@summerfi/protocol-plugins-common/src/index.ts" + ], + "@summerfi/sdk-common": ["node_modules/@summerfi/sdk-common/src/index.ts"] + } + }, + "include": ["src/**/*.ts", "tests/**/*.ts"], + "exclude": ["node_modules"] +} diff --git a/sdk/tools/genStrategyDefinitions/tsconfig.test.json b/sdk/tools/genStrategyDefinitions/tsconfig.test.json new file mode 100644 index 0000000000..cad3192432 --- /dev/null +++ b/sdk/tools/genStrategyDefinitions/tsconfig.test.json @@ -0,0 +1,9 @@ +{ + "extends": "@summerfi/typescript-config/tsconfig.test.json", + "compilerOptions": { + "rootDir": "src", + "baseUrl": "." + }, + "include": ["src/**/*.ts"], + "exclude": ["node_modules"] +} From 8fdc8a2c56a7c51e3bfd9c119c1e213d8a736861 Mon Sep 17 00:00:00 2001 From: Roberto Cano <3525807+robercano@users.noreply.github.com> Date: Fri, 24 May 2024 09:36:31 +0200 Subject: [PATCH 29/45] feat: operation definition tool --- pnpm-lock.yaml | 20468 +++---- .../src/plugins/ProtocolPluginsRecord.ts | 4 +- .../implementation/AAVEv3ProtocolPlugin.ts | 2 +- .../aave-v3/implementation/AaveV3Protocol.ts | 2 +- .../aave-v3/interfaces/IAaveV3Protocol.ts | 4 +- .../aaveV3Like/AAVEv3LikeBuilderTypes.ts | 2 +- .../implementation/MorphoProtocol.ts | 2 +- .../implementation/MorphoProtocolPlugin.ts | 2 +- .../morphoblue/interfaces/IMorphoProtocol.ts | 4 +- .../tests/mocks/AAVEv3PoolIdMock.ts | 2 +- .../tests/mocks/MorphoPoolIdMock.ts | 2 +- .../AaveV3DepositBorrowActionBuilder.spec.ts | 2 +- .../AaveV3OpenPositionActionBuilder.spec.ts | 2 +- ...AaveV3PaybackWithdrawActionBuilder.spec.ts | 2 +- .../MakerImportPositionActionBuilder.spec.ts | 2 +- .../MakerOpenPositionActionBuilder.spec.ts | 2 +- .../MakerPaybackWithdrawActionBuilder.spec.ts | 2 +- .../MorphoDepositBorrowActionBuilder.spec.ts | 2 +- .../MorphoOpenPositionActionBuilder.spec.ts | 2 +- ...MorphoPaybackWithdrawActionBuilder.spec.ts | 2 +- .../unit/plugins/MakerProtocolPlugin.spec.ts | 2 +- .../utils/ProtocolsPluginRegistryMock.ts | 4 +- .../src/protocols/enums/ProtocolName.ts | 6 +- sdk/tools/genStrategyDefinitions/package.json | 7 +- .../genStrategyDefinitions/src/Helpers.ts | 137 +- sdk/tools/genStrategyDefinitions/src/Types.ts | 14 +- sdk/tools/genStrategyDefinitions/src/index.ts | 36 +- sdk/tools/genStrategyDefinitions/test.json | 49971 +--------------- 28 files changed, 9252 insertions(+), 61437 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 61093d28a6..a09287d439 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,4 +1,4 @@ -lockfileVersion: '9.0' +lockfileVersion: '6.0' settings: autoInstallPeers: true @@ -16,26 +16,26 @@ importers: version: 0.27.3 viem: specifier: ^2.9.19 - version: 2.9.19(typescript@5.4.5)(zod@3.22.4) + version: 2.12.1(typescript@5.4.5)(zod@3.23.8) zod: specifier: ^3.22.4 - version: 3.22.4 + version: 3.23.8 devDependencies: '@graphql-codegen/add': specifier: ^5.0.2 version: 5.0.2(graphql@16.8.1) '@graphql-codegen/cli': specifier: ^5.0.2 - version: 5.0.2(@types/node@20.12.7)(graphql@16.8.1)(typescript@5.4.5) + version: 5.0.2(@types/node@20.12.12)(graphql@16.8.1)(typescript@5.4.5) '@graphql-codegen/typed-document-node': specifier: ^5.0.6 - version: 5.0.6(graphql@16.8.1) + version: 5.0.7(graphql@16.8.1) '@graphql-codegen/typescript': specifier: ^4.0.6 - version: 4.0.6(graphql@16.8.1) + version: 4.0.7(graphql@16.8.1) '@graphql-codegen/typescript-operations': specifier: ^4.2.0 - version: 4.2.0(graphql@16.8.1) + version: 4.2.1(graphql@16.8.1) '@graphql-typed-document-node/core': specifier: ^3.2.0 version: 3.2.0(graphql@16.8.1) @@ -50,13 +50,13 @@ importers: version: 20.1.4 '@types/aws-lambda': specifier: ^8.10.137 - version: 8.10.137 + version: 8.10.138 '@types/jest': specifier: ^29.5.12 version: 29.5.12 '@types/node': specifier: ^20.12.7 - version: 20.12.7 + version: 20.12.12 aws-cdk-lib: specifier: 2.132.1 version: 2.132.1(constructs@10.3.0) @@ -74,7 +74,7 @@ importers: version: 8.57.0 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.12.7) + version: 29.7.0(@types/node@20.12.12) jest-expect-message: specifier: ^1.1.3 version: 1.1.3 @@ -89,34 +89,34 @@ importers: version: 3.2.5 sst: specifier: ^2.41.5 - version: 2.41.5 + version: 2.42.0(@aws-sdk/client-sso-oidc@3.583.0) ts-jest: specifier: ^29.1.2 - version: 29.1.2(@babel/core@7.24.4)(esbuild@0.20.2)(jest@29.7.0)(typescript@5.4.5) + version: 29.1.3(@babel/core@7.24.5)(esbuild@0.20.2)(jest@29.7.0)(typescript@5.4.5) tsc-alias: specifier: ^1.8.8 - version: 1.8.8 + version: 1.8.10 turbo: specifier: ^1.13.2 - version: 1.13.2 + version: 1.13.3 typescript: specifier: ^5.4.5 version: 5.4.5 zx: specifier: ^8.0.1 - version: 8.0.1 + version: 8.1.1 external-api/get-collateral-locked-function: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.0.4 - version: 2.0.4 + version: 2.1.1 '@aws-lambda-powertools/metrics': specifier: ^2.0.4 - version: 2.0.4 + version: 2.1.1 '@aws-lambda-powertools/tracer': specifier: ^2.0.4 - version: 2.0.4 + version: 2.1.1 '@summerfi/aave-spark-subgraph': specifier: workspace:* version: link:../../packages/aave-spark-subgraph @@ -134,7 +134,7 @@ importers: version: 9.1.2 zod: specifier: ^3.22.4 - version: 3.22.4 + version: 3.23.8 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -144,19 +144,19 @@ importers: version: link:../../packages/typescript-config '@types/node': specifier: ^20.12.7 - version: 20.12.7 + version: 20.12.12 eslint: specifier: ^8.57.0 version: 8.57.0 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.12.7) + version: 29.7.0(@types/node@20.12.12) packages/aave-spark-subgraph: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.0.4 - version: 2.0.4 + version: 2.1.1 '@summerfi/serverless-shared': specifier: workspace:* version: link:../serverless-shared @@ -172,7 +172,7 @@ importers: version: link:../typescript-config '@types/node': specifier: ^20.12.7 - version: 20.12.7 + version: 20.12.12 eslint: specifier: ^8.57.0 version: 8.57.0 @@ -205,7 +205,7 @@ importers: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.0.4 - version: 2.0.4 + version: 2.1.1 '@summerfi/serverless-shared': specifier: workspace:* version: link:../serverless-shared @@ -221,7 +221,7 @@ importers: version: link:../typescript-config '@types/node': specifier: ^20.12.7 - version: 20.12.7 + version: 20.12.12 eslint: specifier: ^8.57.0 version: 8.57.0 @@ -230,7 +230,7 @@ importers: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.0.4 - version: 2.0.4 + version: 2.1.1 '@summerfi/serverless-shared': specifier: workspace:* version: link:../serverless-shared @@ -246,7 +246,7 @@ importers: version: link:../typescript-config '@types/node': specifier: ^20.12.7 - version: 20.12.7 + version: 20.12.12 eslint: specifier: ^8.57.0 version: 8.57.0 @@ -264,7 +264,7 @@ importers: devDependencies: '@nomicfoundation/hardhat-toolbox-viem': specifier: ^2.0.0 - version: 2.0.0(@nomicfoundation/hardhat-network-helpers@1.0.10)(@nomicfoundation/hardhat-verify@2.0.5)(@nomicfoundation/hardhat-viem@1.0.4)(@types/chai-as-promised@7.1.8)(@types/chai@4.3.14)(@types/mocha@10.0.6)(@types/node@20.12.7)(chai@4.4.1)(hardhat-gas-reporter@1.0.10)(hardhat@2.22.2)(solidity-coverage@0.8.12)(ts-node@10.9.2)(typescript@5.0.4)(viem@1.21.4) + version: 2.0.0(@nomicfoundation/hardhat-network-helpers@1.0.10)(@nomicfoundation/hardhat-verify@2.0.7)(@nomicfoundation/hardhat-viem@1.0.4)(@types/chai-as-promised@7.1.8)(@types/chai@4.3.16)(@types/mocha@10.0.6)(@types/node@20.12.12)(chai@4.4.1)(hardhat-gas-reporter@1.0.10)(hardhat@2.22.4)(solidity-coverage@0.8.12)(ts-node@10.9.2)(typescript@5.0.4)(viem@1.21.4) '@summerfi/eslint-config': specifier: workspace:* version: link:../eslint-config @@ -276,7 +276,7 @@ importers: version: link:../typescript-config hardhat: specifier: ^2.22.2 - version: 2.22.2(ts-node@10.9.2)(typescript@5.0.4) + version: 2.22.4(ts-node@10.9.2)(typescript@5.0.4) packages/core-contracts: devDependencies: @@ -285,7 +285,7 @@ importers: version: 5.7.0 '@nomicfoundation/hardhat-toolbox-viem': specifier: ^2.0.0 - version: 2.0.0(@nomicfoundation/hardhat-network-helpers@1.0.10)(@nomicfoundation/hardhat-verify@2.0.5)(@nomicfoundation/hardhat-viem@1.0.4)(@types/chai-as-promised@7.1.8)(@types/chai@4.3.14)(@types/mocha@10.0.6)(@types/node@20.12.7)(chai@4.4.1)(hardhat-gas-reporter@1.0.10)(hardhat@2.22.2)(solidity-coverage@0.8.12)(ts-node@10.9.2)(typescript@5.0.4)(viem@1.21.4) + version: 2.0.0(@nomicfoundation/hardhat-network-helpers@1.0.10)(@nomicfoundation/hardhat-verify@2.0.7)(@nomicfoundation/hardhat-viem@1.0.4)(@types/chai-as-promised@7.1.8)(@types/chai@4.3.16)(@types/mocha@10.0.6)(@types/node@20.12.12)(chai@4.4.1)(hardhat-gas-reporter@1.0.10)(hardhat@2.22.4)(solidity-coverage@0.8.12)(ts-node@10.9.2)(typescript@5.0.4)(viem@1.21.4) '@openzeppelin/contracts': specifier: 4.9.3 version: 4.9.3 @@ -321,7 +321,7 @@ importers: version: link:../typescript-config hardhat: specifier: ^2.22.2 - version: 2.22.2(ts-node@10.9.2)(typescript@5.0.4) + version: 2.22.4(ts-node@10.9.2)(typescript@5.0.4) packages/defi-llama-client: dependencies: @@ -376,7 +376,7 @@ importers: devDependencies: '@nomicfoundation/hardhat-toolbox-viem': specifier: ^2.0.0 - version: 2.0.0(@nomicfoundation/hardhat-network-helpers@1.0.10)(@nomicfoundation/hardhat-verify@2.0.5)(@nomicfoundation/hardhat-viem@1.0.4)(@types/chai-as-promised@7.1.8)(@types/chai@4.3.14)(@types/mocha@10.0.6)(@types/node@20.12.7)(chai@4.4.1)(hardhat-gas-reporter@1.0.10)(hardhat@2.22.2)(solidity-coverage@0.8.12)(ts-node@10.9.2)(typescript@5.0.4)(viem@1.21.4) + version: 2.0.0(@nomicfoundation/hardhat-network-helpers@1.0.10)(@nomicfoundation/hardhat-verify@2.0.7)(@nomicfoundation/hardhat-viem@1.0.4)(@types/chai-as-promised@7.1.8)(@types/chai@4.3.16)(@types/mocha@10.0.6)(@types/node@20.12.12)(chai@4.4.1)(hardhat-gas-reporter@1.0.10)(hardhat@2.22.4)(solidity-coverage@0.8.12)(ts-node@10.9.2)(typescript@5.0.4)(viem@1.21.4) '@summerfi/common': specifier: workspace:* version: link:../common @@ -394,7 +394,7 @@ importers: version: link:../typescript-config hardhat: specifier: ^2.22.2 - version: 2.22.2(ts-node@10.9.2)(typescript@5.0.4) + version: 2.22.4(ts-node@10.9.2)(typescript@5.0.4) packages/eslint-config: devDependencies: @@ -412,7 +412,7 @@ importers: version: 9.1.0(eslint@8.57.0) eslint-config-turbo: specifier: ^1.13.2 - version: 1.13.2(eslint@8.57.0) + version: 1.13.3(eslint@8.57.0) eslint-import-resolver-typescript: specifier: ^3.6.1 version: 3.6.1(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0) @@ -421,7 +421,7 @@ importers: version: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) eslint-plugin-unused-imports: specifier: ^3.1.0 - version: 3.1.0(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.57.0) + version: 3.2.0(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.57.0) typescript: specifier: ^5.4.5 version: 5.4.5 @@ -430,7 +430,7 @@ importers: devDependencies: '@nomicfoundation/hardhat-toolbox-viem': specifier: ^2.0.0 - version: 2.0.0(@nomicfoundation/hardhat-network-helpers@1.0.10)(@nomicfoundation/hardhat-verify@2.0.5)(@nomicfoundation/hardhat-viem@1.0.4)(@types/chai-as-promised@7.1.8)(@types/chai@4.3.14)(@types/mocha@10.0.6)(@types/node@20.12.7)(chai@4.4.1)(hardhat-gas-reporter@1.0.10)(hardhat@2.22.2)(solidity-coverage@0.8.12)(ts-node@10.9.2)(typescript@5.0.4)(viem@1.21.4) + version: 2.0.0(@nomicfoundation/hardhat-network-helpers@1.0.10)(@nomicfoundation/hardhat-verify@2.0.7)(@nomicfoundation/hardhat-viem@1.0.4)(@types/chai-as-promised@7.1.8)(@types/chai@4.3.16)(@types/mocha@10.0.6)(@types/node@20.12.12)(chai@4.4.1)(hardhat-gas-reporter@1.0.10)(hardhat@2.22.4)(solidity-coverage@0.8.12)(ts-node@10.9.2)(typescript@5.0.4)(viem@1.21.4) '@summerfi/eslint-config': specifier: workspace:* version: link:../eslint-config @@ -439,13 +439,13 @@ importers: version: link:../typescript-config hardhat: specifier: ^2.22.2 - version: 2.22.2(ts-node@10.9.2)(typescript@5.0.4) + version: 2.22.4(ts-node@10.9.2)(typescript@5.0.4) hardhat-abi-exporter: specifier: ^2.10.1 - version: 2.10.1(hardhat@2.22.2) + version: 2.10.1(hardhat@2.22.4) solidity-docgen: specifier: 0.6.0-beta.36 - version: 0.6.0-beta.36(hardhat@2.22.2) + version: 0.6.0-beta.36(hardhat@2.22.4) packages/jest-config: dependencies: @@ -461,16 +461,16 @@ importers: version: 29.5.12 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.12.7) + version: 29.7.0(@types/node@20.12.12) ts-jest: specifier: ^29.1.2 - version: 29.1.2(@babel/core@7.24.4)(esbuild@0.20.2)(jest@29.7.0)(typescript@5.4.5) + version: 29.1.3(@babel/core@7.24.5)(esbuild@0.20.2)(jest@29.7.0)(typescript@5.4.5) packages/morpho-blue-external-api-client: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.0.4 - version: 2.0.4 + version: 2.1.1 '@summerfi/serverless-shared': specifier: workspace:* version: link:../serverless-shared @@ -486,7 +486,7 @@ importers: version: link:../typescript-config '@types/node': specifier: ^20.12.7 - version: 20.12.7 + version: 20.12.12 eslint: specifier: ^8.57.0 version: 8.57.0 @@ -495,7 +495,7 @@ importers: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.0.4 - version: 2.0.4 + version: 2.1.1 '@summerfi/serverless-shared': specifier: workspace:* version: link:../serverless-shared @@ -511,19 +511,19 @@ importers: version: link:../typescript-config '@types/node': specifier: ^20.12.7 - version: 20.12.7 + version: 20.12.12 eslint: specifier: ^8.57.0 version: 8.57.0 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.12.7) + version: 29.7.0(@types/node@20.12.12) packages/prices-subgraph: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.0.4 - version: 2.0.4 + version: 2.1.1 '@summerfi/serverless-shared': specifier: workspace:* version: link:../serverless-shared @@ -539,7 +539,7 @@ importers: version: link:../typescript-config '@types/node': specifier: ^20.12.7 - version: 20.12.7 + version: 20.12.12 eslint: specifier: ^8.57.0 version: 8.57.0 @@ -548,13 +548,13 @@ importers: dependencies: '@aws-sdk/client-rds-data': specifier: ^3.565.0 - version: 3.569.0 + version: 3.583.0 kysely: specifier: ^0.27.3 version: 0.27.3 kysely-data-api: specifier: ^0.2.1 - version: 0.2.1(@aws-sdk/client-rds-data@3.569.0)(kysely@0.27.3) + version: 0.2.1(@aws-sdk/client-rds-data@3.583.0)(kysely@0.27.3) kysely-postgres-js: specifier: ^2.0.0 version: 2.0.0(kysely@0.27.3)(postgres@3.4.4) @@ -579,7 +579,7 @@ importers: version: 0.15.0(kysely@0.27.3)(pg@8.11.5) tsx: specifier: ^4.9.0 - version: 4.9.3 + version: 4.11.0 packages/redis-cache: dependencies: @@ -588,7 +588,7 @@ importers: version: link:../abstractions redis: specifier: ^4.6.13 - version: 4.6.13 + version: 4.6.14 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -604,10 +604,10 @@ importers: dependencies: viem: specifier: ^2.9.19 - version: 2.9.19(typescript@5.4.5)(zod@3.22.4) + version: 2.12.1(typescript@5.4.5)(zod@3.23.8) zod: specifier: ^3.22.4 - version: 3.22.4 + version: 3.23.8 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -617,7 +617,7 @@ importers: version: link:../typescript-config '@types/node': specifier: ^20.12.7 - version: 20.12.7 + version: 20.12.12 eslint: specifier: ^8.57.0 version: 8.57.0 @@ -645,16 +645,16 @@ importers: version: link:../typescript-config axios: specifier: ^1.6.8 - version: 1.6.8 + version: 1.7.2 ethers: specifier: ^6.11.1 - version: 6.11.1 + version: 6.12.1 packages/triggers-calculations: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.0.4 - version: 2.0.4 + version: 2.1.1 '@summerfi/abis': specifier: workspace:* version: link:../abis @@ -669,7 +669,7 @@ importers: version: link:../triggers-shared viem: specifier: ^2.9.19 - version: 2.9.19(typescript@5.4.5)(zod@3.22.4) + version: 2.12.1(typescript@5.4.5)(zod@3.23.8) devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -679,13 +679,13 @@ importers: version: link:../typescript-config '@types/node': specifier: ^20.12.7 - version: 20.12.7 + version: 20.12.12 eslint: specifier: ^8.57.0 version: 8.57.0 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.12.7) + version: 29.7.0(@types/node@20.12.12) jest-expect-message: specifier: ^1.1.3 version: 1.1.3 @@ -700,7 +700,7 @@ importers: version: link:../serverless-shared zod: specifier: ^3.22.4 - version: 3.22.4 + version: 3.23.8 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -710,7 +710,7 @@ importers: version: link:../typescript-config '@types/node': specifier: ^20.12.7 - version: 20.12.7 + version: 20.12.12 eslint: specifier: ^8.57.0 version: 8.57.0 @@ -927,7 +927,7 @@ importers: version: 17.0.32 tsx: specifier: ^4.7.2 - version: 4.7.2 + version: 4.11.0 yargs: specifier: ^17.7.2 version: 17.7.2 @@ -1034,7 +1034,7 @@ importers: version: 9.0.1 zod: specifier: ^3.22.4 - version: 3.22.4 + version: 3.23.8 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -1071,7 +1071,7 @@ importers: version: link:../tokens-common abitype: specifier: ^1.0.2 - version: 1.0.2(typescript@5.4.5)(zod@3.22.4) + version: 1.0.2(typescript@5.4.5)(zod@3.23.8) devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -1145,7 +1145,7 @@ importers: version: 1.13.3 viem: specifier: ^2.7.9 - version: 2.9.19(typescript@5.4.5)(zod@3.22.4) + version: 2.12.1(typescript@5.4.5)(zod@3.23.8) sdk/sdk-common: dependencies: @@ -1173,7 +1173,7 @@ importers: version: 1.13.3 viem: specifier: ^2.2.0 - version: 2.9.19(typescript@5.4.5)(zod@3.22.4) + version: 2.12.1(typescript@5.4.5)(zod@3.23.8) sdk/sdk-e2e: devDependencies: @@ -1473,7 +1473,7 @@ importers: version: 17.0.32 tsx: specifier: ^4.7.2 - version: 4.7.2 + version: 4.11.0 yargs: specifier: ^17.7.2 version: 17.7.2 @@ -1543,6 +1543,9 @@ importers: specifier: workspace:* version: link:../../simulator-service devDependencies: + '@morpho-labs/gnosis-tx-builder': + specifier: ^2.0.0 + version: 2.0.0(ethers@6.12.1) '@summerfi/eslint-config': specifier: workspace:* version: link:../../../packages/eslint-config @@ -1557,7 +1560,7 @@ importers: version: 17.0.32 tsx: specifier: ^4.7.2 - version: 4.9.3 + version: 4.11.0 yargs: specifier: ^17.7.2 version: 17.7.2 @@ -1592,19 +1595,19 @@ importers: version: 8.11.5 tsx: specifier: ^4.8.2 - version: 4.9.3 + version: 4.11.0 summerfi-api/get-apy-function: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.0.2 - version: 2.0.4 + version: 2.1.1 '@aws-lambda-powertools/metrics': specifier: ^2.0.2 - version: 2.0.4 + version: 2.1.1 '@aws-lambda-powertools/tracer': specifier: ^2.0.2 - version: 2.0.4 + version: 2.1.1 '@summerfi/aave-spark-subgraph': specifier: workspace:* version: link:../../packages/aave-spark-subgraph @@ -1628,10 +1631,10 @@ importers: version: link:../../packages/serverless-shared viem: specifier: ^1.19.11 - version: 1.21.4(typescript@5.4.5)(zod@3.22.4) + version: 1.21.4(typescript@5.4.5)(zod@3.23.8) zod: specifier: ^3.22.4 - version: 3.22.4 + version: 3.23.8 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -1641,25 +1644,25 @@ importers: version: link:../../packages/typescript-config '@types/node': specifier: ^20.11.5 - version: 20.12.7 + version: 20.12.12 eslint: specifier: ^8.56.0 version: 8.57.0 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.12.7) + version: 29.7.0(@types/node@20.12.12) summerfi-api/get-meta-morpho-details-function: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.0.4 - version: 2.0.4 + version: 2.1.1 '@aws-lambda-powertools/metrics': specifier: ^2.0.4 - version: 2.0.4 + version: 2.1.1 '@aws-lambda-powertools/tracer': specifier: ^2.0.4 - version: 2.0.4 + version: 2.1.1 '@summerfi/morpho-blue-external-api-client': specifier: workspace:* version: link:../../packages/morpho-blue-external-api-client @@ -1668,13 +1671,13 @@ importers: version: link:../../packages/serverless-shared abitype: specifier: ^1.0.2 - version: 1.0.2(typescript@5.4.5)(zod@3.22.4) + version: 1.0.2(typescript@5.4.5)(zod@3.23.8) viem: specifier: ^1.21.4 - version: 1.21.4(typescript@5.4.5)(zod@3.22.4) + version: 1.21.4(typescript@5.4.5)(zod@3.23.8) zod: specifier: ^3.22.4 - version: 3.22.4 + version: 3.23.8 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -1684,28 +1687,28 @@ importers: version: link:../../packages/typescript-config '@types/node': specifier: ^20.12.7 - version: 20.12.7 + version: 20.12.12 eslint: specifier: ^8.57.0 version: 8.57.0 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.12.7) + version: 29.7.0(@types/node@20.12.12) summerfi-api/get-migrations-function: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.0.4 - version: 2.0.4 + version: 2.1.1 '@aws-lambda-powertools/metrics': specifier: ^2.0.4 - version: 2.0.4 + version: 2.1.1 '@aws-lambda-powertools/tracer': specifier: ^2.0.4 - version: 2.0.4 + version: 2.1.1 '@oasisdex/addresses': specifier: ^0.1.60 - version: 0.1.60 + version: 0.1.68 '@summerfi/serverless-shared': specifier: workspace:* version: link:../../packages/serverless-shared @@ -1714,10 +1717,10 @@ importers: version: 1.1.0(typescript@5.4.5)(viem@1.21.4) viem: specifier: ^1.21.4 - version: 1.21.4(typescript@5.4.5)(zod@3.22.4) + version: 1.21.4(typescript@5.4.5)(zod@3.23.8) zod: specifier: ^3.22.4 - version: 3.22.4 + version: 3.23.8 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -1730,28 +1733,28 @@ importers: version: 29.5.12 '@types/node': specifier: ^20.12.7 - version: 20.12.7 + version: 20.12.12 eslint: specifier: ^8.57.0 version: 8.57.0 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.12.7) + version: 29.7.0(@types/node@20.12.12) ts-jest: specifier: ^29.1.2 - version: 29.1.2(@babel/core@7.24.4)(esbuild@0.20.2)(jest@29.7.0)(typescript@5.4.5) + version: 29.1.3(@babel/core@7.24.5)(esbuild@0.20.2)(jest@29.7.0)(typescript@5.4.5) summerfi-api/get-morpho-claims-function: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.0.4 - version: 2.0.4 + version: 2.1.1 '@aws-lambda-powertools/metrics': specifier: ^2.0.4 - version: 2.0.4 + version: 2.1.1 '@aws-lambda-powertools/tracer': specifier: ^2.0.4 - version: 2.0.4 + version: 2.1.1 '@summerfi/serverless-shared': specifier: workspace:* version: link:../../packages/serverless-shared @@ -1760,7 +1763,7 @@ importers: version: 3.3.2 zod: specifier: ^3.22.4 - version: 3.22.4 + version: 3.23.8 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -1770,28 +1773,28 @@ importers: version: link:../../packages/typescript-config '@types/node': specifier: ^20.12.7 - version: 20.12.7 + version: 20.12.12 eslint: specifier: ^8.57.0 version: 8.57.0 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.12.7) + version: 29.7.0(@types/node@20.12.12) summerfi-api/get-rays-function: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.0.2 - version: 2.0.4 + version: 2.1.1 '@aws-lambda-powertools/metrics': specifier: ^2.0.2 - version: 2.0.4 + version: 2.1.1 '@aws-lambda-powertools/tracer': specifier: ^2.0.2 - version: 2.0.4 + version: 2.1.1 '@aws-sdk/client-rds-data': specifier: ^3.565.0 - version: 3.569.0 + version: 3.583.0 '@summerfi/abstractions': specifier: workspace:* version: link:../../packages/abstractions @@ -1809,10 +1812,10 @@ importers: version: 3.3.2 viem: specifier: ^1.19.11 - version: 1.21.4(typescript@5.4.5)(zod@3.22.4) + version: 1.21.4(typescript@5.4.5)(zod@3.23.8) zod: specifier: ^3.22.4 - version: 3.22.4 + version: 3.23.8 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -1822,25 +1825,25 @@ importers: version: link:../../packages/typescript-config '@types/node': specifier: ^20.11.5 - version: 20.12.7 + version: 20.12.12 eslint: specifier: ^8.56.0 version: 8.57.0 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.12.7) + version: 29.7.0(@types/node@20.12.12) summerfi-api/get-triggers-function: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.0.4 - version: 2.0.4 + version: 2.1.1 '@aws-lambda-powertools/metrics': specifier: ^2.0.4 - version: 2.0.4 + version: 2.1.1 '@aws-lambda-powertools/tracer': specifier: ^2.0.4 - version: 2.0.4 + version: 2.1.1 '@summerfi/automation-subgraph': specifier: workspace:* version: link:../../packages/automation-subgraph @@ -1858,10 +1861,10 @@ importers: version: link:../../packages/triggers-shared viem: specifier: ^2.9.19 - version: 2.9.19(typescript@5.4.5)(zod@3.22.4) + version: 2.12.1(typescript@5.4.5)(zod@3.23.8) zod: specifier: ^3.22.4 - version: 3.22.4 + version: 3.23.8 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -1871,13 +1874,13 @@ importers: version: link:../../packages/typescript-config '@types/node': specifier: ^20.12.7 - version: 20.12.7 + version: 20.12.12 eslint: specifier: ^8.57.0 version: 8.57.0 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.12.7) + version: 29.7.0(@types/node@20.12.12) summerfi-api/portfolio-assets-function: dependencies: @@ -1889,7 +1892,7 @@ importers: version: 3.3.2 zod: specifier: ^3.22.4 - version: 3.22.4 + version: 3.23.8 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -1899,7 +1902,7 @@ importers: version: link:../../packages/typescript-config '@types/node': specifier: ^20.12.7 - version: 20.12.7 + version: 20.12.12 eslint: specifier: ^8.57.0 version: 8.57.0 @@ -1920,7 +1923,7 @@ importers: version: 3.3.2 zod: specifier: ^3.22.4 - version: 3.22.4 + version: 3.23.8 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -1973,13 +1976,13 @@ importers: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.0.4 - version: 2.0.4 + version: 2.1.1 '@aws-lambda-powertools/metrics': specifier: ^2.0.4 - version: 2.0.4 + version: 2.1.1 '@aws-lambda-powertools/tracer': specifier: ^2.0.4 - version: 2.0.4 + version: 2.1.1 '@oasisdex/automation': specifier: 1.6.5-morpho.6 version: 1.6.5-morpho.6 @@ -2012,10 +2015,10 @@ importers: version: 3.3.2 viem: specifier: ^2.9.19 - version: 2.9.19(typescript@5.4.5)(zod@3.22.4) + version: 2.12.1(typescript@5.4.5)(zod@3.23.8) zod: specifier: ^3.22.4 - version: 3.22.4 + version: 3.23.8 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -2028,13 +2031,13 @@ importers: version: 29.5.12 '@types/node': specifier: ^20.12.7 - version: 20.12.7 + version: 20.12.12 eslint: specifier: ^8.57.0 version: 8.57.0 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.12.7) + version: 29.7.0(@types/node@20.12.12) jest-expect-message: specifier: ^1.1.3 version: 1.1.3 @@ -2053,9880 +2056,2773 @@ importers: packages: - '@aashutoshrathi/word-wrap@1.2.6': - resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} - engines: {node: '>=0.10.0'} - - '@adraffy/ens-normalize@1.10.0': + /@adraffy/ens-normalize@1.10.0: resolution: {integrity: sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q==} - '@adraffy/ens-normalize@1.10.1': + /@adraffy/ens-normalize@1.10.1: resolution: {integrity: sha512-96Z2IP3mYmF1Xg2cDm8f1gWGf/HUVedQ3FMifV4kG/PQ4yEP51xDtRAEfhVNt5f/uzpNkZHwWQuUcu6D6K+Ekw==} + dev: true - '@alcalzone/ansi-tokenize@0.1.3': + /@alcalzone/ansi-tokenize@0.1.3: resolution: {integrity: sha512-3yWxPTq3UQ/FY9p1ErPxIyfT64elWaMvM9lIHnaqpyft63tkxodF5aUElYHrdisWve5cETkh1+KBw1yJuW0aRw==} engines: {node: '>=14.13.1'} + dependencies: + ansi-styles: 6.2.1 + is-fullwidth-code-point: 4.0.0 + dev: true - '@ampproject/remapping@2.3.0': + /@ampproject/remapping@2.3.0: resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} engines: {node: '>=6.0.0'} + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + dev: true - '@ardatan/relay-compiler@12.0.0': + /@ardatan/relay-compiler@12.0.0(graphql@16.8.1): resolution: {integrity: sha512-9anThAaj1dQr6IGmzBMcfzOQKTa5artjuPmw8NYK/fiGEMjADbSguBY2FMDykt+QhilR3wc9VA/3yVju7JHg7Q==} hasBin: true peerDependencies: graphql: '*' + dependencies: + '@babel/core': 7.24.5 + '@babel/generator': 7.24.5 + '@babel/parser': 7.24.5 + '@babel/runtime': 7.24.5 + '@babel/traverse': 7.24.5 + '@babel/types': 7.24.5 + babel-preset-fbjs: 3.4.0(@babel/core@7.24.5) + chalk: 4.1.2 + fb-watchman: 2.0.2 + fbjs: 3.0.5 + glob: 7.2.3 + graphql: 16.8.1 + immutable: 3.7.6 + invariant: 2.2.4 + nullthrows: 1.1.1 + relay-runtime: 12.0.0 + signedsource: 1.0.0 + yargs: 15.4.1 + transitivePeerDependencies: + - encoding + - supports-color + dev: true - '@ardatan/sync-fetch@0.0.1': + /@ardatan/sync-fetch@0.0.1: resolution: {integrity: sha512-xhlTqH0m31mnsG0tIP4ETgfSB6gXDaYYsUWTrlUV93fFQPI9dd8hE0Ot6MHLCtqgB32hwJAC3YZMWlXZw7AleA==} engines: {node: '>=14'} + dependencies: + node-fetch: 2.7.0 + transitivePeerDependencies: + - encoding + dev: true - '@aws-cdk/asset-awscli-v1@2.2.202': + /@aws-cdk/asset-awscli-v1@2.2.202: resolution: {integrity: sha512-JqlF0D4+EVugnG5dAsNZMqhu3HW7ehOXm5SDMxMbXNDMdsF0pxtQKNHRl52z1U9igsHmaFpUgSGjbhAJ+0JONg==} + dev: true - '@aws-cdk/asset-kubectl-v20@2.1.2': + /@aws-cdk/asset-kubectl-v20@2.1.2: resolution: {integrity: sha512-3M2tELJOxQv0apCIiuKQ4pAbncz9GuLwnKFqxifWfe77wuMxyTRPmxssYHs42ePqzap1LT6GDcPygGs+hHstLg==} + dev: true - '@aws-cdk/asset-node-proxy-agent-v6@2.0.3': + /@aws-cdk/asset-node-proxy-agent-v6@2.0.3: resolution: {integrity: sha512-twhuEG+JPOYCYPx/xy5uH2+VUsIEhPTzDY0F1KuB+ocjWWB/KEDiOVL19nHvbPCB6fhWnkykXEMJ4HHcKvjtvg==} + dev: true - '@aws-cdk/aws-lambda-python-alpha@2.132.1-alpha.0': - resolution: {integrity: sha512-YZNLRw4Yhxt615RfC2kzuvp6/7HdU6RQZHlz3+Cb1VGMcFFdKJhKB/TrMx7xNq2NMwp9CDgasLkdxYuF8Nmd4A==} + /@aws-cdk/aws-lambda-python-alpha@2.142.1-alpha.0(aws-cdk-lib@2.142.1)(constructs@10.3.0): + resolution: {integrity: sha512-XknR1To5RJbMWR92h3VCOA+DaKnjLDgKSNrWVAdbqkrnlpB1zygWFSXQQeV38f8ySkCwbt8NaUw2Mhi3Z6w+Eg==} engines: {node: '>= 14.15.0'} peerDependencies: - aws-cdk-lib: ^2.132.1 + aws-cdk-lib: ^2.142.1 constructs: ^10.0.0 + dependencies: + aws-cdk-lib: 2.142.1(constructs@10.3.0) + constructs: 10.3.0 + dev: true - '@aws-cdk/aws-service-spec@0.0.52': - resolution: {integrity: sha512-SJA4xtG2y5NpTmtKtFNbrYh6BaFgKEcr7ye8N+S4H3KByXIa0NLOh5bPTVBjvyXiRPDJ9q39Xu433vxC3BsDhg==} + /@aws-cdk/aws-service-spec@0.1.3: + resolution: {integrity: sha512-nYgOQ7M6GShdidYDy1y0hDZew3Nle+DSS86MLJ5WxmQZKv92RdtPigHoH8sBfV+3AeJZJg+cCMm8RP0+07wctQ==} + dependencies: + '@aws-cdk/service-spec-types': 0.0.71 + '@cdklabs/tskb': 0.0.3 + dev: true - '@aws-cdk/cloud-assembly-schema@2.132.1': - resolution: {integrity: sha512-PAusB9kKT9CELzbj8x5G3BpFl6Wjwk5ULn+8/uP21MIygWmAcktzOD2CVzkxMvljT7qU4KN1GEDCZXVqLzzomg==} + /@aws-cdk/cloud-assembly-schema@2.142.1: + resolution: {integrity: sha512-qXPblguf9+24YFZz8vECeB5NIXoghiokeQjSXYvZNS5VS+YhqvFSoN+YIu/aoJFfAiMsbamI2CW2Z8xs3qUtiQ==} engines: {node: '>= 14.15.0'} + dev: true bundledDependencies: - jsonschema - semver - '@aws-cdk/cloudformation-diff@2.132.1': - resolution: {integrity: sha512-h93B/VC4lujT9gjeSgUCg3XaypDyydvggbpJ0jCbl2kagDK90SHInZm5yscPNof+FpT8Igvn+5yEUOLVnfFYYg==} + /@aws-cdk/cloudformation-diff@2.142.1: + resolution: {integrity: sha512-32tadRx2vzSLUk/5XDpHAxlXCDay0IpnrorTGk2svZDUgySSQoQjv5MA5B0P/1rQJ2ZOpurOIuneBwl6GLlUUg==} engines: {node: '>= 14.15.0'} + dependencies: + '@aws-cdk/aws-service-spec': 0.1.3 + '@aws-cdk/service-spec-types': 0.0.69 + chalk: 4.1.2 + diff: 5.2.0 + fast-deep-equal: 3.1.3 + string-width: 4.2.3 + table: 6.8.2 + dev: true - '@aws-cdk/cx-api@2.132.1': - resolution: {integrity: sha512-JWf9Xou9vtO7wMyDKvcbigjGLY6kPS31cYc+e+dJSMsCxWEbvpEdndAJOU7y9Y8/99SnvihYxEbgbpWGwcK/Xg==} + /@aws-cdk/cx-api@2.142.1(@aws-cdk/cloud-assembly-schema@2.142.1): + resolution: {integrity: sha512-bj9cF8dkikv0LzH+aq0yan0BYDOrUsnTTTjSorC0oCJTzTfxo2hXGNGlP6nEfZr09Ws7tUemqPoHASgItzPHUA==} engines: {node: '>= 14.15.0'} peerDependencies: - '@aws-cdk/cloud-assembly-schema': 2.132.1 + '@aws-cdk/cloud-assembly-schema': 2.142.1 + dependencies: + '@aws-cdk/cloud-assembly-schema': 2.142.1 + dev: true bundledDependencies: - semver - '@aws-cdk/service-spec-types@0.0.52': - resolution: {integrity: sha512-vVoZPgEmkUPeTVJSQ9iyXTiwnb6GiBbntJdnsWTr6I9ao66TuU9HijEcAQHxkC7CxTkian+3KSX/NTl01Klm0A==} + /@aws-cdk/service-spec-types@0.0.69: + resolution: {integrity: sha512-bYCdtU5ZGfYJyKsh25ILzdtXyC4poB64k9oQ1p8EeRngnh6TlxObO/J+sI1CDvOpGoa+BUzCdAhewIkdMjzl5A==} + dependencies: + '@cdklabs/tskb': 0.0.3 + dev: true + + /@aws-cdk/service-spec-types@0.0.71: + resolution: {integrity: sha512-HVs2BhcuWZNeF0CoJ8lRhHMD27h5D+dPvqjKgbF3NYWJW3lmdYueASRWTaZnLcND51c/Ar/ZXpXvv0kd6Wj5RQ==} + dependencies: + '@cdklabs/tskb': 0.0.3 + dev: true - '@aws-crypto/crc32@3.0.0': + /@aws-crypto/crc32@3.0.0: resolution: {integrity: sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==} + dependencies: + '@aws-crypto/util': 3.0.0 + '@aws-sdk/types': 3.577.0 + tslib: 1.14.1 + dev: true - '@aws-crypto/crc32c@3.0.0': + /@aws-crypto/crc32c@3.0.0: resolution: {integrity: sha512-ENNPPManmnVJ4BTXlOjAgD7URidbAznURqD0KvfREyc4o20DPYdEldU1f5cQ7Jbj0CJJSPaMIk/9ZshdB3210w==} + dependencies: + '@aws-crypto/util': 3.0.0 + '@aws-sdk/types': 3.577.0 + tslib: 1.14.1 + dev: true - '@aws-crypto/ie11-detection@3.0.0': + /@aws-crypto/ie11-detection@3.0.0: resolution: {integrity: sha512-341lBBkiY1DfDNKai/wXM3aujNBkXR7tq1URPQDL9wi3AUbI80NR74uF1TXHMm7po1AcnFk8iu2S2IeU/+/A+Q==} + dependencies: + tslib: 1.14.1 - '@aws-crypto/sha1-browser@3.0.0': + /@aws-crypto/sha1-browser@3.0.0: resolution: {integrity: sha512-NJth5c997GLHs6nOYTzFKTbYdMNA6/1XlKVgnZoaZcQ7z7UJlOgj2JdbHE8tiYLS3fzXNCguct77SPGat2raSw==} + dependencies: + '@aws-crypto/ie11-detection': 3.0.0 + '@aws-crypto/supports-web-crypto': 3.0.0 + '@aws-crypto/util': 3.0.0 + '@aws-sdk/types': 3.577.0 + '@aws-sdk/util-locate-window': 3.568.0 + '@aws-sdk/util-utf8-browser': 3.259.0 + tslib: 1.14.1 + dev: true - '@aws-crypto/sha256-browser@3.0.0': + /@aws-crypto/sha256-browser@3.0.0: resolution: {integrity: sha512-8VLmW2B+gjFbU5uMeqtQM6Nj0/F1bro80xQXCW6CQBWgosFWXTx77aeOF5CAIAmbOK64SdMBJdNr6J41yP5mvQ==} + dependencies: + '@aws-crypto/ie11-detection': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-crypto/supports-web-crypto': 3.0.0 + '@aws-crypto/util': 3.0.0 + '@aws-sdk/types': 3.577.0 + '@aws-sdk/util-locate-window': 3.568.0 + '@aws-sdk/util-utf8-browser': 3.259.0 + tslib: 1.14.1 - '@aws-crypto/sha256-js@3.0.0': + /@aws-crypto/sha256-js@3.0.0: resolution: {integrity: sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==} + dependencies: + '@aws-crypto/util': 3.0.0 + '@aws-sdk/types': 3.577.0 + tslib: 1.14.1 - '@aws-crypto/sha256-js@5.2.0': + /@aws-crypto/sha256-js@5.2.0: resolution: {integrity: sha512-FFQQyu7edu4ufvIZ+OadFpHHOt+eSTBaYaki44c+akjg7qZg9oOQeLlk77F6tSYqjDAFClrHJk9tMf0HdVyOvA==} engines: {node: '>=16.0.0'} + dependencies: + '@aws-crypto/util': 5.2.0 + '@aws-sdk/types': 3.577.0 + tslib: 2.6.2 + dev: true - '@aws-crypto/supports-web-crypto@3.0.0': + /@aws-crypto/supports-web-crypto@3.0.0: resolution: {integrity: sha512-06hBdMwUAb2WFTuGG73LSC0wfPu93xWwo5vL2et9eymgmu3Id5vFAHBbajVWiGhPO37qcsdCap/FqXvJGJWPIg==} + dependencies: + tslib: 1.14.1 - '@aws-crypto/util@3.0.0': + /@aws-crypto/util@3.0.0: resolution: {integrity: sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==} + dependencies: + '@aws-sdk/types': 3.577.0 + '@aws-sdk/util-utf8-browser': 3.259.0 + tslib: 1.14.1 - '@aws-crypto/util@5.2.0': + /@aws-crypto/util@5.2.0: resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==} + dependencies: + '@aws-sdk/types': 3.577.0 + '@smithy/util-utf8': 2.3.0 + tslib: 2.6.2 + dev: true - '@aws-lambda-powertools/commons@1.18.1': + /@aws-lambda-powertools/commons@1.18.1: resolution: {integrity: sha512-gFRgQ2GJDghKvf+fXvT0kQVftgOT05W+hCa7RkfZj6HSjVAO+9DZZeJL3JK1HcsLAjWRj7W9ra0/MqB3Abf+PQ==} + dev: false - '@aws-lambda-powertools/commons@2.0.4': - resolution: {integrity: sha512-6tH27airGDbK+hNltrb33qdsbbrql34KcSBLmKnZYGZam7nWc5giTEtDh1Zyw2N3bQ0BnZ6SahgO9eY46WaiRA==} + /@aws-lambda-powertools/commons@2.1.1: + resolution: {integrity: sha512-QlvZLVJM4yXlO6mpYlYwWGaLCZTJg8WfsIH8/eT061n4BdBljW/VHMj59sHp/IljQn8HE/VdHKYHqM6vPJjYJw==} + dev: false - '@aws-lambda-powertools/logger@1.18.1': + /@aws-lambda-powertools/logger@1.18.1: resolution: {integrity: sha512-GsSMqaFXCSz+llSOn2CVNMoN+j/jNsS6JP2Opy9myU0tvg7PeuU3+rN24vKyibUwpxM466IzWFBSJkYdm0bqVw==} peerDependencies: '@middy/core': '>=3.x' peerDependenciesMeta: '@middy/core': optional: true + dependencies: + '@aws-lambda-powertools/commons': 1.18.1 + lodash.merge: 4.6.2 + dev: false - '@aws-lambda-powertools/logger@2.0.4': - resolution: {integrity: sha512-KzBw7oUtSTKxY5Ulck4ZKelr4jX3erhlcuscvihZvu4OJv5TdZ1GrIT+wkySaLp8nKidOHjhTJAlNXCFjNiINQ==} + /@aws-lambda-powertools/logger@2.1.1: + resolution: {integrity: sha512-OB/ycDef8VD4OpGZcte2dxkdNWQCSxjRu8OJ2nuizh7auqZMI5LX8PYoIBEBRQC138CeJBtKKCwjSi+NOFMY1w==} peerDependencies: '@middy/core': '>=3.x' peerDependenciesMeta: '@middy/core': optional: true + dependencies: + '@aws-lambda-powertools/commons': 2.1.1 + lodash.merge: 4.6.2 + dev: false - '@aws-lambda-powertools/metrics@1.18.1': + /@aws-lambda-powertools/metrics@1.18.1: resolution: {integrity: sha512-ebojjuoOlm0bOtZ6H5fyTnC5B0owVX1nNqDUPEQSejkeiiBW0m6DVzy6hFWuKmGtBtm2WNnWwTE//WtF+CD6Ug==} peerDependencies: '@middy/core': '>=3.x' peerDependenciesMeta: '@middy/core': optional: true + dependencies: + '@aws-lambda-powertools/commons': 1.18.1 + dev: false - '@aws-lambda-powertools/metrics@2.0.4': - resolution: {integrity: sha512-w9kaRtqH1xPe2SLny5hF1z2c2rQDlgYtbVGm0YtQ48nIxHMNh+yV8dLd4o7fdjl2p6yuhXlHCiD+HoMi5aOPCg==} + /@aws-lambda-powertools/metrics@2.1.1: + resolution: {integrity: sha512-8UnM7O0G3ZJ7715uiMFIIYFFU9qa/9uzRTxaDxa1veZYU2SElxPlfkYpXzFCzvRAPkTQ8jlAEFZ/qZNNC/janA==} peerDependencies: '@middy/core': '>=3.x' peerDependenciesMeta: '@middy/core': optional: true + dependencies: + '@aws-lambda-powertools/commons': 2.1.1 + dev: false - '@aws-lambda-powertools/tracer@1.18.1': + /@aws-lambda-powertools/tracer@1.18.1: resolution: {integrity: sha512-bMLBtdEFNmLUR9RJvBULR6XJD0XopUhhS1mlpeQlm2BCPIN3gLbqAlJK8dMXyAw8GCpLpHaziCo2+7a/AIh7lA==} peerDependencies: '@middy/core': '>=3.x' peerDependenciesMeta: '@middy/core': optional: true + dependencies: + '@aws-lambda-powertools/commons': 1.18.1 + aws-xray-sdk-core: 3.6.0 + dev: false - '@aws-lambda-powertools/tracer@2.0.4': - resolution: {integrity: sha512-Alc/oy8JnEMlM33zYVuiutyYjxen10AaOdKBuwyxwzCJPpkwO5ks+6RxLBTHjFVrvCt7CwPd9G1lDvruDvcxKQ==} + /@aws-lambda-powertools/tracer@2.1.1: + resolution: {integrity: sha512-gL7w5GqMEIFl6E+UOI470Ip/1S9rqFvq4GQz5TuW4fR2vPIsWI/b+O1R5PaSy2Hfpqp1CMUJBX6qAfQOPEPwPw==} peerDependencies: '@middy/core': '>=3.x' peerDependenciesMeta: '@middy/core': optional: true + dependencies: + '@aws-lambda-powertools/commons': 2.1.1 + aws-xray-sdk-core: 3.6.0 + dev: false - '@aws-sdk/client-cloudformation@3.555.0': - resolution: {integrity: sha512-gm+qteiSwG/Y25lrIdjiP/GQkYSCdxhTAcHHUGmC85pDTLRsZbTXUm79rhvT3SfoLX3/Hh4JHoVSiFL+wxKeww==} - engines: {node: '>=14.0.0'} - - '@aws-sdk/client-cognito-identity@3.554.0': - resolution: {integrity: sha512-/rFufn75nrCj5gTpTLIlDxjGoPeAj+gC3JLVqS2Tlpqx3YhqHiz+jYaHYJbkvrcLMEdDFqaoO3DI7y/GcD59Mg==} - engines: {node: '>=14.0.0'} - - '@aws-sdk/client-ecs@3.554.0': - resolution: {integrity: sha512-JyGbk0ulTtz8rjvVCWKqf+1Lobk6TDB+bPpfhMa3Z+ACyNsS+qU3W+XcDUXkgn+VGFd+nMfFoJOotSsT03ilFw==} - engines: {node: '>=14.0.0'} - - '@aws-sdk/client-eventbridge@3.554.0': - resolution: {integrity: sha512-rO5jYUaYsHFmjfXkgtCN1Tb3O9Or0ro61f6vzZB/+XLZvgTSP8OLJcH+1BHMj26L2ntuTkZ4zPikO+2Bg4urDg==} - engines: {node: '>=14.0.0'} + /@aws-sdk/client-cloudformation@3.583.0: + resolution: {integrity: sha512-jMuxCtJq85I+sXkxS07tGJvJsDb12TFjKCTaR5Q6ucMfmSng9nPSwclkOiCO2xscWUHV4OEHreIDpkB3nz4tGg==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-crypto/sha256-browser': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-sdk/client-sso-oidc': 3.583.0(@aws-sdk/client-sts@3.583.0) + '@aws-sdk/client-sts': 3.583.0 + '@aws-sdk/core': 3.582.0 + '@aws-sdk/credential-provider-node': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0)(@aws-sdk/client-sts@3.583.0) + '@aws-sdk/middleware-host-header': 3.577.0 + '@aws-sdk/middleware-logger': 3.577.0 + '@aws-sdk/middleware-recursion-detection': 3.577.0 + '@aws-sdk/middleware-user-agent': 3.583.0 + '@aws-sdk/region-config-resolver': 3.577.0 + '@aws-sdk/types': 3.577.0 + '@aws-sdk/util-endpoints': 3.583.0 + '@aws-sdk/util-user-agent-browser': 3.577.0 + '@aws-sdk/util-user-agent-node': 3.577.0(aws-crt@1.21.2) + '@smithy/config-resolver': 3.0.0 + '@smithy/core': 2.0.1 + '@smithy/fetch-http-handler': 3.0.1 + '@smithy/hash-node': 3.0.0 + '@smithy/invalid-dependency': 3.0.0 + '@smithy/middleware-content-length': 3.0.0 + '@smithy/middleware-endpoint': 3.0.0 + '@smithy/middleware-retry': 3.0.1 + '@smithy/middleware-serde': 3.0.0 + '@smithy/middleware-stack': 3.0.0 + '@smithy/node-config-provider': 3.0.0 + '@smithy/node-http-handler': 3.0.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/smithy-client': 3.0.1 + '@smithy/types': 3.0.0 + '@smithy/url-parser': 3.0.0 + '@smithy/util-base64': 3.0.0 + '@smithy/util-body-length-browser': 3.0.0 + '@smithy/util-body-length-node': 3.0.0 + '@smithy/util-defaults-mode-browser': 3.0.1 + '@smithy/util-defaults-mode-node': 3.0.1 + '@smithy/util-endpoints': 2.0.0 + '@smithy/util-middleware': 3.0.0 + '@smithy/util-retry': 3.0.0 + '@smithy/util-utf8': 3.0.0 + '@smithy/util-waiter': 3.0.0 + tslib: 2.6.2 + uuid: 9.0.1 + transitivePeerDependencies: + - aws-crt + dev: true - '@aws-sdk/client-iam@3.554.0': - resolution: {integrity: sha512-Q+8PTBdZ1e3hzWRZGnIE5P+7jbxQx9Gas3ayOfzdHx538apqk4z8+Q4PoymECttPSPwv1KoYphFZvRyH7lrDKA==} - engines: {node: '>=14.0.0'} + /@aws-sdk/client-cognito-identity@3.583.0: + resolution: {integrity: sha512-FrkVjrDRsXofw1F/iJqR/DOKPbIakIB+Dr04l25Em4PTWBj29NcQyYW49qcCHF0CPkqQpin8ASXDWzGv7A0yxg==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-crypto/sha256-browser': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-sdk/client-sso-oidc': 3.583.0(@aws-sdk/client-sts@3.583.0) + '@aws-sdk/client-sts': 3.583.0 + '@aws-sdk/core': 3.582.0 + '@aws-sdk/credential-provider-node': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0)(@aws-sdk/client-sts@3.583.0) + '@aws-sdk/middleware-host-header': 3.577.0 + '@aws-sdk/middleware-logger': 3.577.0 + '@aws-sdk/middleware-recursion-detection': 3.577.0 + '@aws-sdk/middleware-user-agent': 3.583.0 + '@aws-sdk/region-config-resolver': 3.577.0 + '@aws-sdk/types': 3.577.0 + '@aws-sdk/util-endpoints': 3.583.0 + '@aws-sdk/util-user-agent-browser': 3.577.0 + '@aws-sdk/util-user-agent-node': 3.577.0(aws-crt@1.21.2) + '@smithy/config-resolver': 3.0.0 + '@smithy/core': 2.0.1 + '@smithy/fetch-http-handler': 3.0.1 + '@smithy/hash-node': 3.0.0 + '@smithy/invalid-dependency': 3.0.0 + '@smithy/middleware-content-length': 3.0.0 + '@smithy/middleware-endpoint': 3.0.0 + '@smithy/middleware-retry': 3.0.1 + '@smithy/middleware-serde': 3.0.0 + '@smithy/middleware-stack': 3.0.0 + '@smithy/node-config-provider': 3.0.0 + '@smithy/node-http-handler': 3.0.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/smithy-client': 3.0.1 + '@smithy/types': 3.0.0 + '@smithy/url-parser': 3.0.0 + '@smithy/util-base64': 3.0.0 + '@smithy/util-body-length-browser': 3.0.0 + '@smithy/util-body-length-node': 3.0.0 + '@smithy/util-defaults-mode-browser': 3.0.1 + '@smithy/util-defaults-mode-node': 3.0.1 + '@smithy/util-endpoints': 2.0.0 + '@smithy/util-middleware': 3.0.0 + '@smithy/util-retry': 3.0.0 + '@smithy/util-utf8': 3.0.0 + tslib: 2.6.2 + transitivePeerDependencies: + - aws-crt + dev: true - '@aws-sdk/client-iot-data-plane@3.554.0': - resolution: {integrity: sha512-2xtMWKlJ1wOq+8mQe1XddfqOkskfIV/AgkGTueZUqO7FvVxHtWOlXpafN7naRZUBtzzu9/oeK8gfvYhpW+kqGw==} - engines: {node: '>=14.0.0'} + /@aws-sdk/client-ecs@3.583.0: + resolution: {integrity: sha512-+5cqkD2xyLe+WdE4Vfy4XdTqdMF5UWyYijufJpN6tq6Cg/UpYOCcxWUERmn7kTtBuYW8YYquihQsjsxukivxtQ==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-crypto/sha256-browser': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-sdk/client-sso-oidc': 3.583.0(@aws-sdk/client-sts@3.583.0) + '@aws-sdk/client-sts': 3.583.0 + '@aws-sdk/core': 3.582.0 + '@aws-sdk/credential-provider-node': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0)(@aws-sdk/client-sts@3.583.0) + '@aws-sdk/middleware-host-header': 3.577.0 + '@aws-sdk/middleware-logger': 3.577.0 + '@aws-sdk/middleware-recursion-detection': 3.577.0 + '@aws-sdk/middleware-user-agent': 3.583.0 + '@aws-sdk/region-config-resolver': 3.577.0 + '@aws-sdk/types': 3.577.0 + '@aws-sdk/util-endpoints': 3.583.0 + '@aws-sdk/util-user-agent-browser': 3.577.0 + '@aws-sdk/util-user-agent-node': 3.577.0(aws-crt@1.21.2) + '@smithy/config-resolver': 3.0.0 + '@smithy/core': 2.0.1 + '@smithy/fetch-http-handler': 3.0.1 + '@smithy/hash-node': 3.0.0 + '@smithy/invalid-dependency': 3.0.0 + '@smithy/middleware-content-length': 3.0.0 + '@smithy/middleware-endpoint': 3.0.0 + '@smithy/middleware-retry': 3.0.1 + '@smithy/middleware-serde': 3.0.0 + '@smithy/middleware-stack': 3.0.0 + '@smithy/node-config-provider': 3.0.0 + '@smithy/node-http-handler': 3.0.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/smithy-client': 3.0.1 + '@smithy/types': 3.0.0 + '@smithy/url-parser': 3.0.0 + '@smithy/util-base64': 3.0.0 + '@smithy/util-body-length-browser': 3.0.0 + '@smithy/util-body-length-node': 3.0.0 + '@smithy/util-defaults-mode-browser': 3.0.1 + '@smithy/util-defaults-mode-node': 3.0.1 + '@smithy/util-endpoints': 2.0.0 + '@smithy/util-middleware': 3.0.0 + '@smithy/util-retry': 3.0.0 + '@smithy/util-utf8': 3.0.0 + '@smithy/util-waiter': 3.0.0 + tslib: 2.6.2 + uuid: 9.0.1 + transitivePeerDependencies: + - aws-crt + dev: true - '@aws-sdk/client-iot@3.554.0': - resolution: {integrity: sha512-3mr5Ik3hVa3WS0F2N88sSKAwOVdRtoRN8xY1bqpT+I/tjAgt+07uItHrkJErEh4Xq3EnhJfKiPR/KbcRK2oQuQ==} - engines: {node: '>=14.0.0'} + /@aws-sdk/client-eventbridge@3.583.0: + resolution: {integrity: sha512-gapotdKrfVN6r4muSEXk+oqThVJuAssDDarMoAY7gg78knQPaGPm3S5/+5r31IULZsp7jSIwV9N8O8QagLow6Q==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-crypto/sha256-browser': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-sdk/client-sso-oidc': 3.583.0(@aws-sdk/client-sts@3.583.0) + '@aws-sdk/client-sts': 3.583.0 + '@aws-sdk/core': 3.582.0 + '@aws-sdk/credential-provider-node': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0)(@aws-sdk/client-sts@3.583.0) + '@aws-sdk/middleware-host-header': 3.577.0 + '@aws-sdk/middleware-logger': 3.577.0 + '@aws-sdk/middleware-recursion-detection': 3.577.0 + '@aws-sdk/middleware-signing': 3.577.0 + '@aws-sdk/middleware-user-agent': 3.583.0 + '@aws-sdk/region-config-resolver': 3.577.0 + '@aws-sdk/signature-v4-multi-region': 3.582.0 + '@aws-sdk/types': 3.577.0 + '@aws-sdk/util-endpoints': 3.583.0 + '@aws-sdk/util-user-agent-browser': 3.577.0 + '@aws-sdk/util-user-agent-node': 3.577.0(aws-crt@1.21.2) + '@smithy/config-resolver': 3.0.0 + '@smithy/fetch-http-handler': 3.0.1 + '@smithy/hash-node': 3.0.0 + '@smithy/invalid-dependency': 3.0.0 + '@smithy/middleware-content-length': 3.0.0 + '@smithy/middleware-endpoint': 3.0.0 + '@smithy/middleware-retry': 3.0.1 + '@smithy/middleware-serde': 3.0.0 + '@smithy/middleware-stack': 3.0.0 + '@smithy/node-config-provider': 3.0.0 + '@smithy/node-http-handler': 3.0.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/smithy-client': 3.0.1 + '@smithy/types': 3.0.0 + '@smithy/url-parser': 3.0.0 + '@smithy/util-base64': 3.0.0 + '@smithy/util-body-length-browser': 3.0.0 + '@smithy/util-body-length-node': 3.0.0 + '@smithy/util-defaults-mode-browser': 3.0.1 + '@smithy/util-defaults-mode-node': 3.0.1 + '@smithy/util-endpoints': 2.0.0 + '@smithy/util-retry': 3.0.0 + '@smithy/util-utf8': 3.0.0 + tslib: 2.6.2 + transitivePeerDependencies: + - aws-crt + dev: true - '@aws-sdk/client-lambda@3.554.0': - resolution: {integrity: sha512-KNUAAZKcsCdUOB2/rbWpc96jsSM/ahw3hK5/Ru4RTLfNP27GitxqF0v+mzrVk9lTuj2ChJ3JDV+UfdGsqvZgpw==} - engines: {node: '>=14.0.0'} + /@aws-sdk/client-iam@3.583.0: + resolution: {integrity: sha512-EA6TTpN3Tkn7C16afyJpKvUrqmz0rJQKEBc/Baf3JMWfFkDYbM7DSW7WbDneebAAHucxIra1UKvzcHlJcwIHng==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-crypto/sha256-browser': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-sdk/client-sso-oidc': 3.583.0(@aws-sdk/client-sts@3.583.0) + '@aws-sdk/client-sts': 3.583.0 + '@aws-sdk/core': 3.582.0 + '@aws-sdk/credential-provider-node': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0)(@aws-sdk/client-sts@3.583.0) + '@aws-sdk/middleware-host-header': 3.577.0 + '@aws-sdk/middleware-logger': 3.577.0 + '@aws-sdk/middleware-recursion-detection': 3.577.0 + '@aws-sdk/middleware-user-agent': 3.583.0 + '@aws-sdk/region-config-resolver': 3.577.0 + '@aws-sdk/types': 3.577.0 + '@aws-sdk/util-endpoints': 3.583.0 + '@aws-sdk/util-user-agent-browser': 3.577.0 + '@aws-sdk/util-user-agent-node': 3.577.0(aws-crt@1.21.2) + '@smithy/config-resolver': 3.0.0 + '@smithy/core': 2.0.1 + '@smithy/fetch-http-handler': 3.0.1 + '@smithy/hash-node': 3.0.0 + '@smithy/invalid-dependency': 3.0.0 + '@smithy/middleware-content-length': 3.0.0 + '@smithy/middleware-endpoint': 3.0.0 + '@smithy/middleware-retry': 3.0.1 + '@smithy/middleware-serde': 3.0.0 + '@smithy/middleware-stack': 3.0.0 + '@smithy/node-config-provider': 3.0.0 + '@smithy/node-http-handler': 3.0.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/smithy-client': 3.0.1 + '@smithy/types': 3.0.0 + '@smithy/url-parser': 3.0.0 + '@smithy/util-base64': 3.0.0 + '@smithy/util-body-length-browser': 3.0.0 + '@smithy/util-body-length-node': 3.0.0 + '@smithy/util-defaults-mode-browser': 3.0.1 + '@smithy/util-defaults-mode-node': 3.0.1 + '@smithy/util-endpoints': 2.0.0 + '@smithy/util-middleware': 3.0.0 + '@smithy/util-retry': 3.0.0 + '@smithy/util-utf8': 3.0.0 + '@smithy/util-waiter': 3.0.0 + tslib: 2.6.2 + transitivePeerDependencies: + - aws-crt + dev: true - '@aws-sdk/client-rds-data@3.569.0': - resolution: {integrity: sha512-avid47WL0ylvMnRVchiURyrimksajoia6Mp5qyo00/2+sOC+/1VmA32OH0lltEC+O7AFEbPLWFf9gQEG9qM1oQ==} + /@aws-sdk/client-iot-data-plane@3.583.0: + resolution: {integrity: sha512-zV0hyvHE/VVmr0uDqc6KltjYmeMnf6ZasNC1/2SFviZDSS5uQUEZQScjdKTlaJQSXA4dVnCpbAdHCPdJr9dOqA==} engines: {node: '>=16.0.0'} + dependencies: + '@aws-crypto/sha256-browser': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-sdk/client-sso-oidc': 3.583.0(@aws-sdk/client-sts@3.583.0) + '@aws-sdk/client-sts': 3.583.0 + '@aws-sdk/core': 3.582.0 + '@aws-sdk/credential-provider-node': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0)(@aws-sdk/client-sts@3.583.0) + '@aws-sdk/middleware-host-header': 3.577.0 + '@aws-sdk/middleware-logger': 3.577.0 + '@aws-sdk/middleware-recursion-detection': 3.577.0 + '@aws-sdk/middleware-user-agent': 3.583.0 + '@aws-sdk/region-config-resolver': 3.577.0 + '@aws-sdk/types': 3.577.0 + '@aws-sdk/util-endpoints': 3.583.0 + '@aws-sdk/util-user-agent-browser': 3.577.0 + '@aws-sdk/util-user-agent-node': 3.577.0(aws-crt@1.21.2) + '@smithy/config-resolver': 3.0.0 + '@smithy/core': 2.0.1 + '@smithy/fetch-http-handler': 3.0.1 + '@smithy/hash-node': 3.0.0 + '@smithy/invalid-dependency': 3.0.0 + '@smithy/middleware-content-length': 3.0.0 + '@smithy/middleware-endpoint': 3.0.0 + '@smithy/middleware-retry': 3.0.1 + '@smithy/middleware-serde': 3.0.0 + '@smithy/middleware-stack': 3.0.0 + '@smithy/node-config-provider': 3.0.0 + '@smithy/node-http-handler': 3.0.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/smithy-client': 3.0.1 + '@smithy/types': 3.0.0 + '@smithy/url-parser': 3.0.0 + '@smithy/util-base64': 3.0.0 + '@smithy/util-body-length-browser': 3.0.0 + '@smithy/util-body-length-node': 3.0.0 + '@smithy/util-defaults-mode-browser': 3.0.1 + '@smithy/util-defaults-mode-node': 3.0.1 + '@smithy/util-endpoints': 2.0.0 + '@smithy/util-middleware': 3.0.0 + '@smithy/util-retry': 3.0.0 + '@smithy/util-stream': 3.0.1 + '@smithy/util-utf8': 3.0.0 + tslib: 2.6.2 + transitivePeerDependencies: + - aws-crt + dev: true - '@aws-sdk/client-s3@3.554.0': - resolution: {integrity: sha512-d5TKKtGWhN0vl9QovUFrf3UsM7jgFQkowDPx1O+E/yeQUj1FBDOoRfDCcQOKW/9ghloI6k7f0bBpNxdd+x0oKA==} - engines: {node: '>=14.0.0'} + /@aws-sdk/client-iot@3.583.0: + resolution: {integrity: sha512-pxD7Ze4dEoqYMZ1i/j6ddLwOgf+Xmu8ShC4HS/2AhEMrAOz6cHK3KfUK8g8RldICJPivCyAKkBbii9aqMoWJVQ==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-crypto/sha256-browser': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-sdk/client-sso-oidc': 3.583.0(@aws-sdk/client-sts@3.583.0) + '@aws-sdk/client-sts': 3.583.0 + '@aws-sdk/core': 3.582.0 + '@aws-sdk/credential-provider-node': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0)(@aws-sdk/client-sts@3.583.0) + '@aws-sdk/middleware-host-header': 3.577.0 + '@aws-sdk/middleware-logger': 3.577.0 + '@aws-sdk/middleware-recursion-detection': 3.577.0 + '@aws-sdk/middleware-user-agent': 3.583.0 + '@aws-sdk/region-config-resolver': 3.577.0 + '@aws-sdk/types': 3.577.0 + '@aws-sdk/util-endpoints': 3.583.0 + '@aws-sdk/util-user-agent-browser': 3.577.0 + '@aws-sdk/util-user-agent-node': 3.577.0(aws-crt@1.21.2) + '@smithy/config-resolver': 3.0.0 + '@smithy/core': 2.0.1 + '@smithy/fetch-http-handler': 3.0.1 + '@smithy/hash-node': 3.0.0 + '@smithy/invalid-dependency': 3.0.0 + '@smithy/middleware-content-length': 3.0.0 + '@smithy/middleware-endpoint': 3.0.0 + '@smithy/middleware-retry': 3.0.1 + '@smithy/middleware-serde': 3.0.0 + '@smithy/middleware-stack': 3.0.0 + '@smithy/node-config-provider': 3.0.0 + '@smithy/node-http-handler': 3.0.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/smithy-client': 3.0.1 + '@smithy/types': 3.0.0 + '@smithy/url-parser': 3.0.0 + '@smithy/util-base64': 3.0.0 + '@smithy/util-body-length-browser': 3.0.0 + '@smithy/util-body-length-node': 3.0.0 + '@smithy/util-defaults-mode-browser': 3.0.1 + '@smithy/util-defaults-mode-node': 3.0.1 + '@smithy/util-endpoints': 2.0.0 + '@smithy/util-middleware': 3.0.0 + '@smithy/util-retry': 3.0.0 + '@smithy/util-utf8': 3.0.0 + tslib: 2.6.2 + uuid: 9.0.1 + transitivePeerDependencies: + - aws-crt + dev: true - '@aws-sdk/client-ssm@3.554.0': - resolution: {integrity: sha512-zqc5Pyb0agJ3erp1x2ILoll7mG6atQTD2AFWA5UBFhNa7R0+w+TLvSNnX813X4bv4OySqBYYEtAokoTvV66UZw==} - engines: {node: '>=14.0.0'} + /@aws-sdk/client-lambda@3.583.0: + resolution: {integrity: sha512-d8rFjAA3UE+K7rTbp7XuMo2FVkr+S9IztkwyUo9hgWZDbdbUl7vhKSX220byJK/BZOnnIY4IXGNkbGoAT+aKyw==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-crypto/sha256-browser': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-sdk/client-sso-oidc': 3.583.0(@aws-sdk/client-sts@3.583.0) + '@aws-sdk/client-sts': 3.583.0 + '@aws-sdk/core': 3.582.0 + '@aws-sdk/credential-provider-node': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0)(@aws-sdk/client-sts@3.583.0) + '@aws-sdk/middleware-host-header': 3.577.0 + '@aws-sdk/middleware-logger': 3.577.0 + '@aws-sdk/middleware-recursion-detection': 3.577.0 + '@aws-sdk/middleware-user-agent': 3.583.0 + '@aws-sdk/region-config-resolver': 3.577.0 + '@aws-sdk/types': 3.577.0 + '@aws-sdk/util-endpoints': 3.583.0 + '@aws-sdk/util-user-agent-browser': 3.577.0 + '@aws-sdk/util-user-agent-node': 3.577.0(aws-crt@1.21.2) + '@smithy/config-resolver': 3.0.0 + '@smithy/core': 2.0.1 + '@smithy/eventstream-serde-browser': 3.0.0 + '@smithy/eventstream-serde-config-resolver': 3.0.0 + '@smithy/eventstream-serde-node': 3.0.0 + '@smithy/fetch-http-handler': 3.0.1 + '@smithy/hash-node': 3.0.0 + '@smithy/invalid-dependency': 3.0.0 + '@smithy/middleware-content-length': 3.0.0 + '@smithy/middleware-endpoint': 3.0.0 + '@smithy/middleware-retry': 3.0.1 + '@smithy/middleware-serde': 3.0.0 + '@smithy/middleware-stack': 3.0.0 + '@smithy/node-config-provider': 3.0.0 + '@smithy/node-http-handler': 3.0.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/smithy-client': 3.0.1 + '@smithy/types': 3.0.0 + '@smithy/url-parser': 3.0.0 + '@smithy/util-base64': 3.0.0 + '@smithy/util-body-length-browser': 3.0.0 + '@smithy/util-body-length-node': 3.0.0 + '@smithy/util-defaults-mode-browser': 3.0.1 + '@smithy/util-defaults-mode-node': 3.0.1 + '@smithy/util-endpoints': 2.0.0 + '@smithy/util-middleware': 3.0.0 + '@smithy/util-retry': 3.0.0 + '@smithy/util-stream': 3.0.1 + '@smithy/util-utf8': 3.0.0 + '@smithy/util-waiter': 3.0.0 + tslib: 2.6.2 + transitivePeerDependencies: + - aws-crt + dev: true - '@aws-sdk/client-sso-oidc@3.554.0': - resolution: {integrity: sha512-M86rkiRqbZBF5VyfTQ/vttry9VSoQkZ1oCqYF+SAGlXmD0Of8587yRSj2M4rYe0Uj7nRQIfSnhDYp1UzsZeRfQ==} - engines: {node: '>=14.0.0'} - peerDependencies: - '@aws-sdk/credential-provider-node': ^3.554.0 + /@aws-sdk/client-rds-data@3.583.0: + resolution: {integrity: sha512-xBnrVGNmMsTafzlaeZiFUahr3TP4zF2yRnsWzibylbXXIjaGdcLoiskNizo62syCh/8LbgpY6EN34EeYWsfMiw==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-crypto/sha256-browser': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-sdk/client-sso-oidc': 3.583.0(@aws-sdk/client-sts@3.583.0) + '@aws-sdk/client-sts': 3.583.0 + '@aws-sdk/core': 3.582.0 + '@aws-sdk/credential-provider-node': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0)(@aws-sdk/client-sts@3.583.0) + '@aws-sdk/middleware-host-header': 3.577.0 + '@aws-sdk/middleware-logger': 3.577.0 + '@aws-sdk/middleware-recursion-detection': 3.577.0 + '@aws-sdk/middleware-user-agent': 3.583.0 + '@aws-sdk/region-config-resolver': 3.577.0 + '@aws-sdk/types': 3.577.0 + '@aws-sdk/util-endpoints': 3.583.0 + '@aws-sdk/util-user-agent-browser': 3.577.0 + '@aws-sdk/util-user-agent-node': 3.577.0(aws-crt@1.21.2) + '@smithy/config-resolver': 3.0.0 + '@smithy/core': 2.0.1 + '@smithy/fetch-http-handler': 3.0.1 + '@smithy/hash-node': 3.0.0 + '@smithy/invalid-dependency': 3.0.0 + '@smithy/middleware-content-length': 3.0.0 + '@smithy/middleware-endpoint': 3.0.0 + '@smithy/middleware-retry': 3.0.1 + '@smithy/middleware-serde': 3.0.0 + '@smithy/middleware-stack': 3.0.0 + '@smithy/node-config-provider': 3.0.0 + '@smithy/node-http-handler': 3.0.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/smithy-client': 3.0.1 + '@smithy/types': 3.0.0 + '@smithy/url-parser': 3.0.0 + '@smithy/util-base64': 3.0.0 + '@smithy/util-body-length-browser': 3.0.0 + '@smithy/util-body-length-node': 3.0.0 + '@smithy/util-defaults-mode-browser': 3.0.1 + '@smithy/util-defaults-mode-node': 3.0.1 + '@smithy/util-endpoints': 2.0.0 + '@smithy/util-middleware': 3.0.0 + '@smithy/util-retry': 3.0.0 + '@smithy/util-utf8': 3.0.0 + tslib: 2.6.2 + transitivePeerDependencies: + - aws-crt - '@aws-sdk/client-sso-oidc@3.569.0': - resolution: {integrity: sha512-u5DEjNEvRvlKKh1QLCDuQ8GIrx+OFvJFLfhorsp4oCxDylvORs+KfyKKnJAw4wYEEHyxyz9GzHD7p6a8+HLVHw==} + /@aws-sdk/client-s3@3.583.0: + resolution: {integrity: sha512-pS7wncugSuIQ8RgtRIE9Dystdmd3mMnjfjiO1iA1UhGXkyAgoJzQ4jH0r+5X+eWmYHYQcfy9fUQXT2gqV3t9GA==} engines: {node: '>=16.0.0'} + dependencies: + '@aws-crypto/sha1-browser': 3.0.0 + '@aws-crypto/sha256-browser': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-sdk/client-sso-oidc': 3.583.0(@aws-sdk/client-sts@3.583.0) + '@aws-sdk/client-sts': 3.583.0 + '@aws-sdk/core': 3.582.0 + '@aws-sdk/credential-provider-node': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0)(@aws-sdk/client-sts@3.583.0) + '@aws-sdk/middleware-bucket-endpoint': 3.577.0 + '@aws-sdk/middleware-expect-continue': 3.577.0 + '@aws-sdk/middleware-flexible-checksums': 3.577.0 + '@aws-sdk/middleware-host-header': 3.577.0 + '@aws-sdk/middleware-location-constraint': 3.577.0 + '@aws-sdk/middleware-logger': 3.577.0 + '@aws-sdk/middleware-recursion-detection': 3.577.0 + '@aws-sdk/middleware-sdk-s3': 3.582.0 + '@aws-sdk/middleware-signing': 3.577.0 + '@aws-sdk/middleware-ssec': 3.577.0 + '@aws-sdk/middleware-user-agent': 3.583.0 + '@aws-sdk/region-config-resolver': 3.577.0 + '@aws-sdk/signature-v4-multi-region': 3.582.0 + '@aws-sdk/types': 3.577.0 + '@aws-sdk/util-endpoints': 3.583.0 + '@aws-sdk/util-user-agent-browser': 3.577.0 + '@aws-sdk/util-user-agent-node': 3.577.0(aws-crt@1.21.2) + '@aws-sdk/xml-builder': 3.575.0 + '@smithy/config-resolver': 3.0.0 + '@smithy/core': 2.0.1 + '@smithy/eventstream-serde-browser': 3.0.0 + '@smithy/eventstream-serde-config-resolver': 3.0.0 + '@smithy/eventstream-serde-node': 3.0.0 + '@smithy/fetch-http-handler': 3.0.1 + '@smithy/hash-blob-browser': 3.0.0 + '@smithy/hash-node': 3.0.0 + '@smithy/hash-stream-node': 3.0.0 + '@smithy/invalid-dependency': 3.0.0 + '@smithy/md5-js': 3.0.0 + '@smithy/middleware-content-length': 3.0.0 + '@smithy/middleware-endpoint': 3.0.0 + '@smithy/middleware-retry': 3.0.1 + '@smithy/middleware-serde': 3.0.0 + '@smithy/middleware-stack': 3.0.0 + '@smithy/node-config-provider': 3.0.0 + '@smithy/node-http-handler': 3.0.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/smithy-client': 3.0.1 + '@smithy/types': 3.0.0 + '@smithy/url-parser': 3.0.0 + '@smithy/util-base64': 3.0.0 + '@smithy/util-body-length-browser': 3.0.0 + '@smithy/util-body-length-node': 3.0.0 + '@smithy/util-defaults-mode-browser': 3.0.1 + '@smithy/util-defaults-mode-node': 3.0.1 + '@smithy/util-endpoints': 2.0.0 + '@smithy/util-retry': 3.0.0 + '@smithy/util-stream': 3.0.1 + '@smithy/util-utf8': 3.0.0 + '@smithy/util-waiter': 3.0.0 + tslib: 2.6.2 + transitivePeerDependencies: + - aws-crt + dev: true - '@aws-sdk/client-sso@3.554.0': - resolution: {integrity: sha512-yj6CgIxCT3UwMumEO481KH4QvwArkAPzD7Xvwe1QKgJATc9bKNEo/FxV8LfnWIJ7nOtMDxbNxYLMXH/Fs1qGaQ==} - engines: {node: '>=14.0.0'} + /@aws-sdk/client-ssm@3.583.0: + resolution: {integrity: sha512-qdbFmU50EXKIIGvU0KVkgOTlzm6bN92LAJnizDo8Fz0nQUYKLF3GdNBXpD8FIu6Y5JqO6yAvl0mEch0PvyyejA==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-crypto/sha256-browser': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-sdk/client-sso-oidc': 3.583.0(@aws-sdk/client-sts@3.583.0) + '@aws-sdk/client-sts': 3.583.0 + '@aws-sdk/core': 3.582.0 + '@aws-sdk/credential-provider-node': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0)(@aws-sdk/client-sts@3.583.0) + '@aws-sdk/middleware-host-header': 3.577.0 + '@aws-sdk/middleware-logger': 3.577.0 + '@aws-sdk/middleware-recursion-detection': 3.577.0 + '@aws-sdk/middleware-user-agent': 3.583.0 + '@aws-sdk/region-config-resolver': 3.577.0 + '@aws-sdk/types': 3.577.0 + '@aws-sdk/util-endpoints': 3.583.0 + '@aws-sdk/util-user-agent-browser': 3.577.0 + '@aws-sdk/util-user-agent-node': 3.577.0(aws-crt@1.21.2) + '@smithy/config-resolver': 3.0.0 + '@smithy/core': 2.0.1 + '@smithy/fetch-http-handler': 3.0.1 + '@smithy/hash-node': 3.0.0 + '@smithy/invalid-dependency': 3.0.0 + '@smithy/middleware-content-length': 3.0.0 + '@smithy/middleware-endpoint': 3.0.0 + '@smithy/middleware-retry': 3.0.1 + '@smithy/middleware-serde': 3.0.0 + '@smithy/middleware-stack': 3.0.0 + '@smithy/node-config-provider': 3.0.0 + '@smithy/node-http-handler': 3.0.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/smithy-client': 3.0.1 + '@smithy/types': 3.0.0 + '@smithy/url-parser': 3.0.0 + '@smithy/util-base64': 3.0.0 + '@smithy/util-body-length-browser': 3.0.0 + '@smithy/util-body-length-node': 3.0.0 + '@smithy/util-defaults-mode-browser': 3.0.1 + '@smithy/util-defaults-mode-node': 3.0.1 + '@smithy/util-endpoints': 2.0.0 + '@smithy/util-middleware': 3.0.0 + '@smithy/util-retry': 3.0.0 + '@smithy/util-utf8': 3.0.0 + '@smithy/util-waiter': 3.0.0 + tslib: 2.6.2 + uuid: 9.0.1 + transitivePeerDependencies: + - aws-crt + dev: true - '@aws-sdk/client-sso@3.568.0': - resolution: {integrity: sha512-LSD7k0ZBQNWouTN5dYpUkeestoQ+r5u6cp6o+FATKeiFQET85RNA3xJ4WPnOI5rBC1PETKhQXvF44863P3hCaQ==} + /@aws-sdk/client-sso-oidc@3.583.0(@aws-sdk/client-sts@3.583.0): + resolution: {integrity: sha512-LO3wmrFXPi2kNE46lD1XATfRrvdNxXd4DlTFouoWmr7lvqoUkcbmtkV2r/XChZA2z0HiDauphC1e8b8laJVeSg==} engines: {node: '>=16.0.0'} + dependencies: + '@aws-crypto/sha256-browser': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-sdk/client-sts': 3.583.0 + '@aws-sdk/core': 3.582.0 + '@aws-sdk/credential-provider-node': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0)(@aws-sdk/client-sts@3.583.0) + '@aws-sdk/middleware-host-header': 3.577.0 + '@aws-sdk/middleware-logger': 3.577.0 + '@aws-sdk/middleware-recursion-detection': 3.577.0 + '@aws-sdk/middleware-user-agent': 3.583.0 + '@aws-sdk/region-config-resolver': 3.577.0 + '@aws-sdk/types': 3.577.0 + '@aws-sdk/util-endpoints': 3.583.0 + '@aws-sdk/util-user-agent-browser': 3.577.0 + '@aws-sdk/util-user-agent-node': 3.577.0(aws-crt@1.21.2) + '@smithy/config-resolver': 3.0.0 + '@smithy/core': 2.0.1 + '@smithy/fetch-http-handler': 3.0.1 + '@smithy/hash-node': 3.0.0 + '@smithy/invalid-dependency': 3.0.0 + '@smithy/middleware-content-length': 3.0.0 + '@smithy/middleware-endpoint': 3.0.0 + '@smithy/middleware-retry': 3.0.1 + '@smithy/middleware-serde': 3.0.0 + '@smithy/middleware-stack': 3.0.0 + '@smithy/node-config-provider': 3.0.0 + '@smithy/node-http-handler': 3.0.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/smithy-client': 3.0.1 + '@smithy/types': 3.0.0 + '@smithy/url-parser': 3.0.0 + '@smithy/util-base64': 3.0.0 + '@smithy/util-body-length-browser': 3.0.0 + '@smithy/util-body-length-node': 3.0.0 + '@smithy/util-defaults-mode-browser': 3.0.1 + '@smithy/util-defaults-mode-node': 3.0.1 + '@smithy/util-endpoints': 2.0.0 + '@smithy/util-middleware': 3.0.0 + '@smithy/util-retry': 3.0.0 + '@smithy/util-utf8': 3.0.0 + tslib: 2.6.2 + transitivePeerDependencies: + - '@aws-sdk/client-sts' + - aws-crt - '@aws-sdk/client-sts@3.554.0': - resolution: {integrity: sha512-EhaA6T0M0DNg5M8TCF1a7XJI5D/ZxAF3dgVIchyF98iNzjYgl/7U8K6hJay2A11aFvVu70g46xYMpz3Meky4wQ==} - engines: {node: '>=14.0.0'} - peerDependencies: - '@aws-sdk/credential-provider-node': ^3.554.0 + /@aws-sdk/client-sso@3.583.0: + resolution: {integrity: sha512-FNJ2MmiBtZZwgkj4+GLVrzqwmD6D8FBptrFZk7PnGkSf7v1Q8txYNI6gY938RRhYJ4lBW4cNbhPvWoDxAl90Hw==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-crypto/sha256-browser': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-sdk/core': 3.582.0 + '@aws-sdk/middleware-host-header': 3.577.0 + '@aws-sdk/middleware-logger': 3.577.0 + '@aws-sdk/middleware-recursion-detection': 3.577.0 + '@aws-sdk/middleware-user-agent': 3.583.0 + '@aws-sdk/region-config-resolver': 3.577.0 + '@aws-sdk/types': 3.577.0 + '@aws-sdk/util-endpoints': 3.583.0 + '@aws-sdk/util-user-agent-browser': 3.577.0 + '@aws-sdk/util-user-agent-node': 3.577.0(aws-crt@1.21.2) + '@smithy/config-resolver': 3.0.0 + '@smithy/core': 2.0.1 + '@smithy/fetch-http-handler': 3.0.1 + '@smithy/hash-node': 3.0.0 + '@smithy/invalid-dependency': 3.0.0 + '@smithy/middleware-content-length': 3.0.0 + '@smithy/middleware-endpoint': 3.0.0 + '@smithy/middleware-retry': 3.0.1 + '@smithy/middleware-serde': 3.0.0 + '@smithy/middleware-stack': 3.0.0 + '@smithy/node-config-provider': 3.0.0 + '@smithy/node-http-handler': 3.0.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/smithy-client': 3.0.1 + '@smithy/types': 3.0.0 + '@smithy/url-parser': 3.0.0 + '@smithy/util-base64': 3.0.0 + '@smithy/util-body-length-browser': 3.0.0 + '@smithy/util-body-length-node': 3.0.0 + '@smithy/util-defaults-mode-browser': 3.0.1 + '@smithy/util-defaults-mode-node': 3.0.1 + '@smithy/util-endpoints': 2.0.0 + '@smithy/util-middleware': 3.0.0 + '@smithy/util-retry': 3.0.0 + '@smithy/util-utf8': 3.0.0 + tslib: 2.6.2 + transitivePeerDependencies: + - aws-crt - '@aws-sdk/client-sts@3.569.0': - resolution: {integrity: sha512-3AyipQ2zHszkcTr8n1Sp7CiMUi28aMf1vOhEo0KKi0DWGo1Z1qJEpWeRP363KG0n9/8U3p1IkXGz5FRbpXZxIw==} + /@aws-sdk/client-sts@3.583.0: + resolution: {integrity: sha512-xDMxiemPDWr9dY2Q4AyixkRnk/hvS6fs6OWxuVCz1WO47YhaAfOsEGAgQMgDLLaOfj/oLU5D14uTNBEPGh4rBA==} engines: {node: '>=16.0.0'} + dependencies: + '@aws-crypto/sha256-browser': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-sdk/client-sso-oidc': 3.583.0(@aws-sdk/client-sts@3.583.0) + '@aws-sdk/core': 3.582.0 + '@aws-sdk/credential-provider-node': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0)(@aws-sdk/client-sts@3.583.0) + '@aws-sdk/middleware-host-header': 3.577.0 + '@aws-sdk/middleware-logger': 3.577.0 + '@aws-sdk/middleware-recursion-detection': 3.577.0 + '@aws-sdk/middleware-user-agent': 3.583.0 + '@aws-sdk/region-config-resolver': 3.577.0 + '@aws-sdk/types': 3.577.0 + '@aws-sdk/util-endpoints': 3.583.0 + '@aws-sdk/util-user-agent-browser': 3.577.0 + '@aws-sdk/util-user-agent-node': 3.577.0(aws-crt@1.21.2) + '@smithy/config-resolver': 3.0.0 + '@smithy/core': 2.0.1 + '@smithy/fetch-http-handler': 3.0.1 + '@smithy/hash-node': 3.0.0 + '@smithy/invalid-dependency': 3.0.0 + '@smithy/middleware-content-length': 3.0.0 + '@smithy/middleware-endpoint': 3.0.0 + '@smithy/middleware-retry': 3.0.1 + '@smithy/middleware-serde': 3.0.0 + '@smithy/middleware-stack': 3.0.0 + '@smithy/node-config-provider': 3.0.0 + '@smithy/node-http-handler': 3.0.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/smithy-client': 3.0.1 + '@smithy/types': 3.0.0 + '@smithy/url-parser': 3.0.0 + '@smithy/util-base64': 3.0.0 + '@smithy/util-body-length-browser': 3.0.0 + '@smithy/util-body-length-node': 3.0.0 + '@smithy/util-defaults-mode-browser': 3.0.1 + '@smithy/util-defaults-mode-node': 3.0.1 + '@smithy/util-endpoints': 2.0.0 + '@smithy/util-middleware': 3.0.0 + '@smithy/util-retry': 3.0.0 + '@smithy/util-utf8': 3.0.0 + tslib: 2.6.2 + transitivePeerDependencies: + - aws-crt - '@aws-sdk/config-resolver@3.374.0': + /@aws-sdk/config-resolver@3.374.0: resolution: {integrity: sha512-eTSbmpcgZ97o7PuFls8pH1344OS03nfqq1NO9HxxvoYoZ6DFfUO7kqKeNUhP9LxOF7slyHXajDT7eoPclGnTuw==} engines: {node: '>=14.0.0'} deprecated: This package has moved to @smithy/config-resolver + dependencies: + '@smithy/config-resolver': 1.1.0 + tslib: 2.6.2 + dev: true - '@aws-sdk/core@3.554.0': - resolution: {integrity: sha512-JrG7ToTLeNf+/S3IiCUPVw9jEDB0DXl5ho8n/HwOa946mv+QyCepCuV2U/8f/1KAX0mD8Ufm/E4/cbCbFHgbSg==} - engines: {node: '>=14.0.0'} - - '@aws-sdk/core@3.567.0': - resolution: {integrity: sha512-zUDEQhC7blOx6sxhHdT75x98+SXQVdUIMu8z8AjqMWiYK2v4WkOS8i6dOS4E5OjL5J1Ac+ruy8op/Bk4AFqSIw==} + /@aws-sdk/core@3.582.0: + resolution: {integrity: sha512-ofmD96IQc9g1dbyqlCyxu5fCG7kIl9p1NoN5+vGBUyLdbmPCV3Pdg99nRHYEJuv2MgGx5AUFGDPMHcqbJpnZIw==} engines: {node: '>=16.0.0'} + dependencies: + '@smithy/core': 2.0.1 + '@smithy/protocol-http': 4.0.0 + '@smithy/signature-v4': 3.0.0 + '@smithy/smithy-client': 3.0.1 + '@smithy/types': 3.0.0 + fast-xml-parser: 4.2.5 + tslib: 2.6.2 - '@aws-sdk/credential-provider-cognito-identity@3.554.0': - resolution: {integrity: sha512-soF84soy9rTAfzsH1ODP0AnJt5JlsJI8k1aWtC08/Al0CZjLkxDRHzaB1wxubFyT2Ql6bpxbDfU6KDFXsQIpdA==} - engines: {node: '>=14.0.0'} - - '@aws-sdk/credential-provider-env@3.535.0': - resolution: {integrity: sha512-XppwO8c0GCGSAvdzyJOhbtktSEaShg14VJKg8mpMa1XcgqzmcqqHQjtDWbx5rZheY1VdpXZhpEzJkB6LpQejpA==} - engines: {node: '>=14.0.0'} - - '@aws-sdk/credential-provider-env@3.568.0': - resolution: {integrity: sha512-MVTQoZwPnP1Ev5A7LG+KzeU6sCB8BcGkZeDT1z1V5Wt7GPq0MgFQTSSjhImnB9jqRSZkl1079Bt3PbO6lfIS8g==} + /@aws-sdk/credential-provider-cognito-identity@3.583.0: + resolution: {integrity: sha512-Z6VdDZApTxeI/n8qXBz3IkAdC0tL/mw+cz6EprqpkZG8bejHw78fVjeaVOBBkuskUikjwN4puv0SEJzoEMIqpA==} engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/client-cognito-identity': 3.583.0 + '@aws-sdk/types': 3.577.0 + '@smithy/property-provider': 3.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 + transitivePeerDependencies: + - aws-crt + dev: true - '@aws-sdk/credential-provider-http@3.552.0': - resolution: {integrity: sha512-vsmu7Cz1i45pFEqzVb4JcFmAmVnWFNLsGheZc8SCptlqCO5voETrZZILHYIl4cjKkSDk3pblBOf0PhyjqWW6WQ==} - engines: {node: '>=14.0.0'} - - '@aws-sdk/credential-provider-http@3.568.0': - resolution: {integrity: sha512-gL0NlyI2eW17hnCrh45hZV+qjtBquB+Bckiip9R6DIVRKqYcoILyiFhuOgf2bXeF23gVh6j18pvUvIoTaFWs5w==} + /@aws-sdk/credential-provider-env@3.577.0: + resolution: {integrity: sha512-Jxu255j0gToMGEiqufP8ZtKI8HW90lOLjwJ3LrdlD/NLsAY0tOQf1fWc53u28hWmmNGMxmCrL2p66IOgMDhDUw==} engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/types': 3.577.0 + '@smithy/property-provider': 3.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 - '@aws-sdk/credential-provider-ini@3.554.0': - resolution: {integrity: sha512-BQenhg43S6TMJHxrdjDVdVF+HH5tA1op9ZYLyJrvV5nn7CCO4kyAkkOuSAv1NkL+RZsIkW0/vHTXwQOQw3cUsg==} - engines: {node: '>=14.0.0'} + /@aws-sdk/credential-provider-http@3.582.0: + resolution: {integrity: sha512-kGOUKw5ryPkDIYB69PjK3SicVLTbWB06ouFN2W1EvqUJpkQGPAUGzYcomKtt3mJaCTf/1kfoaHwARAl6KKSP8Q==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/types': 3.577.0 + '@smithy/fetch-http-handler': 3.0.1 + '@smithy/node-http-handler': 3.0.0 + '@smithy/property-provider': 3.0.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/smithy-client': 3.0.1 + '@smithy/types': 3.0.0 + '@smithy/util-stream': 3.0.1 + tslib: 2.6.2 - '@aws-sdk/credential-provider-ini@3.568.0': - resolution: {integrity: sha512-m5DUN9mpto5DhEvo6w3+8SS6q932ja37rTNvpPqWJIaWhj7OorAwVirSaJQAQB/M8+XCUIrUonxytphZB28qGQ==} + /@aws-sdk/credential-provider-ini@3.583.0(@aws-sdk/client-sso-oidc@3.583.0)(@aws-sdk/client-sts@3.583.0): + resolution: {integrity: sha512-8I0oWNg/yps6ctjhEeL/qJ9BIa/+xXP7RPDQqFKZ2zBkWbmLLOoMWXRvl8uKUBD6qCe+DGmcu9skfVXeXSesEQ==} engines: {node: '>=16.0.0'} peerDependencies: - '@aws-sdk/client-sts': ^3.568.0 - - '@aws-sdk/credential-provider-node@3.554.0': - resolution: {integrity: sha512-poX/+2OE3oxqp4f5MiaJh251p8l+bzcFwgcDBwz0e2rcpvMSYl9jw4AvGnCiG2bmf9yhNJdftBiS1A+KjxV0qA==} - engines: {node: '>=14.0.0'} + '@aws-sdk/client-sts': ^3.583.0 + dependencies: + '@aws-sdk/client-sts': 3.583.0 + '@aws-sdk/credential-provider-env': 3.577.0 + '@aws-sdk/credential-provider-process': 3.577.0 + '@aws-sdk/credential-provider-sso': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0) + '@aws-sdk/credential-provider-web-identity': 3.577.0(@aws-sdk/client-sts@3.583.0) + '@aws-sdk/types': 3.577.0 + '@smithy/credential-provider-imds': 3.0.0 + '@smithy/property-provider': 3.0.0 + '@smithy/shared-ini-file-loader': 3.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 + transitivePeerDependencies: + - '@aws-sdk/client-sso-oidc' + - aws-crt - '@aws-sdk/credential-provider-node@3.569.0': - resolution: {integrity: sha512-7jH4X2qlPU3PszZP1zvHJorhLARbU1tXvp8ngBe8ArXBrkFpl/dQ2Y/IRAICPm/pyC1IEt8L/CvKp+dz7v/eRw==} + /@aws-sdk/credential-provider-node@3.583.0(@aws-sdk/client-sso-oidc@3.583.0)(@aws-sdk/client-sts@3.583.0): + resolution: {integrity: sha512-yBNypBXny7zJH85SzxDj8s1mbLXv9c/Vbq0qR3R3POj2idZ6ywB/qlIRC1XwBuv49Wvg8kA1wKXk3K3jrpcVIw==} engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/credential-provider-env': 3.577.0 + '@aws-sdk/credential-provider-http': 3.582.0 + '@aws-sdk/credential-provider-ini': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0)(@aws-sdk/client-sts@3.583.0) + '@aws-sdk/credential-provider-process': 3.577.0 + '@aws-sdk/credential-provider-sso': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0) + '@aws-sdk/credential-provider-web-identity': 3.577.0(@aws-sdk/client-sts@3.583.0) + '@aws-sdk/types': 3.577.0 + '@smithy/credential-provider-imds': 3.0.0 + '@smithy/property-provider': 3.0.0 + '@smithy/shared-ini-file-loader': 3.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 + transitivePeerDependencies: + - '@aws-sdk/client-sso-oidc' + - '@aws-sdk/client-sts' + - aws-crt - '@aws-sdk/credential-provider-process@3.535.0': - resolution: {integrity: sha512-9O1OaprGCnlb/kYl8RwmH7Mlg8JREZctB8r9sa1KhSsWFq/SWO0AuJTyowxD7zL5PkeS4eTvzFFHWCa3OO5epA==} - engines: {node: '>=14.0.0'} - - '@aws-sdk/credential-provider-process@3.568.0': - resolution: {integrity: sha512-r01zbXbanP17D+bQUb7mD8Iu2SuayrrYZ0Slgvx32qgz47msocV9EPCSwI4Hkw2ZtEPCeLQR4XCqFJB1D9P50w==} + /@aws-sdk/credential-provider-process@3.577.0: + resolution: {integrity: sha512-Gin6BWtOiXxIgITrJ3Nwc+Y2P1uVT6huYR4EcbA/DJUPWyO0n9y5UFLewPvVbLkRn15JeEqErBLUrHclkiOKtw==} engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/types': 3.577.0 + '@smithy/property-provider': 3.0.0 + '@smithy/shared-ini-file-loader': 3.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 - '@aws-sdk/credential-provider-sso@3.554.0': - resolution: {integrity: sha512-8QPpwBA31i/fZ7lDZJC4FA9EdxLg5SJ8sPB2qLSjp5UTGTYL2HRl0Eznkb7DXyp/wImsR/HFR1NxuFCCVotLCg==} - engines: {node: '>=14.0.0'} - - '@aws-sdk/credential-provider-sso@3.568.0': - resolution: {integrity: sha512-+TA77NWOEXMUcfLoOuim6xiyXFg1GqHj55ggI1goTKGVvdHYZ+rhxZbwjI29+ewzPt/qcItDJcvhrjOrg9lCag==} + /@aws-sdk/credential-provider-sso@3.583.0(@aws-sdk/client-sso-oidc@3.583.0): + resolution: {integrity: sha512-G/1EvL9tBezSiU+06tG4K/kOvFfPjnheT4JSXqjPM7+vjKzgp2jxp1J9MMd69zs4jVWon932zMeGgjrCplzMEg==} engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/client-sso': 3.583.0 + '@aws-sdk/token-providers': 3.577.0(@aws-sdk/client-sso-oidc@3.583.0) + '@aws-sdk/types': 3.577.0 + '@smithy/property-provider': 3.0.0 + '@smithy/shared-ini-file-loader': 3.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 + transitivePeerDependencies: + - '@aws-sdk/client-sso-oidc' + - aws-crt - '@aws-sdk/credential-provider-web-identity@3.554.0': - resolution: {integrity: sha512-HN54DzLjepw5ZWSF9ycGevhFTyg6pjLuLKy5Y8t/f1jFDComzYdGEDe0cdV9YO653W3+PQwZZGz09YVygGYBLg==} - engines: {node: '>=14.0.0'} - - '@aws-sdk/credential-provider-web-identity@3.568.0': - resolution: {integrity: sha512-ZJSmTmoIdg6WqAULjYzaJ3XcbgBzVy36lir6Y0UBMRGaxDgos1AARuX6EcYzXOl+ksLvxt/xMQ+3aYh1LWfKSw==} + /@aws-sdk/credential-provider-web-identity@3.577.0(@aws-sdk/client-sts@3.583.0): + resolution: {integrity: sha512-ZGHGNRaCtJJmszb9UTnC7izNCtRUttdPlLdMkh41KPS32vfdrBDHs1JrpbZijItRj1xKuOXsiYSXLAaHGcLh8Q==} engines: {node: '>=16.0.0'} peerDependencies: - '@aws-sdk/client-sts': ^3.568.0 - - '@aws-sdk/credential-providers@3.554.0': - resolution: {integrity: sha512-UMmJ4M7RknSz1p0981t57QUw6DibPEo/GG8+env6Q8dHrEc3pnRL206f1zxLcqzT5RI50XstH/bDtnyC7uRYiw==} - engines: {node: '>=14.0.0'} - - '@aws-sdk/middleware-bucket-endpoint@3.535.0': - resolution: {integrity: sha512-7sijlfQsc4UO9Fsl11mU26Y5f9E7g6UoNg/iJUBpC5pgvvmdBRO5UEhbB/gnqvOEPsBXyhmfzbstebq23Qdz7A==} - engines: {node: '>=14.0.0'} - - '@aws-sdk/middleware-expect-continue@3.535.0': - resolution: {integrity: sha512-hFKyqUBky0NWCVku8iZ9+PACehx0p6vuMw5YnZf8FVgHP0fode0b/NwQY6UY7oor/GftvRsAlRUAWGNFEGUpwA==} - engines: {node: '>=14.0.0'} + '@aws-sdk/client-sts': ^3.577.0 + dependencies: + '@aws-sdk/client-sts': 3.583.0 + '@aws-sdk/types': 3.577.0 + '@smithy/property-provider': 3.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 - '@aws-sdk/middleware-flexible-checksums@3.535.0': - resolution: {integrity: sha512-rBIzldY9jjRATxICDX7t77aW6ctqmVDgnuAOgbVT5xgHftt4o7PGWKoMvl/45hYqoQgxVFnCBof9bxkqSBebVA==} - engines: {node: '>=14.0.0'} + /@aws-sdk/credential-providers@3.583.0(@aws-sdk/client-sso-oidc@3.583.0): + resolution: {integrity: sha512-aD/lw6LJW51f+LgdR54UxyGvXqWZs4HCT310Qf794qFItDWXqhHK4EgS1x41BgAvXPUx0+HSO8OI4eb+AklckA==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/client-cognito-identity': 3.583.0 + '@aws-sdk/client-sso': 3.583.0 + '@aws-sdk/client-sts': 3.583.0 + '@aws-sdk/credential-provider-cognito-identity': 3.583.0 + '@aws-sdk/credential-provider-env': 3.577.0 + '@aws-sdk/credential-provider-http': 3.582.0 + '@aws-sdk/credential-provider-ini': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0)(@aws-sdk/client-sts@3.583.0) + '@aws-sdk/credential-provider-node': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0)(@aws-sdk/client-sts@3.583.0) + '@aws-sdk/credential-provider-process': 3.577.0 + '@aws-sdk/credential-provider-sso': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0) + '@aws-sdk/credential-provider-web-identity': 3.577.0(@aws-sdk/client-sts@3.583.0) + '@aws-sdk/types': 3.577.0 + '@smithy/credential-provider-imds': 3.0.0 + '@smithy/property-provider': 3.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 + transitivePeerDependencies: + - '@aws-sdk/client-sso-oidc' + - aws-crt + dev: true - '@aws-sdk/middleware-host-header@3.535.0': - resolution: {integrity: sha512-0h6TWjBWtDaYwHMQJI9ulafeS4lLaw1vIxRjbpH0svFRt6Eve+Sy8NlVhECfTU2hNz/fLubvrUxsXoThaLBIew==} - engines: {node: '>=14.0.0'} + /@aws-sdk/middleware-bucket-endpoint@3.577.0: + resolution: {integrity: sha512-twlkNX2VofM6kHXzDEiJOiYCc9tVABe5cbyxMArRWscIsCWG9mamPhC77ezG4XsN9dFEwVdxEYD5Crpm/5EUiw==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/types': 3.577.0 + '@aws-sdk/util-arn-parser': 3.568.0 + '@smithy/node-config-provider': 3.0.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/types': 3.0.0 + '@smithy/util-config-provider': 3.0.0 + tslib: 2.6.2 + dev: true - '@aws-sdk/middleware-host-header@3.567.0': - resolution: {integrity: sha512-zQHHj2N3in9duKghH7AuRNrOMLnKhW6lnmb7dznou068DJtDr76w475sHp2TF0XELsOGENbbBsOlN/S5QBFBVQ==} + /@aws-sdk/middleware-expect-continue@3.577.0: + resolution: {integrity: sha512-6dPp8Tv4F0of4un5IAyG6q++GrRrNQQ4P2NAMB1W0VO4JoEu1C8GievbbDLi88TFIFmtKpnHB0ODCzwnoe8JsA==} engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/types': 3.577.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 + dev: true - '@aws-sdk/middleware-location-constraint@3.535.0': - resolution: {integrity: sha512-SxfS9wfidUZZ+WnlKRTCRn3h+XTsymXRXPJj8VV6hNRNeOwzNweoG3YhQbTowuuNfXf89m9v6meYkBBtkdacKw==} - engines: {node: '>=14.0.0'} + /@aws-sdk/middleware-flexible-checksums@3.577.0: + resolution: {integrity: sha512-IHAUEipIfagjw92LV8SOSBiCF7ZnqfHcw14IkcZW2/mfrCy1Fh/k40MoS/t3Tro2tQ91rgQPwUoSgB/QCi2Org==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-crypto/crc32': 3.0.0 + '@aws-crypto/crc32c': 3.0.0 + '@aws-sdk/types': 3.577.0 + '@smithy/is-array-buffer': 3.0.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/types': 3.0.0 + '@smithy/util-utf8': 3.0.0 + tslib: 2.6.2 + dev: true - '@aws-sdk/middleware-logger@3.535.0': - resolution: {integrity: sha512-huNHpONOrEDrdRTvSQr1cJiRMNf0S52NDXtaPzdxiubTkP+vni2MohmZANMOai/qT0olmEVX01LhZ0ZAOgmg6A==} - engines: {node: '>=14.0.0'} + /@aws-sdk/middleware-host-header@3.577.0: + resolution: {integrity: sha512-9ca5MJz455CODIVXs0/sWmJm7t3QO4EUa1zf8pE8grLpzf0J94bz/skDWm37Pli13T3WaAQBHCTiH2gUVfCsWg==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/types': 3.577.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 - '@aws-sdk/middleware-logger@3.568.0': - resolution: {integrity: sha512-BinH72RG7K3DHHC1/tCulocFv+ZlQ9SrPF9zYT0T1OT95JXuHhB7fH8gEABrc6DAtOdJJh2fgxQjPy5tzPtsrA==} + /@aws-sdk/middleware-location-constraint@3.577.0: + resolution: {integrity: sha512-DKPTD2D2s+t2QUo/IXYtVa/6Un8GZ+phSTBkyBNx2kfZz4Kwavhl/JJzSqTV3GfCXkVdFu7CrjoX7BZ6qWeTUA==} engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/types': 3.577.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 + dev: true - '@aws-sdk/middleware-recursion-detection@3.535.0': - resolution: {integrity: sha512-am2qgGs+gwqmR4wHLWpzlZ8PWhm4ktj5bYSgDrsOfjhdBlWNxvPoID9/pDAz5RWL48+oH7I6SQzMqxXsFDikrw==} - engines: {node: '>=14.0.0'} + /@aws-sdk/middleware-logger@3.577.0: + resolution: {integrity: sha512-aPFGpGjTZcJYk+24bg7jT4XdIp42mFXSuPt49lw5KygefLyJM/sB0bKKqPYYivW0rcuZ9brQ58eZUNthrzYAvg==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/types': 3.577.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 - '@aws-sdk/middleware-recursion-detection@3.567.0': - resolution: {integrity: sha512-rFk3QhdT4IL6O/UWHmNdjJiURutBCy+ogGqaNHf/RELxgXH3KmYorLwCe0eFb5hq8f6vr3zl4/iH7YtsUOuo1w==} + /@aws-sdk/middleware-recursion-detection@3.577.0: + resolution: {integrity: sha512-pn3ZVEd2iobKJlR3H+bDilHjgRnNrQ6HMmK9ZzZw89Ckn3Dcbv48xOv4RJvu0aU8SDLl/SNCxppKjeLDTPGBNA==} engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/types': 3.577.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 - '@aws-sdk/middleware-retry@3.374.0': + /@aws-sdk/middleware-retry@3.374.0: resolution: {integrity: sha512-ZnT84qnT+Zmelv7y6hAqgAEaZgpGlrvf/+rchNWT0oG4duxI5bLWcRi9U88Jz7G8JgNQcGKJqPfC6oogCd7p8w==} engines: {node: '>=14.0.0'} deprecated: This package has moved to @smithy/middleware-retry + dependencies: + '@smithy/middleware-retry': 1.1.0 + tslib: 2.6.2 + uuid: 8.3.2 + dev: true - '@aws-sdk/middleware-sdk-s3@3.552.0': - resolution: {integrity: sha512-9KzOqsbwJJuQcpmrpkkIftjPahB1bsrcWalYzcVqKCgHCylhkSHW2tX+uGHRnvAl9iobQD5D7LUrS+cv0NeQ/Q==} - engines: {node: '>=14.0.0'} - - '@aws-sdk/middleware-signing@3.552.0': - resolution: {integrity: sha512-ZjOrlEmwjhbmkINa4Zx9LJh+xb/kgEiUrcfud2kq/r8ath1Nv1/4zalI9jHnou1J+R+yS+FQlXLXHSZ7vqyFbA==} - engines: {node: '>=14.0.0'} - - '@aws-sdk/middleware-ssec@3.537.0': - resolution: {integrity: sha512-2QWMrbwd5eBy5KCYn9a15JEWBgrK2qFEKQN2lqb/6z0bhtevIOxIRfC99tzvRuPt6nixFQ+ynKuBjcfT4ZFrdQ==} - engines: {node: '>=14.0.0'} + /@aws-sdk/middleware-sdk-s3@3.582.0: + resolution: {integrity: sha512-PJqQpLoLaZPRI4L/XZUeHkd9UVK8VAr9R38wv0osGeMTvzD9iwzzk0I2TtBqFda/5xEB1YgVYZwyqvmStXmttg==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/types': 3.577.0 + '@aws-sdk/util-arn-parser': 3.568.0 + '@smithy/node-config-provider': 3.0.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/signature-v4': 3.0.0 + '@smithy/smithy-client': 3.0.1 + '@smithy/types': 3.0.0 + '@smithy/util-config-provider': 3.0.0 + tslib: 2.6.2 + dev: true - '@aws-sdk/middleware-user-agent@3.540.0': - resolution: {integrity: sha512-8Rd6wPeXDnOYzWj1XCmOKcx/Q87L0K1/EHqOBocGjLVbN3gmRxBvpmR1pRTjf7IsWfnnzN5btqtcAkfDPYQUMQ==} - engines: {node: '>=14.0.0'} + /@aws-sdk/middleware-signing@3.577.0: + resolution: {integrity: sha512-QS/dh3+NqZbXtY0j/DZ867ogP413pG5cFGqBy9OeOhDMsolcwLrQbi0S0c621dc1QNq+er9ffaMhZ/aPkyXXIg==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/types': 3.577.0 + '@smithy/property-provider': 3.0.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/signature-v4': 3.0.0 + '@smithy/types': 3.0.0 + '@smithy/util-middleware': 3.0.0 + tslib: 2.6.2 + dev: true - '@aws-sdk/middleware-user-agent@3.567.0': - resolution: {integrity: sha512-a7DBGMRBLWJU3BqrQjOtKS4/RcCh/BhhKqwjCE0FEhhm6A/GGuAs/DcBGOl6Y8Wfsby3vejSlppTLH/qtV1E9w==} + /@aws-sdk/middleware-ssec@3.577.0: + resolution: {integrity: sha512-i2BPJR+rp8xmRVIGc0h1kDRFcM2J9GnClqqpc+NLSjmYadlcg4mPklisz9HzwFVcRPJ5XcGf3U4BYs5G8+iTyg==} engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/types': 3.577.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 + dev: true - '@aws-sdk/region-config-resolver@3.535.0': - resolution: {integrity: sha512-IXOznDiaItBjsQy4Fil0kzX/J3HxIOknEphqHbOfUf+LpA5ugcsxuQQONrbEQusCBnfJyymrldBvBhFmtlU9Wg==} - engines: {node: '>=14.0.0'} + /@aws-sdk/middleware-user-agent@3.583.0: + resolution: {integrity: sha512-xVNXXXDWvBVI/AeVtSdA9SVumqxiZaESk/JpUn9GMkmtTKfter0Cweap+1iQ9j8bRAO0vNhmIkbcvdB1S4WVUw==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/types': 3.577.0 + '@aws-sdk/util-endpoints': 3.583.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 - '@aws-sdk/region-config-resolver@3.567.0': - resolution: {integrity: sha512-VMDyYi5Dh2NydDiIARZ19DwMfbyq0llS736cp47qopmO6wzdeul7WRTx8NKfEYN0/AwEaqmTW0ohx58jSB1lYg==} + /@aws-sdk/region-config-resolver@3.577.0: + resolution: {integrity: sha512-4ChCFACNwzqx/xjg3zgFcW8Ali6R9C95cFECKWT/7CUM1D0MGvkclSH2cLarmHCmJgU6onKkJroFtWp0kHhgyg==} engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/types': 3.577.0 + '@smithy/node-config-provider': 3.0.0 + '@smithy/types': 3.0.0 + '@smithy/util-config-provider': 3.0.0 + '@smithy/util-middleware': 3.0.0 + tslib: 2.6.2 - '@aws-sdk/signature-v4-crt@3.552.0': - resolution: {integrity: sha512-5Dy4E2RtHw3hFCx5L+OsRN2n1OW3yoX06xDPqJ5xe38Pd9H8ZPYxiCEOdyw/TIJUwRjDMgsa2uPKyM/Nwr9cMg==} - engines: {node: '>=14.0.0'} + /@aws-sdk/signature-v4-crt@3.582.0: + resolution: {integrity: sha512-FhMUIRl1UTLU+MBXffZ/TzlT2s6nQO9vbj9eLuOP0TalU6cAuxLXPOTSu2QbSPL5vEl25bwOL/qECAf5tveBzg==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/signature-v4-multi-region': 3.582.0 + '@aws-sdk/types': 3.577.0 + '@aws-sdk/util-user-agent-node': 3.577.0(aws-crt@1.21.2) + '@smithy/querystring-parser': 3.0.0 + '@smithy/signature-v4': 3.0.0 + '@smithy/types': 3.0.0 + '@smithy/util-middleware': 3.0.0 + aws-crt: 1.21.2 + tslib: 2.6.2 + transitivePeerDependencies: + - bufferutil + - debug + - supports-color + - utf-8-validate + dev: true - '@aws-sdk/signature-v4-multi-region@3.552.0': - resolution: {integrity: sha512-cC11/5ahp+LaBCq7cR+51AM2ftf6m9diRd2oWkbEpjSiEKQzZRAltUPZAJM6NXGypmDODQDJphLGt45tvS+8kg==} - engines: {node: '>=14.0.0'} + /@aws-sdk/signature-v4-multi-region@3.582.0: + resolution: {integrity: sha512-aFCOjjNqEX2l+V8QjOWy5F7CtHIC/RlYdBuv3No6yxn+pMvVUUe6zdMk2yHWcudVpHWsyvcZzAUBliAPeFLPsQ==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/middleware-sdk-s3': 3.582.0 + '@aws-sdk/types': 3.577.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/signature-v4': 3.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 + dev: true - '@aws-sdk/smithy-client@3.374.0': + /@aws-sdk/smithy-client@3.374.0: resolution: {integrity: sha512-YQBdO/Nv5EXBg/qfMF4GgYYLNN3Y/06MyuVBYILC1TKAnMoLy2FV0VOYyediagepAcWPdJqyUq4MCNNBy0CPRg==} engines: {node: '>=14.0.0'} deprecated: This package has moved to @smithy/smithy-client + dependencies: + '@smithy/smithy-client': 1.1.0 + tslib: 2.6.2 + dev: true - '@aws-sdk/token-providers@3.554.0': - resolution: {integrity: sha512-KMMQ5Cw0FUPL9H8g69Lp08xtzRo7r/MK+lBV6LznWBbCP/NwtZ8awVHaPy2P31z00cWtu9MYkUTviWPqJTaBvg==} - engines: {node: '>=14.0.0'} - - '@aws-sdk/token-providers@3.568.0': - resolution: {integrity: sha512-mCQElYzY5N2JlXB7LyjOoLvRN/JiSV+E9szLwhYN3dleTUCMbGqWb7RiAR2V3fO+mz8f9kR7DThTExKJbKogKw==} + /@aws-sdk/token-providers@3.577.0(@aws-sdk/client-sso-oidc@3.583.0): + resolution: {integrity: sha512-0CkIZpcC3DNQJQ1hDjm2bdSy/Xjs7Ny5YvSsacasGOkNfk+FdkiQy6N67bZX3Zbc9KIx+Nz4bu3iDeNSNplnnQ==} engines: {node: '>=16.0.0'} peerDependencies: - '@aws-sdk/client-sso-oidc': ^3.568.0 - - '@aws-sdk/types@3.535.0': - resolution: {integrity: sha512-aY4MYfduNj+sRR37U7XxYR8wemfbKP6lx00ze2M2uubn7mZotuVrWYAafbMSXrdEMSToE5JDhr28vArSOoLcSg==} - engines: {node: '>=14.0.0'} + '@aws-sdk/client-sso-oidc': ^3.577.0 + dependencies: + '@aws-sdk/client-sso-oidc': 3.583.0(@aws-sdk/client-sts@3.583.0) + '@aws-sdk/types': 3.577.0 + '@smithy/property-provider': 3.0.0 + '@smithy/shared-ini-file-loader': 3.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 - '@aws-sdk/types@3.567.0': - resolution: {integrity: sha512-JBznu45cdgQb8+T/Zab7WpBmfEAh77gsk99xuF4biIb2Sw1mdseONdoGDjEJX57a25TzIv/WUJ2oABWumckz1A==} + /@aws-sdk/types@3.577.0: + resolution: {integrity: sha512-FT2JZES3wBKN/alfmhlo+3ZOq/XJ0C7QOZcDNrpKjB0kqYoKjhVKZ/Hx6ArR0czkKfHzBBEs6y40ebIHx2nSmA==} engines: {node: '>=16.0.0'} + dependencies: + '@smithy/types': 3.0.0 + tslib: 2.6.2 - '@aws-sdk/util-arn-parser@3.535.0': - resolution: {integrity: sha512-smVo29nUPAOprp8Z5Y3GHuhiOtw6c8/EtLCm5AVMtRsTPw4V414ZXL2H66tzmb5kEeSzQlbfBSBEdIFZoxO9kg==} - engines: {node: '>=14.0.0'} - - '@aws-sdk/util-endpoints@3.540.0': - resolution: {integrity: sha512-1kMyQFAWx6f8alaI6UT65/5YW/7pDWAKAdNwL6vuJLea03KrZRX3PMoONOSJpAS5m3Ot7HlWZvf3wZDNTLELZw==} - engines: {node: '>=14.0.0'} - - '@aws-sdk/util-endpoints@3.567.0': - resolution: {integrity: sha512-WVhot3qmi0BKL9ZKnUqsvCd++4RF2DsJIG32NlRaml1FT9KaqSzNv0RXeA6k/kYwiiNT7y3YWu3Lbzy7c6vG9g==} + /@aws-sdk/util-arn-parser@3.568.0: + resolution: {integrity: sha512-XUKJWWo+KOB7fbnPP0+g/o5Ulku/X53t7i/h+sPHr5xxYTJJ9CYnbToo95mzxe7xWvkLrsNtJ8L+MnNn9INs2w==} engines: {node: '>=16.0.0'} + dependencies: + tslib: 2.6.2 + dev: true - '@aws-sdk/util-locate-window@3.535.0': - resolution: {integrity: sha512-PHJ3SL6d2jpcgbqdgiPxkXpu7Drc2PYViwxSIqvvMKhDwzSB1W3mMvtpzwKM4IE7zLFodZo0GKjJ9AsoXndXhA==} - engines: {node: '>=14.0.0'} - - '@aws-sdk/util-user-agent-browser@3.535.0': - resolution: {integrity: sha512-RWMcF/xV5n+nhaA/Ff5P3yNP3Kur/I+VNZngog4TEs92oB/nwOdAg/2JL8bVAhUbMrjTjpwm7PItziYFQoqyig==} + /@aws-sdk/util-endpoints@3.583.0: + resolution: {integrity: sha512-ZC9mb2jq6BFXPYsUsD2tmYcnlmd+9PGNwnFNn8jk4abna5Jjk2wDknN81ybktmBR5ttN9W8ugmktuKtvAMIDCQ==} + engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/types': 3.577.0 + '@smithy/types': 3.0.0 + '@smithy/util-endpoints': 2.0.0 + tslib: 2.6.2 - '@aws-sdk/util-user-agent-browser@3.567.0': - resolution: {integrity: sha512-cqP0uXtZ7m7hRysf3fRyJwcY1jCgQTpJy7BHB5VpsE7DXlXHD5+Ur5L42CY7UrRPrB6lc6YGFqaAOs5ghMcLyA==} + /@aws-sdk/util-locate-window@3.568.0: + resolution: {integrity: sha512-3nh4TINkXYr+H41QaPelCceEB2FXP3fxp93YZXB/kqJvX0U9j0N0Uk45gvsjmEPzG8XxkPEeLIfT2I1M7A6Lig==} + engines: {node: '>=16.0.0'} + dependencies: + tslib: 2.6.2 - '@aws-sdk/util-user-agent-node@3.535.0': - resolution: {integrity: sha512-dRek0zUuIT25wOWJlsRm97nTkUlh1NDcLsQZIN2Y8KxhwoXXWtJs5vaDPT+qAg+OpcNj80i1zLR/CirqlFg/TQ==} - engines: {node: '>=14.0.0'} - peerDependencies: - aws-crt: '>=1.0.0' - peerDependenciesMeta: - aws-crt: - optional: true + /@aws-sdk/util-user-agent-browser@3.577.0: + resolution: {integrity: sha512-zEAzHgR6HWpZOH7xFgeJLc6/CzMcx4nxeQolZxVZoB5pPaJd3CjyRhZN0xXeZB0XIRCWmb4yJBgyiugXLNMkLA==} + dependencies: + '@aws-sdk/types': 3.577.0 + '@smithy/types': 3.0.0 + bowser: 2.11.0 + tslib: 2.6.2 - '@aws-sdk/util-user-agent-node@3.568.0': - resolution: {integrity: sha512-NVoZoLnKF+eXPBvXg+KqixgJkPSrerR6Gqmbjwqbv14Ini+0KNKB0/MXas1mDGvvEgtNkHI/Cb9zlJ3KXpti2A==} + /@aws-sdk/util-user-agent-node@3.577.0(aws-crt@1.21.2): + resolution: {integrity: sha512-XqvtFjbSMtycZTWVwDe8DRWovuoMbA54nhUoZwVU6rW9OSD6NZWGR512BUGHFaWzW0Wg8++Dj10FrKTG2XtqfA==} engines: {node: '>=16.0.0'} peerDependencies: aws-crt: '>=1.0.0' peerDependenciesMeta: aws-crt: optional: true + dependencies: + '@aws-sdk/types': 3.577.0 + '@smithy/node-config-provider': 3.0.0 + '@smithy/types': 3.0.0 + aws-crt: 1.21.2 + tslib: 2.6.2 - '@aws-sdk/util-utf8-browser@3.259.0': + /@aws-sdk/util-utf8-browser@3.259.0: resolution: {integrity: sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==} + dependencies: + tslib: 2.6.2 - '@aws-sdk/xml-builder@3.535.0': - resolution: {integrity: sha512-VXAq/Jz8KIrU84+HqsOJhIKZqG0PNTdi6n6PFQ4xJf44ZQHD/5C7ouH4qCFX5XgZXcgbRIcMVVYGC6Jye0dRng==} - engines: {node: '>=14.0.0'} + /@aws-sdk/xml-builder@3.575.0: + resolution: {integrity: sha512-cWgAwmbFYNCFzPwxL705+lWps0F3ZvOckufd2KKoEZUmtpVw9/txUXNrPySUXSmRTSRhoatIMABNfStWR043bQ==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/types': 3.0.0 + tslib: 2.6.2 + dev: true - '@babel/code-frame@7.24.2': + /@babel/code-frame@7.24.2: resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/highlight': 7.24.5 + picocolors: 1.0.1 + dev: true - '@babel/compat-data@7.24.4': + /@babel/compat-data@7.24.4: resolution: {integrity: sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ==} engines: {node: '>=6.9.0'} + dev: true - '@babel/core@7.24.4': - resolution: {integrity: sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==} + /@babel/core@7.24.5: + resolution: {integrity: sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA==} engines: {node: '>=6.9.0'} + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.5 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5) + '@babel/helpers': 7.24.5 + '@babel/parser': 7.24.5 + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.5 + '@babel/types': 7.24.5 + convert-source-map: 2.0.0 + debug: 4.3.4(supports-color@8.1.1) + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + dev: true - '@babel/eslint-parser@7.24.1': - resolution: {integrity: sha512-d5guuzMlPeDfZIbpQ8+g1NaCNuAGBBGNECh0HVqz1sjOeVLh2CEaifuOysCH18URW6R7pqXINvf5PaR/dC6jLQ==} + /@babel/eslint-parser@7.24.5(@babel/core@7.24.5)(eslint@8.57.0): + resolution: {integrity: sha512-gsUcqS/fPlgAw1kOtpss7uhY6E9SFFANQ6EFX5GTvzUwaV0+sGaZWk6xq22MOdeT9wfxyokW3ceCUvOiRtZciQ==} engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} peerDependencies: '@babel/core': ^7.11.0 - eslint: ^7.5.0 || ^8.0.0 + eslint: ^7.5.0 || ^8.0.0 || ^9.0.0 + dependencies: + '@babel/core': 7.24.5 + '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 + eslint: 8.57.0 + eslint-visitor-keys: 2.1.0 + semver: 6.3.1 + dev: true - '@babel/generator@7.24.4': - resolution: {integrity: sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==} + /@babel/generator@7.24.5: + resolution: {integrity: sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.5 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 2.5.2 + dev: true - '@babel/helper-annotate-as-pure@7.22.5': + /@babel/helper-annotate-as-pure@7.22.5: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.5 + dev: true - '@babel/helper-compilation-targets@7.23.6': + /@babel/helper-compilation-targets@7.23.6: resolution: {integrity: sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/compat-data': 7.24.4 + '@babel/helper-validator-option': 7.23.5 + browserslist: 4.23.0 + lru-cache: 5.1.1 + semver: 6.3.1 + dev: true - '@babel/helper-create-class-features-plugin@7.24.4': - resolution: {integrity: sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==} + /@babel/helper-create-class-features-plugin@7.24.5(@babel/core@7.24.5): + resolution: {integrity: sha512-uRc4Cv8UQWnE4NXlYTIIdM7wfFkOqlFztcC/gVXDKohKoVB3OyonfelUBaJzSwpBntZ2KYGF/9S7asCHsXwW6g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-member-expression-to-functions': 7.24.5 + '@babel/helper-optimise-call-expression': 7.22.5 + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.5) + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + '@babel/helper-split-export-declaration': 7.24.5 + semver: 6.3.1 + dev: true - '@babel/helper-environment-visitor@7.22.20': + /@babel/helper-environment-visitor@7.22.20: resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} engines: {node: '>=6.9.0'} + dev: true - '@babel/helper-function-name@7.23.0': + /@babel/helper-function-name@7.23.0: resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.24.0 + '@babel/types': 7.24.5 + dev: true - '@babel/helper-hoist-variables@7.22.5': + /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.5 + dev: true - '@babel/helper-member-expression-to-functions@7.23.0': - resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} + /@babel/helper-member-expression-to-functions@7.24.5: + resolution: {integrity: sha512-4owRteeihKWKamtqg4JmWSsEZU445xpFRXPEwp44HbgbxdWlUV1b4Agg4lkA806Lil5XM/e+FJyS0vj5T6vmcA==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.5 + dev: true - '@babel/helper-module-imports@7.24.3': + /@babel/helper-module-imports@7.24.3: resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.5 + dev: true - '@babel/helper-module-transforms@7.23.3': - resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} + /@babel/helper-module-transforms@7.24.5(@babel/core@7.24.5): + resolution: {integrity: sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-module-imports': 7.24.3 + '@babel/helper-simple-access': 7.24.5 + '@babel/helper-split-export-declaration': 7.24.5 + '@babel/helper-validator-identifier': 7.24.5 + dev: true - '@babel/helper-optimise-call-expression@7.22.5': + /@babel/helper-optimise-call-expression@7.22.5: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.5 + dev: true - '@babel/helper-plugin-utils@7.24.0': - resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==} + /@babel/helper-plugin-utils@7.24.5: + resolution: {integrity: sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ==} engines: {node: '>=6.9.0'} + dev: true - '@babel/helper-replace-supers@7.24.1': + /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-member-expression-to-functions': 7.24.5 + '@babel/helper-optimise-call-expression': 7.22.5 + dev: true - '@babel/helper-simple-access@7.22.5': - resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} + /@babel/helper-simple-access@7.24.5: + resolution: {integrity: sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.5 + dev: true - '@babel/helper-skip-transparent-expression-wrappers@7.22.5': + /@babel/helper-skip-transparent-expression-wrappers@7.22.5: resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.5 + dev: true - '@babel/helper-split-export-declaration@7.22.6': - resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} + /@babel/helper-split-export-declaration@7.24.5: + resolution: {integrity: sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/types': 7.24.5 + dev: true - '@babel/helper-string-parser@7.24.1': + /@babel/helper-string-parser@7.24.1: resolution: {integrity: sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==} engines: {node: '>=6.9.0'} + dev: true - '@babel/helper-validator-identifier@7.22.20': - resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} + /@babel/helper-validator-identifier@7.24.5: + resolution: {integrity: sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==} engines: {node: '>=6.9.0'} + dev: true - '@babel/helper-validator-option@7.23.5': + /@babel/helper-validator-option@7.23.5: resolution: {integrity: sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==} engines: {node: '>=6.9.0'} + dev: true - '@babel/helpers@7.24.4': - resolution: {integrity: sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==} + /@babel/helpers@7.24.5: + resolution: {integrity: sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/template': 7.24.0 + '@babel/traverse': 7.24.5 + '@babel/types': 7.24.5 + transitivePeerDependencies: + - supports-color + dev: true - '@babel/highlight@7.24.2': - resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} + /@babel/highlight@7.24.5: + resolution: {integrity: sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-validator-identifier': 7.24.5 + chalk: 2.4.2 + js-tokens: 4.0.0 + picocolors: 1.0.1 + dev: true - '@babel/parser@7.24.4': - resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==} + /@babel/parser@7.24.5: + resolution: {integrity: sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==} engines: {node: '>=6.0.0'} hasBin: true + dependencies: + '@babel/types': 7.24.5 + dev: true - '@babel/plugin-proposal-class-properties@7.18.6': + /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.24.5): resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead. peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.5 + dev: true - '@babel/plugin-proposal-object-rest-spread@7.20.7': + /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.24.5): resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead. peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.24.4 + '@babel/core': 7.24.5 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-transform-parameters': 7.24.5(@babel/core@7.24.5) + dev: true - '@babel/plugin-syntax-async-generators@7.8.4': + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.5): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true - '@babel/plugin-syntax-bigint@7.8.3': + /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.5): resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true - '@babel/plugin-syntax-class-properties@7.12.13': + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.5): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true - '@babel/plugin-syntax-flow@7.24.1': + /@babel/plugin-syntax-flow@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-sxi2kLTI5DeW5vDtMUsk4mTPwvlUDbjOnoWayhynCwrw4QXRld4QEYwqzY8JmQXaJUtgUuCIurtSRH5sn4c7mA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true - '@babel/plugin-syntax-import-assertions@7.24.1': + /@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true - '@babel/plugin-syntax-import-meta@7.10.4': + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.5): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true - '@babel/plugin-syntax-json-strings@7.8.3': + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.5): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true - '@babel/plugin-syntax-jsx@7.24.1': + /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true - '@babel/plugin-syntax-logical-assignment-operators@7.10.4': + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.5): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.5): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true - '@babel/plugin-syntax-numeric-separator@7.10.4': + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.5): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true - '@babel/plugin-syntax-object-rest-spread@7.8.3': + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.5): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true - '@babel/plugin-syntax-optional-catch-binding@7.8.3': + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.5): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true - '@babel/plugin-syntax-optional-chaining@7.8.3': + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.5): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true - '@babel/plugin-syntax-top-level-await@7.14.5': + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.5): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true - '@babel/plugin-syntax-typescript@7.24.1': + /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true - '@babel/plugin-transform-arrow-functions@7.24.1': + /@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true - '@babel/plugin-transform-block-scoped-functions@7.24.1': + /@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true - '@babel/plugin-transform-block-scoping@7.24.4': - resolution: {integrity: sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g==} + /@babel/plugin-transform-block-scoping@7.24.5(@babel/core@7.24.5): + resolution: {integrity: sha512-sMfBc3OxghjC95BkYrYocHL3NaOplrcaunblzwXhGmlPwpmfsxr4vK+mBBt49r+S240vahmv+kUxkeKgs+haCw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true - '@babel/plugin-transform-classes@7.24.1': - resolution: {integrity: sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==} + /@babel/plugin-transform-classes@7.24.5(@babel/core@7.24.5): + resolution: {integrity: sha512-gWkLP25DFj2dwe9Ck8uwMOpko4YsqyfZJrOmqqcegeDYEbp7rmn4U6UQZNj08UF6MaX39XenSpKRCvpDRBtZ7Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.5) + '@babel/helper-split-export-declaration': 7.24.5 + globals: 11.12.0 + dev: true - '@babel/plugin-transform-computed-properties@7.24.1': + /@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/template': 7.24.0 + dev: true - '@babel/plugin-transform-destructuring@7.24.1': - resolution: {integrity: sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==} + /@babel/plugin-transform-destructuring@7.24.5(@babel/core@7.24.5): + resolution: {integrity: sha512-SZuuLyfxvsm+Ah57I/i1HVjveBENYK9ue8MJ7qkc7ndoNjqquJiElzA7f5yaAXjyW2hKojosOTAQQRX50bPSVg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true - '@babel/plugin-transform-flow-strip-types@7.24.1': + /@babel/plugin-transform-flow-strip-types@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-iIYPIWt3dUmUKKE10s3W+jsQ3icFkw0JyRVyY1B7G4yK/nngAOHLVx8xlhA6b/Jzl/Y0nis8gjqhqKtRDQqHWQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/plugin-syntax-flow': 7.24.1(@babel/core@7.24.5) + dev: true - '@babel/plugin-transform-for-of@7.24.1': + /@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + dev: true - '@babel/plugin-transform-function-name@7.24.1': + /@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-compilation-targets': 7.23.6 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-plugin-utils': 7.24.5 + dev: true - '@babel/plugin-transform-literals@7.24.1': + /@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true - '@babel/plugin-transform-member-expression-literals@7.24.1': + /@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true - '@babel/plugin-transform-modules-commonjs@7.24.1': + /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.5 + '@babel/helper-simple-access': 7.24.5 + dev: true - '@babel/plugin-transform-object-super@7.24.1': + /@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.5) + dev: true - '@babel/plugin-transform-parameters@7.24.1': - resolution: {integrity: sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==} + /@babel/plugin-transform-parameters@7.24.5(@babel/core@7.24.5): + resolution: {integrity: sha512-9Co00MqZ2aoky+4j2jhofErthm6QVLKbpQrvz20c3CH9KQCLHyNB+t2ya4/UrRpQGR+Wrwjg9foopoeSdnHOkA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true - '@babel/plugin-transform-property-literals@7.24.1': + /@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true - '@babel/plugin-transform-react-display-name@7.24.1': + /@babel/plugin-transform-react-display-name@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-mvoQg2f9p2qlpDQRBC7M3c3XTr0k7cp/0+kFKKO/7Gtu0LSw16eKB+Fabe2bDT/UpsyasTBBkAnbdsLrkD5XMw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true - '@babel/plugin-transform-react-jsx@7.23.4': + /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.5): resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-module-imports': 7.24.3 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.5) + '@babel/types': 7.24.5 + dev: true - '@babel/plugin-transform-shorthand-properties@7.24.1': + /@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true - '@babel/plugin-transform-spread@7.24.1': + /@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 + dev: true - '@babel/plugin-transform-template-literals@7.24.1': + /@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.5): resolution: {integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 + dependencies: + '@babel/core': 7.24.5 + '@babel/helper-plugin-utils': 7.24.5 + dev: true - '@babel/runtime@7.24.4': - resolution: {integrity: sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==} + /@babel/runtime@7.24.5: + resolution: {integrity: sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==} engines: {node: '>=6.9.0'} + dependencies: + regenerator-runtime: 0.14.1 + dev: true - '@babel/template@7.24.0': + /@babel/template@7.24.0: resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.24.2 + '@babel/parser': 7.24.5 + '@babel/types': 7.24.5 + dev: true - '@babel/traverse@7.24.1': - resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==} + /@babel/traverse@7.24.5: + resolution: {integrity: sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/code-frame': 7.24.2 + '@babel/generator': 7.24.5 + '@babel/helper-environment-visitor': 7.22.20 + '@babel/helper-function-name': 7.23.0 + '@babel/helper-hoist-variables': 7.22.5 + '@babel/helper-split-export-declaration': 7.24.5 + '@babel/parser': 7.24.5 + '@babel/types': 7.24.5 + debug: 4.3.4(supports-color@8.1.1) + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + dev: true - '@babel/types@7.24.0': - resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} + /@babel/types@7.24.5: + resolution: {integrity: sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==} engines: {node: '>=6.9.0'} + dependencies: + '@babel/helper-string-parser': 7.24.1 + '@babel/helper-validator-identifier': 7.24.5 + to-fast-properties: 2.0.0 + dev: true - '@bcoe/v8-coverage@0.2.3': + /@bcoe/v8-coverage@0.2.3: resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + dev: true - '@cdklabs/tskb@0.0.3': + /@cdklabs/tskb@0.0.3: resolution: {integrity: sha512-JR+MuD4awAXvutu7HArephXfZm09GPTaSAQUqNcJB5+ZENRm4kV+L6vJL6Tn1xHjCcHksO+HAqj3gYtm5K94vA==} + dev: true - '@cspotcode/source-map-support@0.8.1': + /@cspotcode/source-map-support@0.8.1: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} - - '@dependents/detective-less@4.1.0': + dependencies: + '@jridgewell/trace-mapping': 0.3.9 + dev: true + + /@dependents/detective-less@4.1.0: resolution: {integrity: sha512-KrkT6qO5NxqNfy68sBl6CTSoJ4SNDIS5iQArkibhlbGU4LaDukZ3q2HIkh8aUKDio6o4itU4xDR7t82Y2eP1Bg==} engines: {node: '>=14'} + dependencies: + gonzales-pe: 4.3.0 + node-source-walk: 6.0.2 + dev: true - '@envelop/core@3.0.6': + /@envelop/core@3.0.6: resolution: {integrity: sha512-06t1xCPXq6QFN7W1JUEf68aCwYN0OUDNAIoJe7bAqhaoa2vn7NCcuX1VHkJ/OWpmElUgCsRO6RiBbIru1in0Ig==} + dependencies: + '@envelop/types': 3.0.2 + tslib: 2.6.2 + dev: true - '@envelop/types@3.0.2': + /@envelop/types@3.0.2: resolution: {integrity: sha512-pOFea9ha0EkURWxJ/35axoH9fDGP5S2cUu/5Mmo9pb8zUf+TaEot8vB670XXihFEn/92759BMjLJNWBKmNhyng==} + dependencies: + tslib: 2.6.2 + dev: true - '@envelop/validation-cache@5.1.3': + /@envelop/validation-cache@5.1.3(@envelop/core@3.0.6)(graphql@16.8.1): resolution: {integrity: sha512-MkzcScQHJJQ/9YCAPdWShEi3xZv4F4neTs+NszzSrZOdlU8z/THuRt7gZ0sO0y2be+sx+SKjHQP8Gq3VXXcTTg==} peerDependencies: '@envelop/core': ^3.0.6 graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 + dependencies: + '@envelop/core': 3.0.6 + graphql: 16.8.1 + hash-it: 6.0.0 + lru-cache: 6.0.0 + tslib: 2.6.2 + dev: true - '@esbuild/aix-ppc64@0.19.12': - resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - - '@esbuild/aix-ppc64@0.20.2': + /@esbuild/aix-ppc64@0.20.2: resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} engines: {node: '>=12'} cpu: [ppc64] os: [aix] + requiresBuild: true + dev: true + optional: true - '@esbuild/android-arm64@0.18.13': + /@esbuild/android-arm64@0.18.13: resolution: {integrity: sha512-j7NhycJUoUAG5kAzGf4fPWfd17N6SM3o1X6MlXVqfHvs2buFraCJzos9vbeWjLxOyBKHyPOnuCuipbhvbYtTAg==} engines: {node: '>=12'} cpu: [arm64] os: [android] + requiresBuild: true + dev: true + optional: true - '@esbuild/android-arm64@0.19.12': - resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - - '@esbuild/android-arm64@0.20.2': + /@esbuild/android-arm64@0.20.2: resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} engines: {node: '>=12'} cpu: [arm64] os: [android] + requiresBuild: true + dev: true + optional: true - '@esbuild/android-arm@0.18.13': + /@esbuild/android-arm@0.18.13: resolution: {integrity: sha512-KwqFhxRFMKZINHzCqf8eKxE0XqWlAVPRxwy6rc7CbVFxzUWB2sA/s3hbMZeemPdhN3fKBkqOaFhTbS8xJXYIWQ==} engines: {node: '>=12'} cpu: [arm] os: [android] + requiresBuild: true + dev: true + optional: true - '@esbuild/android-arm@0.19.12': - resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - - '@esbuild/android-arm@0.20.2': + /@esbuild/android-arm@0.20.2: resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} engines: {node: '>=12'} cpu: [arm] os: [android] + requiresBuild: true + dev: true + optional: true - '@esbuild/android-x64@0.18.13': + /@esbuild/android-x64@0.18.13: resolution: {integrity: sha512-M2eZkRxR6WnWfVELHmv6MUoHbOqnzoTVSIxgtsyhm/NsgmL+uTmag/VVzdXvmahak1I6sOb1K/2movco5ikDJg==} engines: {node: '>=12'} cpu: [x64] os: [android] + requiresBuild: true + dev: true + optional: true - '@esbuild/android-x64@0.19.12': - resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - - '@esbuild/android-x64@0.20.2': + /@esbuild/android-x64@0.20.2: resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} engines: {node: '>=12'} cpu: [x64] os: [android] + requiresBuild: true + dev: true + optional: true - '@esbuild/darwin-arm64@0.18.13': + /@esbuild/darwin-arm64@0.18.13: resolution: {integrity: sha512-f5goG30YgR1GU+fxtaBRdSW3SBG9pZW834Mmhxa6terzcboz7P2R0k4lDxlkP7NYRIIdBbWp+VgwQbmMH4yV7w==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] + requiresBuild: true + dev: true + optional: true - '@esbuild/darwin-arm64@0.19.12': - resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - - '@esbuild/darwin-arm64@0.20.2': + /@esbuild/darwin-arm64@0.20.2: resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} engines: {node: '>=12'} cpu: [arm64] os: [darwin] + requiresBuild: true + dev: true + optional: true - '@esbuild/darwin-x64@0.18.13': + /@esbuild/darwin-x64@0.18.13: resolution: {integrity: sha512-RIrxoKH5Eo+yE5BtaAIMZaiKutPhZjw+j0OCh8WdvKEKJQteacq0myZvBDLU+hOzQOZWJeDnuQ2xgSScKf1Ovw==} engines: {node: '>=12'} cpu: [x64] os: [darwin] + requiresBuild: true + dev: true + optional: true - '@esbuild/darwin-x64@0.19.12': - resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - - '@esbuild/darwin-x64@0.20.2': + /@esbuild/darwin-x64@0.20.2: resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} engines: {node: '>=12'} cpu: [x64] os: [darwin] + requiresBuild: true + dev: true + optional: true - '@esbuild/freebsd-arm64@0.18.13': + /@esbuild/freebsd-arm64@0.18.13: resolution: {integrity: sha512-AfRPhHWmj9jGyLgW/2FkYERKmYR+IjYxf2rtSLmhOrPGFh0KCETFzSjx/JX/HJnvIqHt/DRQD/KAaVsUKoI3Xg==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] + requiresBuild: true + dev: true + optional: true - '@esbuild/freebsd-arm64@0.19.12': - resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - - '@esbuild/freebsd-arm64@0.20.2': + /@esbuild/freebsd-arm64@0.20.2: resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} engines: {node: '>=12'} cpu: [arm64] os: [freebsd] + requiresBuild: true + dev: true + optional: true - '@esbuild/freebsd-x64@0.18.13': + /@esbuild/freebsd-x64@0.18.13: resolution: {integrity: sha512-pGzWWZJBInhIgdEwzn8VHUBang8UvFKsvjDkeJ2oyY5gZtAM6BaxK0QLCuZY+qoj/nx/lIaItH425rm/hloETA==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] + requiresBuild: true + dev: true + optional: true - '@esbuild/freebsd-x64@0.19.12': - resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - - '@esbuild/freebsd-x64@0.20.2': + /@esbuild/freebsd-x64@0.20.2: resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} engines: {node: '>=12'} cpu: [x64] os: [freebsd] + requiresBuild: true + dev: true + optional: true - '@esbuild/linux-arm64@0.18.13': + /@esbuild/linux-arm64@0.18.13: resolution: {integrity: sha512-hCzZbVJEHV7QM77fHPv2qgBcWxgglGFGCxk6KfQx6PsVIdi1u09X7IvgE9QKqm38OpkzaAkPnnPqwRsltvLkIQ==} engines: {node: '>=12'} cpu: [arm64] os: [linux] + requiresBuild: true + dev: true + optional: true - '@esbuild/linux-arm64@0.19.12': - resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - - '@esbuild/linux-arm64@0.20.2': + /@esbuild/linux-arm64@0.20.2: resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} engines: {node: '>=12'} cpu: [arm64] os: [linux] + requiresBuild: true + dev: true + optional: true - '@esbuild/linux-arm@0.18.13': + /@esbuild/linux-arm@0.18.13: resolution: {integrity: sha512-4iMxLRMCxGyk7lEvkkvrxw4aJeC93YIIrfbBlUJ062kilUUnAiMb81eEkVvCVoh3ON283ans7+OQkuy1uHW+Hw==} engines: {node: '>=12'} cpu: [arm] os: [linux] + requiresBuild: true + dev: true + optional: true - '@esbuild/linux-arm@0.19.12': - resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - - '@esbuild/linux-arm@0.20.2': + /@esbuild/linux-arm@0.20.2: resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} engines: {node: '>=12'} cpu: [arm] os: [linux] + requiresBuild: true + dev: true + optional: true - '@esbuild/linux-ia32@0.18.13': + /@esbuild/linux-ia32@0.18.13: resolution: {integrity: sha512-I3OKGbynl3AAIO6onXNrup/ttToE6Rv2XYfFgLK/wnr2J+1g+7k4asLrE+n7VMhaqX+BUnyWkCu27rl+62Adug==} engines: {node: '>=12'} cpu: [ia32] os: [linux] + requiresBuild: true + dev: true + optional: true - '@esbuild/linux-ia32@0.19.12': - resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - - '@esbuild/linux-ia32@0.20.2': + /@esbuild/linux-ia32@0.20.2: resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} engines: {node: '>=12'} cpu: [ia32] os: [linux] + requiresBuild: true + dev: true + optional: true - '@esbuild/linux-loong64@0.18.13': + /@esbuild/linux-loong64@0.18.13: resolution: {integrity: sha512-8pcKDApAsKc6WW51ZEVidSGwGbebYw2qKnO1VyD8xd6JN0RN6EUXfhXmDk9Vc4/U3Y4AoFTexQewQDJGsBXBpg==} engines: {node: '>=12'} cpu: [loong64] os: [linux] + requiresBuild: true + dev: true + optional: true - '@esbuild/linux-loong64@0.19.12': - resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - - '@esbuild/linux-loong64@0.20.2': + /@esbuild/linux-loong64@0.20.2: resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} engines: {node: '>=12'} cpu: [loong64] os: [linux] + requiresBuild: true + dev: true + optional: true - '@esbuild/linux-mips64el@0.18.13': + /@esbuild/linux-mips64el@0.18.13: resolution: {integrity: sha512-6GU+J1PLiVqWx8yoCK4Z0GnfKyCGIH5L2KQipxOtbNPBs+qNDcMJr9euxnyJ6FkRPyMwaSkjejzPSISD9hb+gg==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] + requiresBuild: true + dev: true + optional: true - '@esbuild/linux-mips64el@0.19.12': - resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - - '@esbuild/linux-mips64el@0.20.2': + /@esbuild/linux-mips64el@0.20.2: resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} engines: {node: '>=12'} cpu: [mips64el] os: [linux] + requiresBuild: true + dev: true + optional: true - '@esbuild/linux-ppc64@0.18.13': + /@esbuild/linux-ppc64@0.18.13: resolution: {integrity: sha512-pfn/OGZ8tyR8YCV7MlLl5hAit2cmS+j/ZZg9DdH0uxdCoJpV7+5DbuXrR+es4ayRVKIcfS9TTMCs60vqQDmh+w==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] + requiresBuild: true + dev: true + optional: true - '@esbuild/linux-ppc64@0.19.12': - resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - - '@esbuild/linux-ppc64@0.20.2': + /@esbuild/linux-ppc64@0.20.2: resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} engines: {node: '>=12'} cpu: [ppc64] os: [linux] + requiresBuild: true + dev: true + optional: true - '@esbuild/linux-riscv64@0.18.13': + /@esbuild/linux-riscv64@0.18.13: resolution: {integrity: sha512-aIbhU3LPg0lOSCfVeGHbmGYIqOtW6+yzO+Nfv57YblEK01oj0mFMtvDJlOaeAZ6z0FZ9D13oahi5aIl9JFphGg==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] + requiresBuild: true + dev: true + optional: true - '@esbuild/linux-riscv64@0.19.12': - resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - - '@esbuild/linux-riscv64@0.20.2': + /@esbuild/linux-riscv64@0.20.2: resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} engines: {node: '>=12'} cpu: [riscv64] os: [linux] + requiresBuild: true + dev: true + optional: true - '@esbuild/linux-s390x@0.18.13': + /@esbuild/linux-s390x@0.18.13: resolution: {integrity: sha512-Pct1QwF2sp+5LVi4Iu5Y+6JsGaV2Z2vm4O9Dd7XZ5tKYxEHjFtb140fiMcl5HM1iuv6xXO8O1Vrb1iJxHlv8UA==} engines: {node: '>=12'} cpu: [s390x] os: [linux] + requiresBuild: true + dev: true + optional: true - '@esbuild/linux-s390x@0.19.12': - resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - - '@esbuild/linux-s390x@0.20.2': + /@esbuild/linux-s390x@0.20.2: resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} engines: {node: '>=12'} cpu: [s390x] os: [linux] + requiresBuild: true + dev: true + optional: true - '@esbuild/linux-x64@0.18.13': + /@esbuild/linux-x64@0.18.13: resolution: {integrity: sha512-zTrIP0KzYP7O0+3ZnmzvUKgGtUvf4+piY8PIO3V8/GfmVd3ZyHJGz7Ht0np3P1wz+I8qJ4rjwJKqqEAbIEPngA==} engines: {node: '>=12'} cpu: [x64] os: [linux] + requiresBuild: true + dev: true + optional: true - '@esbuild/linux-x64@0.19.12': - resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - - '@esbuild/linux-x64@0.20.2': + /@esbuild/linux-x64@0.20.2: resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} engines: {node: '>=12'} cpu: [x64] os: [linux] + requiresBuild: true + dev: true + optional: true - '@esbuild/netbsd-x64@0.18.13': + /@esbuild/netbsd-x64@0.18.13: resolution: {integrity: sha512-I6zs10TZeaHDYoGxENuksxE1sxqZpCp+agYeW039yqFwh3MgVvdmXL5NMveImOC6AtpLvE4xG5ujVic4NWFIDQ==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] + requiresBuild: true + dev: true + optional: true - '@esbuild/netbsd-x64@0.19.12': - resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - - '@esbuild/netbsd-x64@0.20.2': + /@esbuild/netbsd-x64@0.20.2: resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} engines: {node: '>=12'} cpu: [x64] os: [netbsd] + requiresBuild: true + dev: true + optional: true - '@esbuild/openbsd-x64@0.18.13': + /@esbuild/openbsd-x64@0.18.13: resolution: {integrity: sha512-W5C5nczhrt1y1xPG5bV+0M12p2vetOGlvs43LH8SopQ3z2AseIROu09VgRqydx5qFN7y9qCbpgHLx0kb0TcW7g==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] + requiresBuild: true + dev: true + optional: true - '@esbuild/openbsd-x64@0.19.12': - resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - - '@esbuild/openbsd-x64@0.20.2': + /@esbuild/openbsd-x64@0.20.2: resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} engines: {node: '>=12'} cpu: [x64] os: [openbsd] + requiresBuild: true + dev: true + optional: true - '@esbuild/sunos-x64@0.18.13': + /@esbuild/sunos-x64@0.18.13: resolution: {integrity: sha512-X/xzuw4Hzpo/yq3YsfBbIsipNgmsm8mE/QeWbdGdTTeZ77fjxI2K0KP3AlhZ6gU3zKTw1bKoZTuKLnqcJ537qw==} engines: {node: '>=12'} cpu: [x64] os: [sunos] + requiresBuild: true + dev: true + optional: true - '@esbuild/sunos-x64@0.19.12': - resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - - '@esbuild/sunos-x64@0.20.2': + /@esbuild/sunos-x64@0.20.2: resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} engines: {node: '>=12'} cpu: [x64] os: [sunos] + requiresBuild: true + dev: true + optional: true - '@esbuild/win32-arm64@0.18.13': + /@esbuild/win32-arm64@0.18.13: resolution: {integrity: sha512-4CGYdRQT/ILd+yLLE5i4VApMPfGE0RPc/wFQhlluDQCK09+b4JDbxzzjpgQqTPrdnP7r5KUtGVGZYclYiPuHrw==} engines: {node: '>=12'} cpu: [arm64] os: [win32] + requiresBuild: true + dev: true + optional: true - '@esbuild/win32-arm64@0.19.12': - resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - - '@esbuild/win32-arm64@0.20.2': + /@esbuild/win32-arm64@0.20.2: resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} engines: {node: '>=12'} cpu: [arm64] os: [win32] + requiresBuild: true + dev: true + optional: true - '@esbuild/win32-ia32@0.18.13': + /@esbuild/win32-ia32@0.18.13: resolution: {integrity: sha512-D+wKZaRhQI+MUGMH+DbEr4owC2D7XnF+uyGiZk38QbgzLcofFqIOwFs7ELmIeU45CQgfHNy9Q+LKW3cE8g37Kg==} engines: {node: '>=12'} cpu: [ia32] os: [win32] + requiresBuild: true + dev: true + optional: true - '@esbuild/win32-ia32@0.19.12': - resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - - '@esbuild/win32-ia32@0.20.2': + /@esbuild/win32-ia32@0.20.2: resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} engines: {node: '>=12'} cpu: [ia32] os: [win32] + requiresBuild: true + dev: true + optional: true - '@esbuild/win32-x64@0.18.13': + /@esbuild/win32-x64@0.18.13: resolution: {integrity: sha512-iVl6lehAfJS+VmpF3exKpNQ8b0eucf5VWfzR8S7xFve64NBNz2jPUgx1X93/kfnkfgP737O+i1k54SVQS7uVZA==} engines: {node: '>=12'} cpu: [x64] os: [win32] + requiresBuild: true + dev: true + optional: true - '@esbuild/win32-x64@0.19.12': - resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - - '@esbuild/win32-x64@0.20.2': + /@esbuild/win32-x64@0.20.2: resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} engines: {node: '>=12'} cpu: [x64] os: [win32] + requiresBuild: true + dev: true + optional: true - '@eslint-community/eslint-utils@4.4.0': + /@eslint-community/eslint-utils@4.4.0(eslint@8.57.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.57.0 + eslint-visitor-keys: 3.4.3 + dev: true - '@eslint-community/regexpp@4.10.0': + /@eslint-community/regexpp@4.10.0: resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true - '@eslint/eslintrc@2.1.4': + /@eslint/eslintrc@2.1.4: resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dependencies: + ajv: 6.12.6 + debug: 4.3.4(supports-color@8.1.1) + espree: 9.6.1 + globals: 13.24.0 + ignore: 5.3.1 + import-fresh: 3.3.0 + js-yaml: 4.1.0 + minimatch: 3.1.2 + strip-json-comments: 3.1.1 + transitivePeerDependencies: + - supports-color + dev: true - '@eslint/js@8.57.0': + /@eslint/js@8.57.0: resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true - '@ethereumjs/rlp@4.0.1': + /@ethereumjs/rlp@4.0.1: resolution: {integrity: sha512-tqsQiBQDQdmPWE1xkkBq4rlSW5QZpLOUJ5RJh2/9fug+q9tnUhuZoVLk7s0scUIKTOzEtR72DFBXI4WiZcMpvw==} engines: {node: '>=14'} hasBin: true + dev: true - '@ethereumjs/util@8.1.0': + /@ethereumjs/util@8.1.0: resolution: {integrity: sha512-zQ0IqbdX8FZ9aw11vP+dZkKDkS+kgIvQPHnSAXzP9pLu+Rfu3D3XEeLbicvoXJTYnhZiPmsZUxgdzXwNKxRPbA==} engines: {node: '>=14'} + dependencies: + '@ethereumjs/rlp': 4.0.1 + ethereum-cryptography: 2.1.3 + micro-ftch: 0.3.1 + dev: true - '@ethersproject/abi@5.6.0': + /@ethersproject/abi@5.6.0: resolution: {integrity: sha512-AhVByTwdXCc2YQ20v300w6KVHle9g2OFc28ZAFCPnJyEpkv1xKXjZcSTgWOlv1i+0dqlgF8RCF2Rn2KC1t+1Vg==} + dependencies: + '@ethersproject/address': 5.6.0 + '@ethersproject/bignumber': 5.6.0 + '@ethersproject/bytes': 5.6.1 + '@ethersproject/constants': 5.6.0 + '@ethersproject/hash': 5.6.0 + '@ethersproject/keccak256': 5.7.0 + '@ethersproject/logger': 5.6.0 + '@ethersproject/properties': 5.6.0 + '@ethersproject/strings': 5.6.0 + dev: false - '@ethersproject/abi@5.7.0': + /@ethersproject/abi@5.7.0: resolution: {integrity: sha512-351ktp42TiRcYB3H1OP8yajPeAQstMW/yCFokj/AthP9bLHzQFPlOrxOcwYEDkUAICmOHljvN4K39OMTMUa9RA==} + dependencies: + '@ethersproject/address': 5.7.0 + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/constants': 5.7.0 + '@ethersproject/hash': 5.7.0 + '@ethersproject/keccak256': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/properties': 5.7.0 + '@ethersproject/strings': 5.7.0 - '@ethersproject/abstract-provider@5.6.0': + /@ethersproject/abstract-provider@5.6.0: resolution: {integrity: sha512-oPMFlKLN+g+y7a79cLK3WiLcjWFnZQtXWgnLAbHZcN3s7L4v90UHpTOrLk+m3yr0gt+/h9STTM6zrr7PM8uoRw==} + dependencies: + '@ethersproject/bignumber': 5.6.0 + '@ethersproject/bytes': 5.6.1 + '@ethersproject/logger': 5.6.0 + '@ethersproject/networks': 5.6.1 + '@ethersproject/properties': 5.6.0 + '@ethersproject/transactions': 5.6.0 + '@ethersproject/web': 5.6.0 + dev: false - '@ethersproject/abstract-provider@5.7.0': + /@ethersproject/abstract-provider@5.7.0: resolution: {integrity: sha512-R41c9UkchKCpAqStMYUpdunjo3pkEvZC3FAwZn5S5MGbXoMQOHIdHItezTETxAO5bevtMApSyEhn9+CHcDsWBw==} + dependencies: + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/networks': 5.7.1 + '@ethersproject/properties': 5.7.0 + '@ethersproject/transactions': 5.7.0 + '@ethersproject/web': 5.7.1 - '@ethersproject/abstract-signer@5.6.0': + /@ethersproject/abstract-signer@5.6.0: resolution: {integrity: sha512-WOqnG0NJKtI8n0wWZPReHtaLkDByPL67tn4nBaDAhmVq8sjHTPbCdz4DRhVu/cfTOvfy9w3iq5QZ7BX7zw56BQ==} + dependencies: + '@ethersproject/abstract-provider': 5.6.0 + '@ethersproject/bignumber': 5.6.0 + '@ethersproject/bytes': 5.6.1 + '@ethersproject/logger': 5.6.0 + '@ethersproject/properties': 5.6.0 + dev: false - '@ethersproject/abstract-signer@5.7.0': + /@ethersproject/abstract-signer@5.7.0: resolution: {integrity: sha512-a16V8bq1/Cz+TGCkE2OPMTOUDLS3grCpdjoJCYNnVBbdYEMSgKrU0+B90s8b6H+ByYTBZN7a3g76jdIJi7UfKQ==} + dependencies: + '@ethersproject/abstract-provider': 5.7.0 + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/properties': 5.7.0 - '@ethersproject/address@5.6.0': + /@ethersproject/address@5.6.0: resolution: {integrity: sha512-6nvhYXjbXsHPS+30sHZ+U4VMagFC/9zAk6Gd/h3S21YW4+yfb0WfRtaAIZ4kfM4rrVwqiy284LP0GtL5HXGLxQ==} + dependencies: + '@ethersproject/bignumber': 5.6.0 + '@ethersproject/bytes': 5.6.1 + '@ethersproject/keccak256': 5.7.0 + '@ethersproject/logger': 5.6.0 + '@ethersproject/rlp': 5.6.0 + dev: false - '@ethersproject/address@5.7.0': + /@ethersproject/address@5.7.0: resolution: {integrity: sha512-9wYhYt7aghVGo758POM5nqcOMaE168Q6aRLJZwUmiqSrAungkG74gSSeKEIR7ukixesdRZGPgVqme6vmxs1fkA==} + dependencies: + '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bytes': 5.7.0 + '@ethersproject/keccak256': 5.7.0 + '@ethersproject/logger': 5.7.0 + '@ethersproject/rlp': 5.7.0 - '@ethersproject/base64@5.6.0': + /@ethersproject/base64@5.6.0: resolution: {integrity: sha512-2Neq8wxJ9xHxCF9TUgmKeSh9BXJ6OAxWfeGWvbauPh8FuHEjamgHilllx8KkSd5ErxyHIX7Xv3Fkcud2kY9ezw==} + dependencies: + '@ethersproject/bytes': 5.6.1 + dev: false - '@ethersproject/base64@5.7.0': + /@ethersproject/base64@5.7.0: resolution: {integrity: sha512-Dr8tcHt2mEbsZr/mwTPIQAf3Ai0Bks/7gTw9dSqk1mQvhW3XvRlmDJr/4n+wg1JmCl16NZue17CDh8xb/vZ0sQ==} + dependencies: + '@ethersproject/bytes': 5.7.0 - '@ethersproject/basex@5.6.0': + /@ethersproject/basex@5.6.0: resolution: {integrity: sha512-qN4T+hQd/Md32MoJpc69rOwLYRUXwjTlhHDIeUkUmiN/JyWkkLLMoG0TqvSQKNqZOMgN5stbUYN6ILC+eD7MEQ==} + dependencies: + '@ethersproject/bytes': 5.6.1 + '@ethersproject/properties': 5.6.0 + dev: false - '@ethersproject/basex@5.7.0': + /@ethersproject/basex@5.7.0: resolution: {integrity: sha512-ywlh43GwZLv2Voc2gQVTKBoVQ1mti3d8HK5aMxsfu/nRDnMmNqaSJ3r3n85HBByT8OpoY96SXM1FogC533T4zw==} + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/properties': 5.7.0 - '@ethersproject/bignumber@5.6.0': + /@ethersproject/bignumber@5.6.0: resolution: {integrity: sha512-VziMaXIUHQlHJmkv1dlcd6GY2PmT0khtAqaMctCIDogxkrarMzA9L94KN1NeXqqOfFD6r0sJT3vCTOFSmZ07DA==} + dependencies: + '@ethersproject/bytes': 5.6.1 + '@ethersproject/logger': 5.6.0 + bn.js: 4.12.0 + dev: false - '@ethersproject/bignumber@5.7.0': + /@ethersproject/bignumber@5.7.0: resolution: {integrity: sha512-n1CAdIHRWjSucQO3MC1zPSVgV/6dy/fjL9pMrPP9peL+QxEg9wOsVqwD4+818B6LUEtaXzVHQiuivzRoxPxUGw==} + dependencies: + '@ethersproject/bytes': 5.7.0 + '@ethersproject/logger': 5.7.0 + bn.js: 5.2.1 - '@ethersproject/bytes@5.6.1': + /@ethersproject/bytes@5.6.1: resolution: {integrity: sha512-NwQt7cKn5+ZE4uDn+X5RAXLp46E1chXoaMmrxAyA0rblpxz8t58lVkrHXoRIn0lz1joQElQ8410GqhTqMOwc6g==} + dependencies: + '@ethersproject/logger': 5.6.0 + dev: false - '@ethersproject/bytes@5.7.0': + /@ethersproject/bytes@5.7.0: resolution: {integrity: sha512-nsbxwgFXWh9NyYWo+U8atvmMsSdKJprTcICAkvbBffT75qDocbuggBU0SJiVK2MuTrp0q+xvLkTnGMPK1+uA9A==} + dependencies: + '@ethersproject/logger': 5.7.0 - '@ethersproject/constants@5.6.0': + /@ethersproject/constants@5.6.0: resolution: {integrity: sha512-SrdaJx2bK0WQl23nSpV/b1aq293Lh0sUaZT/yYKPDKn4tlAbkH96SPJwIhwSwTsoQQZxuh1jnqsKwyymoiBdWA==} - - '@ethersproject/constants@5.7.0': - resolution: {integrity: sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==} - - '@ethersproject/contracts@5.6.0': - resolution: {integrity: sha512-74Ge7iqTDom0NX+mux8KbRUeJgu1eHZ3iv6utv++sLJG80FVuU9HnHeKVPfjd9s3woFhaFoQGf3B3iH/FrQmgw==} - - '@ethersproject/contracts@5.7.0': - resolution: {integrity: sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==} - - '@ethersproject/hash@5.6.0': - resolution: {integrity: sha512-fFd+k9gtczqlr0/BruWLAu7UAOas1uRRJvOR84uDf4lNZ+bTkGl366qvniUZHKtlqxBRU65MkOobkmvmpHU+jA==} - - '@ethersproject/hash@5.7.0': - resolution: {integrity: sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==} - - '@ethersproject/hdnode@5.6.0': - resolution: {integrity: sha512-61g3Jp3nwDqJcL/p4nugSyLrpl/+ChXIOtCEM8UDmWeB3JCAt5FoLdOMXQc3WWkc0oM2C0aAn6GFqqMcS/mHTw==} - - '@ethersproject/hdnode@5.7.0': - resolution: {integrity: sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==} - - '@ethersproject/json-wallets@5.6.0': - resolution: {integrity: sha512-fmh86jViB9r0ibWXTQipxpAGMiuxoqUf78oqJDlCAJXgnJF024hOOX7qVgqsjtbeoxmcLwpPsXNU0WEe/16qPQ==} - - '@ethersproject/json-wallets@5.7.0': - resolution: {integrity: sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==} - - '@ethersproject/keccak256@5.6.0': - resolution: {integrity: sha512-tk56BJ96mdj/ksi7HWZVWGjCq0WVl/QvfhFQNeL8fxhBlGoP+L80uDCiQcpJPd+2XxkivS3lwRm3E0CXTfol0w==} - - '@ethersproject/keccak256@5.7.0': - resolution: {integrity: sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==} - - '@ethersproject/logger@5.6.0': - resolution: {integrity: sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg==} - - '@ethersproject/logger@5.7.0': - resolution: {integrity: sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==} - - '@ethersproject/networks@5.6.1': - resolution: {integrity: sha512-b2rrupf3kCTcc3jr9xOWBuHylSFtbpJf79Ga7QR98ienU2UqGimPGEsYMgbI29KHJfA5Us89XwGVmxrlxmSrMg==} - - '@ethersproject/networks@5.7.1': - resolution: {integrity: sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==} - - '@ethersproject/pbkdf2@5.6.0': - resolution: {integrity: sha512-Wu1AxTgJo3T3H6MIu/eejLFok9TYoSdgwRr5oGY1LTLfmGesDoSx05pemsbrPT2gG4cQME+baTSCp5sEo2erZQ==} - - '@ethersproject/pbkdf2@5.7.0': - resolution: {integrity: sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==} - - '@ethersproject/properties@5.6.0': - resolution: {integrity: sha512-szoOkHskajKePTJSZ46uHUWWkbv7TzP2ypdEK6jGMqJaEt2sb0jCgfBo0gH0m2HBpRixMuJ6TBRaQCF7a9DoCg==} - - '@ethersproject/properties@5.7.0': - resolution: {integrity: sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==} - - '@ethersproject/providers@5.6.2': - resolution: {integrity: sha512-6/EaFW/hNWz+224FXwl8+HdMRzVHt8DpPmu5MZaIQqx/K/ELnC9eY236SMV7mleCM3NnEArFwcAAxH5kUUgaRg==} - - '@ethersproject/providers@5.7.2': - resolution: {integrity: sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==} - - '@ethersproject/random@5.6.0': - resolution: {integrity: sha512-si0PLcLjq+NG/XHSZz90asNf+YfKEqJGVdxoEkSukzbnBgC8rydbgbUgBbBGLeHN4kAJwUFEKsu3sCXT93YMsw==} - - '@ethersproject/random@5.7.0': - resolution: {integrity: sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==} - - '@ethersproject/rlp@5.6.0': - resolution: {integrity: sha512-dz9WR1xpcTL+9DtOT/aDO+YyxSSdO8YIS0jyZwHHSlAmnxA6cKU3TrTd4Xc/bHayctxTgGLYNuVVoiXE4tTq1g==} - - '@ethersproject/rlp@5.7.0': - resolution: {integrity: sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==} - - '@ethersproject/sha2@5.6.0': - resolution: {integrity: sha512-1tNWCPFLu1n3JM9t4/kytz35DkuF9MxqkGGEHNauEbaARdm2fafnOyw1s0tIQDPKF/7bkP1u3dbrmjpn5CelyA==} - - '@ethersproject/sha2@5.7.0': - resolution: {integrity: sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==} - - '@ethersproject/signing-key@5.6.0': - resolution: {integrity: sha512-S+njkhowmLeUu/r7ir8n78OUKx63kBdMCPssePS89So1TH4hZqnWFsThEd/GiXYp9qMxVrydf7KdM9MTGPFukA==} - - '@ethersproject/signing-key@5.7.0': - resolution: {integrity: sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==} - - '@ethersproject/solidity@5.6.0': - resolution: {integrity: sha512-YwF52vTNd50kjDzqKaoNNbC/r9kMDPq3YzDWmsjFTRBcIF1y4JCQJ8gB30wsTfHbaxgxelI5BfxQSxD/PbJOww==} - - '@ethersproject/solidity@5.7.0': - resolution: {integrity: sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==} - - '@ethersproject/strings@5.6.0': - resolution: {integrity: sha512-uv10vTtLTZqrJuqBZR862ZQjTIa724wGPWQqZrofaPI/kUsf53TBG0I0D+hQ1qyNtllbNzaW+PDPHHUI6/65Mg==} - - '@ethersproject/strings@5.7.0': - resolution: {integrity: sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==} - - '@ethersproject/transactions@5.6.0': - resolution: {integrity: sha512-4HX+VOhNjXHZyGzER6E/LVI2i6lf9ejYeWD6l4g50AdmimyuStKc39kvKf1bXWQMg7QNVh+uC7dYwtaZ02IXeg==} - - '@ethersproject/transactions@5.7.0': - resolution: {integrity: sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==} - - '@ethersproject/units@5.6.0': - resolution: {integrity: sha512-tig9x0Qmh8qbo1w8/6tmtyrm/QQRviBh389EQ+d8fP4wDsBrJBf08oZfoiz1/uenKK9M78yAP4PoR7SsVoTjsw==} - - '@ethersproject/units@5.7.0': - resolution: {integrity: sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==} - - '@ethersproject/wallet@5.6.0': - resolution: {integrity: sha512-qMlSdOSTyp0MBeE+r7SUhr1jjDlC1zAXB8VD84hCnpijPQiSNbxr6GdiLXxpUs8UKzkDiNYYC5DRI3MZr+n+tg==} - - '@ethersproject/wallet@5.7.0': - resolution: {integrity: sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==} - - '@ethersproject/web@5.6.0': - resolution: {integrity: sha512-G/XHj0hV1FxI2teHRfCGvfBUHFmU+YOSbCxlAMqJklxSa7QMiHFQfAxvwY2PFqgvdkxEKwRNr/eCjfAPEm2Ctg==} - - '@ethersproject/web@5.7.1': - resolution: {integrity: sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==} - - '@ethersproject/wordlists@5.6.0': - resolution: {integrity: sha512-q0bxNBfIX3fUuAo9OmjlEYxP40IB8ABgb7HjEZCL5IKubzV3j30CWi2rqQbjTS2HfoyQbfINoKcTVWP4ejwR7Q==} - - '@ethersproject/wordlists@5.7.0': - resolution: {integrity: sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==} - - '@fastify/busboy@2.1.1': - resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} - engines: {node: '>=14'} - - '@graphql-codegen/add@5.0.2': - resolution: {integrity: sha512-ouBkSvMFUhda5VoKumo/ZvsZM9P5ZTyDsI8LW18VxSNWOjrTeLXBWHG8Gfaai0HwhflPtCYVABbriEcOmrRShQ==} - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - - '@graphql-codegen/cli@5.0.2': - resolution: {integrity: sha512-MBIaFqDiLKuO4ojN6xxG9/xL9wmfD3ZjZ7RsPjwQnSHBCUXnEkdKvX+JVpx87Pq29Ycn8wTJUguXnTZ7Di0Mlw==} - hasBin: true - peerDependencies: - '@parcel/watcher': ^2.1.0 - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - peerDependenciesMeta: - '@parcel/watcher': - optional: true - - '@graphql-codegen/client-preset@4.2.5': - resolution: {integrity: sha512-hAdB6HN8EDmkoBtr0bPUN/7NH6svzqbcTDMWBCRXPESXkl7y80po+IXrXUjsSrvhKG8xkNXgJNz/2mjwHzywcA==} - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - - '@graphql-codegen/core@4.0.2': - resolution: {integrity: sha512-IZbpkhwVqgizcjNiaVzNAzm/xbWT6YnGgeOLwVjm4KbJn3V2jchVtuzHH09G5/WkkLSk2wgbXNdwjM41JxO6Eg==} - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - - '@graphql-codegen/gql-tag-operations@4.0.6': - resolution: {integrity: sha512-y6iXEDpDNjwNxJw3WZqX1/Znj0QHW7+y8O+t2V8qvbTT+3kb2lr9ntc8By7vCr6ctw9tXI4XKaJgpTstJDOwFA==} - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - - '@graphql-codegen/plugin-helpers@5.0.3': - resolution: {integrity: sha512-yZ1rpULIWKBZqCDlvGIJRSyj1B2utkEdGmXZTBT/GVayP4hyRYlkd36AJV/LfEsVD8dnsKL5rLz2VTYmRNlJ5Q==} - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - - '@graphql-codegen/schema-ast@4.0.2': - resolution: {integrity: sha512-5mVAOQQK3Oz7EtMl/l3vOQdc2aYClUzVDHHkMvZlunc+KlGgl81j8TLa+X7ANIllqU4fUEsQU3lJmk4hXP6K7Q==} - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - - '@graphql-codegen/typed-document-node@5.0.6': - resolution: {integrity: sha512-US0J95hOE2/W/h42w4oiY+DFKG7IetEN1mQMgXXeat1w6FAR5PlIz4JrRrEkiVfVetZ1g7K78SOwBD8/IJnDiA==} - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - - '@graphql-codegen/typescript-operations@4.2.0': - resolution: {integrity: sha512-lmuwYb03XC7LNRS8oo9M4/vlOrq/wOKmTLBHlltK2YJ1BO/4K/Q9Jdv/jDmJpNydHVR1fmeF4wAfsIp1f9JibA==} - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - - '@graphql-codegen/typescript@4.0.6': - resolution: {integrity: sha512-IBG4N+Blv7KAL27bseruIoLTjORFCT3r+QYyMC3g11uY3/9TPpaUyjSdF70yBe5GIQ6dAgDU+ENUC1v7EPi0rw==} - peerDependencies: - graphql: ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - - '@graphql-codegen/visitor-plugin-common@5.1.0': - resolution: {integrity: sha512-eamQxtA9bjJqI2lU5eYoA1GbdMIRT2X8m8vhWYsVQVWD3qM7sx/IqJU0kx0J3Vd4/CSd36BzL6RKwksibytDIg==} - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - - '@graphql-tools/apollo-engine-loader@8.0.1': - resolution: {integrity: sha512-NaPeVjtrfbPXcl+MLQCJLWtqe2/E4bbAqcauEOQ+3sizw1Fc2CNmhHRF8a6W4D0ekvTRRXAMptXYgA2uConbrA==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - - '@graphql-tools/batch-execute@9.0.4': - resolution: {integrity: sha512-kkebDLXgDrep5Y0gK1RN3DMUlLqNhg60OAz0lTCqrYeja6DshxLtLkj+zV4mVbBA4mQOEoBmw6g1LZs3dA84/w==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - - '@graphql-tools/code-file-loader@8.1.1': - resolution: {integrity: sha512-q4KN25EPSUztc8rA8YUU3ufh721Yk12xXDbtUA+YstczWS7a1RJlghYMFEfR1HsHSYbF7cUqkbnTKSGM3o52bQ==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - - '@graphql-tools/delegate@10.0.4': - resolution: {integrity: sha512-WswZRbQZMh/ebhc8zSomK9DIh6Pd5KbuiMsyiKkKz37TWTrlCOe+4C/fyrBFez30ksq6oFyCeSKMwfrCbeGo0Q==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - - '@graphql-tools/documents@1.0.0': - resolution: {integrity: sha512-rHGjX1vg/nZ2DKqRGfDPNC55CWZBMldEVcH+91BThRa6JeT80NqXknffLLEZLRUxyikCfkwMsk6xR3UNMqG0Rg==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - - '@graphql-tools/executor-graphql-ws@1.1.2': - resolution: {integrity: sha512-+9ZK0rychTH1LUv4iZqJ4ESbmULJMTsv3XlFooPUngpxZkk00q6LqHKJRrsLErmQrVaC7cwQCaRBJa0teK17Lg==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - - '@graphql-tools/executor-http@1.0.9': - resolution: {integrity: sha512-+NXaZd2MWbbrWHqU4EhXcrDbogeiCDmEbrAN+rMn4Nu2okDjn2MTFDbTIab87oEubQCH4Te1wDkWPKrzXup7+Q==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - - '@graphql-tools/executor-legacy-ws@1.0.6': - resolution: {integrity: sha512-lDSxz9VyyquOrvSuCCnld3256Hmd+QI2lkmkEv7d4mdzkxkK4ddAWW1geQiWrQvWmdsmcnGGlZ7gDGbhEExwqg==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - - '@graphql-tools/executor@0.0.18': - resolution: {integrity: sha512-xZC0C+/npXoSHBB5bsJdwxDLgtl1Gu4fL9J2TPQmXoZC3L2N506KJoppf9LgWdHU/xK04luJrhP6WjhfkIN0pQ==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - - '@graphql-tools/executor@1.2.6': - resolution: {integrity: sha512-+1kjfqzM5T2R+dCw7F4vdJ3CqG+fY/LYJyhNiWEFtq0ToLwYzR/KKyD8YuzTirEjSxWTVlcBh7endkx5n5F6ew==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - - '@graphql-tools/git-loader@8.0.5': - resolution: {integrity: sha512-P97/1mhruDiA6D5WUmx3n/aeGPLWj2+4dpzDOxFGGU+z9NcI/JdygMkeFpGZNHeJfw+kHfxgPcMPnxHcyhAoVA==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - - '@graphql-tools/github-loader@8.0.1': - resolution: {integrity: sha512-W4dFLQJ5GtKGltvh/u1apWRFKBQOsDzFxO9cJkOYZj1VzHCpRF43uLST4VbCfWve+AwBqOuKr7YgkHoxpRMkcg==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - - '@graphql-tools/graphql-file-loader@8.0.1': - resolution: {integrity: sha512-7gswMqWBabTSmqbaNyWSmRRpStWlcCkBc73E6NZNlh4YNuiyKOwbvSkOUYFOqFMfEL+cFsXgAvr87Vz4XrYSbA==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - - '@graphql-tools/graphql-tag-pluck@8.3.0': - resolution: {integrity: sha512-gNqukC+s7iHC7vQZmx1SEJQmLnOguBq+aqE2zV2+o1hxkExvKqyFli1SY/9gmukFIKpKutCIj+8yLOM+jARutw==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - - '@graphql-tools/import@7.0.1': - resolution: {integrity: sha512-935uAjAS8UAeXThqHfYVr4HEAp6nHJ2sximZKO1RzUTq5WoALMAhhGARl0+ecm6X+cqNUwIChJbjtaa6P/ML0w==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - - '@graphql-tools/json-file-loader@8.0.1': - resolution: {integrity: sha512-lAy2VqxDAHjVyqeJonCP6TUemrpYdDuKt25a10X6zY2Yn3iFYGnuIDQ64cv3ytyGY6KPyPB+Kp+ZfOkNDG3FQA==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - - '@graphql-tools/load@8.0.2': - resolution: {integrity: sha512-S+E/cmyVmJ3CuCNfDuNF2EyovTwdWfQScXv/2gmvJOti2rGD8jTt9GYVzXaxhblLivQR9sBUCNZu/w7j7aXUCA==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - - '@graphql-tools/merge@8.4.2': - resolution: {integrity: sha512-XbrHAaj8yDuINph+sAfuq3QCZ/tKblrTLOpirK0+CAgNlZUCHs0Fa+xtMUURgwCVThLle1AF7svJCxFizygLsw==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - - '@graphql-tools/merge@9.0.3': - resolution: {integrity: sha512-FeKv9lKLMwqDu0pQjPpF59GY3HReUkWXKsMIuMuJQOKh9BETu7zPEFUELvcw8w+lwZkl4ileJsHXC9+AnsT2Lw==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - - '@graphql-tools/optimize@2.0.0': - resolution: {integrity: sha512-nhdT+CRGDZ+bk68ic+Jw1OZ99YCDIKYA5AlVAnBHJvMawSx9YQqQAIj4refNc1/LRieGiuWvhbG3jvPVYho0Dg==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - - '@graphql-tools/prisma-loader@8.0.3': - resolution: {integrity: sha512-oZhxnMr3Jw2WAW1h9FIhF27xWzIB7bXWM8olz4W12oII4NiZl7VRkFw9IT50zME2Bqi9LGh9pkmMWkjvbOpl+Q==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - - '@graphql-tools/relay-operation-optimizer@7.0.1': - resolution: {integrity: sha512-y0ZrQ/iyqWZlsS/xrJfSir3TbVYJTYmMOu4TaSz6F4FRDTQ3ie43BlKkhf04rC28pnUOS4BO9pDcAo1D30l5+A==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - - '@graphql-tools/schema@10.0.3': - resolution: {integrity: sha512-p28Oh9EcOna6i0yLaCFOnkcBDQECVf3SCexT6ktb86QNj9idnkhI+tCxnwZDh58Qvjd2nURdkbevvoZkvxzCog==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - - '@graphql-tools/schema@9.0.19': - resolution: {integrity: sha512-oBRPoNBtCkk0zbUsyP4GaIzCt8C0aCI4ycIRUL67KK5pOHljKLBBtGT+Jr6hkzA74C8Gco8bpZPe7aWFjiaK2w==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - - '@graphql-tools/url-loader@8.0.2': - resolution: {integrity: sha512-1dKp2K8UuFn7DFo1qX5c1cyazQv2h2ICwA9esHblEqCYrgf69Nk8N7SODmsfWg94OEaI74IqMoM12t7eIGwFzQ==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - - '@graphql-tools/utils@10.1.3': - resolution: {integrity: sha512-loco2ctrrMQzdpSHbcOo6+Ecp21BV67cQ2pNGhuVKAexruu01RdLn3LgtK47B9BpLz3cUD6U0u1R0rur7xMOOg==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - - '@graphql-tools/utils@9.2.1': - resolution: {integrity: sha512-WUw506Ql6xzmOORlriNrD6Ugx+HjVgYxt9KCXD9mHAak+eaXSwuGGPyE60hy9xaDEoXKBsG7SkG69ybitaVl6A==} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - - '@graphql-tools/wrap@10.0.5': - resolution: {integrity: sha512-Cbr5aYjr3HkwdPvetZp1cpDWTGdD1Owgsb3z/ClzhmrboiK86EnQDxDvOJiQkDCPWE9lNBwj8Y4HfxroY0D9DQ==} - engines: {node: '>=16.0.0'} - peerDependencies: - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - - '@graphql-typed-document-node/core@3.2.0': - resolution: {integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==} - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 - - '@graphql-yoga/logger@0.0.1': - resolution: {integrity: sha512-6npFz7eZz33mXgSm1waBLMjUNG0D5hTc/p5Hcs1mojkT3KsLpCOFokzTEKboNsBhKevYcaVa/xeA7WBj4UYMLg==} - - '@graphql-yoga/subscription@3.1.0': - resolution: {integrity: sha512-Vc9lh8KzIHyS3n4jBlCbz7zCjcbtQnOBpsymcRvHhFr2cuH+knmRn0EmzimMQ58jQ8kxoRXXC3KJS3RIxSdPIg==} - - '@graphql-yoga/typed-event-target@1.0.0': - resolution: {integrity: sha512-Mqni6AEvl3VbpMtKw+TIjc9qS9a8hKhiAjFtqX488yq5oJtj9TkNlFTIacAVS3vnPiswNsmDiQqvwUOcJgi1DA==} - - '@httptoolkit/websocket-stream@6.0.1': - resolution: {integrity: sha512-A0NOZI+Glp3Xgcz6Na7i7o09+/+xm2m0UCU8gdtM2nIv6/cjLmhMZMqehSpTlgbx9omtLmV8LVqOskPEyWnmZQ==} - - '@humanwhocodes/config-array@0.11.14': - resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} - engines: {node: '>=10.10.0'} - - '@humanwhocodes/module-importer@1.0.1': - resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} - engines: {node: '>=12.22'} - - '@humanwhocodes/object-schema@2.0.3': - resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} - - '@inquirer/checkbox@2.3.0': - resolution: {integrity: sha512-QE8k4cC00gQQghyRGz9DJ59hOqZ4YpCpr6p8o9H3H+WIxjEEi/3BsYSGWkYGel4v2VKLjph4ork9HGPoNcURKg==} - engines: {node: '>=18'} - - '@inquirer/confirm@3.1.4': - resolution: {integrity: sha512-2z2RC0JyQCmggQfRxFnQitGp8YZgdM/AqcOuLaUtL0dZHFByk5jgtzxECX4z5MsH8aq2WzdLPI2AHmHOkh8eRA==} - engines: {node: '>=18'} - - '@inquirer/core@7.1.3': - resolution: {integrity: sha512-MbHUe32W0DRtuw3Hlt+vLWy3c0Vw7wVHSJyYZ16IGVXyxs31BTyo2MOFKzNnzBBAWhsqn+iHO1r84FXIzs39HQ==} - engines: {node: '>=18'} - - '@inquirer/core@8.0.0': - resolution: {integrity: sha512-RAszmjXj+grbT9yQ9B+me40LskytwBYPhyl6yHI8h+J5BmL0gNI3pdvBBFD6S9LV0lzhzfCRMBMH5UvuUPYzZQ==} - engines: {node: '>=18'} - - '@inquirer/editor@2.1.4': - resolution: {integrity: sha512-bZ/YDEWNzQaKPhwyspy77Hntk9UjqXmQPMc3I3Cqn1pPBlPzliylgJDhgErxyIMFMtd92FpbDoOk5WWlaVpBMQ==} - engines: {node: '>=18'} - - '@inquirer/expand@2.1.4': - resolution: {integrity: sha512-dQeTV54ffbkR6epoue2NlbX8R62gS3M8e3OpXlzl3KxueSSQwlO5o3pAASzBnYje1rkTJ3lhX7fhS8Np0HDofA==} - engines: {node: '>=18'} - - '@inquirer/figures@1.0.0': - resolution: {integrity: sha512-3fw+7+77/duTnMJTeSS44wneszghI4tkr0m0xdIJabbYRe36ElzmsqyboMZ1nFRon6sT+ckVvYDVjwapKv+2sw==} - engines: {node: '>=18'} - - '@inquirer/input@2.1.4': - resolution: {integrity: sha512-FnskIUMM0ogcYu9zHIuIx8McSnXC69CMm5qzBSo27joFATe/dbK2SXrq9/i/y2dCGFfETSaiYI6q5Rp7jhDbWg==} - engines: {node: '>=18'} - - '@inquirer/password@2.1.4': - resolution: {integrity: sha512-FK14dvubrLZi4B/OCelmtZngLIKe4AX3Iqwwp48YW1ciEDamoxirMrwV9WzhWnfannPfZFnPLZuqIoqhF9sglg==} - engines: {node: '>=18'} - - '@inquirer/prompts@4.3.3': - resolution: {integrity: sha512-QLn4tTeLKH3Foqlof0+dY0kLoCGQvvR4MDkHAooPI0rLGPOjUwoiVeEalcMtJTGulqJ76it2UW4++j88WO6KLQ==} - engines: {node: '>=18'} - - '@inquirer/rawlist@2.1.4': - resolution: {integrity: sha512-XtG9e/OYzGedsKsXfUw4tf26aNBN7o2gcYjYdYi7FuE4cOAg1fcFoIn2h0qRMr/+xLsJf4F+Hh+sRnC6yk3yxg==} - engines: {node: '>=18'} - - '@inquirer/select@2.3.0': - resolution: {integrity: sha512-FHZkDUIfGfENxzH/M4tskSWUgRnszKUXb/qlrqbvjwUeFFFSOaWztMkAg4sLwnw2nbT+bdi+WlBn98C/j0NOlQ==} - engines: {node: '>=18'} - - '@inquirer/type@1.3.0': - resolution: {integrity: sha512-RW4Zf6RCTnInRaOZuRHTqAUl+v6VJuQGglir7nW2BkT3OXOphMhkIFhvFRjorBx2l0VwtC/M4No8vYR65TdN9Q==} - engines: {node: '>=18'} - - '@isaacs/cliui@8.0.2': - resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} - engines: {node: '>=12'} - - '@istanbuljs/load-nyc-config@1.1.0': - resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} - engines: {node: '>=8'} - - '@istanbuljs/schema@0.1.3': - resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} - engines: {node: '>=8'} - - '@jest/console@29.7.0': - resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/core@29.7.0': - resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - - '@jest/environment@29.7.0': - resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/expect-utils@29.7.0': - resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/expect@29.7.0': - resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/fake-timers@29.7.0': - resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/globals@29.7.0': - resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/reporters@29.7.0': - resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - - '@jest/schemas@29.6.3': - resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/source-map@29.6.3': - resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/test-result@29.7.0': - resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/test-sequencer@29.7.0': - resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/transform@29.7.0': - resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jest/types@29.6.3': - resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - '@jridgewell/gen-mapping@0.3.5': - resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} - engines: {node: '>=6.0.0'} - - '@jridgewell/resolve-uri@3.1.2': - resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} - engines: {node: '>=6.0.0'} - - '@jridgewell/set-array@1.2.1': - resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} - engines: {node: '>=6.0.0'} - - '@jridgewell/sourcemap-codec@1.4.15': - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - - '@jridgewell/trace-mapping@0.3.25': - resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} - - '@jridgewell/trace-mapping@0.3.9': - resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} - - '@kamilkisiela/fast-url-parser@1.1.4': - resolution: {integrity: sha512-gbkePEBupNydxCelHCESvFSFM8XPh1Zs/OAVRW/rKpEqPAl5PbOM90Si8mv9bvnR53uPD2s/FiRxdvSejpRJew==} - - '@lukeed/ms@2.0.2': - resolution: {integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==} - engines: {node: '>=8'} - - '@metamask/eth-sig-util@4.0.1': - resolution: {integrity: sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ==} - engines: {node: '>=12.0.0'} - - '@microsoft/tsdoc-config@0.16.2': - resolution: {integrity: sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==} - - '@microsoft/tsdoc@0.14.2': - resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==} - - '@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1': - resolution: {integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==} - - '@noble/curves@1.2.0': - resolution: {integrity: sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==} - - '@noble/curves@1.3.0': - resolution: {integrity: sha512-t01iSXPuN+Eqzb4eBX0S5oubSqXbK/xXa1Ne18Hj8f9pStxztHCE2gfboSp/dZRLSqfuLpRK2nDXDK+W9puocA==} - - '@noble/hashes@1.2.0': - resolution: {integrity: sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==} - - '@noble/hashes@1.3.2': - resolution: {integrity: sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==} - engines: {node: '>= 16'} - - '@noble/hashes@1.3.3': - resolution: {integrity: sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==} - engines: {node: '>= 16'} - - '@noble/hashes@1.4.0': - resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} - engines: {node: '>= 16'} - - '@noble/secp256k1@1.7.1': - resolution: {integrity: sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==} - - '@nodelib/fs.scandir@2.1.5': - resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} - engines: {node: '>= 8'} - - '@nodelib/fs.stat@2.0.5': - resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} - engines: {node: '>= 8'} - - '@nodelib/fs.walk@1.2.8': - resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} - engines: {node: '>= 8'} - - '@nomicfoundation/edr-darwin-arm64@0.3.5': - resolution: {integrity: sha512-gIXUIiPMUy6roLHpNlxf15DumU7/YhffUf7XIB+WUjMecaySfTGyZsTGnCMJZqrDyiYqWPyPKwCV/2u/jqFAUg==} - engines: {node: '>= 18'} - cpu: [arm64] - os: [darwin] - - '@nomicfoundation/edr-darwin-x64@0.3.5': - resolution: {integrity: sha512-0MrpOCXUK8gmplpYZ2Cy0holHEylvWoNeecFcrP2WJ5DLQzrB23U5JU2MvUzOJ7aL76Za1VXNBWi/UeTWdHM+w==} - engines: {node: '>= 18'} - cpu: [x64] - os: [darwin] - - '@nomicfoundation/edr-linux-arm64-gnu@0.3.5': - resolution: {integrity: sha512-aw9f7AZMiY1dZFNePJGKho2k+nEgFgzUAyyukiKfSqUIMXoFXMf1U3Ujv848czrSq9c5XGcdDa2xnEf3daU3xg==} - engines: {node: '>= 18'} - cpu: [arm64] - os: [linux] - - '@nomicfoundation/edr-linux-arm64-musl@0.3.5': - resolution: {integrity: sha512-cVFRQjyABBlsbDj+XTczYBfrCHprZ6YNzN8gGGSqAh+UGIJkAIRomK6ar27GyJLNx3HkgbuDoi/9kA0zOo/95w==} - engines: {node: '>= 18'} - cpu: [arm64] - os: [linux] - - '@nomicfoundation/edr-linux-x64-gnu@0.3.5': - resolution: {integrity: sha512-CjOg85DfR1Vt0fQWn5U0qi26DATK9tVzo3YOZEyI0JBsnqvk43fUTPv3uUAWBrPIRg5O5kOc9xG13hSpCBBxBg==} - engines: {node: '>= 18'} - cpu: [x64] - os: [linux] - - '@nomicfoundation/edr-linux-x64-musl@0.3.5': - resolution: {integrity: sha512-hvX8bBGpBydAVevzK8jsu2FlqVZK1RrCyTX6wGHnltgMuBaoGLHYtNHiFpteOaJw2byYMiORc2bvj+98LhJ0Ew==} - engines: {node: '>= 18'} - cpu: [x64] - os: [linux] - - '@nomicfoundation/edr-win32-x64-msvc@0.3.5': - resolution: {integrity: sha512-IJXjW13DY5UPsx/eG5DGfXtJ7Ydwrvw/BTZ2Y93lRLHzszVpSmeVmlxjZP5IW2afTSgMLaAAsqNw4NhppRGN8A==} - engines: {node: '>= 18'} - cpu: [x64] - os: [win32] - - '@nomicfoundation/edr@0.3.5': - resolution: {integrity: sha512-dPSM9DuI1sr71gqWUMgLo8MjHQWO4+WNDm3iWaT6P4vUFJReZX5qwA5X+3UwIPBry8GvNY084u7yWUvB3/8rqA==} - engines: {node: '>= 18'} - - '@nomicfoundation/ethereumjs-common@4.0.4': - resolution: {integrity: sha512-9Rgb658lcWsjiicr5GzNCjI1llow/7r0k50dLL95OJ+6iZJcVbi15r3Y0xh2cIO+zgX0WIHcbzIu6FeQf9KPrg==} - - '@nomicfoundation/ethereumjs-rlp@5.0.4': - resolution: {integrity: sha512-8H1S3s8F6QueOc/X92SdrA4RDenpiAEqMg5vJH99kcQaCy/a3Q6fgseo75mgWlbanGJXSlAPtnCeG9jvfTYXlw==} - engines: {node: '>=18'} - hasBin: true - - '@nomicfoundation/ethereumjs-tx@5.0.4': - resolution: {integrity: sha512-Xjv8wAKJGMrP1f0n2PeyfFCCojHd7iS3s/Ab7qzF1S64kxZ8Z22LCMynArYsVqiFx6rzYy548HNVEyI+AYN/kw==} - engines: {node: '>=18'} - peerDependencies: - c-kzg: ^2.1.2 - peerDependenciesMeta: - c-kzg: - optional: true - - '@nomicfoundation/ethereumjs-util@9.0.4': - resolution: {integrity: sha512-sLOzjnSrlx9Bb9EFNtHzK/FJFsfg2re6bsGqinFinH1gCqVfz9YYlXiMWwDM4C/L4ywuHFCYwfKTVr/QHQcU0Q==} - engines: {node: '>=18'} - peerDependencies: - c-kzg: ^2.1.2 - peerDependenciesMeta: - c-kzg: - optional: true - - '@nomicfoundation/hardhat-network-helpers@1.0.10': - resolution: {integrity: sha512-R35/BMBlx7tWN5V6d/8/19QCwEmIdbnA4ZrsuXgvs8i2qFx5i7h6mH5pBS4Pwi4WigLH+upl6faYusrNPuzMrQ==} - peerDependencies: - hardhat: ^2.9.5 - - '@nomicfoundation/hardhat-toolbox-viem@2.0.0': - resolution: {integrity: sha512-1bxTaC+PcbdctwgP/AvmKJGQTeLoT2kJtAfaDvt5PbL3esZ1EO+pfoBkpliP3DJSNESLSqAjVN1yIFxoLJmiBg==} - peerDependencies: - '@nomicfoundation/hardhat-network-helpers': ^1.0.0 - '@nomicfoundation/hardhat-verify': ^2.0.0 - '@nomicfoundation/hardhat-viem': ^1.0.0 - '@types/chai': ^4.2.0 - '@types/chai-as-promised': ^7.1.6 - '@types/mocha': '>=9.1.0' - '@types/node': '>=16.0.0' - chai: ^4.2.0 - hardhat: ^2.11.0 - hardhat-gas-reporter: ^1.0.8 - solidity-coverage: ^0.8.1 - ts-node: '>=8.0.0' - typescript: ~5.0.4 - viem: ^1.15.1 - - '@nomicfoundation/hardhat-verify@2.0.5': - resolution: {integrity: sha512-Tg4zu8RkWpyADSFIgF4FlJIUEI4VkxcvELsmbJn2OokbvH2SnUrqKmw0BBfDrtvP0hhmx8wsnrRKP5DV/oTyTA==} - peerDependencies: - hardhat: ^2.0.4 - - '@nomicfoundation/hardhat-viem@1.0.4': - resolution: {integrity: sha512-6coot+y0y6d75DG33zAdgXlktNp1MRy2B3vDjqlRBaubqlocYak+BSyryiv76F9JuLLgNSxkxTIZCd24h9gKcQ==} - peerDependencies: - hardhat: ^2.17.0 - typescript: ~5.0.0 - viem: ^1.15.1 - - '@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.1': - resolution: {integrity: sha512-KcTodaQw8ivDZyF+D76FokN/HdpgGpfjc/gFCImdLUyqB6eSWVaZPazMbeAjmfhx3R0zm/NYVzxwAokFKgrc0w==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [darwin] - - '@nomicfoundation/solidity-analyzer-darwin-x64@0.1.1': - resolution: {integrity: sha512-XhQG4BaJE6cIbjAVtzGOGbK3sn1BO9W29uhk9J8y8fZF1DYz0Doj8QDMfpMu+A6TjPDs61lbsmeYodIDnfveSA==} - engines: {node: '>= 10'} - cpu: [x64] - os: [darwin] - - '@nomicfoundation/solidity-analyzer-freebsd-x64@0.1.1': - resolution: {integrity: sha512-GHF1VKRdHW3G8CndkwdaeLkVBi5A9u2jwtlS7SLhBc8b5U/GcoL39Q+1CSO3hYqePNP+eV5YI7Zgm0ea6kMHoA==} - engines: {node: '>= 10'} - cpu: [x64] - os: [freebsd] - - '@nomicfoundation/solidity-analyzer-linux-arm64-gnu@0.1.1': - resolution: {integrity: sha512-g4Cv2fO37ZsUENQ2vwPnZc2zRenHyAxHcyBjKcjaSmmkKrFr64yvzeNO8S3GBFCo90rfochLs99wFVGT/0owpg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - - '@nomicfoundation/solidity-analyzer-linux-arm64-musl@0.1.1': - resolution: {integrity: sha512-WJ3CE5Oek25OGE3WwzK7oaopY8xMw9Lhb0mlYuJl/maZVo+WtP36XoQTb7bW/i8aAdHW5Z+BqrHMux23pvxG3w==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] - - '@nomicfoundation/solidity-analyzer-linux-x64-gnu@0.1.1': - resolution: {integrity: sha512-5WN7leSr5fkUBBjE4f3wKENUy9HQStu7HmWqbtknfXkkil+eNWiBV275IOlpXku7v3uLsXTOKpnnGHJYI2qsdA==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - - '@nomicfoundation/solidity-analyzer-linux-x64-musl@0.1.1': - resolution: {integrity: sha512-KdYMkJOq0SYPQMmErv/63CwGwMm5XHenEna9X9aB8mQmhDBrYrlAOSsIPgFCUSL0hjxE3xHP65/EPXR/InD2+w==} - engines: {node: '>= 10'} - cpu: [x64] - os: [linux] - - '@nomicfoundation/solidity-analyzer-win32-arm64-msvc@0.1.1': - resolution: {integrity: sha512-VFZASBfl4qiBYwW5xeY20exWhmv6ww9sWu/krWSesv3q5hA0o1JuzmPHR4LPN6SUZj5vcqci0O6JOL8BPw+APg==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [win32] - - '@nomicfoundation/solidity-analyzer-win32-ia32-msvc@0.1.1': - resolution: {integrity: sha512-JnFkYuyCSA70j6Si6cS1A9Gh1aHTEb8kOTBApp/c7NRTFGNMH8eaInKlyuuiIbvYFhlXW4LicqyYuWNNq9hkpQ==} - engines: {node: '>= 10'} - cpu: [ia32] - os: [win32] - - '@nomicfoundation/solidity-analyzer-win32-x64-msvc@0.1.1': - resolution: {integrity: sha512-HrVJr6+WjIXGnw3Q9u6KQcbZCtk0caVWhCdFADySvRyUxJ8PnzlaP+MhwNE8oyT8OZ6ejHBRrrgjSqDCFXGirw==} - engines: {node: '>= 10'} - cpu: [x64] - os: [win32] - - '@nomicfoundation/solidity-analyzer@0.1.1': - resolution: {integrity: sha512-1LMtXj1puAxyFusBgUIy5pZk3073cNXYnXUpuNKFghHbIit/xZgbk0AokpUADbNm3gyD6bFWl3LRFh3dhVdREg==} - engines: {node: '>= 12'} - - '@oasisdex/addresses@0.1.20-automation.0': - resolution: {integrity: sha512-TT4F7NY0Q5r12HLgnBf1VeP6ybXbi4e3jgipi608QgEONJ/+bbWDm+itHvMjqbgUyE4TusEPPzqYyAjzc2Tv3Q==} - - '@oasisdex/addresses@0.1.60': - resolution: {integrity: sha512-UAmNodCG3ld4LK5w7sgtoA0ml4lMFfSE7Zp1vswW7/3823IZFmvEO6wy0Pd/vPnJjjKDYaLJdhsRRYGYHwYGSg==} - - '@oasisdex/automation@1.6.5-morpho.6': - resolution: {integrity: sha512-zMpuB/61QkXR5+zXaBJb2tKTJR5v+BsaNwEm8gWWpDT0xjhh/gBca3hoZvWnoJUHn4raD3DvYapYhBn1qxiZmQ==} - - '@oasisdex/dma-library@0.6.4-automation.13': - resolution: {integrity: sha512-m9sdWD9qtN0KFlF69Ggiztr9Q4D6Oww4iwswDuwXiKz47I+niVh5pp1Keb5FmzRzdCME0Dx29U9mf2pSKd/N8g==} - - '@openzeppelin/contracts@4.9.3': - resolution: {integrity: sha512-He3LieZ1pP2TNt5JbkPA4PNT9WC3gOTOlDcFGJW4Le4QKqwmiNJCRt44APfxMxvq7OugU/cqYuPcSBzOw38DAg==} - - '@peculiar/asn1-schema@2.3.8': - resolution: {integrity: sha512-ULB1XqHKx1WBU/tTFIA+uARuRoBVZ4pNdOA878RDrRbBfBGcSzi5HBkdScC6ZbHn8z7L8gmKCgPC1LHRrP46tA==} - - '@peculiar/json-schema@1.1.12': - resolution: {integrity: sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==} - engines: {node: '>=8.0.0'} - - '@peculiar/webcrypto@1.4.6': - resolution: {integrity: sha512-YBcMfqNSwn3SujUJvAaySy5tlYbYm6tVt9SKoXu8BaTdKGROiJDgPR3TXpZdAKUfklzm3lRapJEAltiMQtBgZg==} - engines: {node: '>=10.12.0'} - - '@pkgjs/parseargs@0.11.0': - resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} - engines: {node: '>=14'} - - '@pkgr/core@0.1.1': - resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} - engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} - - '@prb/math@2.5.0': - resolution: {integrity: sha512-iSNQd4L3HaYuAIhJliLVa7WGsyjFiQHGpomrFgdj7FhYGHT6Yo8bBwbmwAPF1bHD3LN8gdg+ssKrRUPNaNPEVw==} - peerDependencies: - '@ethersproject/bignumber': 5.x - evm-bn: 1.x - mathjs: 10.x - - '@redis/bloom@1.2.0': - resolution: {integrity: sha512-HG2DFjYKbpNmVXsa0keLHp/3leGJz1mjh09f2RLGGLQZzSHpkmZWuwJbAvo3QcRY8p80m5+ZdXZdYOSBLlp7Cg==} - peerDependencies: - '@redis/client': ^1.0.0 - - '@redis/client@1.5.14': - resolution: {integrity: sha512-YGn0GqsRBFUQxklhY7v562VMOP0DcmlrHHs3IV1mFE3cbxe31IITUkqhBcIhVSI/2JqtWAJXg5mjV4aU+zD0HA==} - engines: {node: '>=14'} - - '@redis/graph@1.1.1': - resolution: {integrity: sha512-FEMTcTHZozZciLRl6GiiIB4zGm5z5F3F6a6FZCyrfxdKOhFlGkiAqlexWMBzCi4DcRoyiOsuLfW+cjlGWyExOw==} - peerDependencies: - '@redis/client': ^1.0.0 - - '@redis/json@1.0.6': - resolution: {integrity: sha512-rcZO3bfQbm2zPRpqo82XbW8zg4G/w4W3tI7X8Mqleq9goQjAGLL7q/1n1ZX4dXEAmORVZ4s1+uKLaUOg7LrUhw==} - peerDependencies: - '@redis/client': ^1.0.0 - - '@redis/search@1.1.6': - resolution: {integrity: sha512-mZXCxbTYKBQ3M2lZnEddwEAks0Kc7nauire8q20oA0oA/LoA+E/b5Y5KZn232ztPb1FkIGqo12vh3Lf+Vw5iTw==} - peerDependencies: - '@redis/client': ^1.0.0 - - '@redis/time-series@1.0.5': - resolution: {integrity: sha512-IFjIgTusQym2B5IZJG3XKr5llka7ey84fw/NOYqESP5WUfQs9zz1ww/9+qoz4ka/S6KcGBodzlCeZ5UImKbscg==} - peerDependencies: - '@redis/client': ^1.0.0 - - '@repeaterjs/repeater@3.0.4': - resolution: {integrity: sha512-AW8PKd6iX3vAZ0vA43nOUOnbq/X5ihgU+mSXXqunMkeQADGiqw/PY0JNeYtD5sr0PAy51YPgAPbDoeapv9r8WA==} - - '@repeaterjs/repeater@3.0.5': - resolution: {integrity: sha512-l3YHBLAol6d/IKnB9LhpD0cEZWAoe3eFKUyTYWmFmCO2Q/WOckxLQAUyMZWwZV2M/m3+4vgRoaolFqaII82/TA==} - - '@rushstack/eslint-patch@1.10.2': - resolution: {integrity: sha512-hw437iINopmQuxWPSUEvqE56NCPsiU8N4AYtfHmJFckclktzK9YQJieD3XkDCDH4OjL+C7zgPUh73R/nrcHrqw==} - - '@scure/base@1.1.6': - resolution: {integrity: sha512-ok9AWwhcgYuGG3Zfhyqg+zwl+Wn5uE+dwC0NV/2qQkx4dABbb/bx96vWu8NSj+BNjjSjno+JRYRjle1jV08k3g==} - - '@scure/bip32@1.1.5': - resolution: {integrity: sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==} - - '@scure/bip32@1.3.2': - resolution: {integrity: sha512-N1ZhksgwD3OBlwTv3R6KFEcPojl/W4ElJOeCZdi+vuI5QmTFwLq3OFf2zd2ROpKvxFdgZ6hUpb0dx9bVNEwYCA==} - - '@scure/bip32@1.3.3': - resolution: {integrity: sha512-LJaN3HwRbfQK0X1xFSi0Q9amqOgzQnnDngIt+ZlsBC3Bm7/nE7K0kwshZHyaru79yIVRv/e1mQAjZyuZG6jOFQ==} - - '@scure/bip39@1.1.1': - resolution: {integrity: sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg==} - - '@scure/bip39@1.2.1': - resolution: {integrity: sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==} - - '@scure/bip39@1.2.2': - resolution: {integrity: sha512-HYf9TUXG80beW+hGAt3TRM8wU6pQoYur9iNypTROm42dorCGmLnFe3eWjz3gOq6G62H2WRh0FCzAR1PI+29zIA==} - - '@sentry/core@5.30.0': - resolution: {integrity: sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==} - engines: {node: '>=6'} - - '@sentry/hub@5.30.0': - resolution: {integrity: sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==} - engines: {node: '>=6'} - - '@sentry/minimal@5.30.0': - resolution: {integrity: sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==} - engines: {node: '>=6'} - - '@sentry/node@5.30.0': - resolution: {integrity: sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==} - engines: {node: '>=6'} - - '@sentry/tracing@5.30.0': - resolution: {integrity: sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==} - engines: {node: '>=6'} - - '@sentry/types@5.30.0': - resolution: {integrity: sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==} - engines: {node: '>=6'} - - '@sentry/utils@5.30.0': - resolution: {integrity: sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==} - engines: {node: '>=6'} - - '@sinclair/typebox@0.27.8': - resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} - - '@sinonjs/commons@3.0.1': - resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} - - '@sinonjs/fake-timers@10.3.0': - resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} - - '@smithy/abort-controller@1.1.0': - resolution: {integrity: sha512-5imgGUlZL4dW4YWdMYAKLmal9ny/tlenM81QZY7xYyb76z9Z/QOg7oM5Ak9HQl8QfFTlGVWwcMXl+54jroRgEQ==} - engines: {node: '>=14.0.0'} - - '@smithy/abort-controller@2.2.0': - resolution: {integrity: sha512-wRlta7GuLWpTqtFfGo+nZyOO1vEvewdNR1R4rTxpC8XU6vG/NDyrFBhwLZsqg1NUoR1noVaXJPC/7ZK47QCySw==} - engines: {node: '>=14.0.0'} - - '@smithy/chunked-blob-reader-native@2.2.0': - resolution: {integrity: sha512-VNB5+1oCgX3Fzs072yuRsUoC2N4Zg/LJ11DTxX3+Qu+Paa6AmbIF0E9sc2wthz9Psrk/zcOlTCyuposlIhPjZQ==} - - '@smithy/chunked-blob-reader@2.2.0': - resolution: {integrity: sha512-3GJNvRwXBGdkDZZOGiziVYzDpn4j6zfyULHMDKAGIUo72yHALpE9CbhfQp/XcLNVoc1byfMpn6uW5H2BqPjgaQ==} - - '@smithy/config-resolver@1.1.0': - resolution: {integrity: sha512-7WD9eZHp46BxAjNGHJLmxhhyeiNWkBdVStd7SUJPUZqQGeIO/REtIrcIfKUfdiHTQ9jyu2SYoqvzqqaFc6987w==} - engines: {node: '>=14.0.0'} - - '@smithy/config-resolver@2.2.0': - resolution: {integrity: sha512-fsiMgd8toyUba6n1WRmr+qACzXltpdDkPTAaDqc8QqPBUzO+/JKwL6bUBseHVi8tu9l+3JOK+tSf7cay+4B3LA==} - engines: {node: '>=14.0.0'} - - '@smithy/core@1.4.2': - resolution: {integrity: sha512-2fek3I0KZHWJlRLvRTqxTEri+qV0GRHrJIoLFuBMZB4EMg4WgeBGfF0X6abnrNYpq55KJ6R4D6x4f0vLnhzinA==} - engines: {node: '>=14.0.0'} - - '@smithy/credential-provider-imds@2.3.0': - resolution: {integrity: sha512-BWB9mIukO1wjEOo1Ojgl6LrG4avcaC7T/ZP6ptmAaW4xluhSIPZhY+/PI5YKzlk+jsm+4sQZB45Bt1OfMeQa3w==} - engines: {node: '>=14.0.0'} - - '@smithy/eventstream-codec@2.2.0': - resolution: {integrity: sha512-8janZoJw85nJmQZc4L8TuePp2pk1nxLgkxIR0TUjKJ5Dkj5oelB9WtiSSGXCQvNsJl0VSTvK/2ueMXxvpa9GVw==} - - '@smithy/eventstream-serde-browser@2.2.0': - resolution: {integrity: sha512-UaPf8jKbcP71BGiO0CdeLmlg+RhWnlN8ipsMSdwvqBFigl5nil3rHOI/5GE3tfiuX8LvY5Z9N0meuU7Rab7jWw==} - engines: {node: '>=14.0.0'} - - '@smithy/eventstream-serde-config-resolver@2.2.0': - resolution: {integrity: sha512-RHhbTw/JW3+r8QQH7PrganjNCiuiEZmpi6fYUAetFfPLfZ6EkiA08uN3EFfcyKubXQxOwTeJRZSQmDDCdUshaA==} - engines: {node: '>=14.0.0'} - - '@smithy/eventstream-serde-node@2.2.0': - resolution: {integrity: sha512-zpQMtJVqCUMn+pCSFcl9K/RPNtQE0NuMh8sKpCdEHafhwRsjP50Oq/4kMmvxSRy6d8Jslqd8BLvDngrUtmN9iA==} - engines: {node: '>=14.0.0'} - - '@smithy/eventstream-serde-universal@2.2.0': - resolution: {integrity: sha512-pvoe/vvJY0mOpuF84BEtyZoYfbehiFj8KKWk1ds2AT0mTLYFVs+7sBJZmioOFdBXKd48lfrx1vumdPdmGlCLxA==} - engines: {node: '>=14.0.0'} - - '@smithy/fetch-http-handler@1.1.0': - resolution: {integrity: sha512-N22C9R44u5WGlcY+Wuv8EXmCAq62wWwriRAuoczMEwAIjPbvHSthyPSLqI4S7kAST1j6niWg8kwpeJ3ReAv3xg==} - - '@smithy/fetch-http-handler@2.5.0': - resolution: {integrity: sha512-BOWEBeppWhLn/no/JxUL/ghTfANTjT7kg3Ww2rPqTUY9R4yHPXxJ9JhMe3Z03LN3aPwiwlpDIUcVw1xDyHqEhw==} - - '@smithy/hash-blob-browser@2.2.0': - resolution: {integrity: sha512-SGPoVH8mdXBqrkVCJ1Hd1X7vh1zDXojNN1yZyZTZsCno99hVue9+IYzWDjq/EQDDXxmITB0gBmuyPh8oAZSTcg==} - - '@smithy/hash-node@2.2.0': - resolution: {integrity: sha512-zLWaC/5aWpMrHKpoDF6nqpNtBhlAYKF/7+9yMN7GpdR8CzohnWfGtMznPybnwSS8saaXBMxIGwJqR4HmRp6b3g==} - engines: {node: '>=14.0.0'} - - '@smithy/hash-stream-node@2.2.0': - resolution: {integrity: sha512-aT+HCATOSRMGpPI7bi7NSsTNVZE/La9IaxLXWoVAYMxHT5hGO3ZOGEMZQg8A6nNL+pdFGtZQtND1eoY084HgHQ==} - engines: {node: '>=14.0.0'} - - '@smithy/invalid-dependency@2.2.0': - resolution: {integrity: sha512-nEDASdbKFKPXN2O6lOlTgrEEOO9NHIeO+HVvZnkqc8h5U9g3BIhWsvzFo+UcUbliMHvKNPD/zVxDrkP1Sbgp8Q==} - - '@smithy/is-array-buffer@1.1.0': - resolution: {integrity: sha512-twpQ/n+3OWZJ7Z+xu43MJErmhB/WO/mMTnqR6PwWQShvSJ/emx5d1N59LQZk6ZpTAeuRWrc+eHhkzTp9NFjNRQ==} - engines: {node: '>=14.0.0'} - - '@smithy/is-array-buffer@2.2.0': - resolution: {integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==} - engines: {node: '>=14.0.0'} - - '@smithy/md5-js@2.2.0': - resolution: {integrity: sha512-M26XTtt9IIusVMOWEAhIvFIr9jYj4ISPPGJROqw6vXngO3IYJCnVVSMFn4Tx1rUTG5BiKJNg9u2nxmBiZC5IlQ==} - - '@smithy/middleware-content-length@2.2.0': - resolution: {integrity: sha512-5bl2LG1Ah/7E5cMSC+q+h3IpVHMeOkG0yLRyQT1p2aMJkSrZG7RlXHPuAgb7EyaFeidKEnnd/fNaLLaKlHGzDQ==} - engines: {node: '>=14.0.0'} - - '@smithy/middleware-endpoint@2.5.1': - resolution: {integrity: sha512-1/8kFp6Fl4OsSIVTWHnNjLnTL8IqpIb/D3sTSczrKFnrE9VMNWxnrRKNvpUHOJ6zpGD5f62TPm7+17ilTJpiCQ==} - engines: {node: '>=14.0.0'} - - '@smithy/middleware-retry@1.1.0': - resolution: {integrity: sha512-lINKYxIvT+W20YFOtHBKeGm7npuJg0/YCoShttU7fVpsmU+a2rdb9zrJn1MHqWfUL6DhTAWGa0tH2O7l4XrDcw==} - engines: {node: '>=14.0.0'} - - '@smithy/middleware-retry@2.3.1': - resolution: {integrity: sha512-P2bGufFpFdYcWvqpyqqmalRtwFUNUA8vHjJR5iGqbfR6mp65qKOLcUd6lTr4S9Gn/enynSrSf3p3FVgVAf6bXA==} - engines: {node: '>=14.0.0'} - - '@smithy/middleware-serde@2.3.0': - resolution: {integrity: sha512-sIADe7ojwqTyvEQBe1nc/GXB9wdHhi9UwyX0lTyttmUWDJLP655ZYE1WngnNyXREme8I27KCaUhyhZWRXL0q7Q==} - engines: {node: '>=14.0.0'} - - '@smithy/middleware-stack@1.1.0': - resolution: {integrity: sha512-XynYiIvXNea2BbLcppvpNK0zu8o2woJqgnmxqYTn4FWagH/Hr2QIk8LOsUz7BIJ4tooFhmx8urHKCdlPbbPDCA==} - engines: {node: '>=14.0.0'} - - '@smithy/middleware-stack@2.2.0': - resolution: {integrity: sha512-Qntc3jrtwwrsAC+X8wms8zhrTr0sFXnyEGhZd9sLtsJ/6gGQKFzNB+wWbOcpJd7BR8ThNCoKt76BuQahfMvpeA==} - engines: {node: '>=14.0.0'} - - '@smithy/node-config-provider@2.3.0': - resolution: {integrity: sha512-0elK5/03a1JPWMDPaS726Iw6LpQg80gFut1tNpPfxFuChEEklo2yL823V94SpTZTxmKlXFtFgsP55uh3dErnIg==} - engines: {node: '>=14.0.0'} - - '@smithy/node-http-handler@1.1.0': - resolution: {integrity: sha512-d3kRriEgaIiGXLziAM8bjnaLn1fthCJeTLZIwEIpzQqe6yPX0a+yQoLCTyjb2fvdLwkMoG4p7THIIB5cj5lkbg==} - engines: {node: '>=14.0.0'} - - '@smithy/node-http-handler@2.5.0': - resolution: {integrity: sha512-mVGyPBzkkGQsPoxQUbxlEfRjrj6FPyA3u3u2VXGr9hT8wilsoQdZdvKpMBFMB8Crfhv5dNkKHIW0Yyuc7eABqA==} - engines: {node: '>=14.0.0'} - - '@smithy/property-provider@2.2.0': - resolution: {integrity: sha512-+xiil2lFhtTRzXkx8F053AV46QnIw6e7MV8od5Mi68E1ICOjCeCHw2XfLnDEUHnT9WGUIkwcqavXjfwuJbGlpg==} - engines: {node: '>=14.0.0'} - - '@smithy/protocol-http@1.2.0': - resolution: {integrity: sha512-GfGfruksi3nXdFok5RhgtOnWe5f6BndzYfmEXISD+5gAGdayFGpjWu5pIqIweTudMtse20bGbc+7MFZXT1Tb8Q==} - engines: {node: '>=14.0.0'} - - '@smithy/protocol-http@3.3.0': - resolution: {integrity: sha512-Xy5XK1AFWW2nlY/biWZXu6/krgbaf2dg0q492D8M5qthsnU2H+UgFeZLbM76FnH7s6RO/xhQRkj+T6KBO3JzgQ==} - engines: {node: '>=14.0.0'} - - '@smithy/querystring-builder@1.1.0': - resolution: {integrity: sha512-gDEi4LxIGLbdfjrjiY45QNbuDmpkwh9DX4xzrR2AzjjXpxwGyfSpbJaYhXARw9p17VH0h9UewnNQXNwaQyYMDA==} - engines: {node: '>=14.0.0'} - - '@smithy/querystring-builder@2.2.0': - resolution: {integrity: sha512-L1kSeviUWL+emq3CUVSgdogoM/D9QMFaqxL/dd0X7PCNWmPXqt+ExtrBjqT0V7HLN03Vs9SuiLrG3zy3JGnE5A==} - engines: {node: '>=14.0.0'} - - '@smithy/querystring-parser@2.2.0': - resolution: {integrity: sha512-BvHCDrKfbG5Yhbpj4vsbuPV2GgcpHiAkLeIlcA1LtfpMz3jrqizP1+OguSNSj1MwBHEiN+jwNisXLGdajGDQJA==} - engines: {node: '>=14.0.0'} - - '@smithy/service-error-classification@1.1.0': - resolution: {integrity: sha512-OCTEeJ1igatd5kFrS2VDlYbainNNpf7Lj1siFOxnRWqYOP9oNvC5HOJBd3t+Z8MbrmehBtuDJ2QqeBsfeiNkww==} - engines: {node: '>=14.0.0'} - - '@smithy/service-error-classification@2.1.5': - resolution: {integrity: sha512-uBDTIBBEdAQryvHdc5W8sS5YX7RQzF683XrHePVdFmAgKiMofU15FLSM0/HU03hKTnazdNRFa0YHS7+ArwoUSQ==} - engines: {node: '>=14.0.0'} - - '@smithy/shared-ini-file-loader@2.4.0': - resolution: {integrity: sha512-WyujUJL8e1B6Z4PBfAqC/aGY1+C7T0w20Gih3yrvJSk97gpiVfB+y7c46T4Nunk+ZngLq0rOIdeVeIklk0R3OA==} - engines: {node: '>=14.0.0'} - - '@smithy/signature-v4@2.3.0': - resolution: {integrity: sha512-ui/NlpILU+6HAQBfJX8BBsDXuKSNrjTSuOYArRblcrErwKFutjrCNb/OExfVRyj9+26F9J+ZmfWT+fKWuDrH3Q==} - engines: {node: '>=14.0.0'} - - '@smithy/smithy-client@1.1.0': - resolution: {integrity: sha512-j32SGgVhv2G9nBTmel9u3OXux8KG20ssxuFakJrEeDug3kqbl1qrGzVLCe+Eib402UDtA0Sp1a4NZ2SEXDBxag==} - engines: {node: '>=14.0.0'} - - '@smithy/smithy-client@2.5.1': - resolution: {integrity: sha512-jrbSQrYCho0yDaaf92qWgd+7nAeap5LtHTI51KXqmpIFCceKU3K9+vIVTUH72bOJngBMqa4kyu1VJhRcSrk/CQ==} - engines: {node: '>=14.0.0'} - - '@smithy/types@1.2.0': - resolution: {integrity: sha512-z1r00TvBqF3dh4aHhya7nz1HhvCg4TRmw51fjMrh5do3h+ngSstt/yKlNbHeb9QxJmFbmN8KEVSWgb1bRvfEoA==} - engines: {node: '>=14.0.0'} - - '@smithy/types@2.12.0': - resolution: {integrity: sha512-QwYgloJ0sVNBeBuBs65cIkTbfzV/Q6ZNPCJ99EICFEdJYG50nGIY/uYXp+TbsdJReIuPr0a0kXmCvren3MbRRw==} - engines: {node: '>=14.0.0'} - - '@smithy/url-parser@2.2.0': - resolution: {integrity: sha512-hoA4zm61q1mNTpksiSWp2nEl1dt3j726HdRhiNgVJQMj7mLp7dprtF57mOB6JvEk/x9d2bsuL5hlqZbBuHQylQ==} - - '@smithy/util-base64@1.1.0': - resolution: {integrity: sha512-FpYmDmVbOXAxqvoVCwqehUN0zXS+lN8V7VS9O7I8MKeVHdSTsZzlwiMEvGoyTNOXWn8luF4CTDYgNHnZViR30g==} - engines: {node: '>=14.0.0'} - - '@smithy/util-base64@2.3.0': - resolution: {integrity: sha512-s3+eVwNeJuXUwuMbusncZNViuhv2LjVJ1nMwTqSA0XAC7gjKhqqxRdJPhR8+YrkoZ9IiIbFk/yK6ACe/xlF+hw==} - engines: {node: '>=14.0.0'} - - '@smithy/util-body-length-browser@2.2.0': - resolution: {integrity: sha512-dtpw9uQP7W+n3vOtx0CfBD5EWd7EPdIdsQnWTDoFf77e3VUf05uA7R7TGipIo8e4WL2kuPdnsr3hMQn9ziYj5w==} - - '@smithy/util-body-length-node@2.3.0': - resolution: {integrity: sha512-ITWT1Wqjubf2CJthb0BuT9+bpzBfXeMokH/AAa5EJQgbv9aPMVfnM76iFIZVFf50hYXGbtiV71BHAthNWd6+dw==} - engines: {node: '>=14.0.0'} - - '@smithy/util-buffer-from@1.1.0': - resolution: {integrity: sha512-9m6NXE0ww+ra5HKHCHig20T+FAwxBAm7DIdwc/767uGWbRcY720ybgPacQNB96JMOI7xVr/CDa3oMzKmW4a+kw==} - engines: {node: '>=14.0.0'} - - '@smithy/util-buffer-from@2.2.0': - resolution: {integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==} - engines: {node: '>=14.0.0'} - - '@smithy/util-config-provider@1.1.0': - resolution: {integrity: sha512-rQ47YpNmF6Is4I9GiE3T3+0xQ+r7RKRKbmHYyGSbyep/0cSf9kteKcI0ssJTvveJ1K4QvwrxXj1tEFp/G2UqxQ==} - engines: {node: '>=14.0.0'} - - '@smithy/util-config-provider@2.3.0': - resolution: {integrity: sha512-HZkzrRcuFN1k70RLqlNK4FnPXKOpkik1+4JaBoHNJn+RnJGYqaa3c5/+XtLOXhlKzlRgNvyaLieHTW2VwGN0VQ==} - engines: {node: '>=14.0.0'} - - '@smithy/util-defaults-mode-browser@2.2.1': - resolution: {integrity: sha512-RtKW+8j8skk17SYowucwRUjeh4mCtnm5odCL0Lm2NtHQBsYKrNW0od9Rhopu9wF1gHMfHeWF7i90NwBz/U22Kw==} - engines: {node: '>= 10.0.0'} - - '@smithy/util-defaults-mode-node@2.3.1': - resolution: {integrity: sha512-vkMXHQ0BcLFysBMWgSBLSk3+leMpFSyyFj8zQtv5ZyUBx8/owVh1/pPEkzmW/DR/Gy/5c8vjLDD9gZjXNKbrpA==} - engines: {node: '>= 10.0.0'} - - '@smithy/util-endpoints@1.2.0': - resolution: {integrity: sha512-BuDHv8zRjsE5zXd3PxFXFknzBG3owCpjq8G3FcsXW3CykYXuEqM3nTSsmLzw5q+T12ZYuDlVUZKBdpNbhVtlrQ==} - engines: {node: '>= 14.0.0'} - - '@smithy/util-hex-encoding@1.1.0': - resolution: {integrity: sha512-7UtIE9eH0u41zpB60Jzr0oNCQ3hMJUabMcKRUVjmyHTXiWDE4vjSqN6qlih7rCNeKGbioS7f/y2Jgym4QZcKFg==} - engines: {node: '>=14.0.0'} - - '@smithy/util-hex-encoding@2.2.0': - resolution: {integrity: sha512-7iKXR+/4TpLK194pVjKiasIyqMtTYJsgKgM242Y9uzt5dhHnUDvMNb+3xIhRJ9QhvqGii/5cRUt4fJn3dtXNHQ==} - engines: {node: '>=14.0.0'} - - '@smithy/util-middleware@1.1.0': - resolution: {integrity: sha512-6hhckcBqVgjWAqLy2vqlPZ3rfxLDhFWEmM7oLh2POGvsi7j0tHkbN7w4DFhuBExVJAbJ/qqxqZdRY6Fu7/OezQ==} - engines: {node: '>=14.0.0'} - - '@smithy/util-middleware@2.2.0': - resolution: {integrity: sha512-L1qpleXf9QD6LwLCJ5jddGkgWyuSvWBkJwWAZ6kFkdifdso+sk3L3O1HdmPvCdnCK3IS4qWyPxev01QMnfHSBw==} - engines: {node: '>=14.0.0'} - - '@smithy/util-retry@1.1.0': - resolution: {integrity: sha512-ygQW5HBqYXpR3ua09UciS0sL7UGJzGiktrKkOuEJwARoUuzz40yaEGU6xd9Gs7KBmAaFC8gMfnghHtwZ2nyBCQ==} - engines: {node: '>= 14.0.0'} - - '@smithy/util-retry@2.2.0': - resolution: {integrity: sha512-q9+pAFPTfftHXRytmZ7GzLFFrEGavqapFc06XxzZFcSIGERXMerXxCitjOG1prVDR9QdjqotF40SWvbqcCpf8g==} - engines: {node: '>= 14.0.0'} - - '@smithy/util-stream@1.1.0': - resolution: {integrity: sha512-w3lsdGsntaLQIrwDWJkIFKrFscgZXwU/oxsse09aSTNv5TckPhDeYea3LhsDrU5MGAG3vprhVZAKr33S45coVA==} - engines: {node: '>=14.0.0'} - - '@smithy/util-stream@2.2.0': - resolution: {integrity: sha512-17faEXbYWIRst1aU9SvPZyMdWmqIrduZjVOqCPMIsWFNxs5yQQgFrJL6b2SdiCzyW9mJoDjFtgi53xx7EH+BXA==} - engines: {node: '>=14.0.0'} - - '@smithy/util-uri-escape@1.1.0': - resolution: {integrity: sha512-/jL/V1xdVRt5XppwiaEU8Etp5WHZj609n0xMTuehmCqdoOFbId1M+aEeDWZsQ+8JbEB/BJ6ynY2SlYmOaKtt8w==} - engines: {node: '>=14.0.0'} - - '@smithy/util-uri-escape@2.2.0': - resolution: {integrity: sha512-jtmJMyt1xMD/d8OtbVJ2gFZOSKc+ueYJZPW20ULW1GOp/q/YIM0wNh+u8ZFao9UaIGz4WoPW8hC64qlWLIfoDA==} - engines: {node: '>=14.0.0'} - - '@smithy/util-utf8@1.1.0': - resolution: {integrity: sha512-p/MYV+JmqmPyjdgyN2UxAeYDj9cBqCjp0C/NsTWnnjoZUVqoeZ6IrW915L9CAKWVECgv9lVQGc4u/yz26/bI1A==} - engines: {node: '>=14.0.0'} - - '@smithy/util-utf8@2.3.0': - resolution: {integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==} - engines: {node: '>=14.0.0'} - - '@smithy/util-waiter@2.2.0': - resolution: {integrity: sha512-IHk53BVw6MPMi2Gsn+hCng8rFA3ZmR3Rk7GllxDUW9qFJl/hiSvskn7XldkECapQVkIg/1dHpMAxI9xSTaLLSA==} - engines: {node: '>=14.0.0'} - - '@solidity-parser/parser@0.14.5': - resolution: {integrity: sha512-6dKnHZn7fg/iQATVEzqyUOyEidbn05q7YA2mQ9hC0MMXhhV3/JrsxmFSYZAcr7j1yUP700LLhTruvJ3MiQmjJg==} - - '@solidity-parser/parser@0.18.0': - resolution: {integrity: sha512-yfORGUIPgLck41qyN7nbwJRAx17/jAIXCTanHOJZhB6PJ1iAk/84b/xlsVKFSyNyLXIj0dhppoE0+CRws7wlzA==} - - '@trpc/client@11.0.0-next-beta.264': - resolution: {integrity: sha512-He/kE++/rDq/yZr7xCkQmOC+1S3auulLVjBuo6LvuYuFQL+Slf2ObRftbNVWa92GVd/llxV+eNlbzR9mTVPCPg==} - peerDependencies: - '@trpc/server': 11.0.0-next-beta.264+f5f08f35d - - '@trpc/server@11.0.0-next-beta.264': - resolution: {integrity: sha512-h6RJX+C+VgFQusxGVtw3n1PZPLt27ZG70U8cPR5pwmsnE2E3vREijOgEo5MRKoiUhVrjbw8e6gnGVeKzl7uZXg==} - - '@trpc/server@9.16.0': - resolution: {integrity: sha512-IENsJs41ZR4oeFUJhsNNTSgEOtuRN0m9u7ec4u3eG/qOc7bIoo1nDoYtx4bl6OJJSQYEytG9tlcVz9G8OAaHbg==} - - '@tsconfig/node10@1.0.11': - resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} - - '@tsconfig/node12@1.0.11': - resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} - - '@tsconfig/node14@1.0.3': - resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} - - '@tsconfig/node16@1.0.4': - resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} - - '@tsconfig/node20@20.1.4': - resolution: {integrity: sha512-sqgsT69YFeLWf5NtJ4Xq/xAF8p4ZQHlmGW74Nu2tD4+g5fAsposc4ZfaaPixVu4y01BEiDCWLRDCvDM5JOsRxg==} - - '@types/aws-lambda@8.10.137': - resolution: {integrity: sha512-YNFwzVarXAOXkjuFxONyDw1vgRNzyH8AuyN19s0bM+ChSu/bzxb5XPxYFLXoqoM+tvgzwR3k7fXcEOW125yJxg==} - - '@types/babel__core@7.20.5': - resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} - - '@types/babel__generator@7.6.8': - resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} - - '@types/babel__template@7.4.4': - resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} - - '@types/babel__traverse@7.20.5': - resolution: {integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==} - - '@types/bn.js@4.11.6': - resolution: {integrity: sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==} - - '@types/bn.js@5.1.5': - resolution: {integrity: sha512-V46N0zwKRF5Q00AZ6hWtN0T8gGmDUaUzLWQvHFo5yThtVwK/VCenFY3wXVbOvNfajEpsTfQM4IN9k/d6gUVX3A==} - - '@types/chai-as-promised@7.1.8': - resolution: {integrity: sha512-ThlRVIJhr69FLlh6IctTXFkmhtP3NpMZ2QGq69StYLyKZFp/HOp1VdKZj7RvfNWYYcJ1xlbLGLLWj1UvP5u/Gw==} - - '@types/chai@4.3.14': - resolution: {integrity: sha512-Wj71sXE4Q4AkGdG9Tvq1u/fquNz9EdG4LIJMwVVII7ashjD/8cf8fyIfJAjRr6YcsXnSE8cOGQPq1gqeR8z+3w==} - - '@types/cls-hooked@4.3.8': - resolution: {integrity: sha512-tf/7H883gFA6MPlWI15EQtfNZ+oPL0gLKkOlx9UHFrun1fC/FkuyNBpTKq1B5E3T4fbvjId6WifHUdSGsMMuPg==} - - '@types/concat-stream@1.6.1': - resolution: {integrity: sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==} - - '@types/form-data@0.0.33': - resolution: {integrity: sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==} - - '@types/fs-extra@11.0.4': - resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} - - '@types/glob@7.2.0': - resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} - - '@types/graceful-fs@4.1.9': - resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} - - '@types/istanbul-lib-coverage@2.0.6': - resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} - - '@types/istanbul-lib-report@3.0.3': - resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} - - '@types/istanbul-reports@3.0.4': - resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} - - '@types/jest@29.5.12': - resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} - - '@types/js-yaml@4.0.9': - resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==} - - '@types/json-schema@7.0.15': - resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} - - '@types/json-stable-stringify@1.0.36': - resolution: {integrity: sha512-b7bq23s4fgBB76n34m2b3RBf6M369B0Z9uRR8aHTMd8kZISRkmDEpPD8hhpYvDFzr3bJCPES96cm3Q6qRNDbQw==} - - '@types/json5@0.0.29': - resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} - - '@types/jsonfile@6.1.4': - resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==} - - '@types/lru-cache@5.1.1': - resolution: {integrity: sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==} - - '@types/minimatch@5.1.2': - resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} - - '@types/mocha@10.0.6': - resolution: {integrity: sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==} - - '@types/mute-stream@0.0.4': - resolution: {integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==} - - '@types/node-fetch@2.6.11': - resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==} - - '@types/node@10.17.60': - resolution: {integrity: sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==} - - '@types/node@18.15.13': - resolution: {integrity: sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==} - - '@types/node@20.12.7': - resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==} - - '@types/node@8.10.66': - resolution: {integrity: sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==} - - '@types/normalize-package-data@2.4.4': - resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} - - '@types/pbkdf2@3.1.2': - resolution: {integrity: sha512-uRwJqmiXmh9++aSu1VNEn3iIxWOhd8AHXNSdlaLfdAAdSTY9jYVeGWnzejM3dvrkbqE3/hyQkQQ29IFATEGlew==} - - '@types/pg@8.11.6': - resolution: {integrity: sha512-/2WmmBXHLsfRqzfHW7BNZ8SbYzE8OSk7i3WjFYvfgRHj7S1xj+16Je5fUKv3lVdVzk/zn9TXOqf+avFCFIE0yQ==} - - '@types/qs@6.9.15': - resolution: {integrity: sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==} - - '@types/secp256k1@4.0.6': - resolution: {integrity: sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ==} - - '@types/semver@7.5.8': - resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} - - '@types/stack-utils@2.0.3': - resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} - - '@types/wrap-ansi@3.0.0': - resolution: {integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==} - - '@types/ws@8.5.10': - resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} - - '@types/yargs-parser@21.0.3': - resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} - - '@types/yargs@17.0.32': - resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} - - '@typescript-eslint/eslint-plugin@6.21.0': - resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha - eslint: ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/parser@6.21.0': - resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/scope-manager@5.62.0': - resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - '@typescript-eslint/scope-manager@6.21.0': - resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} - engines: {node: ^16.0.0 || >=18.0.0} - - '@typescript-eslint/type-utils@6.21.0': - resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/types@5.62.0': - resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - '@typescript-eslint/types@6.21.0': - resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} - engines: {node: ^16.0.0 || >=18.0.0} - - '@typescript-eslint/typescript-estree@5.62.0': - resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/typescript-estree@6.21.0': - resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - typescript: '*' - peerDependenciesMeta: - typescript: - optional: true - - '@typescript-eslint/utils@5.62.0': - resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - - '@typescript-eslint/utils@6.21.0': - resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} - engines: {node: ^16.0.0 || >=18.0.0} - peerDependencies: - eslint: ^7.0.0 || ^8.0.0 - - '@typescript-eslint/visitor-keys@5.62.0': - resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - '@typescript-eslint/visitor-keys@6.21.0': - resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} - engines: {node: ^16.0.0 || >=18.0.0} - - '@ungap/structured-clone@1.2.0': - resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} - - '@vercel/style-guide@5.2.0': - resolution: {integrity: sha512-fNSKEaZvSkiBoF6XEefs8CcgAV9K9e+MbcsDZjUsktHycKdA0jvjAzQi1W/FzLS+Nr5zZ6oejCwq/97dHUKe0g==} - engines: {node: '>=16'} - peerDependencies: - '@next/eslint-plugin-next': '>=12.3.0 <15' - eslint: '>=8.48.0 <9' - prettier: '>=3.0.0 <4' - typescript: '>=4.8.0 <6' - peerDependenciesMeta: - '@next/eslint-plugin-next': - optional: true - eslint: - optional: true - prettier: - optional: true - typescript: - optional: true - - '@whatwg-node/events@0.0.2': - resolution: {integrity: sha512-WKj/lI4QjnLuPrim0cfO7i+HsDSXHxNv1y0CrJhdntuO3hxWZmnXCwNDnwOvry11OjRin6cgWNF+j/9Pn8TN4w==} - - '@whatwg-node/events@0.0.3': - resolution: {integrity: sha512-IqnKIDWfXBJkvy/k6tzskWTc2NK3LcqHlb+KHGCrjOCH4jfQckRX0NAiIcC/vIqQkzLYw2r2CTSwAxcrtcD6lA==} - - '@whatwg-node/events@0.1.1': - resolution: {integrity: sha512-AyQEn5hIPV7Ze+xFoXVU3QTHXVbWPrzaOkxtENMPMuNL6VVHrp4hHfDt9nrQpjO7BgvuM95dMtkycX5M/DZR3w==} - engines: {node: '>=16.0.0'} - - '@whatwg-node/fetch@0.8.8': - resolution: {integrity: sha512-CdcjGC2vdKhc13KKxgsc6/616BQ7ooDIgPeTuAiE8qfCnS0mGzcfCOoZXypQSz73nxI+GWc7ZReIAVhxoE1KCg==} - - '@whatwg-node/fetch@0.9.17': - resolution: {integrity: sha512-TDYP3CpCrxwxpiNY0UMNf096H5Ihf67BK1iKGegQl5u9SlpEDYrvnV71gWBGJm+Xm31qOy8ATgma9rm8Pe7/5Q==} - engines: {node: '>=16.0.0'} - - '@whatwg-node/node-fetch@0.3.6': - resolution: {integrity: sha512-w9wKgDO4C95qnXZRwZTfCmLWqyRnooGjcIwG0wADWjw9/HN0p7dtvtgSvItZtUyNteEvgTrd8QojNEqV6DAGTA==} - - '@whatwg-node/node-fetch@0.5.10': - resolution: {integrity: sha512-KIAHepie/T1PRkUfze4t+bPlyvpxlWiXTPtcGlbIZ0vWkBJMdRmCg4ZrJ2y4XaO1eTPo1HlWYUuj1WvoIpumqg==} - engines: {node: '>=16.0.0'} - - '@whatwg-node/server@0.7.7': - resolution: {integrity: sha512-aHURgNDFm/48WVV3vhTMfnEKCYwYgdaRdRhZsQZx4UVFjGGkGay7Ys0+AYu9QT/jpoImv2oONkstoTMUprDofg==} - - abbrev@1.0.9: - resolution: {integrity: sha512-LEyx4aLEC3x6T0UguF6YILf+ntvmOaWsVfENmIW0E9H09vKlLDGelMjjSm0jkDHALj8A8quZ/HapKNigzwge+Q==} - - abitype@0.9.10: - resolution: {integrity: sha512-FIS7U4n7qwAT58KibwYig5iFG4K61rbhAqaQh/UWj8v1Y8mjX3F8TC9gd8cz9yT1TYel9f8nS5NO5kZp2RW0jQ==} - peerDependencies: - typescript: '>=5.0.4' - zod: ^3 >=3.22.0 - peerDependenciesMeta: - typescript: - optional: true - zod: - optional: true - - abitype@0.9.8: - resolution: {integrity: sha512-puLifILdm+8sjyss4S+fsUN09obiT1g2YW6CtcQF+QDzxR0euzgEB29MZujC6zMk2a6SVmtttq1fc6+YFA7WYQ==} - peerDependencies: - typescript: '>=5.0.4' - zod: ^3 >=3.19.1 - peerDependenciesMeta: - typescript: - optional: true - zod: - optional: true - - abitype@1.0.0: - resolution: {integrity: sha512-NMeMah//6bJ56H5XRj8QCV4AwuW6hB6zqz2LnhhLdcWVQOsXki6/Pn3APeqxCma62nXIcmZWdu1DlHWS74umVQ==} - peerDependencies: - typescript: '>=5.0.4' - zod: ^3 >=3.22.0 - peerDependenciesMeta: - typescript: - optional: true - zod: - optional: true - - abitype@1.0.2: - resolution: {integrity: sha512-aFt4k2H+eiAKy/zxtnORa9iIb10BMBeWL18l8v4+QuwYEBXPxxjSB1bFZCzQmKPoj8m7j68K705l3uY+E2gAjg==} - peerDependencies: - typescript: '>=5.0.4' - zod: ^3 >=3.22.0 - peerDependenciesMeta: - typescript: - optional: true - zod: - optional: true - - accepts@1.3.8: - resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} - engines: {node: '>= 0.6'} - - acorn-jsx@5.3.2: - resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} - peerDependencies: - acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - - acorn-walk@8.3.2: - resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} - engines: {node: '>=0.4.0'} - - acorn@8.11.3: - resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} - engines: {node: '>=0.4.0'} - hasBin: true - - adm-zip@0.4.16: - resolution: {integrity: sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==} - engines: {node: '>=0.3.0'} - - adm-zip@0.5.12: - resolution: {integrity: sha512-6TVU49mK6KZb4qG6xWaaM4C7sA/sgUMLy/JYMOzkcp3BvVLpW0fXDFQiIzAuxFCt/2+xD7fNIiPFAoLZPhVNLQ==} - engines: {node: '>=6.0'} - - aes-js@3.0.0: - resolution: {integrity: sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==} - - aes-js@4.0.0-beta.5: - resolution: {integrity: sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==} - - agent-base@6.0.2: - resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} - engines: {node: '>= 6.0.0'} - - agent-base@7.1.1: - resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} - engines: {node: '>= 14'} - - aggregate-error@3.1.0: - resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} - engines: {node: '>=8'} - - ajv-formats@2.1.1: - resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} - peerDependencies: - ajv: ^8.0.0 - peerDependenciesMeta: - ajv: - optional: true - - ajv@6.12.6: - resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} - - ajv@8.12.0: - resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} - - amdefine@1.0.1: - resolution: {integrity: sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==} - engines: {node: '>=0.4.2'} - - ansi-align@3.0.1: - resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} - - ansi-colors@4.1.1: - resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==} - engines: {node: '>=6'} - - ansi-colors@4.1.3: - resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} - engines: {node: '>=6'} - - ansi-escapes@4.3.2: - resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} - engines: {node: '>=8'} - - ansi-escapes@6.2.1: - resolution: {integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==} - engines: {node: '>=14.16'} - - ansi-regex@3.0.1: - resolution: {integrity: sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==} - engines: {node: '>=4'} - - ansi-regex@5.0.1: - resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} - engines: {node: '>=8'} - - ansi-regex@6.0.1: - resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} - engines: {node: '>=12'} - - ansi-styles@3.2.1: - resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} - engines: {node: '>=4'} - - ansi-styles@4.3.0: - resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} - engines: {node: '>=8'} - - ansi-styles@5.2.0: - resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} - engines: {node: '>=10'} - - ansi-styles@6.2.1: - resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} - engines: {node: '>=12'} - - antlr4ts@0.5.0-alpha.4: - resolution: {integrity: sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ==} - - any-promise@1.3.0: - resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} - - anymatch@3.1.3: - resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} - engines: {node: '>= 8'} - - app-module-path@2.2.0: - resolution: {integrity: sha512-gkco+qxENJV+8vFcDiiFhuoSvRXb2a/QPqpSoWhVz829VNJfOTnELbBmPmNKFxf3xdNnw4DWCkzkDaavcX/1YQ==} - - archiver-utils@2.1.0: - resolution: {integrity: sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==} - engines: {node: '>= 6'} - - archiver-utils@3.0.4: - resolution: {integrity: sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==} - engines: {node: '>= 10'} - - archiver@5.3.2: - resolution: {integrity: sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==} - engines: {node: '>= 10'} - - arg@4.1.3: - resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} - - argparse@1.0.10: - resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} - - argparse@2.0.1: - resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} - - aria-query@5.3.0: - resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} - - array-buffer-byte-length@1.0.1: - resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} - engines: {node: '>= 0.4'} - - array-flatten@1.1.1: - resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} - - array-includes@3.1.8: - resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} - engines: {node: '>= 0.4'} - - array-union@2.1.0: - resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} - engines: {node: '>=8'} - - array-uniq@1.0.3: - resolution: {integrity: sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==} - engines: {node: '>=0.10.0'} - - array.prototype.findlast@1.2.5: - resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} - engines: {node: '>= 0.4'} - - array.prototype.findlastindex@1.2.5: - resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==} - engines: {node: '>= 0.4'} - - array.prototype.flat@1.3.2: - resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} - engines: {node: '>= 0.4'} - - array.prototype.flatmap@1.3.2: - resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} - engines: {node: '>= 0.4'} - - array.prototype.toreversed@1.1.2: - resolution: {integrity: sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==} - - array.prototype.tosorted@1.1.3: - resolution: {integrity: sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==} - - arraybuffer.prototype.slice@1.0.3: - resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} - engines: {node: '>= 0.4'} - - asap@2.0.6: - resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} - - asn1.js@5.4.1: - resolution: {integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==} - - asn1js@3.0.5: - resolution: {integrity: sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==} - engines: {node: '>=12.0.0'} - - assertion-error@1.1.0: - resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} - - ast-module-types@5.0.0: - resolution: {integrity: sha512-JvqziE0Wc0rXQfma0HZC/aY7URXHFuZV84fJRtP8u+lhp0JYCNd5wJzVXP45t0PH0Mej3ynlzvdyITYIu0G4LQ==} - engines: {node: '>=14'} - - ast-types-flow@0.0.8: - resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} - - astral-regex@2.0.0: - resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} - engines: {node: '>=8'} - - async-hook-jl@1.7.6: - resolution: {integrity: sha512-gFaHkFfSxTjvoxDMYqDuGHlcRyUuamF8s+ZTtJdDzqjws4mCt7v0vuV79/E2Wr2/riMQgtG4/yUtXWs1gZ7JMg==} - engines: {node: ^4.7 || >=6.9 || >=7.3} - - async-limiter@1.0.1: - resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==} - - async@1.5.2: - resolution: {integrity: sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==} - - async@3.2.5: - resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} - - asynckit@0.4.0: - resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - - at-least-node@1.0.0: - resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} - engines: {node: '>= 4.0.0'} - - atomic-batcher@1.0.2: - resolution: {integrity: sha512-EFGCRj4kLX1dHv1cDzTk+xbjBFj1GnJDpui52YmEcxxHHEWjYyT6l51U7n6WQ28osZH4S9gSybxe56Vm7vB61Q==} - - atomically@1.7.0: - resolution: {integrity: sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w==} - engines: {node: '>=10.12.0'} - - auto-bind@4.0.0: - resolution: {integrity: sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ==} - engines: {node: '>=8'} - - auto-bind@5.0.1: - resolution: {integrity: sha512-ooviqdwwgfIfNmDwo94wlshcdzfO64XV0Cg6oDsDYBJfITDz1EngD2z7DkbvCWn+XIMsIqW27sEVF6qcpJrRcg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - available-typed-arrays@1.0.7: - resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} - engines: {node: '>= 0.4'} - - aws-cdk-lib@2.132.1: - resolution: {integrity: sha512-VheC7WcvmxiteNaZPucS9J9haGQZwbUtwNiNqsbTaEiru6ETUhf/yIOIamLto1kOKEPxCw2bfLkgYrWoCzwOpw==} - engines: {node: '>= 14.15.0'} - peerDependencies: - constructs: ^10.0.0 - bundledDependencies: - - '@balena/dockerignore' - - case - - fs-extra - - ignore - - jsonschema - - minimatch - - punycode - - semver - - table - - yaml - - mime-types - - aws-crt@1.21.2: - resolution: {integrity: sha512-/jq5yJwdethIaC+HyqCrgW2ZqxjUURBo/6CIfnD0HbpIE+vLIPQxENW/pp3Atu20Hm2WkjM9diJD4zJycK+olA==} - - aws-iot-device-sdk@2.2.13: - resolution: {integrity: sha512-rUR68vJxna5q0HSvBFy70QD0kFa91H8mQU2Jdor0JpNxmfNaOhQoiGCcgrZAxR69xY1kGHs+JzWOqqVtAfL0+A==} - engines: {node: '>=4.0.0'} - - aws-sdk@2.1599.0: - resolution: {integrity: sha512-jPb1LAN+s1TLTK+VR3TTJLr//sb3AhhT60Bm9jxB5G/fVeeRczXtBtixNpQ00gksQdkstILYLc9S6MuKMsksxA==} - engines: {node: '>= 10.0.0'} - - aws-xray-sdk-core@3.6.0: - resolution: {integrity: sha512-+UnYmVEni9NNJvE6aFY1dbvMtFquXSYAj+HYfm+90icoGKYvvLD71R7PHyFFnYct5of4NFpEXJtUJrWMv8e4mQ==} - engines: {node: '>= 14.x'} - - axe-core@4.7.0: - resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==} - engines: {node: '>=4'} - - axios@1.6.8: - resolution: {integrity: sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==} - - axobject-query@3.2.1: - resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} - - babel-jest@29.7.0: - resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@babel/core': ^7.8.0 - - babel-plugin-istanbul@6.1.1: - resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} - engines: {node: '>=8'} - - babel-plugin-jest-hoist@29.6.3: - resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - babel-plugin-syntax-trailing-function-commas@7.0.0-beta.0: - resolution: {integrity: sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==} - - babel-preset-current-node-syntax@1.0.1: - resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} - peerDependencies: - '@babel/core': ^7.0.0 - - babel-preset-fbjs@3.4.0: - resolution: {integrity: sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==} - peerDependencies: - '@babel/core': ^7.0.0 - - babel-preset-jest@29.6.3: - resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@babel/core': ^7.0.0 - - balanced-match@1.0.2: - resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - - base-x@3.0.9: - resolution: {integrity: sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==} - - base64-js@1.5.1: - resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - - bech32@1.1.4: - resolution: {integrity: sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==} - - bignumber.js@9.0.1: - resolution: {integrity: sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA==} - - bignumber.js@9.1.2: - resolution: {integrity: sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==} - - binary-extensions@2.3.0: - resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} - engines: {node: '>=8'} - - bl@4.1.0: - resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} - - bl@5.1.0: - resolution: {integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==} - - blakejs@1.2.1: - resolution: {integrity: sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==} - - bn.js@4.11.6: - resolution: {integrity: sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==} - - bn.js@4.12.0: - resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==} - - bn.js@5.2.1: - resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} - - body-parser@1.20.2: - resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - - bowser@2.11.0: - resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==} - - boxen@5.1.2: - resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==} - engines: {node: '>=10'} - - brace-expansion@1.1.11: - resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} - - brace-expansion@2.0.1: - resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} - - braces@3.0.2: - resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} - engines: {node: '>=8'} - - brorand@1.1.0: - resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} - - browser-stdout@1.3.1: - resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} - - browserify-aes@1.2.0: - resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} - - browserslist@4.23.0: - resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} - engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} - hasBin: true - - bs-logger@0.2.6: - resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} - engines: {node: '>= 6'} - - bs58@4.0.1: - resolution: {integrity: sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==} - - bs58check@2.1.2: - resolution: {integrity: sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==} - - bser@2.1.1: - resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} - - buffer-crc32@0.2.13: - resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} - - buffer-from@1.1.2: - resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - - buffer-xor@1.0.3: - resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} - - buffer@4.9.2: - resolution: {integrity: sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==} - - buffer@5.7.1: - resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} - - buffer@6.0.3: - resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} - - builtin-modules@3.2.0: - resolution: {integrity: sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==} - engines: {node: '>=6'} - - builtin-modules@3.3.0: - resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} - engines: {node: '>=6'} - - busboy@1.6.0: - resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} - engines: {node: '>=10.16.0'} - - bytes@3.1.2: - resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} - engines: {node: '>= 0.8'} - - call-bind@1.0.7: - resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} - engines: {node: '>= 0.4'} - - callsites@3.1.0: - resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} - engines: {node: '>=6'} - - camel-case@4.1.2: - resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} - - camelcase@5.3.1: - resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} - engines: {node: '>=6'} - - camelcase@6.3.0: - resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} - engines: {node: '>=10'} - - caniuse-lite@1.0.30001610: - resolution: {integrity: sha512-QFutAY4NgaelojVMjY63o6XlZyORPaLfyMnsl3HgnWdJUcX6K0oaJymHjH8PT5Gk7sTm8rvC/c5COUQKXqmOMA==} - - capital-case@1.0.4: - resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} - - caseless@0.12.0: - resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} - - cbor@8.1.0: - resolution: {integrity: sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==} - engines: {node: '>=12.19'} - - cdk-assets@2.132.1: - resolution: {integrity: sha512-npaa5DTO9GMdnErCk5mguR6XpaLZv1R36T3kJPgSuJDcD2T5gk7BzuMyJWQM0QHMLNw3fMOOjG1D7Wi39LJ3cQ==} - engines: {node: '>= 14.15.0'} - hasBin: true - - chai-as-promised@7.1.1: - resolution: {integrity: sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==} - peerDependencies: - chai: '>= 2.1.2 < 5' - - chai@4.4.1: - resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} - engines: {node: '>=4'} - - chalk@2.4.2: - resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} - engines: {node: '>=4'} - - chalk@4.1.2: - resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} - engines: {node: '>=10'} - - chalk@5.3.0: - resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} - engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} - - change-case-all@1.0.15: - resolution: {integrity: sha512-3+GIFhk3sNuvFAJKU46o26OdzudQlPNBCu1ZQi3cMeMHhty1bhDxu2WrEilVNYaGvqUtR1VSigFcJOiS13dRhQ==} - - change-case@4.1.2: - resolution: {integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==} - - char-regex@1.0.2: - resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} - engines: {node: '>=10'} - - chardet@0.7.0: - resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} - - charenc@0.0.2: - resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==} - - check-error@1.0.3: - resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} - - chokidar@3.5.3: - resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} - engines: {node: '>= 8.10.0'} - - chokidar@3.6.0: - resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} - engines: {node: '>= 8.10.0'} - - ci-info@2.0.0: - resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} - - ci-info@3.9.0: - resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} - engines: {node: '>=8'} - - cipher-base@1.0.4: - resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==} - - cjs-module-lexer@1.2.3: - resolution: {integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==} - - clean-regexp@1.0.0: - resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} - engines: {node: '>=4'} - - clean-stack@2.2.0: - resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} - engines: {node: '>=6'} - - cli-boxes@2.2.1: - resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} - engines: {node: '>=6'} - - cli-boxes@3.0.0: - resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} - engines: {node: '>=10'} - - cli-cursor@3.1.0: - resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} - engines: {node: '>=8'} - - cli-cursor@4.0.0: - resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - cli-spinners@2.9.2: - resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} - engines: {node: '>=6'} - - cli-table3@0.5.1: - resolution: {integrity: sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==} - engines: {node: '>=6'} - - cli-truncate@2.1.0: - resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} - engines: {node: '>=8'} - - cli-truncate@3.1.0: - resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - cli-width@3.0.0: - resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} - engines: {node: '>= 10'} - - cli-width@4.1.0: - resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} - engines: {node: '>= 12'} - - cliui@6.0.0: - resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} - - cliui@7.0.4: - resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} - - cliui@8.0.1: - resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} - engines: {node: '>=12'} - - clone@1.0.4: - resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} - engines: {node: '>=0.8'} - - cls-hooked@4.2.2: - resolution: {integrity: sha512-J4Xj5f5wq/4jAvcdgoGsL3G103BtWpZrMo8NEinRltN+xpTZdI+M38pyQqhuFU/P792xkMFvnKSf+Lm81U1bxw==} - engines: {node: ^4.7 || >=6.9 || >=7.3 || >=8.2.1} - - cluster-key-slot@1.1.2: - resolution: {integrity: sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==} - engines: {node: '>=0.10.0'} - - co@4.6.0: - resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} - engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} - - code-excerpt@4.0.0: - resolution: {integrity: sha512-xxodCmBen3iy2i0WtAK8FlFNrRzjUqjRsMfho58xT/wvZU1YTM3fCnRjcy1gJPMepaRlgm/0e6w8SpWHpn3/cA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - collect-v8-coverage@1.0.2: - resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} - - color-convert@1.9.3: - resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} - - color-convert@2.0.1: - resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} - engines: {node: '>=7.0.0'} - - color-name@1.1.3: - resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} - - color-name@1.1.4: - resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - - colorette@2.0.20: - resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} - - colors@1.4.0: - resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} - engines: {node: '>=0.1.90'} - - combined-stream@1.0.8: - resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} - engines: {node: '>= 0.8'} - - command-exists@1.2.9: - resolution: {integrity: sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==} - - commander@10.0.1: - resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} - engines: {node: '>=14'} - - commander@3.0.2: - resolution: {integrity: sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==} - - commander@7.2.0: - resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} - engines: {node: '>= 10'} - - commander@9.5.0: - resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} - engines: {node: ^12.20.0 || >=14} - - commist@1.1.0: - resolution: {integrity: sha512-rraC8NXWOEjhADbZe9QBNzLAN5Q3fsTPQtBV+fEVj6xKIgDgNiEVE6ZNfHpZOqfQ21YUzfVNUXLOEZquYvQPPg==} - - common-tags@1.8.2: - resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} - engines: {node: '>=4.0.0'} - - commondir@1.0.1: - resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} - - complex.js@2.1.1: - resolution: {integrity: sha512-8njCHOTtFFLtegk6zQo0kkVX1rngygb/KQI6z1qZxlFI3scluC+LVTCFbrkWjBv4vvLlbQ9t88IPMC6k95VTTg==} - - compress-commons@4.1.2: - resolution: {integrity: sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==} - engines: {node: '>= 10'} - - concat-map@0.0.1: - resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - - concat-stream@1.6.2: - resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} - engines: {'0': node >= 0.8} - - concat-stream@2.0.0: - resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==} - engines: {'0': node >= 6.0} - - conf@10.2.0: - resolution: {integrity: sha512-8fLl9F04EJqjSqH+QjITQfJF8BrOVaYr1jewVgSRAEWePfxT0sku4w2hrGQ60BC/TNLGQ2pgxNlTbWQmMPFvXg==} - engines: {node: '>=12'} - - constant-case@3.0.4: - resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==} - - constructs@10.3.0: - resolution: {integrity: sha512-vbK8i3rIb/xwZxSpTjz3SagHn1qq9BChLEfy5Hf6fB3/2eFbrwt2n9kHwQcS0CPTRBesreeAcsJfMq2229FnbQ==} - engines: {node: '>= 16.14.0'} - - content-disposition@0.5.4: - resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} - engines: {node: '>= 0.6'} - - content-type@1.0.5: - resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} - engines: {node: '>= 0.6'} - - convert-source-map@2.0.0: - resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} - - convert-to-spaces@2.0.1: - resolution: {integrity: sha512-rcQ1bsQO9799wq24uE5AM2tAILy4gXGIK/njFWcVQkGNZ96edlpY+A7bjwvzjYvLDyzmG1MmMLZhpcsb+klNMQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - cookie-signature@1.0.6: - resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} - - cookie@0.4.2: - resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} - engines: {node: '>= 0.6'} - - cookie@0.6.0: - resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} - engines: {node: '>= 0.6'} - - copy-anything@3.0.5: - resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==} - engines: {node: '>=12.13'} - - core-util-is@1.0.3: - resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - - cosmiconfig@8.3.6: - resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} - engines: {node: '>=14'} - peerDependencies: - typescript: '>=4.9.5' - peerDependenciesMeta: - typescript: - optional: true - - crc-32@1.2.2: - resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} - engines: {node: '>=0.8'} - hasBin: true - - crc32-stream@4.0.3: - resolution: {integrity: sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==} - engines: {node: '>= 10'} - - create-hash@1.2.0: - resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} - - create-hmac@1.1.7: - resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} - - create-jest@29.7.0: - resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true - - create-require@1.1.1: - resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} - - cross-fetch@3.1.8: - resolution: {integrity: sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==} - - cross-inspect@1.0.0: - resolution: {integrity: sha512-4PFfn4b5ZN6FMNGSZlyb7wUhuN8wvj8t/VQHZdM4JsDcruGJ8L2kf9zao98QIrBPFCpdk27qst/AGTl7pL3ypQ==} - engines: {node: '>=16.0.0'} - - cross-spawn@7.0.3: - resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} - engines: {node: '>= 8'} - - crypt@0.0.2: - resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==} - - crypto-js@4.2.0: - resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==} - - damerau-levenshtein@1.0.8: - resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} - - data-uri-to-buffer@4.0.1: - resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} - engines: {node: '>= 12'} - - data-view-buffer@1.0.1: - resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} - engines: {node: '>= 0.4'} - - data-view-byte-length@1.0.1: - resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} - engines: {node: '>= 0.4'} - - data-view-byte-offset@1.0.0: - resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} - engines: {node: '>= 0.4'} - - dataloader@2.2.2: - resolution: {integrity: sha512-8YnDaaf7N3k/q5HnTJVuzSyLETjoZjVmHc4AeKAzOvKHEFQKcn64OKBfzHYtE9zGjctNM7V9I0MfnUVLpi7M5g==} - - death@1.1.0: - resolution: {integrity: sha512-vsV6S4KVHvTGxbEcij7hkWRv0It+sGGWVOM67dQde/o5Xjnr+KmLjxWJii2uEObIrt1CcM9w0Yaovx+iOlIL+w==} - - debounce-fn@4.0.0: - resolution: {integrity: sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ==} - engines: {node: '>=10'} - - debounce@1.2.1: - resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} - - debug@2.6.9: - resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - debug@3.2.7: - resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} - engines: {node: '>=6.0'} - peerDependencies: - supports-color: '*' - peerDependenciesMeta: - supports-color: - optional: true - - decamelize@1.2.0: - resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} - engines: {node: '>=0.10.0'} - - decamelize@4.0.0: - resolution: {integrity: sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==} - engines: {node: '>=10'} - - decimal.js@10.4.3: - resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} - - dedent@1.5.3: - resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} - peerDependencies: - babel-plugin-macros: ^3.1.0 - peerDependenciesMeta: - babel-plugin-macros: - optional: true - - deep-eql@4.1.3: - resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} - engines: {node: '>=6'} - - deep-extend@0.6.0: - resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} - engines: {node: '>=4.0.0'} - - deep-is@0.1.4: - resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} - - deepmerge@4.3.1: - resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} - engines: {node: '>=0.10.0'} - - defaults@1.0.4: - resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} - - define-data-property@1.1.4: - resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} - engines: {node: '>= 0.4'} - - define-properties@1.2.1: - resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} - engines: {node: '>= 0.4'} - - delayed-stream@1.0.0: - resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} - engines: {node: '>=0.4.0'} - - delete-empty@3.0.0: - resolution: {integrity: sha512-ZUyiwo76W+DYnKsL3Kim6M/UOavPdBJgDYWOmuQhYaZvJH0AXAHbUNyEDtRbBra8wqqr686+63/0azfEk1ebUQ==} - engines: {node: '>=10'} - hasBin: true - - dendriform-immer-patch-optimiser@2.1.3: - resolution: {integrity: sha512-QG2IegUCdlhycVwsBOJ7SNd18PgzyWPxBivTzuF0E1KFxaU47fHy/frud74A9E66a4WXyFFp9FLLC2XQDkVj7g==} - engines: {node: '>=10'} - peerDependencies: - immer: '9' - - depd@2.0.0: - resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} - engines: {node: '>= 0.8'} - - dependency-graph@0.11.0: - resolution: {integrity: sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==} - engines: {node: '>= 0.6.0'} - - dependency-tree@10.0.9: - resolution: {integrity: sha512-dwc59FRIsht+HfnTVM0BCjJaEWxdq2YAvEDy4/Hn6CwS3CBWMtFnL3aZGAkQn3XCYxk/YcTDE4jX2Q7bFTwCjA==} - engines: {node: '>=14'} - hasBin: true - - dequal@2.0.3: - resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} - engines: {node: '>=6'} - - destroy@1.2.0: - resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} - engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} - - detect-indent@6.1.0: - resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} - engines: {node: '>=8'} - - detect-indent@7.0.1: - resolution: {integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==} - engines: {node: '>=12.20'} - - detect-newline@3.1.0: - resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} - engines: {node: '>=8'} - - detect-newline@4.0.1: - resolution: {integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - detective-amd@5.0.2: - resolution: {integrity: sha512-XFd/VEQ76HSpym80zxM68ieB77unNuoMwopU2TFT/ErUk5n4KvUTwW4beafAVUugrjV48l4BmmR0rh2MglBaiA==} - engines: {node: '>=14'} - hasBin: true - - detective-cjs@5.0.1: - resolution: {integrity: sha512-6nTvAZtpomyz/2pmEmGX1sXNjaqgMplhQkskq2MLrar0ZAIkHMrDhLXkRiK2mvbu9wSWr0V5/IfiTrZqAQMrmQ==} - engines: {node: '>=14'} - - detective-es6@4.0.1: - resolution: {integrity: sha512-k3Z5tB4LQ8UVHkuMrFOlvb3GgFWdJ9NqAa2YLUU/jTaWJIm+JJnEh4PsMc+6dfT223Y8ACKOaC0qcj7diIhBKw==} - engines: {node: '>=14'} - - detective-postcss@6.1.3: - resolution: {integrity: sha512-7BRVvE5pPEvk2ukUWNQ+H2XOq43xENWbH0LcdCE14mwgTBEAMoAx+Fc1rdp76SmyZ4Sp48HlV7VedUnP6GA1Tw==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - - detective-sass@5.0.3: - resolution: {integrity: sha512-YsYT2WuA8YIafp2RVF5CEfGhhyIVdPzlwQgxSjK+TUm3JoHP+Tcorbk3SfG0cNZ7D7+cYWa0ZBcvOaR0O8+LlA==} - engines: {node: '>=14'} - - detective-scss@4.0.3: - resolution: {integrity: sha512-VYI6cHcD0fLokwqqPFFtDQhhSnlFWvU614J42eY6G0s8c+MBhi9QAWycLwIOGxlmD8I/XvGSOUV1kIDhJ70ZPg==} - engines: {node: '>=14'} - - detective-stylus@4.0.0: - resolution: {integrity: sha512-TfPotjhszKLgFBzBhTOxNHDsutIxx9GTWjrL5Wh7Qx/ydxKhwUrlSFeLIn+ZaHPF+h0siVBkAQSuy6CADyTxgQ==} - engines: {node: '>=14'} - - detective-typescript@11.2.0: - resolution: {integrity: sha512-ARFxjzizOhPqs1fYC/2NMC3N4jrQ6HvVflnXBTRqNEqJuXwyKLRr9CrJwkRcV/SnZt1sNXgsF6FPm0x57Tq0rw==} - engines: {node: ^14.14.0 || >=16.0.0} - - diff-sequences@29.6.3: - resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - diff@3.5.0: - resolution: {integrity: sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==} - engines: {node: '>=0.3.1'} - - diff@4.0.2: - resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} - engines: {node: '>=0.3.1'} - - diff@5.0.0: - resolution: {integrity: sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==} - engines: {node: '>=0.3.1'} - - diff@5.2.0: - resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} - engines: {node: '>=0.3.1'} - - difflib@0.2.4: - resolution: {integrity: sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w==} - - dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} - engines: {node: '>=8'} - - doctrine@2.1.0: - resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} - engines: {node: '>=0.10.0'} - - doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - - dot-case@3.0.4: - resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} - - dot-prop@6.0.1: - resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} - engines: {node: '>=10'} - - dotenv-expand@11.0.6: - resolution: {integrity: sha512-8NHi73otpWsZGBSZwwknTXS5pqMOrk9+Ssrna8xCaxkzEpU9OTf9R5ArQGVw03//Zmk9MOwLPng9WwndvpAJ5g==} - engines: {node: '>=12'} - - dotenv@16.0.3: - resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} - engines: {node: '>=12'} - - dotenv@16.4.5: - resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} - engines: {node: '>=12'} - - dset@3.1.3: - resolution: {integrity: sha512-20TuZZHCEZ2O71q9/+8BwKwZ0QtD9D8ObhrihJPr+vLLYlSuAU3/zL4cSlgbfeoGHTjCSJBa7NGcrF9/Bx/WJQ==} - engines: {node: '>=4'} - - duplexify@3.7.1: - resolution: {integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==} - - duplexify@4.1.3: - resolution: {integrity: sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA==} - - eastasianwidth@0.2.0: - resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} - - ecdsa-sig-formatter@1.0.11: - resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} - - ee-first@1.1.1: - resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} - - electron-to-chromium@1.4.737: - resolution: {integrity: sha512-QvLTxaLHKdy5YxvixAw/FfHq2eWLUL9KvsPjp0aHK1gI5d3EDuDgITkvj0nFO2c6zUY3ZqVAJQiBYyQP9tQpfw==} - - elliptic@6.5.4: - resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==} - - elliptic@6.5.5: - resolution: {integrity: sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw==} - - emitter-listener@1.1.2: - resolution: {integrity: sha512-Bt1sBAGFHY9DKY+4/2cV6izcKJUf5T7/gkdmkxzX/qv9CcGH8xSwVRW5mtX03SWJtRTWSOpzCuWN9rBFYZepZQ==} - - emittery@0.13.1: - resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} - engines: {node: '>=12'} - - emoji-regex@8.0.0: - resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - - emoji-regex@9.2.2: - resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} - - encodeurl@1.0.2: - resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} - engines: {node: '>= 0.8'} - - end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} - - enhanced-resolve@5.16.0: - resolution: {integrity: sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==} - engines: {node: '>=10.13.0'} - - enquirer@2.4.1: - resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} - engines: {node: '>=8.6'} - - env-paths@2.2.1: - resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} - engines: {node: '>=6'} - - error-ex@1.3.2: - resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} - - es-abstract@1.23.3: - resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} - engines: {node: '>= 0.4'} - - es-define-property@1.0.0: - resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} - engines: {node: '>= 0.4'} - - es-errors@1.3.0: - resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} - engines: {node: '>= 0.4'} - - es-iterator-helpers@1.0.18: - resolution: {integrity: sha512-scxAJaewsahbqTYrGKJihhViaM6DDZDDoucfvzNbK0pOren1g/daDQ3IAhzn+1G14rBG7w+i5N+qul60++zlKA==} - engines: {node: '>= 0.4'} - - es-object-atoms@1.0.0: - resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} - engines: {node: '>= 0.4'} - - es-set-tostringtag@2.0.3: - resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} - engines: {node: '>= 0.4'} - - es-shim-unscopables@1.0.2: - resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} - - es-to-primitive@1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} - engines: {node: '>= 0.4'} - - esbuild@0.18.13: - resolution: {integrity: sha512-vhg/WR/Oiu4oUIkVhmfcc23G6/zWuEQKFS+yiosSHe4aN6+DQRXIfeloYGibIfVhkr4wyfuVsGNLr+sQU1rWWw==} - engines: {node: '>=12'} - hasBin: true - - esbuild@0.19.12: - resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} - engines: {node: '>=12'} - hasBin: true - - esbuild@0.20.2: - resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} - engines: {node: '>=12'} - hasBin: true - - escalade@3.1.2: - resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} - engines: {node: '>=6'} - - escape-html@1.0.3: - resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} - - escape-latex@1.2.0: - resolution: {integrity: sha512-nV5aVWW1K0wEiUIEdZ4erkGGH8mDxGyxSeqPzRNtWP7ataw+/olFObw7hujFWlVjNsaDFw5VZ5NzVSIqRgfTiw==} - - escape-string-regexp@1.0.5: - resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} - engines: {node: '>=0.8.0'} - - escape-string-regexp@2.0.0: - resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} - engines: {node: '>=8'} - - escape-string-regexp@4.0.0: - resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} - engines: {node: '>=10'} - - escodegen@1.8.1: - resolution: {integrity: sha512-yhi5S+mNTOuRvyW4gWlg5W1byMaQGWWSYHXsuFZ7GBo7tpyOwi2EdzMP/QWxh9hwkD2m+wDVHJsxhRIj+v/b/A==} - engines: {node: '>=0.12.0'} - hasBin: true - - escodegen@2.1.0: - resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} - engines: {node: '>=6.0'} - hasBin: true - - eslint-config-prettier@9.1.0: - resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} - hasBin: true - peerDependencies: - eslint: '>=7.0.0' - - eslint-config-turbo@1.13.2: - resolution: {integrity: sha512-TzvsMwNJx/P4JYw79iFqbyQApnyT050gW7dBxnNeNVl3pVMnT2rwaFo9Q3Hc49Tp5NANxEwYN9RStF50P/IwGA==} - peerDependencies: - eslint: '>6.6.0' - - eslint-import-resolver-alias@1.1.2: - resolution: {integrity: sha512-WdviM1Eu834zsfjHtcGHtGfcu+F30Od3V7I9Fi57uhBEwPkjDcii7/yW8jAT+gOhn4P/vOxxNAXbFAKsrrc15w==} - engines: {node: '>= 4'} - peerDependencies: - eslint-plugin-import: '>=1.4.0' - - eslint-import-resolver-node@0.3.9: - resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} - - eslint-import-resolver-typescript@3.6.1: - resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} - engines: {node: ^14.18.0 || >=16.0.0} - peerDependencies: - eslint: '*' - eslint-plugin-import: '*' - - eslint-module-utils@2.8.1: - resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: '*' - eslint-import-resolver-node: '*' - eslint-import-resolver-typescript: '*' - eslint-import-resolver-webpack: '*' - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - eslint: - optional: true - eslint-import-resolver-node: - optional: true - eslint-import-resolver-typescript: - optional: true - eslint-import-resolver-webpack: - optional: true - - eslint-plugin-eslint-comments@3.2.0: - resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==} - engines: {node: '>=6.5.0'} - peerDependencies: - eslint: '>=4.19.1' - - eslint-plugin-import@2.29.1: - resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} - engines: {node: '>=4'} - peerDependencies: - '@typescript-eslint/parser': '*' - eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 - peerDependenciesMeta: - '@typescript-eslint/parser': - optional: true - - eslint-plugin-jest@27.9.0: - resolution: {integrity: sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@typescript-eslint/eslint-plugin': ^5.0.0 || ^6.0.0 || ^7.0.0 - eslint: ^7.0.0 || ^8.0.0 - jest: '*' - peerDependenciesMeta: - '@typescript-eslint/eslint-plugin': - optional: true - jest: - optional: true - - eslint-plugin-jsx-a11y@6.8.0: - resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==} - engines: {node: '>=4.0'} - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - - eslint-plugin-playwright@0.16.0: - resolution: {integrity: sha512-DcHpF0SLbNeh9MT4pMzUGuUSnJ7q5MWbP8sSEFIMS6j7Ggnduq8ghNlfhURgty4c1YFny7Ge9xYTO1FSAoV2Vw==} - peerDependencies: - eslint: '>=7' - eslint-plugin-jest: '>=25' - peerDependenciesMeta: - eslint-plugin-jest: - optional: true - - eslint-plugin-react-hooks@4.6.0: - resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} - engines: {node: '>=10'} - peerDependencies: - eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 - - eslint-plugin-react@7.34.1: - resolution: {integrity: sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==} - engines: {node: '>=4'} - peerDependencies: - eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 - - eslint-plugin-testing-library@6.2.2: - resolution: {integrity: sha512-1E94YOTUDnOjSLyvOwmbVDzQi/WkKm3WVrMXu6SmBr6DN95xTGZmI6HJ/eOkSXh/DlheRsxaPsJvZByDBhWLVQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6'} - peerDependencies: - eslint: ^7.5.0 || ^8.0.0 - - eslint-plugin-tsdoc@0.2.17: - resolution: {integrity: sha512-xRmVi7Zx44lOBuYqG8vzTXuL6IdGOeF9nHX17bjJ8+VE6fsxpdGem0/SBTmAwgYMKYB1WBkqRJVQ+n8GK041pA==} - - eslint-plugin-turbo@1.13.2: - resolution: {integrity: sha512-QNaihF0hTRjfOBd1SLHrftm8V3pOU35CNS/C0/Z6qY1xxdL1PSv4IctEIldSMX7/A1jOPYwMPO7wYwPXgjgp/g==} - peerDependencies: - eslint: '>6.6.0' - - eslint-plugin-unicorn@48.0.1: - resolution: {integrity: sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw==} - engines: {node: '>=16'} - peerDependencies: - eslint: '>=8.44.0' - - eslint-plugin-unused-imports@3.1.0: - resolution: {integrity: sha512-9l1YFCzXKkw1qtAru1RWUtG2EVDZY0a0eChKXcL+EZ5jitG7qxdctu4RnvhOJHv4xfmUf7h+JJPINlVpGhZMrw==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - '@typescript-eslint/eslint-plugin': 6 - 7 - eslint: '8' - peerDependenciesMeta: - '@typescript-eslint/eslint-plugin': - optional: true - - eslint-rule-composer@0.3.0: - resolution: {integrity: sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==} - engines: {node: '>=4.0.0'} - - eslint-scope@5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} - - eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - eslint-visitor-keys@2.1.0: - resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} - engines: {node: '>=10'} - - eslint-visitor-keys@3.4.3: - resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - eslint@8.57.0: - resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - hasBin: true - - espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - - esprima@2.7.3: - resolution: {integrity: sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A==} - engines: {node: '>=0.10.0'} - hasBin: true - - esprima@4.0.1: - resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} - engines: {node: '>=4'} - hasBin: true - - esquery@1.5.0: - resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} - engines: {node: '>=0.10'} - - esrecurse@4.3.0: - resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} - engines: {node: '>=4.0'} - - estraverse@1.9.3: - resolution: {integrity: sha512-25w1fMXQrGdoquWnScXZGckOv+Wes+JDnuN/+7ex3SauFRS72r2lFDec0EKPt2YD1wUJ/IrfEex+9yp4hfSOJA==} - engines: {node: '>=0.10.0'} - - estraverse@4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} - - estraverse@5.3.0: - resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} - engines: {node: '>=4.0'} - - esutils@2.0.3: - resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} - engines: {node: '>=0.10.0'} - - etag@1.8.1: - resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} - engines: {node: '>= 0.6'} - - eth-gas-reporter@0.2.27: - resolution: {integrity: sha512-femhvoAM7wL0GcI8ozTdxfuBtBFJ9qsyIAsmKVjlWAHUbdnnXHt+lKzz/kmldM5lA9jLuNHGwuIxorNpLbR1Zw==} - peerDependencies: - '@codechecks/client': ^0.1.0 - peerDependenciesMeta: - '@codechecks/client': - optional: true - - ethereum-bloom-filters@1.1.0: - resolution: {integrity: sha512-J1gDRkLpuGNvWYzWslBQR9cDV4nd4kfvVTE/Wy4Kkm4yb3EYRSlyi0eB/inTsSTTVyA0+HyzHgbr95Fn/Z1fSw==} - - ethereum-cryptography@0.1.3: - resolution: {integrity: sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==} - - ethereum-cryptography@1.2.0: - resolution: {integrity: sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw==} - - ethereum-cryptography@2.1.3: - resolution: {integrity: sha512-BlwbIL7/P45W8FGW2r7LGuvoEZ+7PWsniMvQ4p5s2xCyw9tmaDlpfsN9HjAucbF+t/qpVHwZUisgfK24TCW8aA==} - - ethereumjs-abi@0.6.8: - resolution: {integrity: sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==} - - ethereumjs-util@6.2.1: - resolution: {integrity: sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==} - - ethereumjs-util@7.1.5: - resolution: {integrity: sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==} - engines: {node: '>=10.0.0'} - - ethers@5.6.2: - resolution: {integrity: sha512-EzGCbns24/Yluu7+ToWnMca3SXJ1Jk1BvWB7CCmVNxyOeM4LLvw2OLuIHhlkhQk1dtOcj9UMsdkxUh8RiG1dxQ==} - - ethers@5.7.2: - resolution: {integrity: sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==} - - ethers@6.11.1: - resolution: {integrity: sha512-mxTAE6wqJQAbp5QAe/+o+rXOID7Nw91OZXvgpjDa1r4fAbq2Nu314oEZSbjoRLacuCzs7kUC3clEvkCQowffGg==} - engines: {node: '>=14.0.0'} - - ethjs-unit@0.1.6: - resolution: {integrity: sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==} - engines: {node: '>=6.5.0', npm: '>=3'} - - ethjs-util@0.1.6: - resolution: {integrity: sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==} - engines: {node: '>=6.5.0', npm: '>=3'} - - events@1.1.1: - resolution: {integrity: sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==} - engines: {node: '>=0.4.x'} - - evm-bn@1.1.2: - resolution: {integrity: sha512-Lq8CT1EAjSeN+Yk0h1hpSwnZyMA4Xir6fQD4vlStljAuW2xr7qLOEGDLGsTa9sU2e40EYIumA4wYhMC/e+lyKw==} - peerDependencies: - '@ethersproject/bignumber': 5.x - - evp_bytestokey@1.0.3: - resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} - - execa@5.1.1: - resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} - engines: {node: '>=10'} - - exit@0.1.2: - resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} - engines: {node: '>= 0.8.0'} - - expect@29.7.0: - resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - express@4.19.2: - resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==} - engines: {node: '>= 0.10.0'} - - external-editor@3.1.0: - resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} - engines: {node: '>=4'} - - extract-files@11.0.0: - resolution: {integrity: sha512-FuoE1qtbJ4bBVvv94CC7s0oTnKUGvQs+Rjf1L2SJFfS+HTVVjhPFtehPdQ0JiGPqVNfSSZvL5yzHHQq2Z4WNhQ==} - engines: {node: ^12.20 || >= 14.13} - - fast-decode-uri-component@1.0.1: - resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==} - - fast-deep-equal@3.1.3: - resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} - - fast-glob@3.3.2: - resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} - engines: {node: '>=8.6.0'} - - fast-json-stable-stringify@2.1.0: - resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} - - fast-jwt@3.3.3: - resolution: {integrity: sha512-oS3P8bRI24oPLJUePt2OgF64FBQib5TlgHLFQxYNoHYEEZe0gU3cKjJAVqpB5XKV/zjxmq4Hzbk3fgfW/wRz8Q==} - engines: {node: '>=16 <22'} - - fast-levenshtein@2.0.6: - resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - - fast-querystring@1.1.2: - resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} - - fast-url-parser@1.1.3: - resolution: {integrity: sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==} - - fast-xml-parser@4.2.5: - resolution: {integrity: sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==} - hasBin: true - - fastq@1.17.1: - resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} - - fb-watchman@2.0.2: - resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} - - fbjs-css-vars@1.0.2: - resolution: {integrity: sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==} - - fbjs@3.0.5: - resolution: {integrity: sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==} - - fetch-blob@3.2.0: - resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} - engines: {node: ^12.20 || >= 14.13} - - figures@3.2.0: - resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} - engines: {node: '>=8'} - - file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} - - filing-cabinet@4.2.0: - resolution: {integrity: sha512-YZ21ryzRcyqxpyKggdYSoXx//d3sCJzM3lsYoaeg/FyXdADGJrUl+BW1KIglaVLJN5BBcMtWylkygY8zBp2MrQ==} - engines: {node: '>=14'} - hasBin: true - - fill-range@7.0.1: - resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} - engines: {node: '>=8'} - - finalhandler@1.2.0: - resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} - engines: {node: '>= 0.8'} - - find-up@2.1.0: - resolution: {integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==} - engines: {node: '>=4'} - - find-up@3.0.0: - resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} - engines: {node: '>=6'} - - find-up@4.1.0: - resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} - engines: {node: '>=8'} - - find-up@5.0.0: - resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} - engines: {node: '>=10'} - - flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} - - flat@5.0.2: - resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} - hasBin: true - - flatted@3.3.1: - resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} - - follow-redirects@1.15.6: - resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} - engines: {node: '>=4.0'} - peerDependencies: - debug: '*' - peerDependenciesMeta: - debug: - optional: true - - for-each@0.3.3: - resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} - - foreground-child@3.1.1: - resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} - engines: {node: '>=14'} - - form-data@2.5.1: - resolution: {integrity: sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==} - engines: {node: '>= 0.12'} - - form-data@4.0.0: - resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} - engines: {node: '>= 6'} - - formdata-polyfill@4.0.10: - resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} - engines: {node: '>=12.20.0'} - - forwarded@0.2.0: - resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} - engines: {node: '>= 0.6'} - - fp-ts@1.19.3: - resolution: {integrity: sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==} - - fraction.js@4.3.7: - resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} - - fresh@0.5.2: - resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} - engines: {node: '>= 0.6'} - - from-exponential@1.1.1: - resolution: {integrity: sha512-VBE7f5OVnYwdgB3LHa+Qo29h8qVpxhVO9Trlc+AWm+/XNAgks1tAwMFHb33mjeiof77GglsJzeYF7OqXrROP/A==} - - fs-constants@1.0.0: - resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} - - fs-extra@0.30.0: - resolution: {integrity: sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA==} - - fs-extra@7.0.1: - resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} - engines: {node: '>=6 <7 || >=8'} - - fs-extra@8.1.0: - resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} - engines: {node: '>=6 <7 || >=8'} - - fs-extra@9.1.0: - resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} - engines: {node: '>=10'} - - fs-readdir-recursive@1.1.0: - resolution: {integrity: sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==} - - fs.realpath@1.0.0: - resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - - fsevents@2.3.2: - resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - - fsevents@2.3.3: - resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} - engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} - os: [darwin] - - function-bind@1.1.2: - resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - - function.prototype.name@1.1.6: - resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} - engines: {node: '>= 0.4'} - - functions-have-names@1.2.3: - resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - - generic-pool@3.9.0: - resolution: {integrity: sha512-hymDOu5B53XvN4QT9dBmZxPX4CWhBPPLguTZ9MMFeFa/Kg0xWVfylOVNlJji/E7yTZWFd/q9GO5TxDLq156D7g==} - engines: {node: '>= 4'} - - gensync@1.0.0-beta.2: - resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} - engines: {node: '>=6.9.0'} - - get-amd-module-type@5.0.1: - resolution: {integrity: sha512-jb65zDeHyDjFR1loOVk0HQGM5WNwoGB8aLWy3LKCieMKol0/ProHkhO2X1JxojuN10vbz1qNn09MJ7tNp7qMzw==} - engines: {node: '>=14'} - - get-caller-file@2.0.5: - resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} - engines: {node: 6.* || 8.* || >= 10.*} - - get-func-name@2.0.2: - resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} - - get-intrinsic@1.2.4: - resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} - engines: {node: '>= 0.4'} - - get-own-enumerable-property-symbols@3.0.2: - resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} - - get-package-type@0.1.0: - resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} - engines: {node: '>=8.0.0'} - - get-port@3.2.0: - resolution: {integrity: sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==} - engines: {node: '>=4'} - - get-port@6.1.2: - resolution: {integrity: sha512-BrGGraKm2uPqurfGVj/z97/zv8dPleC6x9JBNRTrDNtCkkRF4rPwrQXFgL7+I+q8QSdU4ntLQX2D7KIxSy8nGw==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - get-stdin@9.0.0: - resolution: {integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==} - engines: {node: '>=12'} - - get-stream@6.0.1: - resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} - engines: {node: '>=10'} - - get-symbol-description@1.0.2: - resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} - engines: {node: '>= 0.4'} - - get-tsconfig@4.7.3: - resolution: {integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==} - - ghost-testrpc@0.0.2: - resolution: {integrity: sha512-i08dAEgJ2g8z5buJIrCTduwPIhih3DP+hOCTyyryikfV8T0bNvHnGXO67i0DD1H4GBDETTclPy9njZbfluQYrQ==} - hasBin: true - - git-diff@2.0.6: - resolution: {integrity: sha512-/Iu4prUrydE3Pb3lCBMbcSNIf81tgGt0W1ZwknnyF62t3tHmtiJTRj0f+1ZIhp3+Rh0ktz1pJVoa7ZXUCskivA==} - engines: {node: '>= 4.8.0'} - - git-hooks-list@3.1.0: - resolution: {integrity: sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA==} - - glob-parent@5.1.2: - resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} - engines: {node: '>= 6'} - - glob-parent@6.0.2: - resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} - engines: {node: '>=10.13.0'} - - glob@10.3.12: - resolution: {integrity: sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==} - engines: {node: '>=16 || 14 >=14.17'} - hasBin: true - - glob@5.0.15: - resolution: {integrity: sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==} - - glob@7.2.0: - resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==} - - glob@7.2.3: - resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} - - glob@8.1.0: - resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} - engines: {node: '>=12'} - - global-modules@2.0.0: - resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==} - engines: {node: '>=6'} - - global-prefix@3.0.0: - resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==} - engines: {node: '>=6'} - - globals@11.12.0: - resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} - engines: {node: '>=4'} - - globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} - - globalthis@1.0.3: - resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} - engines: {node: '>= 0.4'} - - globby@10.0.2: - resolution: {integrity: sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==} - engines: {node: '>=8'} - - globby@11.1.0: - resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} - engines: {node: '>=10'} - - globby@13.2.2: - resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - gonzales-pe@4.3.0: - resolution: {integrity: sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==} - engines: {node: '>=0.6.0'} - hasBin: true - - gopd@1.0.1: - resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} - - graceful-fs@4.2.11: - resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} - - graphemer@1.4.0: - resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - - graphql-config@5.0.3: - resolution: {integrity: sha512-BNGZaoxIBkv9yy6Y7omvsaBUHOzfFcII3UN++tpH8MGOKFPFkCPZuwx09ggANMt8FgyWP1Od8SWPmrUEZca4NQ==} - engines: {node: '>= 16.0.0'} - peerDependencies: - cosmiconfig-toml-loader: ^1.0.0 - graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - peerDependenciesMeta: - cosmiconfig-toml-loader: - optional: true - - graphql-request@6.1.0: - resolution: {integrity: sha512-p+XPfS4q7aIpKVcgmnZKhMNqhltk20hfXtkaIkTfjjmiKMJ5xrt5c743cL03y/K7y1rg3WrIC49xGiEQ4mxdNw==} - peerDependencies: - graphql: 14 - 16 - - graphql-tag@2.12.6: - resolution: {integrity: sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==} - engines: {node: '>=10'} - peerDependencies: - graphql: ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - - graphql-ws@5.16.0: - resolution: {integrity: sha512-Ju2RCU2dQMgSKtArPbEtsK5gNLnsQyTNIo/T7cZNp96niC1x0KdJNZV0TIoilceBPQwfb5itrGl8pkFeOUMl4A==} - engines: {node: '>=10'} - peerDependencies: - graphql: '>=0.11 <=16' - - graphql-yoga@3.9.1: - resolution: {integrity: sha512-BB6EkN64VBTXWmf9Kym2OsVZFzBC0mAsQNo9eNB5xIr3t+x7qepQ34xW5A353NWol3Js3xpzxwIKFVF6l9VsPg==} - peerDependencies: - graphql: ^15.2.0 || ^16.0.0 - - graphql@16.8.1: - resolution: {integrity: sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==} - engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} - - handlebars@4.7.8: - resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} - engines: {node: '>=0.4.7'} - hasBin: true - - hardhat-abi-exporter@2.10.1: - resolution: {integrity: sha512-X8GRxUTtebMAd2k4fcPyVnCdPa6dYK4lBsrwzKP5yiSq4i+WadWPIumaLfce53TUf/o2TnLpLOduyO1ylE2NHQ==} - engines: {node: '>=14.14.0'} - peerDependencies: - hardhat: ^2.0.0 - - hardhat-gas-reporter@1.0.10: - resolution: {integrity: sha512-02N4+So/fZrzJ88ci54GqwVA3Zrf0C9duuTyGt0CFRIh/CdNwbnTgkXkRfojOMLBQ+6t+lBIkgbsOtqMvNwikA==} - peerDependencies: - hardhat: ^2.0.2 - - hardhat@2.22.2: - resolution: {integrity: sha512-0xZ7MdCZ5sJem4MrvpQWLR3R3zGDoHw5lsR+pBFimqwagimIOn3bWuZv69KA+veXClwI1s/zpqgwPwiFrd4Dxw==} - hasBin: true - peerDependencies: - ts-node: '*' - typescript: '*' - peerDependenciesMeta: - ts-node: - optional: true - typescript: - optional: true - - has-bigints@1.0.2: - resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} - - has-flag@1.0.0: - resolution: {integrity: sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==} - engines: {node: '>=0.10.0'} - - has-flag@3.0.0: - resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} - engines: {node: '>=4'} - - has-flag@4.0.0: - resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} - engines: {node: '>=8'} - - has-property-descriptors@1.0.2: - resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} - - has-proto@1.0.3: - resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} - engines: {node: '>= 0.4'} - - has-symbols@1.0.3: - resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} - engines: {node: '>= 0.4'} - - has-tostringtag@1.0.2: - resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} - engines: {node: '>= 0.4'} - - hash-base@3.1.0: - resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} - engines: {node: '>=4'} - - hash-it@6.0.0: - resolution: {integrity: sha512-KHzmSFx1KwyMPw0kXeeUD752q/Kfbzhy6dAZrjXV9kAIXGqzGvv8vhkUqj+2MGZldTo0IBpw6v7iWE7uxsvH0w==} - - hash.js@1.1.7: - resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} - - hasown@2.0.2: - resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} - engines: {node: '>= 0.4'} - - he@1.2.0: - resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} - hasBin: true - - header-case@2.0.4: - resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} - - heap@0.2.7: - resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==} - - help-me@3.0.0: - resolution: {integrity: sha512-hx73jClhyk910sidBB7ERlnhMlFsJJIBqSVMFDwPN8o2v9nmp5KgLq1Xz1Bf1fCMMZ6mPrX159iG0VLy/fPMtQ==} - - hmac-drbg@1.0.1: - resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} - - hosted-git-info@2.8.9: - resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} - - html-escaper@2.0.2: - resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} - - http-basic@8.1.3: - resolution: {integrity: sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==} - engines: {node: '>=6.0.0'} - - http-errors@2.0.0: - resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} - engines: {node: '>= 0.8'} - - http-proxy-agent@7.0.2: - resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} - engines: {node: '>= 14'} - - http-response-object@3.0.2: - resolution: {integrity: sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==} - - https-proxy-agent@5.0.1: - resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} - engines: {node: '>= 6'} - - https-proxy-agent@7.0.4: - resolution: {integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==} - engines: {node: '>= 14'} - - human-signals@2.1.0: - resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} - engines: {node: '>=10.17.0'} - - iconv-lite@0.4.24: - resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} - engines: {node: '>=0.10.0'} - - ieee754@1.1.13: - resolution: {integrity: sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==} - - ieee754@1.2.1: - resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - - ignore@5.3.1: - resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} - engines: {node: '>= 4'} - - immer@9.0.21: - resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==} - - immutable@3.7.6: - resolution: {integrity: sha512-AizQPcaofEtO11RZhPPHBOJRdo/20MKQF9mBLnVkBoyHi1/zXK8fzVdnEpSV9gxqtnh6Qomfp3F0xT5qP/vThw==} - engines: {node: '>=0.8.0'} - - immutable@4.3.5: - resolution: {integrity: sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==} - - import-fresh@3.3.0: - resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} - engines: {node: '>=6'} - - import-from@4.0.0: - resolution: {integrity: sha512-P9J71vT5nLlDeV8FHs5nNxaLbrpfAV5cF5srvbZfpwpcJoM/xZR3hiv+q+SAnuSmuGbXMWud063iIMx/V/EWZQ==} - engines: {node: '>=12.2'} - - import-local@3.1.0: - resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} - engines: {node: '>=8'} - hasBin: true - - imurmurhash@0.1.4: - resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} - engines: {node: '>=0.8.19'} - - indent-string@4.0.0: - resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} - engines: {node: '>=8'} - - indent-string@5.0.0: - resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} - engines: {node: '>=12'} - - inflight@1.0.6: - resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - - inherits@2.0.4: - resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - - ini@1.3.8: - resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} - - ink-spinner@5.0.0: - resolution: {integrity: sha512-EYEasbEjkqLGyPOUc8hBJZNuC5GvXGMLu0w5gdTNskPc7Izc5vO3tdQEYnzvshucyGCBXc86ig0ujXPMWaQCdA==} - engines: {node: '>=14.16'} - peerDependencies: - ink: '>=4.0.0' - react: '>=18.0.0' - - ink@4.4.1: - resolution: {integrity: sha512-rXckvqPBB0Krifk5rn/5LvQGmyXwCUpBfmTwbkQNBY9JY8RSl3b8OftBNEYxg4+SWUhEKcPifgope28uL9inlA==} - engines: {node: '>=14.16'} - peerDependencies: - '@types/react': '>=18.0.0' - react: '>=18.0.0' - react-devtools-core: ^4.19.1 - peerDependenciesMeta: - '@types/react': - optional: true - react-devtools-core: - optional: true - - inquirer@8.2.6: - resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==} - engines: {node: '>=12.0.0'} - - internal-slot@1.0.7: - resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} - engines: {node: '>= 0.4'} - - interpret@1.4.0: - resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} - engines: {node: '>= 0.10'} - - invariant@2.2.4: - resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} - - io-ts@1.10.4: - resolution: {integrity: sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==} - - ipaddr.js@1.9.1: - resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} - engines: {node: '>= 0.10'} - - is-absolute@1.0.0: - resolution: {integrity: sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==} - engines: {node: '>=0.10.0'} - - is-arguments@1.1.1: - resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} - engines: {node: '>= 0.4'} - - is-array-buffer@3.0.4: - resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} - engines: {node: '>= 0.4'} - - is-arrayish@0.2.1: - resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} - - is-async-function@2.0.0: - resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} - engines: {node: '>= 0.4'} - - is-bigint@1.0.4: - resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} - - is-binary-path@2.1.0: - resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} - engines: {node: '>=8'} - - is-boolean-object@1.1.2: - resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} - engines: {node: '>= 0.4'} - - is-builtin-module@3.2.1: - resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} - engines: {node: '>=6'} - - is-callable@1.2.7: - resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} - engines: {node: '>= 0.4'} - - is-ci@3.0.1: - resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} - hasBin: true - - is-core-module@2.13.1: - resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} - - is-data-view@1.0.1: - resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} - engines: {node: '>= 0.4'} - - is-date-object@1.0.5: - resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} - engines: {node: '>= 0.4'} - - is-extglob@2.1.1: - resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} - engines: {node: '>=0.10.0'} - - is-finalizationregistry@1.0.2: - resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} - - is-fullwidth-code-point@2.0.0: - resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==} - engines: {node: '>=4'} - - is-fullwidth-code-point@3.0.0: - resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} - engines: {node: '>=8'} - - is-fullwidth-code-point@4.0.0: - resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} - engines: {node: '>=12'} - - is-generator-fn@2.1.0: - resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} - engines: {node: '>=6'} - - is-generator-function@1.0.10: - resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} - engines: {node: '>= 0.4'} - - is-glob@4.0.3: - resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} - engines: {node: '>=0.10.0'} - - is-hex-prefixed@1.0.0: - resolution: {integrity: sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==} - engines: {node: '>=6.5.0', npm: '>=3'} - - is-interactive@1.0.0: - resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} - engines: {node: '>=8'} - - is-interactive@2.0.0: - resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} - engines: {node: '>=12'} - - is-lower-case@2.0.2: - resolution: {integrity: sha512-bVcMJy4X5Og6VZfdOZstSexlEy20Sr0k/p/b2IlQJlfdKAQuMpiv5w2Ccxb8sKdRUNAG1PnHVHjFSdRDVS6NlQ==} - - is-map@2.0.3: - resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} - engines: {node: '>= 0.4'} - - is-negative-zero@2.0.3: - resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} - engines: {node: '>= 0.4'} - - is-number-object@1.0.7: - resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} - engines: {node: '>= 0.4'} - - is-number@7.0.0: - resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} - engines: {node: '>=0.12.0'} - - is-obj@1.0.1: - resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} - engines: {node: '>=0.10.0'} - - is-obj@2.0.0: - resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} - engines: {node: '>=8'} - - is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} - engines: {node: '>=8'} - - is-plain-obj@2.1.0: - resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} - engines: {node: '>=8'} - - is-plain-obj@4.1.0: - resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} - engines: {node: '>=12'} - - is-regex@1.1.4: - resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} - engines: {node: '>= 0.4'} - - is-regexp@1.0.0: - resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} - engines: {node: '>=0.10.0'} - - is-relative-path@1.0.2: - resolution: {integrity: sha512-i1h+y50g+0hRbBD+dbnInl3JlJ702aar58snAeX+MxBAPvzXGej7sYoPMhlnykabt0ZzCJNBEyzMlekuQZN7fA==} - - is-relative@1.0.0: - resolution: {integrity: sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==} - engines: {node: '>=0.10.0'} - - is-set@2.0.3: - resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} - engines: {node: '>= 0.4'} - - is-shared-array-buffer@1.0.3: - resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} - engines: {node: '>= 0.4'} - - is-stream@2.0.1: - resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} - engines: {node: '>=8'} - - is-string@1.0.7: - resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} - engines: {node: '>= 0.4'} - - is-symbol@1.0.4: - resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} - engines: {node: '>= 0.4'} - - is-typed-array@1.1.13: - resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} - engines: {node: '>= 0.4'} - - is-unc-path@1.0.0: - resolution: {integrity: sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==} - engines: {node: '>=0.10.0'} - - is-unicode-supported@0.1.0: - resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} - engines: {node: '>=10'} - - is-unicode-supported@1.3.0: - resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} - engines: {node: '>=12'} - - is-upper-case@2.0.2: - resolution: {integrity: sha512-44pxmxAvnnAOwBg4tHPnkfvgjPwbc5QIsSstNU+YcJ1ovxVzCWpSGosPJOZh/a1tdl81fbgnLc9LLv+x2ywbPQ==} - - is-url-superb@4.0.0: - resolution: {integrity: sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA==} - engines: {node: '>=10'} - - is-url@1.2.4: - resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} - - is-weakmap@2.0.2: - resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} - engines: {node: '>= 0.4'} - - is-weakref@1.0.2: - resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} - - is-weakset@2.0.3: - resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} - engines: {node: '>= 0.4'} - - is-what@4.1.16: - resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} - engines: {node: '>=12.13'} - - is-windows@1.0.2: - resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} - engines: {node: '>=0.10.0'} - - isarray@1.0.0: - resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} - - isarray@2.0.5: - resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} - - isexe@2.0.0: - resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} - - isomorphic-ws@4.0.1: - resolution: {integrity: sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==} - peerDependencies: - ws: '*' - - isomorphic-ws@5.0.0: - resolution: {integrity: sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==} - peerDependencies: - ws: '*' - - isows@1.0.3: - resolution: {integrity: sha512-2cKei4vlmg2cxEjm3wVSqn8pcoRF/LX/wpifuuNquFO4SQmPwarClT+SUCA2lt+l581tTeZIPIZuIDo2jWN1fg==} - peerDependencies: - ws: '*' - - istanbul-lib-coverage@3.2.2: - resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} - engines: {node: '>=8'} - - istanbul-lib-instrument@5.2.1: - resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} - engines: {node: '>=8'} - - istanbul-lib-instrument@6.0.2: - resolution: {integrity: sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==} - engines: {node: '>=10'} - - istanbul-lib-report@3.0.1: - resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} - engines: {node: '>=10'} - - istanbul-lib-source-maps@4.0.1: - resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} - engines: {node: '>=10'} - - istanbul-reports@3.1.7: - resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} - engines: {node: '>=8'} - - iterator.prototype@1.1.2: - resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} - - jackspeak@2.3.6: - resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} - engines: {node: '>=14'} - - javascript-natural-sort@0.7.1: - resolution: {integrity: sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==} - - jest-changed-files@29.7.0: - resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-circus@29.7.0: - resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-cli@29.7.0: - resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - - jest-config@29.7.0: - resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - '@types/node': '*' - ts-node: '>=9.0.0' - peerDependenciesMeta: - '@types/node': - optional: true - ts-node: - optional: true - - jest-diff@29.7.0: - resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-docblock@29.7.0: - resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-each@29.7.0: - resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-environment-node@29.7.0: - resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-expect-message@1.1.3: - resolution: {integrity: sha512-bTK77T4P+zto+XepAX3low8XVQxDgaEqh3jSTQOG8qvPpD69LsIdyJTa+RmnJh3HNSzJng62/44RPPc7OIlFxg==} - - jest-extended@4.0.2: - resolution: {integrity: sha512-FH7aaPgtGYHc9mRjriS0ZEHYM5/W69tLrFTIdzm+yJgeoCmmrSB/luSfMSqWP9O29QWHPEmJ4qmU6EwsZideog==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - peerDependencies: - jest: '>=27.2.5' - peerDependenciesMeta: - jest: - optional: true - - jest-get-type@29.6.3: - resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-haste-map@29.7.0: - resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-leak-detector@29.7.0: - resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-matcher-utils@29.7.0: - resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-message-util@29.7.0: - resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-mock@29.7.0: - resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-pnp-resolver@1.2.3: - resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} - engines: {node: '>=6'} - peerDependencies: - jest-resolve: '*' - peerDependenciesMeta: - jest-resolve: - optional: true - - jest-regex-util@29.6.3: - resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-resolve-dependencies@29.7.0: - resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-resolve@29.7.0: - resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-runner@29.7.0: - resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-runtime@29.7.0: - resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-snapshot@29.7.0: - resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-util@29.7.0: - resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-validate@29.7.0: - resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-watcher@29.7.0: - resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest-worker@29.7.0: - resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - jest@29.7.0: - resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - hasBin: true - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - - jiti@1.21.0: - resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} - hasBin: true - - jju@1.4.0: - resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} - - jmespath@0.16.0: - resolution: {integrity: sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==} - engines: {node: '>= 0.6.0'} - - jose@4.15.5: - resolution: {integrity: sha512-jc7BFxgKPKi94uOvEmzlSWFFe2+vASyXaKUpdQKatWAESU2MWjDfFf0fdfc83CDKcA5QecabZeNLyfhe3yKNkg==} - - jose@5.2.4: - resolution: {integrity: sha512-6ScbIk2WWCeXkmzF6bRPmEuaqy1m8SbsRFMa/FLrSCkGIhj8OLVG/IH+XHVmNMx/KUo8cVWEE6oKR4dJ+S0Rkg==} - - js-sdsl@4.3.0: - resolution: {integrity: sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==} - - js-sha3@0.8.0: - resolution: {integrity: sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==} - - js-tokens@4.0.0: - resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - - js-yaml@3.14.1: - resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} - hasBin: true - - js-yaml@4.1.0: - resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} - hasBin: true - - jsesc@0.5.0: - resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} - hasBin: true - - jsesc@2.5.2: - resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} - engines: {node: '>=4'} - hasBin: true - - jsesc@3.0.2: - resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} - engines: {node: '>=6'} - hasBin: true - - json-buffer@3.0.1: - resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} - - json-parse-even-better-errors@2.3.1: - resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} - - json-schema-traverse@0.4.1: - resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} - - json-schema-traverse@1.0.0: - resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} - - json-schema-typed@7.0.3: - resolution: {integrity: sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A==} - - json-stable-stringify-without-jsonify@1.0.1: - resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} - - json-stable-stringify@1.1.1: - resolution: {integrity: sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg==} - engines: {node: '>= 0.4'} - - json-to-pretty-yaml@1.2.2: - resolution: {integrity: sha512-rvm6hunfCcqegwYaG5T4yKJWxc9FXFgBVrcTZ4XfSVRwa5HA/Xs+vB/Eo9treYYHCeNM0nrSUr82V/M31Urc7A==} - engines: {node: '>= 0.2.0'} - - json5@1.0.2: - resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} - hasBin: true - - json5@2.2.3: - resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} - engines: {node: '>=6'} - hasBin: true - - jsonfile@2.4.0: - resolution: {integrity: sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==} - - jsonfile@4.0.0: - resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} - - jsonfile@6.1.0: - resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} - - jsonify@0.0.1: - resolution: {integrity: sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==} - - jsonschema@1.4.1: - resolution: {integrity: sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ==} - - jsx-ast-utils@3.3.5: - resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} - engines: {node: '>=4.0'} - - just-memoize@2.2.0: - resolution: {integrity: sha512-zriv+MY+61RXT0QsrO1ZJtL5umouqqSWmCGBkp2wJm35kniunBAA4qhUKx8Lvg/QcwrF9xuw9E6PkevKFf4boQ==} - - keccak@3.0.4: - resolution: {integrity: sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==} - engines: {node: '>=10.0.0'} - - keyv@4.5.4: - resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - - kind-of@6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} - - klaw@1.3.1: - resolution: {integrity: sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==} - - kleur@3.0.3: - resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} - engines: {node: '>=6'} - - kysely-codegen@0.10.1: - resolution: {integrity: sha512-8Bslh952gN5gtucRv4jTZDFD18RBioS6M50zHfe5kwb5iSyEAunU4ZYMdHzkHraa4zxjg5/183XlOryBCXLRIw==} - hasBin: true - peerDependencies: - better-sqlite3: '>=7.6.2' - kysely: '>=0.19.12' - mysql2: ^2.3.3 || ^3.0.0 - pg: ^8.8.0 - peerDependenciesMeta: - better-sqlite3: - optional: true - mysql2: - optional: true - pg: - optional: true - - kysely-codegen@0.15.0: - resolution: {integrity: sha512-LPta2nQOyoEPDQ3w/Gsplc+2iyZPAsGvtWoS21VzOB0NDQ0B38Xy1gS8WlbGef542Zdw2eLJHxekud9DzVdNRw==} - hasBin: true - peerDependencies: - '@libsql/kysely-libsql': ^0.3.0 - '@tediousjs/connection-string': ^0.5.0 - better-sqlite3: '>=7.6.2' - kysely: ^0.27.0 - kysely-bun-worker: ^0.5.3 - mysql2: ^2.3.3 || ^3.0.0 - pg: ^8.8.0 - tarn: ^3.0.0 - tedious: ^16.6.0 || ^17.0.0 - peerDependenciesMeta: - '@libsql/kysely-libsql': - optional: true - '@tediousjs/connection-string': - optional: true - better-sqlite3: - optional: true - kysely-bun-worker: - optional: true - mysql2: - optional: true - pg: - optional: true - tarn: - optional: true - tedious: - optional: true - - kysely-data-api@0.2.1: - resolution: {integrity: sha512-KmASvF1gmjVqyU9WOUXhCQlv29ofR+xc2DhjaIomz1+Bjd/VtR2/3g4ZuXwG1L4lWGKxMuo5iOvK3XyPbB4LdQ==} - peerDependencies: - '@aws-sdk/client-rds-data': 3.x - kysely: 0.x - - kysely-postgres-js@2.0.0: - resolution: {integrity: sha512-R1tWx6/x3tSatWvsmbHJxpBZYhNNxcnMw52QzZaHKg7ZOWtHib4iZyEaw4gb2hNKVctWQ3jfMxZT/ZaEMK6kBQ==} - peerDependencies: - kysely: '>= 0.24.0 < 1' - postgres: '>= 3.4.0 < 4' - - kysely@0.25.0: - resolution: {integrity: sha512-srn0efIMu5IoEBk0tBmtGnoUss4uwvxtbFQWG/U2MosfqIace1l43IFP1PmEpHRDp+Z79xIcKEqmHH3dAvQdQA==} - engines: {node: '>=14.0.0'} - - kysely@0.27.3: - resolution: {integrity: sha512-lG03Ru+XyOJFsjH3OMY6R/9U38IjDPfnOfDgO3ynhbDr+Dz8fak+X6L62vqu3iybQnj+lG84OttBuU9KY3L9kA==} - engines: {node: '>=14.0.0'} - - language-subtag-registry@0.3.22: - resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} - - language-tags@1.0.9: - resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} - engines: {node: '>=0.10'} - - lazystream@1.0.1: - resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} - engines: {node: '>= 0.6.3'} - - leven@2.1.0: - resolution: {integrity: sha512-nvVPLpIHUxCUoRLrFqTgSxXJ614d8AgQoWl7zPe/2VadE8+1dpU3LBhowRuBAcuwruWtOdD8oYC9jDNJjXDPyA==} - engines: {node: '>=0.10.0'} - - leven@3.1.0: - resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} - engines: {node: '>=6'} - - levn@0.3.0: - resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} - engines: {node: '>= 0.8.0'} - - levn@0.4.1: - resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} - engines: {node: '>= 0.8.0'} - - lines-and-columns@1.2.4: - resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - - listr2@4.0.5: - resolution: {integrity: sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==} - engines: {node: '>=12'} - peerDependencies: - enquirer: '>= 2.3.0 < 3' - peerDependenciesMeta: - enquirer: - optional: true - - locate-path@2.0.0: - resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} - engines: {node: '>=4'} - - locate-path@3.0.0: - resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} - engines: {node: '>=6'} - - locate-path@5.0.0: - resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} - engines: {node: '>=8'} - - locate-path@6.0.0: - resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} - engines: {node: '>=10'} - - lodash.clonedeep@4.5.0: - resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==} - - lodash.defaults@4.2.0: - resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} - - lodash.difference@4.5.0: - resolution: {integrity: sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==} - - lodash.flatten@4.4.0: - resolution: {integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==} - - lodash.isplainobject@4.0.6: - resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} - - lodash.memoize@4.1.2: - resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} - - lodash.merge@4.6.2: - resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - - lodash.sortby@4.7.0: - resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} - - lodash.truncate@4.4.2: - resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} - - lodash.union@4.6.0: - resolution: {integrity: sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==} - - lodash@4.17.21: - resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} - - log-symbols@4.1.0: - resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} - engines: {node: '>=10'} - - log-symbols@5.1.0: - resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==} - engines: {node: '>=12'} - - log-update@4.0.0: - resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} - engines: {node: '>=10'} - - loglevel@1.9.1: - resolution: {integrity: sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==} - engines: {node: '>= 0.6.0'} - - loose-envify@1.4.0: - resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} - hasBin: true - - loupe@2.3.7: - resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} - - lower-case-first@2.0.2: - resolution: {integrity: sha512-EVm/rR94FJTZi3zefZ82fLWab+GX14LJN4HrWBcuo6Evmsl9hEfnqxgcHCKb9q+mNf6EVdsjx/qucYFIIB84pg==} - - lower-case@2.0.2: - resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} - - lru-cache@10.2.0: - resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} - engines: {node: 14 || >=16.14} - - lru-cache@5.1.1: - resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} - - lru-cache@6.0.0: - resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} - engines: {node: '>=10'} - - lru-cache@7.18.3: - resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} - engines: {node: '>=12'} - - lru_map@0.3.3: - resolution: {integrity: sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==} - - madge@7.0.0: - resolution: {integrity: sha512-x9eHkBWoCJ2B8yGesWf8LRucarkbH5P3lazqgvmxe4xn5U2Meyfu906iG9mBB1RnY/f4D+gtELWdiz1k6+jAZA==} - engines: {node: '>=14'} - hasBin: true - peerDependencies: - typescript: ^3.9.5 || ^4.9.5 || ^5 - peerDependenciesMeta: - typescript: - optional: true - - make-dir@4.0.0: - resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} - engines: {node: '>=10'} - - make-error@1.3.6: - resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} - - makeerror@1.0.12: - resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} - - map-cache@0.2.2: - resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} - engines: {node: '>=0.10.0'} - - markdown-table@1.1.3: - resolution: {integrity: sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==} - - mathjs@10.6.4: - resolution: {integrity: sha512-omQyvRE1jIy+3k2qsqkWASOcd45aZguXZDckr3HtnTYyXk5+2xpVfC3kATgbO2Srjxlqww3TVdhD0oUdZ/hiFA==} - engines: {node: '>= 14'} - hasBin: true - - md5.js@1.3.5: - resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} - - media-typer@0.3.0: - resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} - engines: {node: '>= 0.6'} - - memorystream@0.3.1: - resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} - engines: {node: '>= 0.10.0'} - - merge-descriptors@1.0.1: - resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} - - merge-stream@2.0.0: - resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} - - merge2@1.4.1: - resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} - engines: {node: '>= 8'} - - meros@1.3.0: - resolution: {integrity: sha512-2BNGOimxEz5hmjUG2FwoxCt5HN7BXdaWyFqEwxPTrJzVdABtrL4TiHTcsWSFAxPQ/tOnEaQEJh3qWq71QRMY+w==} - engines: {node: '>=13'} - peerDependencies: - '@types/node': '>=13' - peerDependenciesMeta: - '@types/node': - optional: true - - methods@1.1.2: - resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} - engines: {node: '>= 0.6'} - - micro-ftch@0.3.1: - resolution: {integrity: sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==} - - micromatch@4.0.5: - resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} - engines: {node: '>=8.6'} - - mime-db@1.52.0: - resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} - engines: {node: '>= 0.6'} - - mime-types@2.1.35: - resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} - engines: {node: '>= 0.6'} - - mime@1.6.0: - resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} - engines: {node: '>=4'} - hasBin: true - - mime@2.6.0: - resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} - engines: {node: '>=4.0.0'} - hasBin: true - - mimic-fn@2.1.0: - resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} - engines: {node: '>=6'} - - mimic-fn@3.1.0: - resolution: {integrity: sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==} - engines: {node: '>=8'} - - min-indent@1.0.1: - resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} - engines: {node: '>=4'} - - minimalistic-assert@1.0.1: - resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} - - minimalistic-crypto-utils@1.0.1: - resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} - - minimatch@3.1.2: - resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - - minimatch@4.2.3: - resolution: {integrity: sha512-lIUdtK5hdofgCTu3aT0sOaHsYR37viUuIc0rwnnDXImbwFRcumyLMeZaM0t0I/fgxS6s6JMfu0rLD1Wz9pv1ng==} - engines: {node: '>=10'} - - minimatch@5.0.1: - resolution: {integrity: sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==} - engines: {node: '>=10'} - - minimatch@5.1.6: - resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} - engines: {node: '>=10'} - - minimatch@6.2.0: - resolution: {integrity: sha512-sauLxniAmvnhhRjFwPNnJKaPFYyddAgbYdeUpHULtCT/GhzdCx/MDNy+Y40lBxTQUrMzDE8e0S43Z5uqfO0REg==} - engines: {node: '>=10'} - - minimatch@9.0.3: - resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} - engines: {node: '>=16 || 14 >=14.17'} - - minimatch@9.0.4: - resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} - engines: {node: '>=16 || 14 >=14.17'} - - minimist@1.2.6: - resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==} - - minimist@1.2.8: - resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - - minipass@7.0.4: - resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} - engines: {node: '>=16 || 14 >=14.17'} - - mkdirp@0.5.6: - resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} - hasBin: true - - mnemonist@0.38.5: - resolution: {integrity: sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==} - - mnemonist@0.39.8: - resolution: {integrity: sha512-vyWo2K3fjrUw8YeeZ1zF0fy6Mu59RHokURlld8ymdUPjMlD9EC9ov1/YPqTgqRvUN9nTr3Gqfz29LYAmu0PHPQ==} - - mocha@10.4.0: - resolution: {integrity: sha512-eqhGB8JKapEYcC4ytX/xrzKforgEc3j1pGlAXVy3eRwrtAy5/nIfT1SvgGzfN0XZZxeLq0aQWkOUAmqIJiv+bA==} - engines: {node: '>= 14.0.0'} - hasBin: true - - module-definition@5.0.1: - resolution: {integrity: sha512-kvw3B4G19IXk+BOXnYq/D/VeO9qfHaapMeuS7w7sNUqmGaA6hywdFHMi+VWeR9wUScXM7XjoryTffCZ5B0/8IA==} - engines: {node: '>=14'} - hasBin: true - - module-lookup-amd@8.0.5: - resolution: {integrity: sha512-vc3rYLjDo5Frjox8NZpiyLXsNWJ5BWshztc/5KSOMzpg9k5cHH652YsJ7VKKmtM4SvaxuE9RkrYGhiSjH3Ehow==} - engines: {node: '>=14'} - hasBin: true - - mqtt-packet@6.10.0: - resolution: {integrity: sha512-ja8+mFKIHdB1Tpl6vac+sktqy3gA8t9Mduom1BA75cI+R9AHnZOiaBQwpGiWnaVJLDGRdNhQmFaAqd7tkKSMGA==} - - mqtt@4.2.8: - resolution: {integrity: sha512-DJYjlXODVXtSDecN8jnNzi6ItX3+ufGsEs9OB3YV24HtkRrh7kpx8L5M1LuyF0KzaiGtWr2PzDcMGAY60KGOSA==} - engines: {node: '>=10.0.0'} - hasBin: true - - mqtt@4.3.8: - resolution: {integrity: sha512-2xT75uYa0kiPEF/PE0VPdavmEkoBzMT/UL9moid0rAvlCtV48qBwxD62m7Ld/4j8tSkIO1E/iqRl/S72SEOhOw==} - engines: {node: '>=10.0.0'} - hasBin: true - - ms@2.0.0: - resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} - - ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - - ms@2.1.3: - resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} - - mute-stream@0.0.8: - resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} - - mute-stream@1.0.0: - resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} - engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} - - mylas@2.1.13: - resolution: {integrity: sha512-+MrqnJRtxdF+xngFfUUkIMQrUUL0KsxbADUkn23Z/4ibGg192Q+z+CQyiYwvWTsYjJygmMR8+w3ZDa98Zh6ESg==} - engines: {node: '>=12.0.0'} - - nanoid@3.3.7: - resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} - engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} - hasBin: true - - natural-compare@1.4.0: - resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} - - negotiator@0.6.3: - resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} - engines: {node: '>= 0.6'} - - neo-async@2.6.2: - resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - - no-case@3.0.4: - resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} - - node-addon-api@2.0.2: - resolution: {integrity: sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==} - - node-domexception@1.0.0: - resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} - engines: {node: '>=10.5.0'} - - node-emoji@1.11.0: - resolution: {integrity: sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==} - - node-fetch@2.7.0: - resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} - engines: {node: 4.x || >=6.0.0} - peerDependencies: - encoding: ^0.1.0 - peerDependenciesMeta: - encoding: - optional: true - - node-fetch@3.3.2: - resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - node-gyp-build@4.8.0: - resolution: {integrity: sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==} - hasBin: true - - node-int64@0.4.0: - resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} - - node-releases@2.0.14: - resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} - - node-source-walk@6.0.2: - resolution: {integrity: sha512-jn9vOIK/nfqoFCcpK89/VCVaLg1IHE6UVfDOzvqmANaJ/rWCTEdH8RZ1V278nv2jr36BJdyQXIAavBLXpzdlag==} - engines: {node: '>=14'} - - nofilter@3.1.0: - resolution: {integrity: sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==} - engines: {node: '>=12.19'} - - nopt@3.0.6: - resolution: {integrity: sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg==} - hasBin: true - - normalize-package-data@2.5.0: - resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} - - normalize-path@2.1.1: - resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} - engines: {node: '>=0.10.0'} - - normalize-path@3.0.0: - resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} - engines: {node: '>=0.10.0'} - - npm-run-path@4.0.1: - resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} - engines: {node: '>=8'} - - nullthrows@1.1.1: - resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==} - - number-allocator@1.0.14: - resolution: {integrity: sha512-OrL44UTVAvkKdOdRQZIJpLkAdjXGTRda052sN4sO77bKEzYYqWKMBjQvrJFzqygI99gL6Z4u2xctPW1tB8ErvA==} - - number-to-bn@1.7.0: - resolution: {integrity: sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==} - engines: {node: '>=6.5.0', npm: '>=3'} - - object-assign@4.1.1: - resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} - engines: {node: '>=0.10.0'} - - object-hash@2.2.0: - resolution: {integrity: sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==} - engines: {node: '>= 6'} - - object-inspect@1.13.1: - resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} - - object-keys@1.1.1: - resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} - engines: {node: '>= 0.4'} - - object.assign@4.1.5: - resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} - engines: {node: '>= 0.4'} - - object.entries@1.1.8: - resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==} - engines: {node: '>= 0.4'} - - object.fromentries@2.0.8: - resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} - engines: {node: '>= 0.4'} - - object.groupby@1.0.3: - resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} - engines: {node: '>= 0.4'} - - object.hasown@1.1.4: - resolution: {integrity: sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==} - engines: {node: '>= 0.4'} - - object.values@1.2.0: - resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} - engines: {node: '>= 0.4'} - - obliterator@2.0.4: - resolution: {integrity: sha512-lgHwxlxV1qIg1Eap7LgIeoBWIMFibOjbrYPIPJZcI1mmGAI2m3lNYpK12Y+GBdPQ0U1hRwSord7GIaawz962qQ==} - - obuf@1.1.2: - resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} - - oidc-token-hash@5.0.3: - resolution: {integrity: sha512-IF4PcGgzAr6XXSff26Sk/+P4KZFJVuHAJZj3wgO3vX2bMdNVp/QXTP3P7CEm9V1IdG8lDLY3HhiqpsE/nOwpPw==} - engines: {node: ^10.13.0 || >=12.0.0} - - on-finished@2.4.1: - resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} - engines: {node: '>= 0.8'} - - once@1.4.0: - resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} - - onetime@5.1.2: - resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} - engines: {node: '>=6'} - - openid-client@5.6.5: - resolution: {integrity: sha512-5P4qO9nGJzB5PI0LFlhj4Dzg3m4odt0qsJTfyEtZyOlkgpILwEioOhVVJOrS1iVH494S4Ee5OCjjg6Bf5WOj3w==} - - optionator@0.8.3: - resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} - engines: {node: '>= 0.8.0'} - - optionator@0.9.3: - resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} - engines: {node: '>= 0.8.0'} - - ora@5.4.1: - resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} - engines: {node: '>=10'} - - ora@6.3.1: - resolution: {integrity: sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - os-tmpdir@1.0.2: - resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} - engines: {node: '>=0.10.0'} - - p-limit@1.3.0: - resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} - engines: {node: '>=4'} - - p-limit@2.3.0: - resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} - engines: {node: '>=6'} - - p-limit@3.1.0: - resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} - engines: {node: '>=10'} - - p-locate@2.0.0: - resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==} - engines: {node: '>=4'} - - p-locate@3.0.0: - resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} - engines: {node: '>=6'} - - p-locate@4.1.0: - resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} - engines: {node: '>=8'} - - p-locate@5.0.0: - resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} - engines: {node: '>=10'} - - p-map@4.0.0: - resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} - engines: {node: '>=10'} - - p-try@1.0.0: - resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==} - engines: {node: '>=4'} - - p-try@2.2.0: - resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} - engines: {node: '>=6'} - - param-case@3.0.4: - resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} - - parent-module@1.0.1: - resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} - engines: {node: '>=6'} - - parse-cache-control@1.0.1: - resolution: {integrity: sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==} - - parse-filepath@1.0.2: - resolution: {integrity: sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==} - engines: {node: '>=0.8'} - - parse-json@5.2.0: - resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} - engines: {node: '>=8'} - - parse-ms@2.1.0: - resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} - engines: {node: '>=6'} - - parseurl@1.3.3: - resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} - engines: {node: '>= 0.8'} - - pascal-case@3.1.2: - resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} - - patch-console@2.0.0: - resolution: {integrity: sha512-0YNdUceMdaQwoKce1gatDScmMo5pu/tfABfnzEqeG0gtTmd7mh/WcwgUjtAeOU7N8nFFlbQBnFK2gXW5fGvmMA==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - path-case@3.0.4: - resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==} - - path-exists@3.0.0: - resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} - engines: {node: '>=4'} - - path-exists@4.0.0: - resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} - engines: {node: '>=8'} - - path-is-absolute@1.0.1: - resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} - engines: {node: '>=0.10.0'} - - path-key@3.1.1: - resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} - engines: {node: '>=8'} - - path-parse@1.0.7: - resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - - path-root-regex@0.1.2: - resolution: {integrity: sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==} - engines: {node: '>=0.10.0'} - - path-root@0.1.1: - resolution: {integrity: sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==} - engines: {node: '>=0.10.0'} - - path-scurry@1.10.2: - resolution: {integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==} - engines: {node: '>=16 || 14 >=14.17'} - - path-starts-with@2.0.1: - resolution: {integrity: sha512-wZ3AeiRBRlNwkdUxvBANh0+esnt38DLffHDujZyRHkqkaKHTglnY2EP5UX3b8rdeiSutgO4y9NEJwXezNP5vHg==} - engines: {node: '>=8'} - - path-to-regexp@0.1.7: - resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} - - path-type@4.0.0: - resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} - engines: {node: '>=8'} - - pathval@1.1.1: - resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} - - pbkdf2@3.1.2: - resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} - engines: {node: '>=0.12'} - - pg-cloudflare@1.1.1: - resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} - - pg-connection-string@2.6.4: - resolution: {integrity: sha512-v+Z7W/0EO707aNMaAEfiGnGL9sxxumwLl2fJvCQtMn9Fxsg+lPpPkdcyBSv/KFgpGdYkMfn+EI1Or2EHjpgLCA==} - - pg-int8@1.0.1: - resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} - engines: {node: '>=4.0.0'} - - pg-numeric@1.0.2: - resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==} - engines: {node: '>=4'} - - pg-pool@3.6.2: - resolution: {integrity: sha512-Htjbg8BlwXqSBQ9V8Vjtc+vzf/6fVUuak/3/XXKA9oxZprwW3IMDQTGHP+KDmVL7rtd+R1QjbnCFPuTHm3G4hg==} - peerDependencies: - pg: '>=8.0' - - pg-protocol@1.6.1: - resolution: {integrity: sha512-jPIlvgoD63hrEuihvIg+tJhoGjUsLPn6poJY9N5CnlPd91c2T18T/9zBtLxZSb1EhYxBRoZJtzScCaWlYLtktg==} - - pg-types@2.2.0: - resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} - engines: {node: '>=4'} - - pg-types@4.0.2: - resolution: {integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==} - engines: {node: '>=10'} - - pg@8.11.5: - resolution: {integrity: sha512-jqgNHSKL5cbDjFlHyYsCXmQDrfIX/3RsNwYqpd4N0Kt8niLuNoRNH+aazv6cOd43gPh9Y4DjQCtb+X0MH0Hvnw==} - engines: {node: '>= 8.0.0'} - peerDependencies: - pg-native: '>=3.0.1' - peerDependenciesMeta: - pg-native: - optional: true - - pgpass@1.0.5: - resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} - - picocolors@1.0.0: - resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} - - picomatch@2.3.1: - resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} - engines: {node: '>=8.6'} - - pify@4.0.1: - resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} - engines: {node: '>=6'} - - pirates@4.0.6: - resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} - engines: {node: '>= 6'} - - pkg-dir@4.2.0: - resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} - engines: {node: '>=8'} - - pkg-up@3.1.0: - resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} - engines: {node: '>=8'} - - plimit-lit@1.6.1: - resolution: {integrity: sha512-B7+VDyb8Tl6oMJT9oSO2CW8XC/T4UcJGrwOVoNGwOQsQYhlpfajmrMj5xeejqaASq3V/EqThyOeATEOMuSEXiA==} - engines: {node: '>=12'} - - pluralize@8.0.0: - resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} - engines: {node: '>=4'} - - possible-typed-array-names@1.0.0: - resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} - engines: {node: '>= 0.4'} - - postcss-values-parser@6.0.2: - resolution: {integrity: sha512-YLJpK0N1brcNJrs9WatuJFtHaV9q5aAOj+S4DI5S7jgHlRfm0PIbDCAFRYMQD5SHq7Fy6xsDhyutgS0QOAs0qw==} - engines: {node: '>=10'} - peerDependencies: - postcss: ^8.2.9 - - postcss@8.4.38: - resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} - engines: {node: ^10 || ^12 || >=14} - - postgres-array@2.0.0: - resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} - engines: {node: '>=4'} - - postgres-array@3.0.2: - resolution: {integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==} - engines: {node: '>=12'} - - postgres-bytea@1.0.0: - resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} - engines: {node: '>=0.10.0'} - - postgres-bytea@3.0.0: - resolution: {integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==} - engines: {node: '>= 6'} - - postgres-date@1.0.7: - resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} - engines: {node: '>=0.10.0'} - - postgres-date@2.1.0: - resolution: {integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==} - engines: {node: '>=12'} - - postgres-interval@1.2.0: - resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} - engines: {node: '>=0.10.0'} - - postgres-interval@3.0.0: - resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==} - engines: {node: '>=12'} - - postgres-range@1.1.4: - resolution: {integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==} - - postgres@3.4.4: - resolution: {integrity: sha512-IbyN+9KslkqcXa8AO9fxpk97PA4pzewvpi2B3Dwy9u4zpV32QicaEdgmF3eSQUzdRk7ttDHQejNgAEr4XoeH4A==} - engines: {node: '>=12'} - - precinct@11.0.5: - resolution: {integrity: sha512-oHSWLC8cL/0znFhvln26D14KfCQFFn4KOLSw6hmLhd+LQ2SKt9Ljm89but76Pc7flM9Ty1TnXyrA2u16MfRV3w==} - engines: {node: ^14.14.0 || >=16.0.0} - hasBin: true - - prelude-ls@1.1.2: - resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} - engines: {node: '>= 0.8.0'} - - prelude-ls@1.2.1: - resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} - engines: {node: '>= 0.8.0'} - - prettier-plugin-packagejson@2.5.0: - resolution: {integrity: sha512-6XkH3rpin5QEQodBSVNg+rBo4r91g/1mCaRwS1YGdQJZ6jwqrg2UchBsIG9tpS1yK1kNBvOt84OILsX8uHzBGg==} - peerDependencies: - prettier: '>= 1.16.0' - peerDependenciesMeta: - prettier: - optional: true - - prettier@3.2.5: - resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} - engines: {node: '>=14'} - hasBin: true - - pretty-format@29.7.0: - resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} - engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} - - pretty-ms@7.0.1: - resolution: {integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==} - engines: {node: '>=10'} - - process-nextick-args@2.0.1: - resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - - process@0.11.10: - resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} - engines: {node: '>= 0.6.0'} - - promise@7.3.1: - resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==} - - promise@8.3.0: - resolution: {integrity: sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==} - - promptly@3.2.0: - resolution: {integrity: sha512-WnR9obtgW+rG4oUV3hSnNGl1pHm3V1H/qD9iJBumGSmVsSC5HpZOLuu8qdMb6yCItGfT7dcRszejr/5P3i9Pug==} - - prompts@2.4.2: - resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} - engines: {node: '>= 6'} - - prop-types@15.8.1: - resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} - - proxy-addr@2.0.7: - resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} - engines: {node: '>= 0.10'} - - proxy-from-env@1.1.0: - resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - - pump@3.0.0: - resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} - - punycode@1.3.2: - resolution: {integrity: sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==} - - punycode@1.4.1: - resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} - - punycode@2.3.1: - resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} - engines: {node: '>=6'} - - pure-rand@6.1.0: - resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} - - pvtsutils@1.3.5: - resolution: {integrity: sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA==} - - pvutils@1.1.3: - resolution: {integrity: sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==} - engines: {node: '>=6.0.0'} - - qs@6.11.0: - resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} - engines: {node: '>=0.6'} - - qs@6.12.1: - resolution: {integrity: sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==} - engines: {node: '>=0.6'} - - querystring@0.2.0: - resolution: {integrity: sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==} - engines: {node: '>=0.4.x'} - deprecated: The querystring API is considered Legacy. new code should use the URLSearchParams API instead. - - queue-lit@1.5.2: - resolution: {integrity: sha512-tLc36IOPeMAubu8BkW8YDBV+WyIgKlYU7zUNs0J5Vk9skSZ4JfGlPOqplP0aHdfv7HL0B2Pg6nwiq60Qc6M2Hw==} - engines: {node: '>=12'} - - queue-microtask@1.2.3: - resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - - quote-unquote@1.0.0: - resolution: {integrity: sha512-twwRO/ilhlG/FIgYeKGFqyHhoEhqgnKVkcmqMKi2r524gz3ZbDTcyFt38E9xjJI2vT+KbRNHVbnJ/e0I25Azwg==} - - randombytes@2.1.0: - resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} - - range-parser@1.2.1: - resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} - engines: {node: '>= 0.6'} - - raw-body@2.5.2: - resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} - engines: {node: '>= 0.8'} - - rc@1.2.8: - resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} - hasBin: true - - react-is@16.13.1: - resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} - - react-is@18.2.0: - resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} - - react-reconciler@0.29.0: - resolution: {integrity: sha512-wa0fGj7Zht1EYMRhKWwoo1H9GApxYLBuhoAuXN0TlltESAjDssB+Apf0T/DngVqaMyPypDmabL37vw/2aRM98Q==} - engines: {node: '>=0.10.0'} - peerDependencies: - react: ^18.2.0 - - react@18.2.0: - resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} - engines: {node: '>=0.10.0'} - - read-pkg-up@7.0.1: - resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} - engines: {node: '>=8'} - - read-pkg@5.2.0: - resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} - engines: {node: '>=8'} - - read@1.0.7: - resolution: {integrity: sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ==} - engines: {node: '>=0.8'} - - readable-stream@2.3.8: - resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} - - readable-stream@3.6.2: - resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} - engines: {node: '>= 6'} - - readdir-glob@1.1.3: - resolution: {integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==} - - readdirp@3.6.0: - resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} - engines: {node: '>=8.10.0'} - - rechoir@0.6.2: - resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} - engines: {node: '>= 0.10'} - - recursive-readdir@2.2.3: - resolution: {integrity: sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==} - engines: {node: '>=6.0.0'} - - redis@4.6.13: - resolution: {integrity: sha512-MHgkS4B+sPjCXpf+HfdetBwbRz6vCtsceTmw1pHNYJAsYxrfpOP6dz+piJWGos8wqG7qb3vj/Rrc5qOlmInUuA==} - - reflect.getprototypeof@1.0.6: - resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==} - engines: {node: '>= 0.4'} - - regenerator-runtime@0.14.1: - resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} - - regexp-tree@0.1.27: - resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} - hasBin: true - - regexp.prototype.flags@1.5.2: - resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} - engines: {node: '>= 0.4'} - - regjsparser@0.10.0: - resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} - hasBin: true - - reinterval@1.1.0: - resolution: {integrity: sha512-QIRet3SYrGp0HUHO88jVskiG6seqUGC5iAG7AwI/BV4ypGcuqk9Du6YQBUOUqm9c8pw1eyLoIaONifRua1lsEQ==} - - relay-runtime@12.0.0: - resolution: {integrity: sha512-QU6JKr1tMsry22DXNy9Whsq5rmvwr3LSZiiWV/9+DFpuTWvp+WFhobWMc8TC4OjKFfNhEZy7mOiqUAn5atQtug==} - - remeda@1.59.0: - resolution: {integrity: sha512-yqIz7z+eriLF6ll4TxhUM56b2wIrmHgJNbzRGYqfJ0Jx6QOioSvGJuT9jD6MqtKzGUizaxSlJZXTVYjVSC4Qig==} - - remedial@1.0.8: - resolution: {integrity: sha512-/62tYiOe6DzS5BqVsNpH/nkGlX45C/Sp6V+NtiN6JQNS1Viay7cWkazmRkrQrdFj2eshDe96SIQNIoMxqhzBOg==} - - remove-trailing-separator@1.1.0: - resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} - - remove-trailing-spaces@1.0.8: - resolution: {integrity: sha512-O3vsMYfWighyFbTd8hk8VaSj9UAGENxAtX+//ugIst2RMk5e03h6RoIS+0ylsFxY1gvmPuAY/PO4It+gPEeySA==} - - req-cwd@2.0.0: - resolution: {integrity: sha512-ueoIoLo1OfB6b05COxAA9UpeoscNpYyM+BqYlA7H6LVF4hKGPXQQSSaD2YmvDVJMkk4UDpAHIeU1zG53IqjvlQ==} - engines: {node: '>=4'} - - req-from@2.0.0: - resolution: {integrity: sha512-LzTfEVDVQHBRfjOUMgNBA+V6DWsSnoeKzf42J7l0xa/B4jyPOuuF5MlNSmomLNGemWTnV2TIdjSSLnEn95fOQA==} - engines: {node: '>=4'} - - require-directory@2.1.1: - resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} - engines: {node: '>=0.10.0'} - - require-from-string@2.0.2: - resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} - engines: {node: '>=0.10.0'} - - require-main-filename@2.0.0: - resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} - - requirejs-config-file@4.0.0: - resolution: {integrity: sha512-jnIre8cbWOyvr8a5F2KuqBnY+SDA4NXr/hzEZJG79Mxm2WiFQz2dzhC8ibtPJS7zkmBEl1mxSwp5HhC1W4qpxw==} - engines: {node: '>=10.13.0'} - - requirejs@2.3.6: - resolution: {integrity: sha512-ipEzlWQe6RK3jkzikgCupiTbTvm4S0/CAU5GlgptkN5SO6F3u0UD0K18wy6ErDqiCyP4J4YYe1HuAShvsxePLg==} - engines: {node: '>=0.4.0'} - hasBin: true - - resolve-cwd@3.0.0: - resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} - engines: {node: '>=8'} - - resolve-dependency-path@3.0.2: - resolution: {integrity: sha512-Tz7zfjhLfsvR39ADOSk9us4421J/1ztVBo4rWUkF38hgHK5m0OCZ3NxFVpqHRkjctnwVa15igEUHFJp8MCS7vA==} - engines: {node: '>=14'} - - resolve-from@3.0.0: - resolution: {integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==} - engines: {node: '>=4'} - - resolve-from@4.0.0: - resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} - engines: {node: '>=4'} - - resolve-from@5.0.0: - resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} - engines: {node: '>=8'} - - resolve-pkg-maps@1.0.0: - resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} - - resolve.exports@2.0.2: - resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} - engines: {node: '>=10'} - - resolve@1.1.7: - resolution: {integrity: sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==} - - resolve@1.17.0: - resolution: {integrity: sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==} - - resolve@1.19.0: - resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} - - resolve@1.22.8: - resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} - hasBin: true - - resolve@2.0.0-next.5: - resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} - hasBin: true - - restore-cursor@3.1.0: - resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} - engines: {node: '>=8'} - - restore-cursor@4.0.0: - resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - reusify@1.0.4: - resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} - engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - - reverse-mirage@1.1.0: - resolution: {integrity: sha512-cA1O7GR0pn4rMFoaiEG7Skms9GenuW91DtCxeR5hphyNhH90eowV4RmUVlVPVS11CPkezm/iUjnCfmxlHri05w==} - peerDependencies: - typescript: '>=5.0.4' - viem: '>=2' - peerDependenciesMeta: - typescript: - optional: true - - rfdc@1.3.1: - resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} - - rimraf@2.7.1: - resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} - hasBin: true - - rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - hasBin: true - - ripemd160@2.0.2: - resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} - - rlp@2.2.7: - resolution: {integrity: sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==} - hasBin: true - - run-async@2.4.1: - resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} - engines: {node: '>=0.12.0'} - - run-parallel@1.2.0: - resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} - - rxjs@7.8.1: - resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} - - safe-array-concat@1.1.2: - resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} - engines: {node: '>=0.4'} - - safe-buffer@5.1.2: - resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} - - safe-buffer@5.2.1: - resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - - safe-regex-test@1.0.3: - resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} - engines: {node: '>= 0.4'} - - safer-buffer@2.1.2: - resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - - sass-lookup@5.0.1: - resolution: {integrity: sha512-t0X5PaizPc2H4+rCwszAqHZRtr4bugo4pgiCvrBFvIX0XFxnr29g77LJcpyj9A0DcKf7gXMLcgvRjsonYI6x4g==} - engines: {node: '>=14'} - hasBin: true - - sax@1.2.1: - resolution: {integrity: sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==} - - sc-istanbul@0.4.6: - resolution: {integrity: sha512-qJFF/8tW/zJsbyfh/iT/ZM5QNHE3CXxtLJbZsL+CzdJLBsPD7SedJZoUA4d8iAcN2IoMp/Dx80shOOd2x96X/g==} - hasBin: true - - scheduler@0.23.0: - resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} - - scrypt-js@3.0.1: - resolution: {integrity: sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==} - - scuid@1.1.0: - resolution: {integrity: sha512-MuCAyrGZcTLfQoH2XoBlQ8C6bzwN88XT/0slOGz0pn8+gIP85BOAfYa44ZXQUTOwRwPU0QvgU+V+OSajl/59Xg==} - - secp256k1@4.0.3: - resolution: {integrity: sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==} - engines: {node: '>=10.0.0'} - - seedrandom@3.0.5: - resolution: {integrity: sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==} - - semver@5.7.2: - resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} - hasBin: true - - semver@6.3.1: - resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} - hasBin: true - - semver@7.6.0: - resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} - engines: {node: '>=10'} - hasBin: true - - send@0.18.0: - resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} - engines: {node: '>= 0.8.0'} - - sentence-case@3.0.4: - resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} - - serialize-javascript@6.0.0: - resolution: {integrity: sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==} - - serve-static@1.15.0: - resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} - engines: {node: '>= 0.8.0'} - - set-blocking@2.0.0: - resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} - - set-function-length@1.2.2: - resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} - engines: {node: '>= 0.4'} - - set-function-name@2.0.2: - resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} - engines: {node: '>= 0.4'} - - setimmediate@1.0.5: - resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} - - setprototypeof@1.2.0: - resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - - sha.js@2.4.11: - resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} - hasBin: true - - sha1@1.1.1: - resolution: {integrity: sha512-dZBS6OrMjtgVkopB1Gmo4RQCDKiZsqcpAQpkV/aaj+FCrCg8r4I4qMkDPQjBgLIxlmu9k4nUbWq6ohXahOneYA==} - - shebang-command@2.0.0: - resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} - engines: {node: '>=8'} - - shebang-regex@3.0.0: - resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} - engines: {node: '>=8'} - - shell-quote@1.8.1: - resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} - - shelljs.exec@1.1.8: - resolution: {integrity: sha512-vFILCw+lzUtiwBAHV8/Ex8JsFjelFMdhONIsgKNLgTzeRckp2AOYRQtHJE/9LhNvdMmE27AGtzWx0+DHpwIwSw==} - engines: {node: '>= 4.0.0'} - - shelljs@0.8.5: - resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} - engines: {node: '>=4'} - hasBin: true - - shimmer@1.2.1: - resolution: {integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==} - - side-channel@1.0.6: - resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} - engines: {node: '>= 0.4'} - - signal-exit@3.0.7: - resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} - - signal-exit@4.1.0: - resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} - engines: {node: '>=14'} - - signedsource@1.0.0: - resolution: {integrity: sha512-6+eerH9fEnNmi/hyM1DXcRK3pWdoMQtlkQ+ns0ntzunjKqp5i3sKCc80ym8Fib3iaYhdJUOPdhlJWj1tvge2Ww==} - - sisteransi@1.0.5: - resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} - - slash@3.0.0: - resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} - engines: {node: '>=8'} - - slash@4.0.0: - resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} - engines: {node: '>=12'} - - slice-ansi@3.0.0: - resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} - engines: {node: '>=8'} - - slice-ansi@4.0.0: - resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} - engines: {node: '>=10'} - - slice-ansi@5.0.0: - resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} - engines: {node: '>=12'} - - slice-ansi@6.0.0: - resolution: {integrity: sha512-6bn4hRfkTvDfUoEQYkERg0BVF1D0vrX9HEkMl08uDiNWvVvjylLHvZFZWkDo6wjT8tUctbYl1nCOuE66ZTaUtA==} - engines: {node: '>=14.16'} - - snake-case@3.0.4: - resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} - - solc@0.7.3: - resolution: {integrity: sha512-GAsWNAjGzIDg7VxzP6mPjdurby3IkGCjQcM8GFYZT6RyaoUZKmMU6Y7YwG+tFGhv7dwZ8rmR4iwFDrrD99JwqA==} - engines: {node: '>=8.0.0'} - hasBin: true - - solidity-ast@0.4.56: - resolution: {integrity: sha512-HgmsA/Gfklm/M8GFbCX/J1qkVH0spXHgALCNZ8fA8x5X+MFdn/8CP2gr5OVyXjXw6RZTPC/Sxl2RUDQOXyNMeA==} - - solidity-coverage@0.8.12: - resolution: {integrity: sha512-8cOB1PtjnjFRqOgwFiD8DaUsYJtVJ6+YdXQtSZDrLGf8cdhhh8xzTtGzVTGeBf15kTv0v7lYPJlV/az7zLEPJw==} - hasBin: true - peerDependencies: - hardhat: ^2.11.0 - - solidity-docgen@0.6.0-beta.36: - resolution: {integrity: sha512-f/I5G2iJgU1h0XrrjRD0hHMr7C10u276vYvm//rw1TzFcYQ4xTOyAoi9oNAHRU0JU4mY9eTuxdVc2zahdMuhaQ==} - peerDependencies: - hardhat: ^2.8.0 - - sort-object-keys@1.1.3: - resolution: {integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==} - - sort-package-json@2.10.0: - resolution: {integrity: sha512-MYecfvObMwJjjJskhxYfuOADkXp1ZMMnCFC8yhp+9HDsk7HhR336hd7eiBs96lTXfiqmUNI+WQCeCMRBhl251g==} - hasBin: true - - source-map-js@1.2.0: - resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} - engines: {node: '>=0.10.0'} - - source-map-support@0.5.13: - resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} - - source-map-support@0.5.21: - resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} - - source-map@0.2.0: - resolution: {integrity: sha512-CBdZ2oa/BHhS4xj5DlhjWNHcan57/5YuvfdLf17iVmIpd9KRm+DFLmC6nBNj+6Ua7Kt3TmOjDpQT1aTYOQtoUA==} - engines: {node: '>=0.8.0'} - - source-map@0.6.1: - resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} - engines: {node: '>=0.10.0'} - - spdx-correct@3.2.0: - resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} - - spdx-exceptions@2.5.0: - resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} - - spdx-expression-parse@3.0.1: - resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} - - spdx-license-ids@3.0.17: - resolution: {integrity: sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==} - - split2@3.2.2: - resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} - - split2@4.2.0: - resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} - engines: {node: '>= 10.x'} - - sponge-case@1.0.1: - resolution: {integrity: sha512-dblb9Et4DAtiZ5YSUZHLl4XhH4uK80GhAZrVXdN4O2P4gQ40Wa5UIOPUHlA/nFd2PLblBZWUioLMMAVrgpoYcA==} - - sprintf-js@1.0.3: - resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} - - sst-aws-cdk@2.132.1: - resolution: {integrity: sha512-zep3sr+XkCmw9rHjgYQc44G+6s4eB/yxgLCCoi1h6R2AN8IarwZ4aHRwxAfigmJTPXYO6kmsxBIOcwjKy+oi3g==} - engines: {node: '>= 14.15.0'} - hasBin: true - - sst@2.41.5: - resolution: {integrity: sha512-IM1O1CnDcrjAAsl0ag9fXxQ7zyjYXyZDxBZwcdrAbjnijaSBMheC9v3b+WMXmRj1YBiVOjGAHIgzkTJVp/REvg==} - hasBin: true - peerDependencies: - '@sls-next/lambda-at-edge': ^3.7.0 - peerDependenciesMeta: - '@sls-next/lambda-at-edge': - optional: true - - stack-chain@1.3.7: - resolution: {integrity: sha512-D8cWtWVdIe/jBA7v5p5Hwl5yOSOrmZPWDPe2KxQ5UAGD+nxbxU0lKXA4h85Ta6+qgdKVL3vUxsbIZjc1kBG7ug==} - - stack-utils@2.0.6: - resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} - engines: {node: '>=10'} - - stacktrace-parser@0.1.10: - resolution: {integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==} - engines: {node: '>=6'} - - statuses@2.0.1: - resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} - engines: {node: '>= 0.8'} - - stdin-discarder@0.1.0: - resolution: {integrity: sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - - stream-shift@1.0.3: - resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==} - - stream-to-array@2.3.0: - resolution: {integrity: sha512-UsZtOYEn4tWU2RGLOXr/o/xjRBftZRlG3dEWoaHr8j4GuypJ3isitGbVyjQKAuMu+xbiop8q224TjiZWc4XTZA==} - - streamsearch@1.1.0: - resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} - engines: {node: '>=10.0.0'} - - string-env-interpolation@1.0.1: - resolution: {integrity: sha512-78lwMoCcn0nNu8LszbP1UA7g55OeE4v7rCeWnM5B453rnNr4aq+5it3FEYtZrSEiMvHZOZ9Jlqb0OD0M2VInqg==} - - string-length@4.0.2: - resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} - engines: {node: '>=10'} - - string-width@2.1.1: - resolution: {integrity: sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==} - engines: {node: '>=4'} - - string-width@4.2.3: - resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} - engines: {node: '>=8'} - - string-width@5.1.2: - resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} - engines: {node: '>=12'} - - string.prototype.matchall@4.0.11: - resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} - engines: {node: '>= 0.4'} - - string.prototype.trim@1.2.9: - resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} - engines: {node: '>= 0.4'} - - string.prototype.trimend@1.0.8: - resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} - - string.prototype.trimstart@1.0.8: - resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} - engines: {node: '>= 0.4'} - - string_decoder@1.1.1: - resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} - - string_decoder@1.3.0: - resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} - - stringify-object@3.3.0: - resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} - engines: {node: '>=4'} - - strip-ansi@4.0.0: - resolution: {integrity: sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==} - engines: {node: '>=4'} - - strip-ansi@6.0.1: - resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} - engines: {node: '>=8'} - - strip-ansi@7.1.0: - resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} - engines: {node: '>=12'} - - strip-bom@3.0.0: - resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} - engines: {node: '>=4'} - - strip-bom@4.0.0: - resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} - engines: {node: '>=8'} - - strip-final-newline@2.0.0: - resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} - engines: {node: '>=6'} - - strip-hex-prefix@1.0.0: - resolution: {integrity: sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==} - engines: {node: '>=6.5.0', npm: '>=3'} - - strip-indent@3.0.0: - resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} - engines: {node: '>=8'} - - strip-json-comments@2.0.1: - resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} - engines: {node: '>=0.10.0'} - - strip-json-comments@3.1.1: - resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} - engines: {node: '>=8'} - - strnum@1.0.5: - resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} - - stylus-lookup@5.0.1: - resolution: {integrity: sha512-tLtJEd5AGvnVy4f9UHQMw4bkJJtaAcmo54N+ovQBjDY3DuWyK9Eltxzr5+KG0q4ew6v2EHyuWWNnHeiw/Eo7rQ==} - engines: {node: '>=14'} - hasBin: true - - superjson@1.13.3: - resolution: {integrity: sha512-mJiVjfd2vokfDxsQPOwJ/PtanO87LhpYY88ubI5dUB1Ab58Txbyje3+jpm+/83R/fevaq/107NNhtYBLuoTrFg==} - engines: {node: '>=10'} - - supports-color@3.2.3: - resolution: {integrity: sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==} - engines: {node: '>=0.8.0'} - - supports-color@5.5.0: - resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} - engines: {node: '>=4'} - - supports-color@7.2.0: - resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} - engines: {node: '>=8'} - - supports-color@8.1.1: - resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} - engines: {node: '>=10'} - - supports-preserve-symlinks-flag@1.0.0: - resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} - engines: {node: '>= 0.4'} - - swap-case@2.0.2: - resolution: {integrity: sha512-kc6S2YS/2yXbtkSMunBtKdah4VFETZ8Oh6ONSmSd9bRxhqTrtARUCBUiWXH3xVPpvR7tz2CSnkuXVE42EcGnMw==} - - sync-request@6.1.0: - resolution: {integrity: sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==} - engines: {node: '>=8.0.0'} - - sync-rpc@1.3.6: - resolution: {integrity: sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==} - - synckit@0.9.0: - resolution: {integrity: sha512-7RnqIMq572L8PeEzKeBINYEJDDxpcH8JEgLwUqBd3TkofhFRbkq4QLR0u+36avGAhCRbk2nnmjcW9SE531hPDg==} - engines: {node: ^14.18.0 || >=16.0.0} - - table@6.8.2: - resolution: {integrity: sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==} - engines: {node: '>=10.0.0'} - - tapable@2.2.1: - resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} - engines: {node: '>=6'} - - tar-stream@2.2.0: - resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} - engines: {node: '>=6'} - - test-exclude@6.0.0: - resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} - engines: {node: '>=8'} - - text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} - - then-request@6.0.2: - resolution: {integrity: sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==} - engines: {node: '>=6.0.0'} - - through@2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} - - tiny-emitter@2.1.0: - resolution: {integrity: sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==} - - title-case@3.0.3: - resolution: {integrity: sha512-e1zGYRvbffpcHIrnuqT0Dh+gEJtDaxDSoG4JAIpq4oDFyooziLBIiYQv0GBT4FUAnUop5uZ1hiIAj7oAF6sOCA==} - - tmp@0.0.33: - resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} - engines: {node: '>=0.6.0'} - - tmpl@1.0.5: - resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} - - to-fast-properties@2.0.0: - resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} - engines: {node: '>=4'} - - to-regex-range@5.0.1: - resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} - engines: {node: '>=8.0'} - - toidentifier@1.0.1: - resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} - engines: {node: '>=0.6'} - - tr46@0.0.3: - resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - - tree-kill@1.2.2: - resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} - hasBin: true - - ts-api-utils@1.3.0: - resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} - engines: {node: '>=16'} - peerDependencies: - typescript: '>=4.2.0' - - ts-graphviz@1.8.2: - resolution: {integrity: sha512-5YhbFoHmjxa7pgQLkB07MtGnGJ/yhvjmc9uhsnDBEICME6gkPf83SBwLDQqGDoCa3XzUMWLk1AU2Wn1u1naDtA==} - engines: {node: '>=14.16'} - - ts-jest@29.1.2: - resolution: {integrity: sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g==} - engines: {node: ^16.10.0 || ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@babel/core': '>=7.0.0-beta.0 <8' - '@jest/types': ^29.0.0 - babel-jest: ^29.0.0 - esbuild: '*' - jest: ^29.0.0 - typescript: '>=4.3 <6' - peerDependenciesMeta: - '@babel/core': - optional: true - '@jest/types': - optional: true - babel-jest: - optional: true - esbuild: - optional: true - - ts-log@2.2.5: - resolution: {integrity: sha512-PGcnJoTBnVGy6yYNFxWVNkdcAuAMstvutN9MgDJIV6L0oG8fB+ZNNy1T+wJzah8RPGor1mZuPQkVfXNDpy9eHA==} - - ts-node@10.9.2: - resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} - hasBin: true - peerDependencies: - '@swc/core': '>=1.2.50' - '@swc/wasm': '>=1.2.50' - '@types/node': '*' - typescript: '>=2.7' - peerDependenciesMeta: - '@swc/core': - optional: true - '@swc/wasm': - optional: true - - tsc-alias@1.8.8: - resolution: {integrity: sha512-OYUOd2wl0H858NvABWr/BoSKNERw3N9GTi3rHPK8Iv4O1UyUXIrTTOAZNHsjlVpXFOhpJBVARI1s+rzwLivN3Q==} - hasBin: true - - tsconfig-paths@3.15.0: - resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} - - tsconfig-paths@4.2.0: - resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} - engines: {node: '>=6'} - - tslib@1.14.1: - resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - - tslib@2.4.0: - resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} - - tslib@2.6.2: - resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} - - tsort@0.0.1: - resolution: {integrity: sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==} - - tsutils@3.21.0: - resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} - engines: {node: '>= 6'} - peerDependencies: - typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' - - tsx@4.7.2: - resolution: {integrity: sha512-BCNd4kz6fz12fyrgCTEdZHGJ9fWTGeUzXmQysh0RVocDY3h4frk05ZNCXSy4kIenF7y/QnrdiVpTsyNRn6vlAw==} - engines: {node: '>=18.0.0'} - hasBin: true - - tsx@4.9.3: - resolution: {integrity: sha512-czVbetlILiyJZI5zGlj2kw9vFiSeyra9liPD4nG+Thh4pKTi0AmMEQ8zdV/L2xbIVKrIqif4sUNrsMAOksx9Zg==} - engines: {node: '>=18.0.0'} - hasBin: true - - turbo-darwin-64@1.13.2: - resolution: {integrity: sha512-CCSuD8CfmtncpohCuIgq7eAzUas0IwSbHfI8/Q3vKObTdXyN8vAo01gwqXjDGpzG9bTEVedD0GmLbD23dR0MLA==} - cpu: [x64] - os: [darwin] - - turbo-darwin-arm64@1.13.2: - resolution: {integrity: sha512-0HySm06/D2N91rJJ89FbiI/AodmY8B3WDSFTVEpu2+8spUw7hOJ8okWOT0e5iGlyayUP9gr31eOeL3VFZkpfCw==} - cpu: [arm64] - os: [darwin] - - turbo-linux-64@1.13.2: - resolution: {integrity: sha512-7HnibgbqZrjn4lcfIouzlPu8ZHSBtURG4c7Bedu7WJUDeZo+RE1crlrQm8wuwO54S0siYqUqo7GNHxu4IXbioQ==} - cpu: [x64] - os: [linux] - - turbo-linux-arm64@1.13.2: - resolution: {integrity: sha512-sUq4dbpk6SNKg/Hkwn256Vj2AEYSQdG96repio894h5/LEfauIK2QYiC/xxAeW3WBMc6BngmvNyURIg7ltrePg==} - cpu: [arm64] - os: [linux] - - turbo-windows-64@1.13.2: - resolution: {integrity: sha512-DqzhcrciWq3dpzllJR2VVIyOhSlXYCo4mNEWl98DJ3FZ08PEzcI3ceudlH6F0t/nIcfSItK1bDP39cs7YoZHEA==} - cpu: [x64] - os: [win32] - - turbo-windows-arm64@1.13.2: - resolution: {integrity: sha512-WnPMrwfCXxK69CdDfS1/j2DlzcKxSmycgDAqV0XCYpK/812KB0KlvsVAt5PjEbZGXkY88pCJ1BLZHAjF5FcbqA==} - cpu: [arm64] - os: [win32] - - turbo@1.13.2: - resolution: {integrity: sha512-rX/d9f4MgRT3yK6cERPAkfavIxbpBZowDQpgvkYwGMGDQ0Nvw1nc0NVjruE76GrzXQqoxR1UpnmEP54vBARFHQ==} - hasBin: true - - tweetnacl-util@0.15.1: - resolution: {integrity: sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==} - - tweetnacl@1.0.3: - resolution: {integrity: sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==} - - type-check@0.3.2: - resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} - engines: {node: '>= 0.8.0'} - - type-check@0.4.0: - resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} - engines: {node: '>= 0.8.0'} - - type-detect@4.0.8: - resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} - engines: {node: '>=4'} - - type-fest@0.12.0: - resolution: {integrity: sha512-53RyidyjvkGpnWPMF9bQgFtWp+Sl8O2Rp13VavmJgfAP9WWG6q6TkrKU8iyJdnwnfgHI6k2hTlgqH4aSdjoTbg==} - engines: {node: '>=10'} - - type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - - type-fest@0.21.3: - resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} - engines: {node: '>=10'} - - type-fest@0.6.0: - resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} - engines: {node: '>=8'} - - type-fest@0.7.1: - resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} - engines: {node: '>=8'} - - type-fest@0.8.1: - resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} - engines: {node: '>=8'} - - type-is@1.6.18: - resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} - engines: {node: '>= 0.6'} - - typed-array-buffer@1.0.2: - resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} - engines: {node: '>= 0.4'} - - typed-array-byte-length@1.0.1: - resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} - engines: {node: '>= 0.4'} - - typed-array-byte-offset@1.0.2: - resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} - engines: {node: '>= 0.4'} - - typed-array-length@1.0.6: - resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} - engines: {node: '>= 0.4'} - - typed-function@2.1.0: - resolution: {integrity: sha512-bctQIOqx2iVbWGDGPWwIm18QScpu2XRmkC19D8rQGFsjKSgteq/o1hTZvIG/wuDq8fanpBDrLkLq+aEN/6y5XQ==} - engines: {node: '>= 10'} - - typedarray@0.0.6: - resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} - - typescript@5.0.4: - resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==} - engines: {node: '>=12.20'} - hasBin: true - - typescript@5.4.5: - resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} - engines: {node: '>=14.17'} - hasBin: true - - ua-parser-js@1.0.37: - resolution: {integrity: sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==} - - uglify-js@3.17.4: - resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==} - engines: {node: '>=0.8.0'} - hasBin: true - - ultron@1.1.1: - resolution: {integrity: sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==} - - unbox-primitive@1.0.2: - resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} - - unc-path-regex@0.1.2: - resolution: {integrity: sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==} - engines: {node: '>=0.10.0'} - - undici-types@5.26.5: - resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - - undici@5.28.4: - resolution: {integrity: sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==} - engines: {node: '>=14.0'} - - universalify@0.1.2: - resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} - engines: {node: '>= 4.0.0'} - - universalify@2.0.1: - resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} - engines: {node: '>= 10.0.0'} - - unixify@1.0.0: - resolution: {integrity: sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg==} - engines: {node: '>=0.10.0'} - - unpipe@1.0.0: - resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} - engines: {node: '>= 0.8'} - - update-browserslist-db@1.0.13: - resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} - hasBin: true - peerDependencies: - browserslist: '>= 4.21.0' - - upper-case-first@2.0.2: - resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} - - upper-case@2.0.2: - resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==} - - uri-js@4.4.1: - resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} - - url@0.10.3: - resolution: {integrity: sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==} - - urlpattern-polyfill@10.0.0: - resolution: {integrity: sha512-H/A06tKD7sS1O1X2SshBVeA5FLycRpjqiBeqGKmBwBDBy28EnRjORxTNe269KSSr5un5qyWi1iL61wLxpd+ZOg==} - - urlpattern-polyfill@8.0.2: - resolution: {integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==} - - utf8@3.0.0: - resolution: {integrity: sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==} - - util-deprecate@1.0.2: - resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - - util@0.12.5: - resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} - - utils-merge@1.0.1: - resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} - engines: {node: '>= 0.4.0'} - - uuid@8.0.0: - resolution: {integrity: sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==} - hasBin: true - - uuid@8.3.2: - resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} - hasBin: true - - uuid@9.0.1: - resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} - hasBin: true - - v8-compile-cache-lib@3.0.1: - resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} - - v8-to-istanbul@9.2.0: - resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} - engines: {node: '>=10.12.0'} - - validate-npm-package-license@3.0.4: - resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} - - value-or-promise@1.0.12: - resolution: {integrity: sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q==} - engines: {node: '>=12'} - - vary@1.1.2: - resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} - engines: {node: '>= 0.8'} - - viem@1.21.4: - resolution: {integrity: sha512-BNVYdSaUjeS2zKQgPs+49e5JKocfo60Ib2yiXOWBT6LuVxY1I/6fFX3waEtpXvL1Xn4qu+BVitVtMh9lyThyhQ==} - peerDependencies: - typescript: '>=5.0.4' - peerDependenciesMeta: - typescript: - optional: true - - viem@2.9.19: - resolution: {integrity: sha512-1txsVoTz9+XGQpuN62wcDXasNtalW52UR41KnzwWTwHtV2cDcGuVuS/j/hcuQdZ7pU8X8jtq2IrwwR4jjKpy9Q==} - peerDependencies: - typescript: '>=5.0.4' - peerDependenciesMeta: - typescript: - optional: true - - walkdir@0.4.1: - resolution: {integrity: sha512-3eBwRyEln6E1MSzcxcVpQIhRG8Q1jLvEqRmCZqS3dsfXEDR/AhOF4d+jHg1qvDCpYaVRZjENPQyrVxAkQqxPgQ==} - engines: {node: '>=6.0.0'} - - walker@1.0.8: - resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} - - wcwidth@1.0.1: - resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} - - web-streams-polyfill@3.3.3: - resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} - engines: {node: '>= 8'} - - web3-utils@1.10.4: - resolution: {integrity: sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A==} - engines: {node: '>=8.0.0'} - - webcrypto-core@1.7.9: - resolution: {integrity: sha512-FE+a4PPkOmBbgNDIyRmcHhgXn+2ClRl3JzJdDu/P4+B8y81LqKe6RAsI9b3lAOHe1T1BMkSjsRHTYRikImZnVA==} - - webidl-conversions@3.0.1: - resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - - websocket-stream@5.5.2: - resolution: {integrity: sha512-8z49MKIHbGk3C4HtuHWDtYX8mYej1wWabjthC/RupM9ngeukU4IWoM46dgth1UOS/T4/IqgEdCDJuMe2039OQQ==} - - whatwg-url@5.0.0: - resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} - - which-boxed-primitive@1.0.2: - resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} - - which-builtin-type@1.1.3: - resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==} - engines: {node: '>= 0.4'} - - which-collection@1.0.2: - resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} - engines: {node: '>= 0.4'} - - which-module@2.0.1: - resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} - - which-typed-array@1.1.15: - resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} - engines: {node: '>= 0.4'} - - which@1.3.1: - resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} - hasBin: true - - which@2.0.2: - resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} - engines: {node: '>= 8'} - hasBin: true - - widest-line@3.1.0: - resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} - engines: {node: '>=8'} - - widest-line@4.0.1: - resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} - engines: {node: '>=12'} - - word-wrap@1.2.5: - resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} - engines: {node: '>=0.10.0'} - - wordwrap@1.0.0: - resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} - - workerpool@6.2.1: - resolution: {integrity: sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==} - - wrap-ansi@6.2.0: - resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} - engines: {node: '>=8'} - - wrap-ansi@7.0.0: - resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} - engines: {node: '>=10'} - - wrap-ansi@8.1.0: - resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} - engines: {node: '>=12'} - - wrappy@1.0.2: - resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - - write-file-atomic@4.0.2: - resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} - engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} - - ws@3.3.3: - resolution: {integrity: sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - - ws@7.4.6: - resolution: {integrity: sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==} - engines: {node: '>=8.3.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - - ws@7.5.9: - resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==} - engines: {node: '>=8.3.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - - ws@8.13.0: - resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - - ws@8.16.0: - resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - - ws@8.5.0: - resolution: {integrity: sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ^5.0.2 - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - - xml2js@0.6.2: - resolution: {integrity: sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==} - engines: {node: '>=4.0.0'} - - xmlbuilder@11.0.1: - resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==} - engines: {node: '>=4.0'} - - xtend@4.0.2: - resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} - engines: {node: '>=0.4'} - - y18n@4.0.3: - resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} - - y18n@5.0.8: - resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} - engines: {node: '>=10'} - - yallist@3.1.1: - resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} - - yallist@4.0.0: - resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - - yaml-ast-parser@0.0.43: - resolution: {integrity: sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==} - - yaml@1.10.2: - resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} - engines: {node: '>= 6'} - - yaml@2.4.1: - resolution: {integrity: sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==} - engines: {node: '>= 14'} - hasBin: true - - yargs-parser@18.1.3: - resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} - engines: {node: '>=6'} - - yargs-parser@20.2.4: - resolution: {integrity: sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==} - engines: {node: '>=10'} - - yargs-parser@21.1.1: - resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} - engines: {node: '>=12'} - - yargs-unparser@2.0.0: - resolution: {integrity: sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==} - engines: {node: '>=10'} - - yargs@15.4.1: - resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} - engines: {node: '>=8'} - - yargs@16.2.0: - resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} - engines: {node: '>=10'} - - yargs@17.7.2: - resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} - engines: {node: '>=12'} - - yn@3.1.1: - resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} - engines: {node: '>=6'} - - yocto-queue@0.1.0: - resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} - engines: {node: '>=10'} - - yoga-wasm-web@0.3.3: - resolution: {integrity: sha512-N+d4UJSJbt/R3wqY7Coqs5pcV0aUj2j9IaQ3rNj9bVCLld8tTGKRa2USARjnvZJWVx1NDmQev8EknoczaOQDOA==} - - zip-stream@4.1.1: - resolution: {integrity: sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==} - engines: {node: '>= 10'} - - zod@3.22.4: - resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} - - zx@8.0.1: - resolution: {integrity: sha512-Y+ITW1GQjADk7qgrbhnukMgoNsJmlyx53cUQ6/6NXU+BMBdCbTc6flTOHUctmzKvPjTmdwaddzJY/dbLie9sQg==} - engines: {node: '>= 16.0.0'} - hasBin: true - -snapshots: - - '@aashutoshrathi/word-wrap@1.2.6': {} - - '@adraffy/ens-normalize@1.10.0': {} - - '@adraffy/ens-normalize@1.10.1': {} - - '@alcalzone/ansi-tokenize@0.1.3': - dependencies: - ansi-styles: 6.2.1 - is-fullwidth-code-point: 4.0.0 - - '@ampproject/remapping@2.3.0': - dependencies: - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - - '@ardatan/relay-compiler@12.0.0(graphql@16.8.1)': - dependencies: - '@babel/core': 7.24.4 - '@babel/generator': 7.24.4 - '@babel/parser': 7.24.4 - '@babel/runtime': 7.24.4 - '@babel/traverse': 7.24.1 - '@babel/types': 7.24.0 - babel-preset-fbjs: 3.4.0(@babel/core@7.24.4) - chalk: 4.1.2 - fb-watchman: 2.0.2 - fbjs: 3.0.5 - glob: 7.2.3 - graphql: 16.8.1 - immutable: 3.7.6 - invariant: 2.2.4 - nullthrows: 1.1.1 - relay-runtime: 12.0.0 - signedsource: 1.0.0 - yargs: 15.4.1 - transitivePeerDependencies: - - encoding - - supports-color - - '@ardatan/sync-fetch@0.0.1': - dependencies: - node-fetch: 2.7.0 - transitivePeerDependencies: - - encoding - - '@aws-cdk/asset-awscli-v1@2.2.202': {} - - '@aws-cdk/asset-kubectl-v20@2.1.2': {} - - '@aws-cdk/asset-node-proxy-agent-v6@2.0.3': {} - - '@aws-cdk/aws-lambda-python-alpha@2.132.1-alpha.0(aws-cdk-lib@2.132.1)(constructs@10.3.0)': - dependencies: - aws-cdk-lib: 2.132.1(constructs@10.3.0) - constructs: 10.3.0 - - '@aws-cdk/aws-service-spec@0.0.52': - dependencies: - '@aws-cdk/service-spec-types': 0.0.52 - '@cdklabs/tskb': 0.0.3 - - '@aws-cdk/cloud-assembly-schema@2.132.1': - dependencies: - jsonschema: 1.4.1 - semver: 7.6.0 - - '@aws-cdk/cloudformation-diff@2.132.1': - dependencies: - '@aws-cdk/aws-service-spec': 0.0.52 - '@aws-cdk/service-spec-types': 0.0.52 - chalk: 4.1.2 - diff: 5.2.0 - fast-deep-equal: 3.1.3 - string-width: 4.2.3 - table: 6.8.2 - - '@aws-cdk/cx-api@2.132.1(@aws-cdk/cloud-assembly-schema@2.132.1)': - dependencies: - '@aws-cdk/cloud-assembly-schema': 2.132.1 - semver: 7.6.0 - - '@aws-cdk/service-spec-types@0.0.52': - dependencies: - '@cdklabs/tskb': 0.0.3 - - '@aws-crypto/crc32@3.0.0': - dependencies: - '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.567.0 - tslib: 1.14.1 - - '@aws-crypto/crc32c@3.0.0': - dependencies: - '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.567.0 - tslib: 1.14.1 - - '@aws-crypto/ie11-detection@3.0.0': - dependencies: - tslib: 1.14.1 - - '@aws-crypto/sha1-browser@3.0.0': - dependencies: - '@aws-crypto/ie11-detection': 3.0.0 - '@aws-crypto/supports-web-crypto': 3.0.0 - '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.567.0 - '@aws-sdk/util-locate-window': 3.535.0 - '@aws-sdk/util-utf8-browser': 3.259.0 - tslib: 1.14.1 - - '@aws-crypto/sha256-browser@3.0.0': - dependencies: - '@aws-crypto/ie11-detection': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-crypto/supports-web-crypto': 3.0.0 - '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.567.0 - '@aws-sdk/util-locate-window': 3.535.0 - '@aws-sdk/util-utf8-browser': 3.259.0 - tslib: 1.14.1 - - '@aws-crypto/sha256-js@3.0.0': - dependencies: - '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.567.0 - tslib: 1.14.1 - - '@aws-crypto/sha256-js@5.2.0': - dependencies: - '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.567.0 - tslib: 2.6.2 - - '@aws-crypto/supports-web-crypto@3.0.0': - dependencies: - tslib: 1.14.1 - - '@aws-crypto/util@3.0.0': - dependencies: - '@aws-sdk/types': 3.567.0 - '@aws-sdk/util-utf8-browser': 3.259.0 - tslib: 1.14.1 - - '@aws-crypto/util@5.2.0': - dependencies: - '@aws-sdk/types': 3.567.0 - '@smithy/util-utf8': 2.3.0 - tslib: 2.6.2 - - '@aws-lambda-powertools/commons@1.18.1': {} - - '@aws-lambda-powertools/commons@2.0.4': {} - - '@aws-lambda-powertools/logger@1.18.1': - dependencies: - '@aws-lambda-powertools/commons': 1.18.1 - lodash.merge: 4.6.2 - - '@aws-lambda-powertools/logger@2.0.4': - dependencies: - '@aws-lambda-powertools/commons': 2.0.4 - lodash.merge: 4.6.2 - - '@aws-lambda-powertools/metrics@1.18.1': - dependencies: - '@aws-lambda-powertools/commons': 1.18.1 - - '@aws-lambda-powertools/metrics@2.0.4': - dependencies: - '@aws-lambda-powertools/commons': 2.0.4 - - '@aws-lambda-powertools/tracer@1.18.1': - dependencies: - '@aws-lambda-powertools/commons': 1.18.1 - aws-xray-sdk-core: 3.6.0 - - '@aws-lambda-powertools/tracer@2.0.4': - dependencies: - '@aws-lambda-powertools/commons': 2.0.4 - aws-xray-sdk-core: 3.6.0 - - '@aws-sdk/client-cloudformation@3.555.0': - dependencies: - '@aws-crypto/sha256-browser': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) - '@aws-sdk/core': 3.554.0 - '@aws-sdk/credential-provider-node': 3.554.0 - '@aws-sdk/middleware-host-header': 3.535.0 - '@aws-sdk/middleware-logger': 3.535.0 - '@aws-sdk/middleware-recursion-detection': 3.535.0 - '@aws-sdk/middleware-user-agent': 3.540.0 - '@aws-sdk/region-config-resolver': 3.535.0 - '@aws-sdk/types': 3.535.0 - '@aws-sdk/util-endpoints': 3.540.0 - '@aws-sdk/util-user-agent-browser': 3.535.0 - '@aws-sdk/util-user-agent-node': 3.535.0(aws-crt@1.21.2) - '@smithy/config-resolver': 2.2.0 - '@smithy/core': 1.4.2 - '@smithy/fetch-http-handler': 2.5.0 - '@smithy/hash-node': 2.2.0 - '@smithy/invalid-dependency': 2.2.0 - '@smithy/middleware-content-length': 2.2.0 - '@smithy/middleware-endpoint': 2.5.1 - '@smithy/middleware-retry': 2.3.1 - '@smithy/middleware-serde': 2.3.0 - '@smithy/middleware-stack': 2.2.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/node-http-handler': 2.5.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/smithy-client': 2.5.1 - '@smithy/types': 2.12.0 - '@smithy/url-parser': 2.2.0 - '@smithy/util-base64': 2.3.0 - '@smithy/util-body-length-browser': 2.2.0 - '@smithy/util-body-length-node': 2.3.0 - '@smithy/util-defaults-mode-browser': 2.2.1 - '@smithy/util-defaults-mode-node': 2.3.1 - '@smithy/util-endpoints': 1.2.0 - '@smithy/util-middleware': 2.2.0 - '@smithy/util-retry': 2.2.0 - '@smithy/util-utf8': 2.3.0 - '@smithy/util-waiter': 2.2.0 - tslib: 2.6.2 - uuid: 9.0.1 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/client-cognito-identity@3.554.0': - dependencies: - '@aws-crypto/sha256-browser': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) - '@aws-sdk/core': 3.554.0 - '@aws-sdk/credential-provider-node': 3.554.0 - '@aws-sdk/middleware-host-header': 3.535.0 - '@aws-sdk/middleware-logger': 3.535.0 - '@aws-sdk/middleware-recursion-detection': 3.535.0 - '@aws-sdk/middleware-user-agent': 3.540.0 - '@aws-sdk/region-config-resolver': 3.535.0 - '@aws-sdk/types': 3.535.0 - '@aws-sdk/util-endpoints': 3.540.0 - '@aws-sdk/util-user-agent-browser': 3.535.0 - '@aws-sdk/util-user-agent-node': 3.535.0(aws-crt@1.21.2) - '@smithy/config-resolver': 2.2.0 - '@smithy/core': 1.4.2 - '@smithy/fetch-http-handler': 2.5.0 - '@smithy/hash-node': 2.2.0 - '@smithy/invalid-dependency': 2.2.0 - '@smithy/middleware-content-length': 2.2.0 - '@smithy/middleware-endpoint': 2.5.1 - '@smithy/middleware-retry': 2.3.1 - '@smithy/middleware-serde': 2.3.0 - '@smithy/middleware-stack': 2.2.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/node-http-handler': 2.5.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/smithy-client': 2.5.1 - '@smithy/types': 2.12.0 - '@smithy/url-parser': 2.2.0 - '@smithy/util-base64': 2.3.0 - '@smithy/util-body-length-browser': 2.2.0 - '@smithy/util-body-length-node': 2.3.0 - '@smithy/util-defaults-mode-browser': 2.2.1 - '@smithy/util-defaults-mode-node': 2.3.1 - '@smithy/util-endpoints': 1.2.0 - '@smithy/util-middleware': 2.2.0 - '@smithy/util-retry': 2.2.0 - '@smithy/util-utf8': 2.3.0 - tslib: 2.6.2 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/client-ecs@3.554.0': - dependencies: - '@aws-crypto/sha256-browser': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) - '@aws-sdk/core': 3.554.0 - '@aws-sdk/credential-provider-node': 3.554.0 - '@aws-sdk/middleware-host-header': 3.535.0 - '@aws-sdk/middleware-logger': 3.535.0 - '@aws-sdk/middleware-recursion-detection': 3.535.0 - '@aws-sdk/middleware-user-agent': 3.540.0 - '@aws-sdk/region-config-resolver': 3.535.0 - '@aws-sdk/types': 3.535.0 - '@aws-sdk/util-endpoints': 3.540.0 - '@aws-sdk/util-user-agent-browser': 3.535.0 - '@aws-sdk/util-user-agent-node': 3.535.0(aws-crt@1.21.2) - '@smithy/config-resolver': 2.2.0 - '@smithy/core': 1.4.2 - '@smithy/fetch-http-handler': 2.5.0 - '@smithy/hash-node': 2.2.0 - '@smithy/invalid-dependency': 2.2.0 - '@smithy/middleware-content-length': 2.2.0 - '@smithy/middleware-endpoint': 2.5.1 - '@smithy/middleware-retry': 2.3.1 - '@smithy/middleware-serde': 2.3.0 - '@smithy/middleware-stack': 2.2.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/node-http-handler': 2.5.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/smithy-client': 2.5.1 - '@smithy/types': 2.12.0 - '@smithy/url-parser': 2.2.0 - '@smithy/util-base64': 2.3.0 - '@smithy/util-body-length-browser': 2.2.0 - '@smithy/util-body-length-node': 2.3.0 - '@smithy/util-defaults-mode-browser': 2.2.1 - '@smithy/util-defaults-mode-node': 2.3.1 - '@smithy/util-endpoints': 1.2.0 - '@smithy/util-middleware': 2.2.0 - '@smithy/util-retry': 2.2.0 - '@smithy/util-utf8': 2.3.0 - '@smithy/util-waiter': 2.2.0 - tslib: 2.6.2 - uuid: 9.0.1 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/client-eventbridge@3.554.0': - dependencies: - '@aws-crypto/sha256-browser': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) - '@aws-sdk/core': 3.554.0 - '@aws-sdk/credential-provider-node': 3.554.0 - '@aws-sdk/middleware-host-header': 3.535.0 - '@aws-sdk/middleware-logger': 3.535.0 - '@aws-sdk/middleware-recursion-detection': 3.535.0 - '@aws-sdk/middleware-signing': 3.552.0 - '@aws-sdk/middleware-user-agent': 3.540.0 - '@aws-sdk/region-config-resolver': 3.535.0 - '@aws-sdk/signature-v4-multi-region': 3.552.0 - '@aws-sdk/types': 3.535.0 - '@aws-sdk/util-endpoints': 3.540.0 - '@aws-sdk/util-user-agent-browser': 3.535.0 - '@aws-sdk/util-user-agent-node': 3.535.0(aws-crt@1.21.2) - '@smithy/config-resolver': 2.2.0 - '@smithy/fetch-http-handler': 2.5.0 - '@smithy/hash-node': 2.2.0 - '@smithy/invalid-dependency': 2.2.0 - '@smithy/middleware-content-length': 2.2.0 - '@smithy/middleware-endpoint': 2.5.1 - '@smithy/middleware-retry': 2.3.1 - '@smithy/middleware-serde': 2.3.0 - '@smithy/middleware-stack': 2.2.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/node-http-handler': 2.5.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/smithy-client': 2.5.1 - '@smithy/types': 2.12.0 - '@smithy/url-parser': 2.2.0 - '@smithy/util-base64': 2.3.0 - '@smithy/util-body-length-browser': 2.2.0 - '@smithy/util-body-length-node': 2.3.0 - '@smithy/util-defaults-mode-browser': 2.2.1 - '@smithy/util-defaults-mode-node': 2.3.1 - '@smithy/util-endpoints': 1.2.0 - '@smithy/util-retry': 2.2.0 - '@smithy/util-utf8': 2.3.0 - tslib: 2.6.2 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/client-iam@3.554.0': - dependencies: - '@aws-crypto/sha256-browser': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) - '@aws-sdk/core': 3.554.0 - '@aws-sdk/credential-provider-node': 3.554.0 - '@aws-sdk/middleware-host-header': 3.535.0 - '@aws-sdk/middleware-logger': 3.535.0 - '@aws-sdk/middleware-recursion-detection': 3.535.0 - '@aws-sdk/middleware-user-agent': 3.540.0 - '@aws-sdk/region-config-resolver': 3.535.0 - '@aws-sdk/types': 3.535.0 - '@aws-sdk/util-endpoints': 3.540.0 - '@aws-sdk/util-user-agent-browser': 3.535.0 - '@aws-sdk/util-user-agent-node': 3.535.0(aws-crt@1.21.2) - '@smithy/config-resolver': 2.2.0 - '@smithy/core': 1.4.2 - '@smithy/fetch-http-handler': 2.5.0 - '@smithy/hash-node': 2.2.0 - '@smithy/invalid-dependency': 2.2.0 - '@smithy/middleware-content-length': 2.2.0 - '@smithy/middleware-endpoint': 2.5.1 - '@smithy/middleware-retry': 2.3.1 - '@smithy/middleware-serde': 2.3.0 - '@smithy/middleware-stack': 2.2.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/node-http-handler': 2.5.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/smithy-client': 2.5.1 - '@smithy/types': 2.12.0 - '@smithy/url-parser': 2.2.0 - '@smithy/util-base64': 2.3.0 - '@smithy/util-body-length-browser': 2.2.0 - '@smithy/util-body-length-node': 2.3.0 - '@smithy/util-defaults-mode-browser': 2.2.1 - '@smithy/util-defaults-mode-node': 2.3.1 - '@smithy/util-endpoints': 1.2.0 - '@smithy/util-middleware': 2.2.0 - '@smithy/util-retry': 2.2.0 - '@smithy/util-utf8': 2.3.0 - '@smithy/util-waiter': 2.2.0 - tslib: 2.6.2 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/client-iot-data-plane@3.554.0': - dependencies: - '@aws-crypto/sha256-browser': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) - '@aws-sdk/core': 3.554.0 - '@aws-sdk/credential-provider-node': 3.554.0 - '@aws-sdk/middleware-host-header': 3.535.0 - '@aws-sdk/middleware-logger': 3.535.0 - '@aws-sdk/middleware-recursion-detection': 3.535.0 - '@aws-sdk/middleware-user-agent': 3.540.0 - '@aws-sdk/region-config-resolver': 3.535.0 - '@aws-sdk/types': 3.535.0 - '@aws-sdk/util-endpoints': 3.540.0 - '@aws-sdk/util-user-agent-browser': 3.535.0 - '@aws-sdk/util-user-agent-node': 3.535.0(aws-crt@1.21.2) - '@smithy/config-resolver': 2.2.0 - '@smithy/core': 1.4.2 - '@smithy/fetch-http-handler': 2.5.0 - '@smithy/hash-node': 2.2.0 - '@smithy/invalid-dependency': 2.2.0 - '@smithy/middleware-content-length': 2.2.0 - '@smithy/middleware-endpoint': 2.5.1 - '@smithy/middleware-retry': 2.3.1 - '@smithy/middleware-serde': 2.3.0 - '@smithy/middleware-stack': 2.2.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/node-http-handler': 2.5.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/smithy-client': 2.5.1 - '@smithy/types': 2.12.0 - '@smithy/url-parser': 2.2.0 - '@smithy/util-base64': 2.3.0 - '@smithy/util-body-length-browser': 2.2.0 - '@smithy/util-body-length-node': 2.3.0 - '@smithy/util-defaults-mode-browser': 2.2.1 - '@smithy/util-defaults-mode-node': 2.3.1 - '@smithy/util-endpoints': 1.2.0 - '@smithy/util-middleware': 2.2.0 - '@smithy/util-retry': 2.2.0 - '@smithy/util-stream': 2.2.0 - '@smithy/util-utf8': 2.3.0 - tslib: 2.6.2 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/client-iot@3.554.0': - dependencies: - '@aws-crypto/sha256-browser': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) - '@aws-sdk/core': 3.554.0 - '@aws-sdk/credential-provider-node': 3.554.0 - '@aws-sdk/middleware-host-header': 3.535.0 - '@aws-sdk/middleware-logger': 3.535.0 - '@aws-sdk/middleware-recursion-detection': 3.535.0 - '@aws-sdk/middleware-user-agent': 3.540.0 - '@aws-sdk/region-config-resolver': 3.535.0 - '@aws-sdk/types': 3.535.0 - '@aws-sdk/util-endpoints': 3.540.0 - '@aws-sdk/util-user-agent-browser': 3.535.0 - '@aws-sdk/util-user-agent-node': 3.535.0(aws-crt@1.21.2) - '@smithy/config-resolver': 2.2.0 - '@smithy/core': 1.4.2 - '@smithy/fetch-http-handler': 2.5.0 - '@smithy/hash-node': 2.2.0 - '@smithy/invalid-dependency': 2.2.0 - '@smithy/middleware-content-length': 2.2.0 - '@smithy/middleware-endpoint': 2.5.1 - '@smithy/middleware-retry': 2.3.1 - '@smithy/middleware-serde': 2.3.0 - '@smithy/middleware-stack': 2.2.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/node-http-handler': 2.5.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/smithy-client': 2.5.1 - '@smithy/types': 2.12.0 - '@smithy/url-parser': 2.2.0 - '@smithy/util-base64': 2.3.0 - '@smithy/util-body-length-browser': 2.2.0 - '@smithy/util-body-length-node': 2.3.0 - '@smithy/util-defaults-mode-browser': 2.2.1 - '@smithy/util-defaults-mode-node': 2.3.1 - '@smithy/util-endpoints': 1.2.0 - '@smithy/util-middleware': 2.2.0 - '@smithy/util-retry': 2.2.0 - '@smithy/util-utf8': 2.3.0 - tslib: 2.6.2 - uuid: 9.0.1 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/client-lambda@3.554.0': - dependencies: - '@aws-crypto/sha256-browser': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) - '@aws-sdk/core': 3.554.0 - '@aws-sdk/credential-provider-node': 3.554.0 - '@aws-sdk/middleware-host-header': 3.535.0 - '@aws-sdk/middleware-logger': 3.535.0 - '@aws-sdk/middleware-recursion-detection': 3.535.0 - '@aws-sdk/middleware-user-agent': 3.540.0 - '@aws-sdk/region-config-resolver': 3.535.0 - '@aws-sdk/types': 3.535.0 - '@aws-sdk/util-endpoints': 3.540.0 - '@aws-sdk/util-user-agent-browser': 3.535.0 - '@aws-sdk/util-user-agent-node': 3.535.0(aws-crt@1.21.2) - '@smithy/config-resolver': 2.2.0 - '@smithy/core': 1.4.2 - '@smithy/eventstream-serde-browser': 2.2.0 - '@smithy/eventstream-serde-config-resolver': 2.2.0 - '@smithy/eventstream-serde-node': 2.2.0 - '@smithy/fetch-http-handler': 2.5.0 - '@smithy/hash-node': 2.2.0 - '@smithy/invalid-dependency': 2.2.0 - '@smithy/middleware-content-length': 2.2.0 - '@smithy/middleware-endpoint': 2.5.1 - '@smithy/middleware-retry': 2.3.1 - '@smithy/middleware-serde': 2.3.0 - '@smithy/middleware-stack': 2.2.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/node-http-handler': 2.5.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/smithy-client': 2.5.1 - '@smithy/types': 2.12.0 - '@smithy/url-parser': 2.2.0 - '@smithy/util-base64': 2.3.0 - '@smithy/util-body-length-browser': 2.2.0 - '@smithy/util-body-length-node': 2.3.0 - '@smithy/util-defaults-mode-browser': 2.2.1 - '@smithy/util-defaults-mode-node': 2.3.1 - '@smithy/util-endpoints': 1.2.0 - '@smithy/util-middleware': 2.2.0 - '@smithy/util-retry': 2.2.0 - '@smithy/util-stream': 2.2.0 - '@smithy/util-utf8': 2.3.0 - '@smithy/util-waiter': 2.2.0 - tslib: 2.6.2 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/client-rds-data@3.569.0': - dependencies: - '@aws-crypto/sha256-browser': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sso-oidc': 3.569.0(@aws-sdk/client-sts@3.569.0) - '@aws-sdk/client-sts': 3.569.0 - '@aws-sdk/core': 3.567.0 - '@aws-sdk/credential-provider-node': 3.569.0(@aws-sdk/client-sso-oidc@3.569.0)(@aws-sdk/client-sts@3.569.0) - '@aws-sdk/middleware-host-header': 3.567.0 - '@aws-sdk/middleware-logger': 3.568.0 - '@aws-sdk/middleware-recursion-detection': 3.567.0 - '@aws-sdk/middleware-user-agent': 3.567.0 - '@aws-sdk/region-config-resolver': 3.567.0 - '@aws-sdk/types': 3.567.0 - '@aws-sdk/util-endpoints': 3.567.0 - '@aws-sdk/util-user-agent-browser': 3.567.0 - '@aws-sdk/util-user-agent-node': 3.568.0 - '@smithy/config-resolver': 2.2.0 - '@smithy/core': 1.4.2 - '@smithy/fetch-http-handler': 2.5.0 - '@smithy/hash-node': 2.2.0 - '@smithy/invalid-dependency': 2.2.0 - '@smithy/middleware-content-length': 2.2.0 - '@smithy/middleware-endpoint': 2.5.1 - '@smithy/middleware-retry': 2.3.1 - '@smithy/middleware-serde': 2.3.0 - '@smithy/middleware-stack': 2.2.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/node-http-handler': 2.5.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/smithy-client': 2.5.1 - '@smithy/types': 2.12.0 - '@smithy/url-parser': 2.2.0 - '@smithy/util-base64': 2.3.0 - '@smithy/util-body-length-browser': 2.2.0 - '@smithy/util-body-length-node': 2.3.0 - '@smithy/util-defaults-mode-browser': 2.2.1 - '@smithy/util-defaults-mode-node': 2.3.1 - '@smithy/util-endpoints': 1.2.0 - '@smithy/util-middleware': 2.2.0 - '@smithy/util-retry': 2.2.0 - '@smithy/util-utf8': 2.3.0 - tslib: 2.6.2 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/client-s3@3.554.0': - dependencies: - '@aws-crypto/sha1-browser': 3.0.0 - '@aws-crypto/sha256-browser': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) - '@aws-sdk/core': 3.554.0 - '@aws-sdk/credential-provider-node': 3.554.0 - '@aws-sdk/middleware-bucket-endpoint': 3.535.0 - '@aws-sdk/middleware-expect-continue': 3.535.0 - '@aws-sdk/middleware-flexible-checksums': 3.535.0 - '@aws-sdk/middleware-host-header': 3.535.0 - '@aws-sdk/middleware-location-constraint': 3.535.0 - '@aws-sdk/middleware-logger': 3.535.0 - '@aws-sdk/middleware-recursion-detection': 3.535.0 - '@aws-sdk/middleware-sdk-s3': 3.552.0 - '@aws-sdk/middleware-signing': 3.552.0 - '@aws-sdk/middleware-ssec': 3.537.0 - '@aws-sdk/middleware-user-agent': 3.540.0 - '@aws-sdk/region-config-resolver': 3.535.0 - '@aws-sdk/signature-v4-multi-region': 3.552.0 - '@aws-sdk/types': 3.535.0 - '@aws-sdk/util-endpoints': 3.540.0 - '@aws-sdk/util-user-agent-browser': 3.535.0 - '@aws-sdk/util-user-agent-node': 3.535.0(aws-crt@1.21.2) - '@aws-sdk/xml-builder': 3.535.0 - '@smithy/config-resolver': 2.2.0 - '@smithy/core': 1.4.2 - '@smithy/eventstream-serde-browser': 2.2.0 - '@smithy/eventstream-serde-config-resolver': 2.2.0 - '@smithy/eventstream-serde-node': 2.2.0 - '@smithy/fetch-http-handler': 2.5.0 - '@smithy/hash-blob-browser': 2.2.0 - '@smithy/hash-node': 2.2.0 - '@smithy/hash-stream-node': 2.2.0 - '@smithy/invalid-dependency': 2.2.0 - '@smithy/md5-js': 2.2.0 - '@smithy/middleware-content-length': 2.2.0 - '@smithy/middleware-endpoint': 2.5.1 - '@smithy/middleware-retry': 2.3.1 - '@smithy/middleware-serde': 2.3.0 - '@smithy/middleware-stack': 2.2.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/node-http-handler': 2.5.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/smithy-client': 2.5.1 - '@smithy/types': 2.12.0 - '@smithy/url-parser': 2.2.0 - '@smithy/util-base64': 2.3.0 - '@smithy/util-body-length-browser': 2.2.0 - '@smithy/util-body-length-node': 2.3.0 - '@smithy/util-defaults-mode-browser': 2.2.1 - '@smithy/util-defaults-mode-node': 2.3.1 - '@smithy/util-endpoints': 1.2.0 - '@smithy/util-retry': 2.2.0 - '@smithy/util-stream': 2.2.0 - '@smithy/util-utf8': 2.3.0 - '@smithy/util-waiter': 2.2.0 - tslib: 2.6.2 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/client-ssm@3.554.0': - dependencies: - '@aws-crypto/sha256-browser': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) - '@aws-sdk/core': 3.554.0 - '@aws-sdk/credential-provider-node': 3.554.0 - '@aws-sdk/middleware-host-header': 3.535.0 - '@aws-sdk/middleware-logger': 3.535.0 - '@aws-sdk/middleware-recursion-detection': 3.535.0 - '@aws-sdk/middleware-user-agent': 3.540.0 - '@aws-sdk/region-config-resolver': 3.535.0 - '@aws-sdk/types': 3.535.0 - '@aws-sdk/util-endpoints': 3.540.0 - '@aws-sdk/util-user-agent-browser': 3.535.0 - '@aws-sdk/util-user-agent-node': 3.535.0(aws-crt@1.21.2) - '@smithy/config-resolver': 2.2.0 - '@smithy/core': 1.4.2 - '@smithy/fetch-http-handler': 2.5.0 - '@smithy/hash-node': 2.2.0 - '@smithy/invalid-dependency': 2.2.0 - '@smithy/middleware-content-length': 2.2.0 - '@smithy/middleware-endpoint': 2.5.1 - '@smithy/middleware-retry': 2.3.1 - '@smithy/middleware-serde': 2.3.0 - '@smithy/middleware-stack': 2.2.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/node-http-handler': 2.5.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/smithy-client': 2.5.1 - '@smithy/types': 2.12.0 - '@smithy/url-parser': 2.2.0 - '@smithy/util-base64': 2.3.0 - '@smithy/util-body-length-browser': 2.2.0 - '@smithy/util-body-length-node': 2.3.0 - '@smithy/util-defaults-mode-browser': 2.2.1 - '@smithy/util-defaults-mode-node': 2.3.1 - '@smithy/util-endpoints': 1.2.0 - '@smithy/util-middleware': 2.2.0 - '@smithy/util-retry': 2.2.0 - '@smithy/util-utf8': 2.3.0 - '@smithy/util-waiter': 2.2.0 - tslib: 2.6.2 - uuid: 9.0.1 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/client-sso-oidc@3.554.0(@aws-sdk/credential-provider-node@3.554.0)': - dependencies: - '@aws-crypto/sha256-browser': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) - '@aws-sdk/core': 3.554.0 - '@aws-sdk/credential-provider-node': 3.554.0 - '@aws-sdk/middleware-host-header': 3.535.0 - '@aws-sdk/middleware-logger': 3.535.0 - '@aws-sdk/middleware-recursion-detection': 3.535.0 - '@aws-sdk/middleware-user-agent': 3.540.0 - '@aws-sdk/region-config-resolver': 3.535.0 - '@aws-sdk/types': 3.535.0 - '@aws-sdk/util-endpoints': 3.540.0 - '@aws-sdk/util-user-agent-browser': 3.535.0 - '@aws-sdk/util-user-agent-node': 3.535.0(aws-crt@1.21.2) - '@smithy/config-resolver': 2.2.0 - '@smithy/core': 1.4.2 - '@smithy/fetch-http-handler': 2.5.0 - '@smithy/hash-node': 2.2.0 - '@smithy/invalid-dependency': 2.2.0 - '@smithy/middleware-content-length': 2.2.0 - '@smithy/middleware-endpoint': 2.5.1 - '@smithy/middleware-retry': 2.3.1 - '@smithy/middleware-serde': 2.3.0 - '@smithy/middleware-stack': 2.2.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/node-http-handler': 2.5.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/smithy-client': 2.5.1 - '@smithy/types': 2.12.0 - '@smithy/url-parser': 2.2.0 - '@smithy/util-base64': 2.3.0 - '@smithy/util-body-length-browser': 2.2.0 - '@smithy/util-body-length-node': 2.3.0 - '@smithy/util-defaults-mode-browser': 2.2.1 - '@smithy/util-defaults-mode-node': 2.3.1 - '@smithy/util-endpoints': 1.2.0 - '@smithy/util-middleware': 2.2.0 - '@smithy/util-retry': 2.2.0 - '@smithy/util-utf8': 2.3.0 - tslib: 2.6.2 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/client-sso-oidc@3.569.0(@aws-sdk/client-sts@3.569.0)': - dependencies: - '@aws-crypto/sha256-browser': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sts': 3.569.0 - '@aws-sdk/core': 3.567.0 - '@aws-sdk/credential-provider-node': 3.569.0(@aws-sdk/client-sso-oidc@3.569.0)(@aws-sdk/client-sts@3.569.0) - '@aws-sdk/middleware-host-header': 3.567.0 - '@aws-sdk/middleware-logger': 3.568.0 - '@aws-sdk/middleware-recursion-detection': 3.567.0 - '@aws-sdk/middleware-user-agent': 3.567.0 - '@aws-sdk/region-config-resolver': 3.567.0 - '@aws-sdk/types': 3.567.0 - '@aws-sdk/util-endpoints': 3.567.0 - '@aws-sdk/util-user-agent-browser': 3.567.0 - '@aws-sdk/util-user-agent-node': 3.568.0 - '@smithy/config-resolver': 2.2.0 - '@smithy/core': 1.4.2 - '@smithy/fetch-http-handler': 2.5.0 - '@smithy/hash-node': 2.2.0 - '@smithy/invalid-dependency': 2.2.0 - '@smithy/middleware-content-length': 2.2.0 - '@smithy/middleware-endpoint': 2.5.1 - '@smithy/middleware-retry': 2.3.1 - '@smithy/middleware-serde': 2.3.0 - '@smithy/middleware-stack': 2.2.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/node-http-handler': 2.5.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/smithy-client': 2.5.1 - '@smithy/types': 2.12.0 - '@smithy/url-parser': 2.2.0 - '@smithy/util-base64': 2.3.0 - '@smithy/util-body-length-browser': 2.2.0 - '@smithy/util-body-length-node': 2.3.0 - '@smithy/util-defaults-mode-browser': 2.2.1 - '@smithy/util-defaults-mode-node': 2.3.1 - '@smithy/util-endpoints': 1.2.0 - '@smithy/util-middleware': 2.2.0 - '@smithy/util-retry': 2.2.0 - '@smithy/util-utf8': 2.3.0 - tslib: 2.6.2 - transitivePeerDependencies: - - '@aws-sdk/client-sts' - - aws-crt - - '@aws-sdk/client-sso@3.554.0': - dependencies: - '@aws-crypto/sha256-browser': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/core': 3.554.0 - '@aws-sdk/middleware-host-header': 3.535.0 - '@aws-sdk/middleware-logger': 3.535.0 - '@aws-sdk/middleware-recursion-detection': 3.535.0 - '@aws-sdk/middleware-user-agent': 3.540.0 - '@aws-sdk/region-config-resolver': 3.535.0 - '@aws-sdk/types': 3.535.0 - '@aws-sdk/util-endpoints': 3.540.0 - '@aws-sdk/util-user-agent-browser': 3.535.0 - '@aws-sdk/util-user-agent-node': 3.535.0(aws-crt@1.21.2) - '@smithy/config-resolver': 2.2.0 - '@smithy/core': 1.4.2 - '@smithy/fetch-http-handler': 2.5.0 - '@smithy/hash-node': 2.2.0 - '@smithy/invalid-dependency': 2.2.0 - '@smithy/middleware-content-length': 2.2.0 - '@smithy/middleware-endpoint': 2.5.1 - '@smithy/middleware-retry': 2.3.1 - '@smithy/middleware-serde': 2.3.0 - '@smithy/middleware-stack': 2.2.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/node-http-handler': 2.5.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/smithy-client': 2.5.1 - '@smithy/types': 2.12.0 - '@smithy/url-parser': 2.2.0 - '@smithy/util-base64': 2.3.0 - '@smithy/util-body-length-browser': 2.2.0 - '@smithy/util-body-length-node': 2.3.0 - '@smithy/util-defaults-mode-browser': 2.2.1 - '@smithy/util-defaults-mode-node': 2.3.1 - '@smithy/util-endpoints': 1.2.0 - '@smithy/util-middleware': 2.2.0 - '@smithy/util-retry': 2.2.0 - '@smithy/util-utf8': 2.3.0 - tslib: 2.6.2 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/client-sso@3.568.0': - dependencies: - '@aws-crypto/sha256-browser': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/core': 3.567.0 - '@aws-sdk/middleware-host-header': 3.567.0 - '@aws-sdk/middleware-logger': 3.568.0 - '@aws-sdk/middleware-recursion-detection': 3.567.0 - '@aws-sdk/middleware-user-agent': 3.567.0 - '@aws-sdk/region-config-resolver': 3.567.0 - '@aws-sdk/types': 3.567.0 - '@aws-sdk/util-endpoints': 3.567.0 - '@aws-sdk/util-user-agent-browser': 3.567.0 - '@aws-sdk/util-user-agent-node': 3.568.0 - '@smithy/config-resolver': 2.2.0 - '@smithy/core': 1.4.2 - '@smithy/fetch-http-handler': 2.5.0 - '@smithy/hash-node': 2.2.0 - '@smithy/invalid-dependency': 2.2.0 - '@smithy/middleware-content-length': 2.2.0 - '@smithy/middleware-endpoint': 2.5.1 - '@smithy/middleware-retry': 2.3.1 - '@smithy/middleware-serde': 2.3.0 - '@smithy/middleware-stack': 2.2.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/node-http-handler': 2.5.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/smithy-client': 2.5.1 - '@smithy/types': 2.12.0 - '@smithy/url-parser': 2.2.0 - '@smithy/util-base64': 2.3.0 - '@smithy/util-body-length-browser': 2.2.0 - '@smithy/util-body-length-node': 2.3.0 - '@smithy/util-defaults-mode-browser': 2.2.1 - '@smithy/util-defaults-mode-node': 2.3.1 - '@smithy/util-endpoints': 1.2.0 - '@smithy/util-middleware': 2.2.0 - '@smithy/util-retry': 2.2.0 - '@smithy/util-utf8': 2.3.0 - tslib: 2.6.2 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/client-sts@3.554.0(@aws-sdk/credential-provider-node@3.554.0)': - dependencies: - '@aws-crypto/sha256-browser': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/core': 3.554.0 - '@aws-sdk/credential-provider-node': 3.554.0 - '@aws-sdk/middleware-host-header': 3.535.0 - '@aws-sdk/middleware-logger': 3.535.0 - '@aws-sdk/middleware-recursion-detection': 3.535.0 - '@aws-sdk/middleware-user-agent': 3.540.0 - '@aws-sdk/region-config-resolver': 3.535.0 - '@aws-sdk/types': 3.535.0 - '@aws-sdk/util-endpoints': 3.540.0 - '@aws-sdk/util-user-agent-browser': 3.535.0 - '@aws-sdk/util-user-agent-node': 3.535.0(aws-crt@1.21.2) - '@smithy/config-resolver': 2.2.0 - '@smithy/core': 1.4.2 - '@smithy/fetch-http-handler': 2.5.0 - '@smithy/hash-node': 2.2.0 - '@smithy/invalid-dependency': 2.2.0 - '@smithy/middleware-content-length': 2.2.0 - '@smithy/middleware-endpoint': 2.5.1 - '@smithy/middleware-retry': 2.3.1 - '@smithy/middleware-serde': 2.3.0 - '@smithy/middleware-stack': 2.2.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/node-http-handler': 2.5.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/smithy-client': 2.5.1 - '@smithy/types': 2.12.0 - '@smithy/url-parser': 2.2.0 - '@smithy/util-base64': 2.3.0 - '@smithy/util-body-length-browser': 2.2.0 - '@smithy/util-body-length-node': 2.3.0 - '@smithy/util-defaults-mode-browser': 2.2.1 - '@smithy/util-defaults-mode-node': 2.3.1 - '@smithy/util-endpoints': 1.2.0 - '@smithy/util-middleware': 2.2.0 - '@smithy/util-retry': 2.2.0 - '@smithy/util-utf8': 2.3.0 - tslib: 2.6.2 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/client-sts@3.569.0': - dependencies: - '@aws-crypto/sha256-browser': 3.0.0 - '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sso-oidc': 3.569.0(@aws-sdk/client-sts@3.569.0) - '@aws-sdk/core': 3.567.0 - '@aws-sdk/credential-provider-node': 3.569.0(@aws-sdk/client-sso-oidc@3.569.0)(@aws-sdk/client-sts@3.569.0) - '@aws-sdk/middleware-host-header': 3.567.0 - '@aws-sdk/middleware-logger': 3.568.0 - '@aws-sdk/middleware-recursion-detection': 3.567.0 - '@aws-sdk/middleware-user-agent': 3.567.0 - '@aws-sdk/region-config-resolver': 3.567.0 - '@aws-sdk/types': 3.567.0 - '@aws-sdk/util-endpoints': 3.567.0 - '@aws-sdk/util-user-agent-browser': 3.567.0 - '@aws-sdk/util-user-agent-node': 3.568.0 - '@smithy/config-resolver': 2.2.0 - '@smithy/core': 1.4.2 - '@smithy/fetch-http-handler': 2.5.0 - '@smithy/hash-node': 2.2.0 - '@smithy/invalid-dependency': 2.2.0 - '@smithy/middleware-content-length': 2.2.0 - '@smithy/middleware-endpoint': 2.5.1 - '@smithy/middleware-retry': 2.3.1 - '@smithy/middleware-serde': 2.3.0 - '@smithy/middleware-stack': 2.2.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/node-http-handler': 2.5.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/smithy-client': 2.5.1 - '@smithy/types': 2.12.0 - '@smithy/url-parser': 2.2.0 - '@smithy/util-base64': 2.3.0 - '@smithy/util-body-length-browser': 2.2.0 - '@smithy/util-body-length-node': 2.3.0 - '@smithy/util-defaults-mode-browser': 2.2.1 - '@smithy/util-defaults-mode-node': 2.3.1 - '@smithy/util-endpoints': 1.2.0 - '@smithy/util-middleware': 2.2.0 - '@smithy/util-retry': 2.2.0 - '@smithy/util-utf8': 2.3.0 - tslib: 2.6.2 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/config-resolver@3.374.0': - dependencies: - '@smithy/config-resolver': 1.1.0 - tslib: 2.6.2 - - '@aws-sdk/core@3.554.0': - dependencies: - '@smithy/core': 1.4.2 - '@smithy/protocol-http': 3.3.0 - '@smithy/signature-v4': 2.3.0 - '@smithy/smithy-client': 2.5.1 - '@smithy/types': 2.12.0 - fast-xml-parser: 4.2.5 - tslib: 2.6.2 - - '@aws-sdk/core@3.567.0': - dependencies: - '@smithy/core': 1.4.2 - '@smithy/protocol-http': 3.3.0 - '@smithy/signature-v4': 2.3.0 - '@smithy/smithy-client': 2.5.1 - '@smithy/types': 2.12.0 - fast-xml-parser: 4.2.5 - tslib: 2.6.2 - - '@aws-sdk/credential-provider-cognito-identity@3.554.0': - dependencies: - '@aws-sdk/client-cognito-identity': 3.554.0 - '@aws-sdk/types': 3.535.0 - '@smithy/property-provider': 2.2.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/credential-provider-env@3.535.0': - dependencies: - '@aws-sdk/types': 3.535.0 - '@smithy/property-provider': 2.2.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - - '@aws-sdk/credential-provider-env@3.568.0': - dependencies: - '@aws-sdk/types': 3.567.0 - '@smithy/property-provider': 2.2.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - - '@aws-sdk/credential-provider-http@3.552.0': - dependencies: - '@aws-sdk/types': 3.535.0 - '@smithy/fetch-http-handler': 2.5.0 - '@smithy/node-http-handler': 2.5.0 - '@smithy/property-provider': 2.2.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/smithy-client': 2.5.1 - '@smithy/types': 2.12.0 - '@smithy/util-stream': 2.2.0 - tslib: 2.6.2 - - '@aws-sdk/credential-provider-http@3.568.0': - dependencies: - '@aws-sdk/types': 3.567.0 - '@smithy/fetch-http-handler': 2.5.0 - '@smithy/node-http-handler': 2.5.0 - '@smithy/property-provider': 2.2.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/smithy-client': 2.5.1 - '@smithy/types': 2.12.0 - '@smithy/util-stream': 2.2.0 - tslib: 2.6.2 - - '@aws-sdk/credential-provider-ini@3.554.0(@aws-sdk/credential-provider-node@3.554.0)': - dependencies: - '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) - '@aws-sdk/credential-provider-env': 3.535.0 - '@aws-sdk/credential-provider-process': 3.535.0 - '@aws-sdk/credential-provider-sso': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) - '@aws-sdk/credential-provider-web-identity': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) - '@aws-sdk/types': 3.535.0 - '@smithy/credential-provider-imds': 2.3.0 - '@smithy/property-provider': 2.2.0 - '@smithy/shared-ini-file-loader': 2.4.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - transitivePeerDependencies: - - '@aws-sdk/credential-provider-node' - - aws-crt - - '@aws-sdk/credential-provider-ini@3.568.0(@aws-sdk/client-sso-oidc@3.569.0)(@aws-sdk/client-sts@3.569.0)': - dependencies: - '@aws-sdk/client-sts': 3.569.0 - '@aws-sdk/credential-provider-env': 3.568.0 - '@aws-sdk/credential-provider-process': 3.568.0 - '@aws-sdk/credential-provider-sso': 3.568.0(@aws-sdk/client-sso-oidc@3.569.0) - '@aws-sdk/credential-provider-web-identity': 3.568.0(@aws-sdk/client-sts@3.569.0) - '@aws-sdk/types': 3.567.0 - '@smithy/credential-provider-imds': 2.3.0 - '@smithy/property-provider': 2.2.0 - '@smithy/shared-ini-file-loader': 2.4.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - transitivePeerDependencies: - - '@aws-sdk/client-sso-oidc' - - aws-crt - - '@aws-sdk/credential-provider-node@3.554.0': - dependencies: - '@aws-sdk/credential-provider-env': 3.535.0 - '@aws-sdk/credential-provider-http': 3.552.0 - '@aws-sdk/credential-provider-ini': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) - '@aws-sdk/credential-provider-process': 3.535.0 - '@aws-sdk/credential-provider-sso': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) - '@aws-sdk/credential-provider-web-identity': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) - '@aws-sdk/types': 3.535.0 - '@smithy/credential-provider-imds': 2.3.0 - '@smithy/property-provider': 2.2.0 - '@smithy/shared-ini-file-loader': 2.4.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/credential-provider-node@3.569.0(@aws-sdk/client-sso-oidc@3.569.0)(@aws-sdk/client-sts@3.569.0)': - dependencies: - '@aws-sdk/credential-provider-env': 3.568.0 - '@aws-sdk/credential-provider-http': 3.568.0 - '@aws-sdk/credential-provider-ini': 3.568.0(@aws-sdk/client-sso-oidc@3.569.0)(@aws-sdk/client-sts@3.569.0) - '@aws-sdk/credential-provider-process': 3.568.0 - '@aws-sdk/credential-provider-sso': 3.568.0(@aws-sdk/client-sso-oidc@3.569.0) - '@aws-sdk/credential-provider-web-identity': 3.568.0(@aws-sdk/client-sts@3.569.0) - '@aws-sdk/types': 3.567.0 - '@smithy/credential-provider-imds': 2.3.0 - '@smithy/property-provider': 2.2.0 - '@smithy/shared-ini-file-loader': 2.4.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - transitivePeerDependencies: - - '@aws-sdk/client-sso-oidc' - - '@aws-sdk/client-sts' - - aws-crt - - '@aws-sdk/credential-provider-process@3.535.0': - dependencies: - '@aws-sdk/types': 3.535.0 - '@smithy/property-provider': 2.2.0 - '@smithy/shared-ini-file-loader': 2.4.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - - '@aws-sdk/credential-provider-process@3.568.0': - dependencies: - '@aws-sdk/types': 3.567.0 - '@smithy/property-provider': 2.2.0 - '@smithy/shared-ini-file-loader': 2.4.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - - '@aws-sdk/credential-provider-sso@3.554.0(@aws-sdk/credential-provider-node@3.554.0)': - dependencies: - '@aws-sdk/client-sso': 3.554.0 - '@aws-sdk/token-providers': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) - '@aws-sdk/types': 3.535.0 - '@smithy/property-provider': 2.2.0 - '@smithy/shared-ini-file-loader': 2.4.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - transitivePeerDependencies: - - '@aws-sdk/credential-provider-node' - - aws-crt - - '@aws-sdk/credential-provider-sso@3.568.0(@aws-sdk/client-sso-oidc@3.569.0)': - dependencies: - '@aws-sdk/client-sso': 3.568.0 - '@aws-sdk/token-providers': 3.568.0(@aws-sdk/client-sso-oidc@3.569.0) - '@aws-sdk/types': 3.567.0 - '@smithy/property-provider': 2.2.0 - '@smithy/shared-ini-file-loader': 2.4.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - transitivePeerDependencies: - - '@aws-sdk/client-sso-oidc' - - aws-crt - - '@aws-sdk/credential-provider-web-identity@3.554.0(@aws-sdk/credential-provider-node@3.554.0)': - dependencies: - '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) - '@aws-sdk/types': 3.535.0 - '@smithy/property-provider': 2.2.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - transitivePeerDependencies: - - '@aws-sdk/credential-provider-node' - - aws-crt - - '@aws-sdk/credential-provider-web-identity@3.568.0(@aws-sdk/client-sts@3.569.0)': - dependencies: - '@aws-sdk/client-sts': 3.569.0 - '@aws-sdk/types': 3.567.0 - '@smithy/property-provider': 2.2.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - - '@aws-sdk/credential-providers@3.554.0': - dependencies: - '@aws-sdk/client-cognito-identity': 3.554.0 - '@aws-sdk/client-sso': 3.554.0 - '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) - '@aws-sdk/credential-provider-cognito-identity': 3.554.0 - '@aws-sdk/credential-provider-env': 3.535.0 - '@aws-sdk/credential-provider-http': 3.552.0 - '@aws-sdk/credential-provider-ini': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) - '@aws-sdk/credential-provider-node': 3.554.0 - '@aws-sdk/credential-provider-process': 3.535.0 - '@aws-sdk/credential-provider-sso': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) - '@aws-sdk/credential-provider-web-identity': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) - '@aws-sdk/types': 3.535.0 - '@smithy/credential-provider-imds': 2.3.0 - '@smithy/property-provider': 2.2.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - transitivePeerDependencies: - - aws-crt - - '@aws-sdk/middleware-bucket-endpoint@3.535.0': - dependencies: - '@aws-sdk/types': 3.535.0 - '@aws-sdk/util-arn-parser': 3.535.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/types': 2.12.0 - '@smithy/util-config-provider': 2.3.0 - tslib: 2.6.2 - - '@aws-sdk/middleware-expect-continue@3.535.0': - dependencies: - '@aws-sdk/types': 3.535.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - - '@aws-sdk/middleware-flexible-checksums@3.535.0': - dependencies: - '@aws-crypto/crc32': 3.0.0 - '@aws-crypto/crc32c': 3.0.0 - '@aws-sdk/types': 3.535.0 - '@smithy/is-array-buffer': 2.2.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/types': 2.12.0 - '@smithy/util-utf8': 2.3.0 - tslib: 2.6.2 - - '@aws-sdk/middleware-host-header@3.535.0': - dependencies: - '@aws-sdk/types': 3.535.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - - '@aws-sdk/middleware-host-header@3.567.0': - dependencies: - '@aws-sdk/types': 3.567.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - - '@aws-sdk/middleware-location-constraint@3.535.0': - dependencies: - '@aws-sdk/types': 3.535.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - - '@aws-sdk/middleware-logger@3.535.0': - dependencies: - '@aws-sdk/types': 3.535.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - - '@aws-sdk/middleware-logger@3.568.0': - dependencies: - '@aws-sdk/types': 3.567.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - - '@aws-sdk/middleware-recursion-detection@3.535.0': - dependencies: - '@aws-sdk/types': 3.535.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - - '@aws-sdk/middleware-recursion-detection@3.567.0': - dependencies: - '@aws-sdk/types': 3.567.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - - '@aws-sdk/middleware-retry@3.374.0': - dependencies: - '@smithy/middleware-retry': 1.1.0 - tslib: 2.6.2 - uuid: 8.3.2 - - '@aws-sdk/middleware-sdk-s3@3.552.0': - dependencies: - '@aws-sdk/types': 3.535.0 - '@aws-sdk/util-arn-parser': 3.535.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/signature-v4': 2.3.0 - '@smithy/smithy-client': 2.5.1 - '@smithy/types': 2.12.0 - '@smithy/util-config-provider': 2.3.0 - tslib: 2.6.2 - - '@aws-sdk/middleware-signing@3.552.0': - dependencies: - '@aws-sdk/types': 3.535.0 - '@smithy/property-provider': 2.2.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/signature-v4': 2.3.0 - '@smithy/types': 2.12.0 - '@smithy/util-middleware': 2.2.0 - tslib: 2.6.2 - - '@aws-sdk/middleware-ssec@3.537.0': - dependencies: - '@aws-sdk/types': 3.535.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - - '@aws-sdk/middleware-user-agent@3.540.0': - dependencies: - '@aws-sdk/types': 3.535.0 - '@aws-sdk/util-endpoints': 3.540.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - - '@aws-sdk/middleware-user-agent@3.567.0': - dependencies: - '@aws-sdk/types': 3.567.0 - '@aws-sdk/util-endpoints': 3.567.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - - '@aws-sdk/region-config-resolver@3.535.0': - dependencies: - '@aws-sdk/types': 3.535.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/types': 2.12.0 - '@smithy/util-config-provider': 2.3.0 - '@smithy/util-middleware': 2.2.0 - tslib: 2.6.2 - - '@aws-sdk/region-config-resolver@3.567.0': - dependencies: - '@aws-sdk/types': 3.567.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/types': 2.12.0 - '@smithy/util-config-provider': 2.3.0 - '@smithy/util-middleware': 2.2.0 - tslib: 2.6.2 - - '@aws-sdk/signature-v4-crt@3.552.0': - dependencies: - '@aws-sdk/signature-v4-multi-region': 3.552.0 - '@aws-sdk/types': 3.535.0 - '@aws-sdk/util-user-agent-node': 3.535.0(aws-crt@1.21.2) - '@smithy/querystring-parser': 2.2.0 - '@smithy/signature-v4': 2.3.0 - '@smithy/types': 2.12.0 - '@smithy/util-middleware': 2.2.0 - aws-crt: 1.21.2 - tslib: 2.6.2 - transitivePeerDependencies: - - bufferutil - - debug - - supports-color - - utf-8-validate - - '@aws-sdk/signature-v4-multi-region@3.552.0': - dependencies: - '@aws-sdk/middleware-sdk-s3': 3.552.0 - '@aws-sdk/types': 3.535.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/signature-v4': 2.3.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - - '@aws-sdk/smithy-client@3.374.0': - dependencies: - '@smithy/smithy-client': 1.1.0 - tslib: 2.6.2 - - '@aws-sdk/token-providers@3.554.0(@aws-sdk/credential-provider-node@3.554.0)': - dependencies: - '@aws-sdk/client-sso-oidc': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) - '@aws-sdk/types': 3.535.0 - '@smithy/property-provider': 2.2.0 - '@smithy/shared-ini-file-loader': 2.4.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - transitivePeerDependencies: - - '@aws-sdk/credential-provider-node' - - aws-crt - - '@aws-sdk/token-providers@3.568.0(@aws-sdk/client-sso-oidc@3.569.0)': - dependencies: - '@aws-sdk/client-sso-oidc': 3.569.0(@aws-sdk/client-sts@3.569.0) - '@aws-sdk/types': 3.567.0 - '@smithy/property-provider': 2.2.0 - '@smithy/shared-ini-file-loader': 2.4.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - - '@aws-sdk/types@3.535.0': - dependencies: - '@smithy/types': 2.12.0 - tslib: 2.6.2 - - '@aws-sdk/types@3.567.0': - dependencies: - '@smithy/types': 2.12.0 - tslib: 2.6.2 - - '@aws-sdk/util-arn-parser@3.535.0': - dependencies: - tslib: 2.6.2 - - '@aws-sdk/util-endpoints@3.540.0': - dependencies: - '@aws-sdk/types': 3.535.0 - '@smithy/types': 2.12.0 - '@smithy/util-endpoints': 1.2.0 - tslib: 2.6.2 - - '@aws-sdk/util-endpoints@3.567.0': - dependencies: - '@aws-sdk/types': 3.567.0 - '@smithy/types': 2.12.0 - '@smithy/util-endpoints': 1.2.0 - tslib: 2.6.2 - - '@aws-sdk/util-locate-window@3.535.0': - dependencies: - tslib: 2.6.2 - - '@aws-sdk/util-user-agent-browser@3.535.0': - dependencies: - '@aws-sdk/types': 3.535.0 - '@smithy/types': 2.12.0 - bowser: 2.11.0 - tslib: 2.6.2 - - '@aws-sdk/util-user-agent-browser@3.567.0': - dependencies: - '@aws-sdk/types': 3.567.0 - '@smithy/types': 2.12.0 - bowser: 2.11.0 - tslib: 2.6.2 - - '@aws-sdk/util-user-agent-node@3.535.0(aws-crt@1.21.2)': - dependencies: - '@aws-sdk/types': 3.535.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/types': 2.12.0 - aws-crt: 1.21.2 - tslib: 2.6.2 - - '@aws-sdk/util-user-agent-node@3.568.0': - dependencies: - '@aws-sdk/types': 3.567.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/types': 2.12.0 - tslib: 2.6.2 - - '@aws-sdk/util-utf8-browser@3.259.0': - dependencies: - tslib: 2.6.2 - - '@aws-sdk/xml-builder@3.535.0': - dependencies: - '@smithy/types': 2.12.0 - tslib: 2.6.2 - - '@babel/code-frame@7.24.2': - dependencies: - '@babel/highlight': 7.24.2 - picocolors: 1.0.0 - - '@babel/compat-data@7.24.4': {} - - '@babel/core@7.24.4': - dependencies: - '@ampproject/remapping': 2.3.0 - '@babel/code-frame': 7.24.2 - '@babel/generator': 7.24.4 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) - '@babel/helpers': 7.24.4 - '@babel/parser': 7.24.4 - '@babel/template': 7.24.0 - '@babel/traverse': 7.24.1 - '@babel/types': 7.24.0 - convert-source-map: 2.0.0 - debug: 4.3.4(supports-color@8.1.1) - gensync: 1.0.0-beta.2 - json5: 2.2.3 - semver: 6.3.1 - transitivePeerDependencies: - - supports-color - - '@babel/eslint-parser@7.24.1(@babel/core@7.24.4)(eslint@8.57.0)': - dependencies: - '@babel/core': 7.24.4 - '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 - eslint: 8.57.0 - eslint-visitor-keys: 2.1.0 - semver: 6.3.1 - - '@babel/generator@7.24.4': - dependencies: - '@babel/types': 7.24.0 - '@jridgewell/gen-mapping': 0.3.5 - '@jridgewell/trace-mapping': 0.3.25 - jsesc: 2.5.2 - - '@babel/helper-annotate-as-pure@7.22.5': - dependencies: - '@babel/types': 7.24.0 - - '@babel/helper-compilation-targets@7.23.6': - dependencies: - '@babel/compat-data': 7.24.4 - '@babel/helper-validator-option': 7.23.5 - browserslist: 4.23.0 - lru-cache: 5.1.1 - semver: 6.3.1 - - '@babel/helper-create-class-features-plugin@7.24.4(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-member-expression-to-functions': 7.23.0 - '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4) - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - semver: 6.3.1 - - '@babel/helper-environment-visitor@7.22.20': {} - - '@babel/helper-function-name@7.23.0': - dependencies: - '@babel/template': 7.24.0 - '@babel/types': 7.24.0 - - '@babel/helper-hoist-variables@7.22.5': - dependencies: - '@babel/types': 7.24.0 - - '@babel/helper-member-expression-to-functions@7.23.0': - dependencies: - '@babel/types': 7.24.0 - - '@babel/helper-module-imports@7.24.3': - dependencies: - '@babel/types': 7.24.0 - - '@babel/helper-module-transforms@7.23.3(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-module-imports': 7.24.3 - '@babel/helper-simple-access': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/helper-validator-identifier': 7.22.20 - - '@babel/helper-optimise-call-expression@7.22.5': - dependencies: - '@babel/types': 7.24.0 - - '@babel/helper-plugin-utils@7.24.0': {} - - '@babel/helper-replace-supers@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-member-expression-to-functions': 7.23.0 - '@babel/helper-optimise-call-expression': 7.22.5 - - '@babel/helper-simple-access@7.22.5': - dependencies: - '@babel/types': 7.24.0 - - '@babel/helper-skip-transparent-expression-wrappers@7.22.5': - dependencies: - '@babel/types': 7.24.0 - - '@babel/helper-split-export-declaration@7.22.6': - dependencies: - '@babel/types': 7.24.0 - - '@babel/helper-string-parser@7.24.1': {} - - '@babel/helper-validator-identifier@7.22.20': {} - - '@babel/helper-validator-option@7.23.5': {} - - '@babel/helpers@7.24.4': - dependencies: - '@babel/template': 7.24.0 - '@babel/traverse': 7.24.1 - '@babel/types': 7.24.0 - transitivePeerDependencies: - - supports-color - - '@babel/highlight@7.24.2': - dependencies: - '@babel/helper-validator-identifier': 7.22.20 - chalk: 2.4.2 - js-tokens: 4.0.0 - picocolors: 1.0.0 - - '@babel/parser@7.24.4': - dependencies: - '@babel/types': 7.24.0 - - '@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4) - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.24.4)': - dependencies: - '@babel/compat-data': 7.24.4 - '@babel/core': 7.24.4 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.4) - '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.4) - - '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-syntax-flow@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-block-scoping@7.24.4(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-classes@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4) - '@babel/helper-split-export-declaration': 7.22.6 - globals: 11.12.0 - - '@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/template': 7.24.0 - - '@babel/plugin-transform-destructuring@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-flow-strip-types@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-flow': 7.24.1(@babel/core@7.24.4) - - '@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - - '@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-simple-access': 7.22.5 - - '@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4) - - '@babel/plugin-transform-parameters@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-react-display-name@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-annotate-as-pure': 7.22.5 - '@babel/helper-module-imports': 7.24.3 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.4) - '@babel/types': 7.24.0 - - '@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - - '@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.4)': - dependencies: - '@babel/core': 7.24.4 - '@babel/helper-plugin-utils': 7.24.0 - - '@babel/runtime@7.24.4': - dependencies: - regenerator-runtime: 0.14.1 - - '@babel/template@7.24.0': - dependencies: - '@babel/code-frame': 7.24.2 - '@babel/parser': 7.24.4 - '@babel/types': 7.24.0 - - '@babel/traverse@7.24.1': - dependencies: - '@babel/code-frame': 7.24.2 - '@babel/generator': 7.24.4 - '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-function-name': 7.23.0 - '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-split-export-declaration': 7.22.6 - '@babel/parser': 7.24.4 - '@babel/types': 7.24.0 - debug: 4.3.4(supports-color@8.1.1) - globals: 11.12.0 - transitivePeerDependencies: - - supports-color - - '@babel/types@7.24.0': - dependencies: - '@babel/helper-string-parser': 7.24.1 - '@babel/helper-validator-identifier': 7.22.20 - to-fast-properties: 2.0.0 - - '@bcoe/v8-coverage@0.2.3': {} - - '@cdklabs/tskb@0.0.3': {} - - '@cspotcode/source-map-support@0.8.1': - dependencies: - '@jridgewell/trace-mapping': 0.3.9 - - '@dependents/detective-less@4.1.0': - dependencies: - gonzales-pe: 4.3.0 - node-source-walk: 6.0.2 - - '@envelop/core@3.0.6': - dependencies: - '@envelop/types': 3.0.2 - tslib: 2.6.2 - - '@envelop/types@3.0.2': - dependencies: - tslib: 2.6.2 - - '@envelop/validation-cache@5.1.3(@envelop/core@3.0.6)(graphql@16.8.1)': - dependencies: - '@envelop/core': 3.0.6 - graphql: 16.8.1 - hash-it: 6.0.0 - lru-cache: 6.0.0 - tslib: 2.6.2 - - '@esbuild/aix-ppc64@0.19.12': - optional: true - - '@esbuild/aix-ppc64@0.20.2': - optional: true - - '@esbuild/android-arm64@0.18.13': - optional: true - - '@esbuild/android-arm64@0.19.12': - optional: true - - '@esbuild/android-arm64@0.20.2': - optional: true - - '@esbuild/android-arm@0.18.13': - optional: true - - '@esbuild/android-arm@0.19.12': - optional: true - - '@esbuild/android-arm@0.20.2': - optional: true - - '@esbuild/android-x64@0.18.13': - optional: true - - '@esbuild/android-x64@0.19.12': - optional: true - - '@esbuild/android-x64@0.20.2': - optional: true - - '@esbuild/darwin-arm64@0.18.13': - optional: true - - '@esbuild/darwin-arm64@0.19.12': - optional: true - - '@esbuild/darwin-arm64@0.20.2': - optional: true - - '@esbuild/darwin-x64@0.18.13': - optional: true - - '@esbuild/darwin-x64@0.19.12': - optional: true - - '@esbuild/darwin-x64@0.20.2': - optional: true - - '@esbuild/freebsd-arm64@0.18.13': - optional: true - - '@esbuild/freebsd-arm64@0.19.12': - optional: true - - '@esbuild/freebsd-arm64@0.20.2': - optional: true - - '@esbuild/freebsd-x64@0.18.13': - optional: true - - '@esbuild/freebsd-x64@0.19.12': - optional: true - - '@esbuild/freebsd-x64@0.20.2': - optional: true - - '@esbuild/linux-arm64@0.18.13': - optional: true - - '@esbuild/linux-arm64@0.19.12': - optional: true - - '@esbuild/linux-arm64@0.20.2': - optional: true - - '@esbuild/linux-arm@0.18.13': - optional: true - - '@esbuild/linux-arm@0.19.12': - optional: true - - '@esbuild/linux-arm@0.20.2': - optional: true - - '@esbuild/linux-ia32@0.18.13': - optional: true - - '@esbuild/linux-ia32@0.19.12': - optional: true - - '@esbuild/linux-ia32@0.20.2': - optional: true - - '@esbuild/linux-loong64@0.18.13': - optional: true - - '@esbuild/linux-loong64@0.19.12': - optional: true - - '@esbuild/linux-loong64@0.20.2': - optional: true - - '@esbuild/linux-mips64el@0.18.13': - optional: true - - '@esbuild/linux-mips64el@0.19.12': - optional: true - - '@esbuild/linux-mips64el@0.20.2': - optional: true - - '@esbuild/linux-ppc64@0.18.13': - optional: true - - '@esbuild/linux-ppc64@0.19.12': - optional: true - - '@esbuild/linux-ppc64@0.20.2': - optional: true - - '@esbuild/linux-riscv64@0.18.13': - optional: true - - '@esbuild/linux-riscv64@0.19.12': - optional: true - - '@esbuild/linux-riscv64@0.20.2': - optional: true - - '@esbuild/linux-s390x@0.18.13': - optional: true - - '@esbuild/linux-s390x@0.19.12': - optional: true - - '@esbuild/linux-s390x@0.20.2': - optional: true - - '@esbuild/linux-x64@0.18.13': - optional: true - - '@esbuild/linux-x64@0.19.12': - optional: true - - '@esbuild/linux-x64@0.20.2': - optional: true - - '@esbuild/netbsd-x64@0.18.13': - optional: true - - '@esbuild/netbsd-x64@0.19.12': - optional: true - - '@esbuild/netbsd-x64@0.20.2': - optional: true - - '@esbuild/openbsd-x64@0.18.13': - optional: true - - '@esbuild/openbsd-x64@0.19.12': - optional: true - - '@esbuild/openbsd-x64@0.20.2': - optional: true - - '@esbuild/sunos-x64@0.18.13': - optional: true - - '@esbuild/sunos-x64@0.19.12': - optional: true - - '@esbuild/sunos-x64@0.20.2': - optional: true - - '@esbuild/win32-arm64@0.18.13': - optional: true - - '@esbuild/win32-arm64@0.19.12': - optional: true - - '@esbuild/win32-arm64@0.20.2': - optional: true - - '@esbuild/win32-ia32@0.18.13': - optional: true - - '@esbuild/win32-ia32@0.19.12': - optional: true - - '@esbuild/win32-ia32@0.20.2': - optional: true - - '@esbuild/win32-x64@0.18.13': - optional: true - - '@esbuild/win32-x64@0.19.12': - optional: true - - '@esbuild/win32-x64@0.20.2': - optional: true - - '@eslint-community/eslint-utils@4.4.0(eslint@8.57.0)': - dependencies: - eslint: 8.57.0 - eslint-visitor-keys: 3.4.3 - - '@eslint-community/regexpp@4.10.0': {} - - '@eslint/eslintrc@2.1.4': - dependencies: - ajv: 6.12.6 - debug: 4.3.4(supports-color@8.1.1) - espree: 9.6.1 - globals: 13.24.0 - ignore: 5.3.1 - import-fresh: 3.3.0 - js-yaml: 4.1.0 - minimatch: 3.1.2 - strip-json-comments: 3.1.1 - transitivePeerDependencies: - - supports-color - - '@eslint/js@8.57.0': {} - - '@ethereumjs/rlp@4.0.1': {} - - '@ethereumjs/util@8.1.0': - dependencies: - '@ethereumjs/rlp': 4.0.1 - ethereum-cryptography: 2.1.3 - micro-ftch: 0.3.1 - - '@ethersproject/abi@5.6.0': - dependencies: - '@ethersproject/address': 5.7.0 - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/constants': 5.7.0 - '@ethersproject/hash': 5.7.0 - '@ethersproject/keccak256': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/properties': 5.7.0 - '@ethersproject/strings': 5.7.0 - - '@ethersproject/abi@5.7.0': - dependencies: - '@ethersproject/address': 5.7.0 - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/constants': 5.7.0 - '@ethersproject/hash': 5.7.0 - '@ethersproject/keccak256': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/properties': 5.7.0 - '@ethersproject/strings': 5.7.0 - - '@ethersproject/abstract-provider@5.6.0': - dependencies: - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/networks': 5.7.1 - '@ethersproject/properties': 5.7.0 - '@ethersproject/transactions': 5.7.0 - '@ethersproject/web': 5.7.1 - - '@ethersproject/abstract-provider@5.7.0': - dependencies: - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/networks': 5.7.1 - '@ethersproject/properties': 5.7.0 - '@ethersproject/transactions': 5.7.0 - '@ethersproject/web': 5.7.1 - - '@ethersproject/abstract-signer@5.6.0': - dependencies: - '@ethersproject/abstract-provider': 5.7.0 - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/properties': 5.7.0 - - '@ethersproject/abstract-signer@5.7.0': - dependencies: - '@ethersproject/abstract-provider': 5.7.0 - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/properties': 5.7.0 - - '@ethersproject/address@5.6.0': - dependencies: - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/keccak256': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/rlp': 5.7.0 - - '@ethersproject/address@5.7.0': - dependencies: - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/keccak256': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/rlp': 5.7.0 - - '@ethersproject/base64@5.6.0': - dependencies: - '@ethersproject/bytes': 5.7.0 - - '@ethersproject/base64@5.7.0': - dependencies: - '@ethersproject/bytes': 5.7.0 - - '@ethersproject/basex@5.6.0': - dependencies: - '@ethersproject/bytes': 5.7.0 - '@ethersproject/properties': 5.7.0 - - '@ethersproject/basex@5.7.0': - dependencies: - '@ethersproject/bytes': 5.7.0 - '@ethersproject/properties': 5.7.0 - - '@ethersproject/bignumber@5.6.0': - dependencies: - '@ethersproject/bytes': 5.7.0 - '@ethersproject/logger': 5.7.0 - bn.js: 4.12.0 - - '@ethersproject/bignumber@5.7.0': - dependencies: - '@ethersproject/bytes': 5.7.0 - '@ethersproject/logger': 5.7.0 - bn.js: 5.2.1 - - '@ethersproject/bytes@5.6.1': - dependencies: - '@ethersproject/logger': 5.7.0 - - '@ethersproject/bytes@5.7.0': dependencies: - '@ethersproject/logger': 5.7.0 - - '@ethersproject/constants@5.6.0': - dependencies: - '@ethersproject/bignumber': 5.7.0 + '@ethersproject/bignumber': 5.6.0 + dev: false - '@ethersproject/constants@5.7.0': + /@ethersproject/constants@5.7.0: + resolution: {integrity: sha512-DHI+y5dBNvkpYUMiRQyxRBYBefZkJfo70VUkUAsRjcPs47muV9evftfZ0PJVCXYbAiCgght0DtcF9srFQmIgWA==} dependencies: '@ethersproject/bignumber': 5.7.0 - '@ethersproject/contracts@5.6.0': + /@ethersproject/contracts@5.6.0: + resolution: {integrity: sha512-74Ge7iqTDom0NX+mux8KbRUeJgu1eHZ3iv6utv++sLJG80FVuU9HnHeKVPfjd9s3woFhaFoQGf3B3iH/FrQmgw==} dependencies: - '@ethersproject/abi': 5.7.0 - '@ethersproject/abstract-provider': 5.7.0 - '@ethersproject/abstract-signer': 5.7.0 - '@ethersproject/address': 5.7.0 - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/constants': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/properties': 5.7.0 - '@ethersproject/transactions': 5.7.0 + '@ethersproject/abi': 5.6.0 + '@ethersproject/abstract-provider': 5.6.0 + '@ethersproject/abstract-signer': 5.6.0 + '@ethersproject/address': 5.6.0 + '@ethersproject/bignumber': 5.6.0 + '@ethersproject/bytes': 5.6.1 + '@ethersproject/constants': 5.6.0 + '@ethersproject/logger': 5.6.0 + '@ethersproject/properties': 5.6.0 + '@ethersproject/transactions': 5.6.0 + dev: false - '@ethersproject/contracts@5.7.0': + /@ethersproject/contracts@5.7.0: + resolution: {integrity: sha512-5GJbzEU3X+d33CdfPhcyS+z8MzsTrBGk/sc+G+59+tPa9yFkl6HQ9D6L0QMgNTA9q8dT0XKxxkyp883XsQvbbg==} dependencies: '@ethersproject/abi': 5.7.0 '@ethersproject/abstract-provider': 5.7.0 @@ -11939,18 +4835,21 @@ snapshots: '@ethersproject/properties': 5.7.0 '@ethersproject/transactions': 5.7.0 - '@ethersproject/hash@5.6.0': + /@ethersproject/hash@5.6.0: + resolution: {integrity: sha512-fFd+k9gtczqlr0/BruWLAu7UAOas1uRRJvOR84uDf4lNZ+bTkGl366qvniUZHKtlqxBRU65MkOobkmvmpHU+jA==} dependencies: - '@ethersproject/abstract-signer': 5.7.0 - '@ethersproject/address': 5.7.0 - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/bytes': 5.7.0 + '@ethersproject/abstract-signer': 5.6.0 + '@ethersproject/address': 5.6.0 + '@ethersproject/bignumber': 5.6.0 + '@ethersproject/bytes': 5.6.1 '@ethersproject/keccak256': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/properties': 5.7.0 - '@ethersproject/strings': 5.7.0 + '@ethersproject/logger': 5.6.0 + '@ethersproject/properties': 5.6.0 + '@ethersproject/strings': 5.6.0 + dev: false - '@ethersproject/hash@5.7.0': + /@ethersproject/hash@5.7.0: + resolution: {integrity: sha512-qX5WrQfnah1EFnO5zJv1v46a8HW0+E5xuBBDTwMFZLuVTx0tbU2kkx15NqdjxecrLGatQN9FGQKpb1FKdHCt+g==} dependencies: '@ethersproject/abstract-signer': 5.7.0 '@ethersproject/address': 5.7.0 @@ -11962,22 +4861,25 @@ snapshots: '@ethersproject/properties': 5.7.0 '@ethersproject/strings': 5.7.0 - '@ethersproject/hdnode@5.6.0': + /@ethersproject/hdnode@5.6.0: + resolution: {integrity: sha512-61g3Jp3nwDqJcL/p4nugSyLrpl/+ChXIOtCEM8UDmWeB3JCAt5FoLdOMXQc3WWkc0oM2C0aAn6GFqqMcS/mHTw==} dependencies: - '@ethersproject/abstract-signer': 5.7.0 - '@ethersproject/basex': 5.7.0 - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/pbkdf2': 5.7.0 - '@ethersproject/properties': 5.7.0 - '@ethersproject/sha2': 5.7.0 - '@ethersproject/signing-key': 5.7.0 - '@ethersproject/strings': 5.7.0 - '@ethersproject/transactions': 5.7.0 - '@ethersproject/wordlists': 5.7.0 + '@ethersproject/abstract-signer': 5.6.0 + '@ethersproject/basex': 5.6.0 + '@ethersproject/bignumber': 5.6.0 + '@ethersproject/bytes': 5.6.1 + '@ethersproject/logger': 5.6.0 + '@ethersproject/pbkdf2': 5.6.0 + '@ethersproject/properties': 5.6.0 + '@ethersproject/sha2': 5.6.0 + '@ethersproject/signing-key': 5.6.0 + '@ethersproject/strings': 5.6.0 + '@ethersproject/transactions': 5.6.0 + '@ethersproject/wordlists': 5.6.0 + dev: false - '@ethersproject/hdnode@5.7.0': + /@ethersproject/hdnode@5.7.0: + resolution: {integrity: sha512-OmyYo9EENBPPf4ERhR7oj6uAtUAhYGqOnIS+jE5pTXvdKBS99ikzq1E7Iv0ZQZ5V36Lqx1qZLeak0Ra16qpeOg==} dependencies: '@ethersproject/abstract-signer': 5.7.0 '@ethersproject/basex': 5.7.0 @@ -11992,23 +4894,26 @@ snapshots: '@ethersproject/transactions': 5.7.0 '@ethersproject/wordlists': 5.7.0 - '@ethersproject/json-wallets@5.6.0': + /@ethersproject/json-wallets@5.6.0: + resolution: {integrity: sha512-fmh86jViB9r0ibWXTQipxpAGMiuxoqUf78oqJDlCAJXgnJF024hOOX7qVgqsjtbeoxmcLwpPsXNU0WEe/16qPQ==} dependencies: - '@ethersproject/abstract-signer': 5.7.0 - '@ethersproject/address': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/hdnode': 5.7.0 + '@ethersproject/abstract-signer': 5.6.0 + '@ethersproject/address': 5.6.0 + '@ethersproject/bytes': 5.6.1 + '@ethersproject/hdnode': 5.6.0 '@ethersproject/keccak256': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/pbkdf2': 5.7.0 - '@ethersproject/properties': 5.7.0 - '@ethersproject/random': 5.7.0 - '@ethersproject/strings': 5.7.0 - '@ethersproject/transactions': 5.7.0 + '@ethersproject/logger': 5.6.0 + '@ethersproject/pbkdf2': 5.6.0 + '@ethersproject/properties': 5.6.0 + '@ethersproject/random': 5.6.0 + '@ethersproject/strings': 5.6.0 + '@ethersproject/transactions': 5.6.0 aes-js: 3.0.0 scrypt-js: 3.0.1 + dev: false - '@ethersproject/json-wallets@5.7.0': + /@ethersproject/json-wallets@5.7.0: + resolution: {integrity: sha512-8oee5Xgu6+RKgJTkvEMl2wDgSPSAQ9MB/3JYjFV9jlKvcYHUXZC+cQp0njgmxdHkYWn8s6/IqIZYm0YWCjO/0g==} dependencies: '@ethersproject/abstract-signer': 5.7.0 '@ethersproject/address': 5.7.0 @@ -12024,72 +4929,90 @@ snapshots: aes-js: 3.0.0 scrypt-js: 3.0.1 - '@ethersproject/keccak256@5.6.0': + /@ethersproject/keccak256@5.6.0: + resolution: {integrity: sha512-tk56BJ96mdj/ksi7HWZVWGjCq0WVl/QvfhFQNeL8fxhBlGoP+L80uDCiQcpJPd+2XxkivS3lwRm3E0CXTfol0w==} dependencies: - '@ethersproject/bytes': 5.7.0 + '@ethersproject/bytes': 5.6.1 js-sha3: 0.8.0 + dev: false - '@ethersproject/keccak256@5.7.0': + /@ethersproject/keccak256@5.7.0: + resolution: {integrity: sha512-2UcPboeL/iW+pSg6vZ6ydF8tCnv3Iu/8tUmLLzWWGzxWKFFqOBQFLo6uLUv6BDrLgCDfN28RJ/wtByx+jZ4KBg==} dependencies: '@ethersproject/bytes': 5.7.0 js-sha3: 0.8.0 - '@ethersproject/logger@5.6.0': {} + /@ethersproject/logger@5.6.0: + resolution: {integrity: sha512-BiBWllUROH9w+P21RzoxJKzqoqpkyM1pRnEKG69bulE9TSQD8SAIvTQqIMZmmCO8pUNkgLP1wndX1gKghSpBmg==} + dev: false - '@ethersproject/logger@5.7.0': {} + /@ethersproject/logger@5.7.0: + resolution: {integrity: sha512-0odtFdXu/XHtjQXJYA3u9G0G8btm0ND5Cu8M7i5vhEcE8/HmF4Lbdqanwyv4uQTr2tx6b7fQRmgLrsnpQlmnig==} - '@ethersproject/networks@5.6.1': + /@ethersproject/networks@5.6.1: + resolution: {integrity: sha512-b2rrupf3kCTcc3jr9xOWBuHylSFtbpJf79Ga7QR98ienU2UqGimPGEsYMgbI29KHJfA5Us89XwGVmxrlxmSrMg==} dependencies: - '@ethersproject/logger': 5.7.0 + '@ethersproject/logger': 5.6.0 + dev: false - '@ethersproject/networks@5.7.1': + /@ethersproject/networks@5.7.1: + resolution: {integrity: sha512-n/MufjFYv3yFcUyfhnXotyDlNdFb7onmkSy8aQERi2PjNcnWQ66xXxa3XlS8nCcA8aJKJjIIMNJTC7tu80GwpQ==} dependencies: '@ethersproject/logger': 5.7.0 - '@ethersproject/pbkdf2@5.6.0': + /@ethersproject/pbkdf2@5.6.0: + resolution: {integrity: sha512-Wu1AxTgJo3T3H6MIu/eejLFok9TYoSdgwRr5oGY1LTLfmGesDoSx05pemsbrPT2gG4cQME+baTSCp5sEo2erZQ==} dependencies: - '@ethersproject/bytes': 5.7.0 - '@ethersproject/sha2': 5.7.0 + '@ethersproject/bytes': 5.6.1 + '@ethersproject/sha2': 5.6.0 + dev: false - '@ethersproject/pbkdf2@5.7.0': + /@ethersproject/pbkdf2@5.7.0: + resolution: {integrity: sha512-oR/dBRZR6GTyaofd86DehG72hY6NpAjhabkhxgr3X2FpJtJuodEl2auADWBZfhDHgVCbu3/H/Ocq2uC6dpNjjw==} dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/sha2': 5.7.0 - '@ethersproject/properties@5.6.0': + /@ethersproject/properties@5.6.0: + resolution: {integrity: sha512-szoOkHskajKePTJSZ46uHUWWkbv7TzP2ypdEK6jGMqJaEt2sb0jCgfBo0gH0m2HBpRixMuJ6TBRaQCF7a9DoCg==} dependencies: - '@ethersproject/logger': 5.7.0 + '@ethersproject/logger': 5.6.0 + dev: false - '@ethersproject/properties@5.7.0': + /@ethersproject/properties@5.7.0: + resolution: {integrity: sha512-J87jy8suntrAkIZtecpxEPxY//szqr1mlBaYlQ0r4RCaiD2hjheqF9s1LVE8vVuJCXisjIP+JgtK/Do54ej4Sw==} dependencies: '@ethersproject/logger': 5.7.0 - '@ethersproject/providers@5.6.2': + /@ethersproject/providers@5.6.2: + resolution: {integrity: sha512-6/EaFW/hNWz+224FXwl8+HdMRzVHt8DpPmu5MZaIQqx/K/ELnC9eY236SMV7mleCM3NnEArFwcAAxH5kUUgaRg==} dependencies: - '@ethersproject/abstract-provider': 5.7.0 - '@ethersproject/abstract-signer': 5.7.0 - '@ethersproject/address': 5.7.0 - '@ethersproject/basex': 5.7.0 - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/constants': 5.7.0 - '@ethersproject/hash': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/networks': 5.7.1 - '@ethersproject/properties': 5.7.0 - '@ethersproject/random': 5.7.0 - '@ethersproject/rlp': 5.7.0 - '@ethersproject/sha2': 5.7.0 - '@ethersproject/strings': 5.7.0 - '@ethersproject/transactions': 5.7.0 - '@ethersproject/web': 5.7.1 + '@ethersproject/abstract-provider': 5.6.0 + '@ethersproject/abstract-signer': 5.6.0 + '@ethersproject/address': 5.6.0 + '@ethersproject/basex': 5.6.0 + '@ethersproject/bignumber': 5.6.0 + '@ethersproject/bytes': 5.6.1 + '@ethersproject/constants': 5.6.0 + '@ethersproject/hash': 5.6.0 + '@ethersproject/logger': 5.6.0 + '@ethersproject/networks': 5.6.1 + '@ethersproject/properties': 5.6.0 + '@ethersproject/random': 5.6.0 + '@ethersproject/rlp': 5.6.0 + '@ethersproject/sha2': 5.6.0 + '@ethersproject/strings': 5.6.0 + '@ethersproject/transactions': 5.6.0 + '@ethersproject/web': 5.6.0 bech32: 1.1.4 ws: 7.4.6 transitivePeerDependencies: - bufferutil - utf-8-validate + dev: false - '@ethersproject/providers@5.7.2': + /@ethersproject/providers@5.7.2: + resolution: {integrity: sha512-g34EWZ1WWAVgr4aptGlVBF8mhl3VWjv+8hoAnzStu8Ah22VHBsuGzP17eb6xDVRzw895G4W7vvx60lFFur/1Rg==} dependencies: '@ethersproject/abstract-provider': 5.7.0 '@ethersproject/abstract-signer': 5.7.0 @@ -12115,48 +5038,60 @@ snapshots: - bufferutil - utf-8-validate - '@ethersproject/random@5.6.0': + /@ethersproject/random@5.6.0: + resolution: {integrity: sha512-si0PLcLjq+NG/XHSZz90asNf+YfKEqJGVdxoEkSukzbnBgC8rydbgbUgBbBGLeHN4kAJwUFEKsu3sCXT93YMsw==} dependencies: - '@ethersproject/bytes': 5.7.0 - '@ethersproject/logger': 5.7.0 + '@ethersproject/bytes': 5.6.1 + '@ethersproject/logger': 5.6.0 + dev: false - '@ethersproject/random@5.7.0': + /@ethersproject/random@5.7.0: + resolution: {integrity: sha512-19WjScqRA8IIeWclFme75VMXSBvi4e6InrUNuaR4s5pTF2qNhcGdCUwdxUVGtDDqC00sDLCO93jPQoDUH4HVmQ==} dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/logger': 5.7.0 - '@ethersproject/rlp@5.6.0': + /@ethersproject/rlp@5.6.0: + resolution: {integrity: sha512-dz9WR1xpcTL+9DtOT/aDO+YyxSSdO8YIS0jyZwHHSlAmnxA6cKU3TrTd4Xc/bHayctxTgGLYNuVVoiXE4tTq1g==} dependencies: - '@ethersproject/bytes': 5.7.0 - '@ethersproject/logger': 5.7.0 + '@ethersproject/bytes': 5.6.1 + '@ethersproject/logger': 5.6.0 + dev: false - '@ethersproject/rlp@5.7.0': + /@ethersproject/rlp@5.7.0: + resolution: {integrity: sha512-rBxzX2vK8mVF7b0Tol44t5Tb8gomOHkj5guL+HhzQ1yBh/ydjGnpw6at+X6Iw0Kp3OzzzkcKp8N9r0W4kYSs9w==} dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/logger': 5.7.0 - '@ethersproject/sha2@5.6.0': + /@ethersproject/sha2@5.6.0: + resolution: {integrity: sha512-1tNWCPFLu1n3JM9t4/kytz35DkuF9MxqkGGEHNauEbaARdm2fafnOyw1s0tIQDPKF/7bkP1u3dbrmjpn5CelyA==} dependencies: - '@ethersproject/bytes': 5.7.0 - '@ethersproject/logger': 5.7.0 + '@ethersproject/bytes': 5.6.1 + '@ethersproject/logger': 5.6.0 hash.js: 1.1.7 + dev: false - '@ethersproject/sha2@5.7.0': + /@ethersproject/sha2@5.7.0: + resolution: {integrity: sha512-gKlH42riwb3KYp0reLsFTokByAKoJdgFCwI+CCiX/k+Jm2mbNs6oOaCjYQSlI1+XBVejwH2KrmCbMAT/GnRDQw==} dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/logger': 5.7.0 hash.js: 1.1.7 - '@ethersproject/signing-key@5.6.0': + /@ethersproject/signing-key@5.6.0: + resolution: {integrity: sha512-S+njkhowmLeUu/r7ir8n78OUKx63kBdMCPssePS89So1TH4hZqnWFsThEd/GiXYp9qMxVrydf7KdM9MTGPFukA==} dependencies: - '@ethersproject/bytes': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/properties': 5.7.0 + '@ethersproject/bytes': 5.6.1 + '@ethersproject/logger': 5.6.0 + '@ethersproject/properties': 5.6.0 bn.js: 4.12.0 elliptic: 6.5.4 hash.js: 1.1.7 + dev: false - '@ethersproject/signing-key@5.7.0': + /@ethersproject/signing-key@5.7.0: + resolution: {integrity: sha512-MZdy2nL3wO0u7gkB4nA/pEf8lu1TlFswPNmy8AiYkfKTdO6eXBJyUdmHO/ehm/htHw9K/qF8ujnTyUAD+Ry54Q==} dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/logger': 5.7.0 @@ -12165,16 +5100,19 @@ snapshots: elliptic: 6.5.4 hash.js: 1.1.7 - '@ethersproject/solidity@5.6.0': + /@ethersproject/solidity@5.6.0: + resolution: {integrity: sha512-YwF52vTNd50kjDzqKaoNNbC/r9kMDPq3YzDWmsjFTRBcIF1y4JCQJ8gB30wsTfHbaxgxelI5BfxQSxD/PbJOww==} dependencies: - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/bytes': 5.7.0 + '@ethersproject/bignumber': 5.6.0 + '@ethersproject/bytes': 5.6.1 '@ethersproject/keccak256': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/sha2': 5.7.0 - '@ethersproject/strings': 5.7.0 + '@ethersproject/logger': 5.6.0 + '@ethersproject/sha2': 5.6.0 + '@ethersproject/strings': 5.6.0 + dev: false - '@ethersproject/solidity@5.7.0': + /@ethersproject/solidity@5.7.0: + resolution: {integrity: sha512-HmabMd2Dt/raavyaGukF4XxizWKhKQ24DoLtdNbBmNKUOPqwjsKQSdV9GQtj9CBEea9DlzETlVER1gYeXXBGaA==} dependencies: '@ethersproject/bignumber': 5.7.0 '@ethersproject/bytes': 5.7.0 @@ -12183,31 +5121,37 @@ snapshots: '@ethersproject/sha2': 5.7.0 '@ethersproject/strings': 5.7.0 - '@ethersproject/strings@5.6.0': + /@ethersproject/strings@5.6.0: + resolution: {integrity: sha512-uv10vTtLTZqrJuqBZR862ZQjTIa724wGPWQqZrofaPI/kUsf53TBG0I0D+hQ1qyNtllbNzaW+PDPHHUI6/65Mg==} dependencies: - '@ethersproject/bytes': 5.7.0 - '@ethersproject/constants': 5.7.0 - '@ethersproject/logger': 5.7.0 + '@ethersproject/bytes': 5.6.1 + '@ethersproject/constants': 5.6.0 + '@ethersproject/logger': 5.6.0 + dev: false - '@ethersproject/strings@5.7.0': + /@ethersproject/strings@5.7.0: + resolution: {integrity: sha512-/9nu+lj0YswRNSH0NXYqrh8775XNyEdUQAuf3f+SmOrnVewcJ5SBNAjF7lpgehKi4abvNNXyf+HX86czCdJ8Mg==} dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/constants': 5.7.0 '@ethersproject/logger': 5.7.0 - '@ethersproject/transactions@5.6.0': + /@ethersproject/transactions@5.6.0: + resolution: {integrity: sha512-4HX+VOhNjXHZyGzER6E/LVI2i6lf9ejYeWD6l4g50AdmimyuStKc39kvKf1bXWQMg7QNVh+uC7dYwtaZ02IXeg==} dependencies: - '@ethersproject/address': 5.7.0 - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/constants': 5.7.0 + '@ethersproject/address': 5.6.0 + '@ethersproject/bignumber': 5.6.0 + '@ethersproject/bytes': 5.6.1 + '@ethersproject/constants': 5.6.0 '@ethersproject/keccak256': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/properties': 5.7.0 - '@ethersproject/rlp': 5.7.0 - '@ethersproject/signing-key': 5.7.0 + '@ethersproject/logger': 5.6.0 + '@ethersproject/properties': 5.6.0 + '@ethersproject/rlp': 5.6.0 + '@ethersproject/signing-key': 5.6.0 + dev: false - '@ethersproject/transactions@5.7.0': + /@ethersproject/transactions@5.7.0: + resolution: {integrity: sha512-kmcNicCp1lp8qanMTC3RIikGgoJ80ztTyvtsFvCYpSCfkjhD0jZ2LOrnbcuxuToLIUYYf+4XwD1rP+B/erDIhQ==} dependencies: '@ethersproject/address': 5.7.0 '@ethersproject/bignumber': 5.7.0 @@ -12219,37 +5163,43 @@ snapshots: '@ethersproject/rlp': 5.7.0 '@ethersproject/signing-key': 5.7.0 - '@ethersproject/units@5.6.0': + /@ethersproject/units@5.6.0: + resolution: {integrity: sha512-tig9x0Qmh8qbo1w8/6tmtyrm/QQRviBh389EQ+d8fP4wDsBrJBf08oZfoiz1/uenKK9M78yAP4PoR7SsVoTjsw==} dependencies: - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/constants': 5.7.0 - '@ethersproject/logger': 5.7.0 + '@ethersproject/bignumber': 5.6.0 + '@ethersproject/constants': 5.6.0 + '@ethersproject/logger': 5.6.0 + dev: false - '@ethersproject/units@5.7.0': + /@ethersproject/units@5.7.0: + resolution: {integrity: sha512-pD3xLMy3SJu9kG5xDGI7+xhTEmGXlEqXU4OfNapmfnxLVY4EMSSRp7j1k7eezutBPH7RBN/7QPnwR7hzNlEFeg==} dependencies: '@ethersproject/bignumber': 5.7.0 '@ethersproject/constants': 5.7.0 '@ethersproject/logger': 5.7.0 - '@ethersproject/wallet@5.6.0': + /@ethersproject/wallet@5.6.0: + resolution: {integrity: sha512-qMlSdOSTyp0MBeE+r7SUhr1jjDlC1zAXB8VD84hCnpijPQiSNbxr6GdiLXxpUs8UKzkDiNYYC5DRI3MZr+n+tg==} dependencies: - '@ethersproject/abstract-provider': 5.7.0 - '@ethersproject/abstract-signer': 5.7.0 - '@ethersproject/address': 5.7.0 - '@ethersproject/bignumber': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/hash': 5.7.0 - '@ethersproject/hdnode': 5.7.0 - '@ethersproject/json-wallets': 5.7.0 + '@ethersproject/abstract-provider': 5.6.0 + '@ethersproject/abstract-signer': 5.6.0 + '@ethersproject/address': 5.6.0 + '@ethersproject/bignumber': 5.6.0 + '@ethersproject/bytes': 5.6.1 + '@ethersproject/hash': 5.6.0 + '@ethersproject/hdnode': 5.6.0 + '@ethersproject/json-wallets': 5.6.0 '@ethersproject/keccak256': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/properties': 5.7.0 - '@ethersproject/random': 5.7.0 - '@ethersproject/signing-key': 5.7.0 - '@ethersproject/transactions': 5.7.0 - '@ethersproject/wordlists': 5.7.0 + '@ethersproject/logger': 5.6.0 + '@ethersproject/properties': 5.6.0 + '@ethersproject/random': 5.6.0 + '@ethersproject/signing-key': 5.6.0 + '@ethersproject/transactions': 5.6.0 + '@ethersproject/wordlists': 5.6.0 + dev: false - '@ethersproject/wallet@5.7.0': + /@ethersproject/wallet@5.7.0: + resolution: {integrity: sha512-MhmXlJXEJFBFVKrDLB4ZdDzxcBxQ3rLyCkhNqVu3CDYvR97E+8r01UgrI+TI99Le+aYm/in/0vp86guJuM7FCA==} dependencies: '@ethersproject/abstract-provider': 5.7.0 '@ethersproject/abstract-signer': 5.7.0 @@ -12267,15 +5217,18 @@ snapshots: '@ethersproject/transactions': 5.7.0 '@ethersproject/wordlists': 5.7.0 - '@ethersproject/web@5.6.0': + /@ethersproject/web@5.6.0: + resolution: {integrity: sha512-G/XHj0hV1FxI2teHRfCGvfBUHFmU+YOSbCxlAMqJklxSa7QMiHFQfAxvwY2PFqgvdkxEKwRNr/eCjfAPEm2Ctg==} dependencies: - '@ethersproject/base64': 5.7.0 - '@ethersproject/bytes': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/properties': 5.7.0 - '@ethersproject/strings': 5.7.0 + '@ethersproject/base64': 5.6.0 + '@ethersproject/bytes': 5.6.1 + '@ethersproject/logger': 5.6.0 + '@ethersproject/properties': 5.6.0 + '@ethersproject/strings': 5.6.0 + dev: false - '@ethersproject/web@5.7.1': + /@ethersproject/web@5.7.1: + resolution: {integrity: sha512-Gueu8lSvyjBWL4cYsWsjh6MtMwM0+H4HvqFPZfB6dV8ctbP9zFAO73VG1cMWae0FLPCtz0peKPpZY8/ugJJX2w==} dependencies: '@ethersproject/base64': 5.7.0 '@ethersproject/bytes': 5.7.0 @@ -12283,15 +5236,18 @@ snapshots: '@ethersproject/properties': 5.7.0 '@ethersproject/strings': 5.7.0 - '@ethersproject/wordlists@5.6.0': + /@ethersproject/wordlists@5.6.0: + resolution: {integrity: sha512-q0bxNBfIX3fUuAo9OmjlEYxP40IB8ABgb7HjEZCL5IKubzV3j30CWi2rqQbjTS2HfoyQbfINoKcTVWP4ejwR7Q==} dependencies: - '@ethersproject/bytes': 5.7.0 - '@ethersproject/hash': 5.7.0 - '@ethersproject/logger': 5.7.0 - '@ethersproject/properties': 5.7.0 - '@ethersproject/strings': 5.7.0 + '@ethersproject/bytes': 5.6.1 + '@ethersproject/hash': 5.6.0 + '@ethersproject/logger': 5.6.0 + '@ethersproject/properties': 5.6.0 + '@ethersproject/strings': 5.6.0 + dev: false - '@ethersproject/wordlists@5.7.0': + /@ethersproject/wordlists@5.7.0: + resolution: {integrity: sha512-S2TFNJNfHWVHNE6cNDjbVlZ6MgE17MIxMbMg2zv3wn+3XSJGosL1m9ZVv3GXCf/2ymSsQ+hRI5IzoMJTG6aoVA==} dependencies: '@ethersproject/bytes': 5.7.0 '@ethersproject/hash': 5.7.0 @@ -12299,51 +5255,66 @@ snapshots: '@ethersproject/properties': 5.7.0 '@ethersproject/strings': 5.7.0 - '@fastify/busboy@2.1.1': {} + /@fastify/busboy@2.1.1: + resolution: {integrity: sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==} + engines: {node: '>=14'} + dev: true - '@graphql-codegen/add@5.0.2(graphql@16.8.1)': + /@graphql-codegen/add@5.0.2(graphql@16.8.1): + resolution: {integrity: sha512-ouBkSvMFUhda5VoKumo/ZvsZM9P5ZTyDsI8LW18VxSNWOjrTeLXBWHG8Gfaai0HwhflPtCYVABbriEcOmrRShQ==} + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: - '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) + '@graphql-codegen/plugin-helpers': 5.0.4(graphql@16.8.1) graphql: 16.8.1 tslib: 2.6.2 + dev: true - '@graphql-codegen/cli@5.0.2(@types/node@20.12.7)(graphql@16.8.1)(typescript@5.4.5)': + /@graphql-codegen/cli@5.0.2(@types/node@20.12.12)(graphql@16.8.1)(typescript@5.4.5): + resolution: {integrity: sha512-MBIaFqDiLKuO4ojN6xxG9/xL9wmfD3ZjZ7RsPjwQnSHBCUXnEkdKvX+JVpx87Pq29Ycn8wTJUguXnTZ7Di0Mlw==} + hasBin: true + peerDependencies: + '@parcel/watcher': ^2.1.0 + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + peerDependenciesMeta: + '@parcel/watcher': + optional: true dependencies: - '@babel/generator': 7.24.4 + '@babel/generator': 7.24.5 '@babel/template': 7.24.0 - '@babel/types': 7.24.0 - '@graphql-codegen/client-preset': 4.2.5(graphql@16.8.1) + '@babel/types': 7.24.5 + '@graphql-codegen/client-preset': 4.2.6(graphql@16.8.1) '@graphql-codegen/core': 4.0.2(graphql@16.8.1) - '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) + '@graphql-codegen/plugin-helpers': 5.0.4(graphql@16.8.1) '@graphql-tools/apollo-engine-loader': 8.0.1(graphql@16.8.1) - '@graphql-tools/code-file-loader': 8.1.1(graphql@16.8.1) - '@graphql-tools/git-loader': 8.0.5(graphql@16.8.1) - '@graphql-tools/github-loader': 8.0.1(@types/node@20.12.7)(graphql@16.8.1) + '@graphql-tools/code-file-loader': 8.1.2(graphql@16.8.1) + '@graphql-tools/git-loader': 8.0.6(graphql@16.8.1) + '@graphql-tools/github-loader': 8.0.1(@types/node@20.12.12)(graphql@16.8.1) '@graphql-tools/graphql-file-loader': 8.0.1(graphql@16.8.1) '@graphql-tools/json-file-loader': 8.0.1(graphql@16.8.1) '@graphql-tools/load': 8.0.2(graphql@16.8.1) - '@graphql-tools/prisma-loader': 8.0.3(@types/node@20.12.7)(graphql@16.8.1) - '@graphql-tools/url-loader': 8.0.2(@types/node@20.12.7)(graphql@16.8.1) - '@graphql-tools/utils': 10.1.3(graphql@16.8.1) + '@graphql-tools/prisma-loader': 8.0.4(@types/node@20.12.12)(graphql@16.8.1) + '@graphql-tools/url-loader': 8.0.2(@types/node@20.12.12)(graphql@16.8.1) + '@graphql-tools/utils': 10.2.0(graphql@16.8.1) '@whatwg-node/fetch': 0.8.8 chalk: 4.1.2 cosmiconfig: 8.3.6(typescript@5.4.5) debounce: 1.2.1 detect-indent: 6.1.0 graphql: 16.8.1 - graphql-config: 5.0.3(@types/node@20.12.7)(graphql@16.8.1)(typescript@5.4.5) + graphql-config: 5.0.3(@types/node@20.12.12)(graphql@16.8.1)(typescript@5.4.5) inquirer: 8.2.6 is-glob: 4.0.3 jiti: 1.21.0 json-to-pretty-yaml: 1.2.2 listr2: 4.0.5 log-symbols: 4.1.0 - micromatch: 4.0.5 + micromatch: 4.0.7 shell-quote: 1.8.1 string-env-interpolation: 1.0.1 ts-log: 2.2.5 tslib: 2.6.2 - yaml: 2.4.1 + yaml: 2.4.2 yargs: 17.7.2 transitivePeerDependencies: - '@types/node' @@ -12354,68 +5325,92 @@ snapshots: - supports-color - typescript - utf-8-validate + dev: true - '@graphql-codegen/client-preset@4.2.5(graphql@16.8.1)': + /@graphql-codegen/client-preset@4.2.6(graphql@16.8.1): + resolution: {integrity: sha512-e7SzPb+nxNJfsD0uG+NSyzIeTtCXTouX5VThmcCoqGMDLgF5Lo7932B3HtZCvzmzqcXxRjJ81CmkA2LhlqIbCw==} + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.5 '@babel/template': 7.24.0 '@graphql-codegen/add': 5.0.2(graphql@16.8.1) - '@graphql-codegen/gql-tag-operations': 4.0.6(graphql@16.8.1) - '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) - '@graphql-codegen/typed-document-node': 5.0.6(graphql@16.8.1) - '@graphql-codegen/typescript': 4.0.6(graphql@16.8.1) - '@graphql-codegen/typescript-operations': 4.2.0(graphql@16.8.1) - '@graphql-codegen/visitor-plugin-common': 5.1.0(graphql@16.8.1) + '@graphql-codegen/gql-tag-operations': 4.0.7(graphql@16.8.1) + '@graphql-codegen/plugin-helpers': 5.0.4(graphql@16.8.1) + '@graphql-codegen/typed-document-node': 5.0.7(graphql@16.8.1) + '@graphql-codegen/typescript': 4.0.7(graphql@16.8.1) + '@graphql-codegen/typescript-operations': 4.2.1(graphql@16.8.1) + '@graphql-codegen/visitor-plugin-common': 5.2.0(graphql@16.8.1) '@graphql-tools/documents': 1.0.0(graphql@16.8.1) - '@graphql-tools/utils': 10.1.3(graphql@16.8.1) + '@graphql-tools/utils': 10.2.0(graphql@16.8.1) '@graphql-typed-document-node/core': 3.2.0(graphql@16.8.1) graphql: 16.8.1 tslib: 2.6.2 transitivePeerDependencies: - encoding - supports-color + dev: true - '@graphql-codegen/core@4.0.2(graphql@16.8.1)': + /@graphql-codegen/core@4.0.2(graphql@16.8.1): + resolution: {integrity: sha512-IZbpkhwVqgizcjNiaVzNAzm/xbWT6YnGgeOLwVjm4KbJn3V2jchVtuzHH09G5/WkkLSk2wgbXNdwjM41JxO6Eg==} + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: - '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) + '@graphql-codegen/plugin-helpers': 5.0.4(graphql@16.8.1) '@graphql-tools/schema': 10.0.3(graphql@16.8.1) - '@graphql-tools/utils': 10.1.3(graphql@16.8.1) + '@graphql-tools/utils': 10.2.0(graphql@16.8.1) graphql: 16.8.1 tslib: 2.6.2 + dev: true - '@graphql-codegen/gql-tag-operations@4.0.6(graphql@16.8.1)': + /@graphql-codegen/gql-tag-operations@4.0.7(graphql@16.8.1): + resolution: {integrity: sha512-2I69+IDC8pqAohH6cgKse/vPfJ/4TRTJX96PkAKz8S4RD54PUHtBmzCdBInIFEP/vQuH5mFUAaIKXXjznmGOsg==} + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: - '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) - '@graphql-codegen/visitor-plugin-common': 5.1.0(graphql@16.8.1) - '@graphql-tools/utils': 10.1.3(graphql@16.8.1) + '@graphql-codegen/plugin-helpers': 5.0.4(graphql@16.8.1) + '@graphql-codegen/visitor-plugin-common': 5.2.0(graphql@16.8.1) + '@graphql-tools/utils': 10.2.0(graphql@16.8.1) auto-bind: 4.0.0 graphql: 16.8.1 tslib: 2.6.2 transitivePeerDependencies: - encoding - supports-color + dev: true - '@graphql-codegen/plugin-helpers@5.0.3(graphql@16.8.1)': + /@graphql-codegen/plugin-helpers@5.0.4(graphql@16.8.1): + resolution: {integrity: sha512-MOIuHFNWUnFnqVmiXtrI+4UziMTYrcquljaI5f/T/Bc7oO7sXcfkAvgkNWEEi9xWreYwvuer3VHCuPI/lAFWbw==} + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: - '@graphql-tools/utils': 10.1.3(graphql@16.8.1) + '@graphql-tools/utils': 10.2.0(graphql@16.8.1) change-case-all: 1.0.15 common-tags: 1.8.2 graphql: 16.8.1 import-from: 4.0.0 lodash: 4.17.21 tslib: 2.6.2 + dev: true - '@graphql-codegen/schema-ast@4.0.2(graphql@16.8.1)': + /@graphql-codegen/schema-ast@4.0.2(graphql@16.8.1): + resolution: {integrity: sha512-5mVAOQQK3Oz7EtMl/l3vOQdc2aYClUzVDHHkMvZlunc+KlGgl81j8TLa+X7ANIllqU4fUEsQU3lJmk4hXP6K7Q==} + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: - '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) - '@graphql-tools/utils': 10.1.3(graphql@16.8.1) + '@graphql-codegen/plugin-helpers': 5.0.4(graphql@16.8.1) + '@graphql-tools/utils': 10.2.0(graphql@16.8.1) graphql: 16.8.1 tslib: 2.6.2 + dev: true - '@graphql-codegen/typed-document-node@5.0.6(graphql@16.8.1)': + /@graphql-codegen/typed-document-node@5.0.7(graphql@16.8.1): + resolution: {integrity: sha512-rgFh96hAbNwPUxLVlRcNhGaw2+y7ZGx7giuETtdO8XzPasTQGWGRkZ3wXQ5UUiTX4X3eLmjnuoXYKT7HoxSznQ==} + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: - '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) - '@graphql-codegen/visitor-plugin-common': 5.1.0(graphql@16.8.1) + '@graphql-codegen/plugin-helpers': 5.0.4(graphql@16.8.1) + '@graphql-codegen/visitor-plugin-common': 5.2.0(graphql@16.8.1) auto-bind: 4.0.0 change-case-all: 1.0.15 graphql: 16.8.1 @@ -12423,37 +5418,49 @@ snapshots: transitivePeerDependencies: - encoding - supports-color + dev: true - '@graphql-codegen/typescript-operations@4.2.0(graphql@16.8.1)': + /@graphql-codegen/typescript-operations@4.2.1(graphql@16.8.1): + resolution: {integrity: sha512-LhEPsaP+AI65zfK2j6CBAL4RT0bJL/rR9oRWlvwtHLX0t7YQr4CP4BXgvvej9brYdedAxHGPWeV1tPHy5/z9KQ==} + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: - '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) - '@graphql-codegen/typescript': 4.0.6(graphql@16.8.1) - '@graphql-codegen/visitor-plugin-common': 5.1.0(graphql@16.8.1) + '@graphql-codegen/plugin-helpers': 5.0.4(graphql@16.8.1) + '@graphql-codegen/typescript': 4.0.7(graphql@16.8.1) + '@graphql-codegen/visitor-plugin-common': 5.2.0(graphql@16.8.1) auto-bind: 4.0.0 graphql: 16.8.1 tslib: 2.6.2 transitivePeerDependencies: - encoding - supports-color + dev: true - '@graphql-codegen/typescript@4.0.6(graphql@16.8.1)': + /@graphql-codegen/typescript@4.0.7(graphql@16.8.1): + resolution: {integrity: sha512-Gn+JNvQBJhBqH7s83piAJ6UeU/MTj9GXWFO9bdbl8PMLCAM1uFAtg04iHfkGCtDKXcUg5a3Dt/SZG85uk5KuhA==} + peerDependencies: + graphql: ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: - '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) + '@graphql-codegen/plugin-helpers': 5.0.4(graphql@16.8.1) '@graphql-codegen/schema-ast': 4.0.2(graphql@16.8.1) - '@graphql-codegen/visitor-plugin-common': 5.1.0(graphql@16.8.1) + '@graphql-codegen/visitor-plugin-common': 5.2.0(graphql@16.8.1) auto-bind: 4.0.0 graphql: 16.8.1 tslib: 2.6.2 transitivePeerDependencies: - encoding - supports-color + dev: true - '@graphql-codegen/visitor-plugin-common@5.1.0(graphql@16.8.1)': + /@graphql-codegen/visitor-plugin-common@5.2.0(graphql@16.8.1): + resolution: {integrity: sha512-0p8AwmARaZCAlDFfQu6Sz+JV6SjbPDx3y2nNM7WAAf0au7Im/GpJ7Ke3xaIYBc1b2rTZ+DqSTJI/zomENGD9NA==} + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: - '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) + '@graphql-codegen/plugin-helpers': 5.0.4(graphql@16.8.1) '@graphql-tools/optimize': 2.0.0(graphql@16.8.1) '@graphql-tools/relay-operation-optimizer': 7.0.1(graphql@16.8.1) - '@graphql-tools/utils': 10.1.3(graphql@16.8.1) + '@graphql-tools/utils': 10.2.0(graphql@16.8.1) auto-bind: 4.0.0 change-case-all: 1.0.15 dependency-graph: 0.11.0 @@ -12464,91 +5471,135 @@ snapshots: transitivePeerDependencies: - encoding - supports-color + dev: true - '@graphql-tools/apollo-engine-loader@8.0.1(graphql@16.8.1)': + /@graphql-tools/apollo-engine-loader@8.0.1(graphql@16.8.1): + resolution: {integrity: sha512-NaPeVjtrfbPXcl+MLQCJLWtqe2/E4bbAqcauEOQ+3sizw1Fc2CNmhHRF8a6W4D0ekvTRRXAMptXYgA2uConbrA==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: '@ardatan/sync-fetch': 0.0.1 - '@graphql-tools/utils': 10.1.3(graphql@16.8.1) + '@graphql-tools/utils': 10.2.0(graphql@16.8.1) '@whatwg-node/fetch': 0.9.17 graphql: 16.8.1 tslib: 2.6.2 transitivePeerDependencies: - encoding + dev: true - '@graphql-tools/batch-execute@9.0.4(graphql@16.8.1)': + /@graphql-tools/batch-execute@9.0.4(graphql@16.8.1): + resolution: {integrity: sha512-kkebDLXgDrep5Y0gK1RN3DMUlLqNhg60OAz0lTCqrYeja6DshxLtLkj+zV4mVbBA4mQOEoBmw6g1LZs3dA84/w==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/utils': 10.1.3(graphql@16.8.1) + '@graphql-tools/utils': 10.2.0(graphql@16.8.1) dataloader: 2.2.2 graphql: 16.8.1 tslib: 2.6.2 value-or-promise: 1.0.12 + dev: true - '@graphql-tools/code-file-loader@8.1.1(graphql@16.8.1)': + /@graphql-tools/code-file-loader@8.1.2(graphql@16.8.1): + resolution: {integrity: sha512-GrLzwl1QV2PT4X4TEEfuTmZYzIZHLqoTGBjczdUzSqgCCcqwWzLB3qrJxFQfI8e5s1qZ1bhpsO9NoMn7tvpmyA==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/graphql-tag-pluck': 8.3.0(graphql@16.8.1) - '@graphql-tools/utils': 10.1.3(graphql@16.8.1) + '@graphql-tools/graphql-tag-pluck': 8.3.1(graphql@16.8.1) + '@graphql-tools/utils': 10.2.0(graphql@16.8.1) globby: 11.1.0 graphql: 16.8.1 tslib: 2.6.2 unixify: 1.0.0 transitivePeerDependencies: - supports-color + dev: true - '@graphql-tools/delegate@10.0.4(graphql@16.8.1)': + /@graphql-tools/delegate@10.0.10(graphql@16.8.1): + resolution: {integrity: sha512-OOqsPRfGatQG0qMKG3sxtxHiRg7cA6OWMTuETDvwZCoOuxqCc17K+nt8GvaqptNJi2/wBgeH7pi7wA5QzgiG1g==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: '@graphql-tools/batch-execute': 9.0.4(graphql@16.8.1) '@graphql-tools/executor': 1.2.6(graphql@16.8.1) '@graphql-tools/schema': 10.0.3(graphql@16.8.1) - '@graphql-tools/utils': 10.1.3(graphql@16.8.1) + '@graphql-tools/utils': 10.2.0(graphql@16.8.1) dataloader: 2.2.2 graphql: 16.8.1 tslib: 2.6.2 + dev: true - '@graphql-tools/documents@1.0.0(graphql@16.8.1)': + /@graphql-tools/documents@1.0.0(graphql@16.8.1): + resolution: {integrity: sha512-rHGjX1vg/nZ2DKqRGfDPNC55CWZBMldEVcH+91BThRa6JeT80NqXknffLLEZLRUxyikCfkwMsk6xR3UNMqG0Rg==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: graphql: 16.8.1 lodash.sortby: 4.7.0 tslib: 2.6.2 + dev: true - '@graphql-tools/executor-graphql-ws@1.1.2(graphql@16.8.1)': + /@graphql-tools/executor-graphql-ws@1.1.2(graphql@16.8.1): + resolution: {integrity: sha512-+9ZK0rychTH1LUv4iZqJ4ESbmULJMTsv3XlFooPUngpxZkk00q6LqHKJRrsLErmQrVaC7cwQCaRBJa0teK17Lg==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/utils': 10.1.3(graphql@16.8.1) + '@graphql-tools/utils': 10.2.0(graphql@16.8.1) '@types/ws': 8.5.10 graphql: 16.8.1 graphql-ws: 5.16.0(graphql@16.8.1) - isomorphic-ws: 5.0.0(ws@8.16.0) + isomorphic-ws: 5.0.0(ws@8.17.0) tslib: 2.6.2 - ws: 8.16.0 + ws: 8.17.0 transitivePeerDependencies: - bufferutil - utf-8-validate + dev: true - '@graphql-tools/executor-http@1.0.9(@types/node@20.12.7)(graphql@16.8.1)': + /@graphql-tools/executor-http@1.0.9(@types/node@20.12.12)(graphql@16.8.1): + resolution: {integrity: sha512-+NXaZd2MWbbrWHqU4EhXcrDbogeiCDmEbrAN+rMn4Nu2okDjn2MTFDbTIab87oEubQCH4Te1wDkWPKrzXup7+Q==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/utils': 10.1.3(graphql@16.8.1) - '@repeaterjs/repeater': 3.0.5 + '@graphql-tools/utils': 10.2.0(graphql@16.8.1) + '@repeaterjs/repeater': 3.0.6 '@whatwg-node/fetch': 0.9.17 extract-files: 11.0.0 graphql: 16.8.1 - meros: 1.3.0(@types/node@20.12.7) + meros: 1.3.0(@types/node@20.12.12) tslib: 2.6.2 value-or-promise: 1.0.12 transitivePeerDependencies: - '@types/node' + dev: true - '@graphql-tools/executor-legacy-ws@1.0.6(graphql@16.8.1)': + /@graphql-tools/executor-legacy-ws@1.0.6(graphql@16.8.1): + resolution: {integrity: sha512-lDSxz9VyyquOrvSuCCnld3256Hmd+QI2lkmkEv7d4mdzkxkK4ddAWW1geQiWrQvWmdsmcnGGlZ7gDGbhEExwqg==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/utils': 10.1.3(graphql@16.8.1) + '@graphql-tools/utils': 10.2.0(graphql@16.8.1) '@types/ws': 8.5.10 graphql: 16.8.1 - isomorphic-ws: 5.0.0(ws@8.16.0) + isomorphic-ws: 5.0.0(ws@8.17.0) tslib: 2.6.2 - ws: 8.16.0 + ws: 8.17.0 transitivePeerDependencies: - bufferutil - utf-8-validate + dev: true - '@graphql-tools/executor@0.0.18(graphql@16.8.1)': + /@graphql-tools/executor@0.0.18(graphql@16.8.1): + resolution: {integrity: sha512-xZC0C+/npXoSHBB5bsJdwxDLgtl1Gu4fL9J2TPQmXoZC3L2N506KJoppf9LgWdHU/xK04luJrhP6WjhfkIN0pQ==} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: '@graphql-tools/utils': 9.2.1(graphql@16.8.1) '@graphql-typed-document-node/core': 3.2.0(graphql@16.8.1) @@ -12556,34 +5607,49 @@ snapshots: graphql: 16.8.1 tslib: 2.6.2 value-or-promise: 1.0.12 + dev: true - '@graphql-tools/executor@1.2.6(graphql@16.8.1)': + /@graphql-tools/executor@1.2.6(graphql@16.8.1): + resolution: {integrity: sha512-+1kjfqzM5T2R+dCw7F4vdJ3CqG+fY/LYJyhNiWEFtq0ToLwYzR/KKyD8YuzTirEjSxWTVlcBh7endkx5n5F6ew==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/utils': 10.1.3(graphql@16.8.1) + '@graphql-tools/utils': 10.2.0(graphql@16.8.1) '@graphql-typed-document-node/core': 3.2.0(graphql@16.8.1) - '@repeaterjs/repeater': 3.0.5 + '@repeaterjs/repeater': 3.0.6 graphql: 16.8.1 tslib: 2.6.2 value-or-promise: 1.0.12 + dev: true - '@graphql-tools/git-loader@8.0.5(graphql@16.8.1)': + /@graphql-tools/git-loader@8.0.6(graphql@16.8.1): + resolution: {integrity: sha512-FQFO4H5wHAmHVyuUQrjvPE8re3qJXt50TWHuzrK3dEaief7JosmlnkLMDMbMBwtwITz9u1Wpl6doPhT2GwKtlw==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/graphql-tag-pluck': 8.3.0(graphql@16.8.1) - '@graphql-tools/utils': 10.1.3(graphql@16.8.1) + '@graphql-tools/graphql-tag-pluck': 8.3.1(graphql@16.8.1) + '@graphql-tools/utils': 10.2.0(graphql@16.8.1) graphql: 16.8.1 is-glob: 4.0.3 - micromatch: 4.0.5 + micromatch: 4.0.7 tslib: 2.6.2 unixify: 1.0.0 transitivePeerDependencies: - supports-color + dev: true - '@graphql-tools/github-loader@8.0.1(@types/node@20.12.7)(graphql@16.8.1)': + /@graphql-tools/github-loader@8.0.1(@types/node@20.12.12)(graphql@16.8.1): + resolution: {integrity: sha512-W4dFLQJ5GtKGltvh/u1apWRFKBQOsDzFxO9cJkOYZj1VzHCpRF43uLST4VbCfWve+AwBqOuKr7YgkHoxpRMkcg==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: '@ardatan/sync-fetch': 0.0.1 - '@graphql-tools/executor-http': 1.0.9(@types/node@20.12.7)(graphql@16.8.1) - '@graphql-tools/graphql-tag-pluck': 8.3.0(graphql@16.8.1) - '@graphql-tools/utils': 10.1.3(graphql@16.8.1) + '@graphql-tools/executor-http': 1.0.9(@types/node@20.12.12)(graphql@16.8.1) + '@graphql-tools/graphql-tag-pluck': 8.3.1(graphql@16.8.1) + '@graphql-tools/utils': 10.2.0(graphql@16.8.1) '@whatwg-node/fetch': 0.9.17 graphql: 16.8.1 tslib: 2.6.2 @@ -12592,75 +5658,118 @@ snapshots: - '@types/node' - encoding - supports-color + dev: true - '@graphql-tools/graphql-file-loader@8.0.1(graphql@16.8.1)': + /@graphql-tools/graphql-file-loader@8.0.1(graphql@16.8.1): + resolution: {integrity: sha512-7gswMqWBabTSmqbaNyWSmRRpStWlcCkBc73E6NZNlh4YNuiyKOwbvSkOUYFOqFMfEL+cFsXgAvr87Vz4XrYSbA==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: '@graphql-tools/import': 7.0.1(graphql@16.8.1) - '@graphql-tools/utils': 10.1.3(graphql@16.8.1) + '@graphql-tools/utils': 10.2.0(graphql@16.8.1) globby: 11.1.0 graphql: 16.8.1 tslib: 2.6.2 unixify: 1.0.0 + dev: true - '@graphql-tools/graphql-tag-pluck@8.3.0(graphql@16.8.1)': + /@graphql-tools/graphql-tag-pluck@8.3.1(graphql@16.8.1): + resolution: {integrity: sha512-ujits9tMqtWQQq4FI4+qnVPpJvSEn7ogKtyN/gfNT+ErIn6z1e4gyVGQpTK5sgAUXq1lW4gU/5fkFFC5/sL2rQ==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@babel/core': 7.24.4 - '@babel/parser': 7.24.4 - '@babel/plugin-syntax-import-assertions': 7.24.1(@babel/core@7.24.4) - '@babel/traverse': 7.24.1 - '@babel/types': 7.24.0 - '@graphql-tools/utils': 10.1.3(graphql@16.8.1) + '@babel/core': 7.24.5 + '@babel/parser': 7.24.5 + '@babel/plugin-syntax-import-assertions': 7.24.1(@babel/core@7.24.5) + '@babel/traverse': 7.24.5 + '@babel/types': 7.24.5 + '@graphql-tools/utils': 10.2.0(graphql@16.8.1) graphql: 16.8.1 tslib: 2.6.2 transitivePeerDependencies: - supports-color + dev: true - '@graphql-tools/import@7.0.1(graphql@16.8.1)': + /@graphql-tools/import@7.0.1(graphql@16.8.1): + resolution: {integrity: sha512-935uAjAS8UAeXThqHfYVr4HEAp6nHJ2sximZKO1RzUTq5WoALMAhhGARl0+ecm6X+cqNUwIChJbjtaa6P/ML0w==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/utils': 10.1.3(graphql@16.8.1) + '@graphql-tools/utils': 10.2.0(graphql@16.8.1) graphql: 16.8.1 resolve-from: 5.0.0 tslib: 2.6.2 + dev: true - '@graphql-tools/json-file-loader@8.0.1(graphql@16.8.1)': + /@graphql-tools/json-file-loader@8.0.1(graphql@16.8.1): + resolution: {integrity: sha512-lAy2VqxDAHjVyqeJonCP6TUemrpYdDuKt25a10X6zY2Yn3iFYGnuIDQ64cv3ytyGY6KPyPB+Kp+ZfOkNDG3FQA==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/utils': 10.1.3(graphql@16.8.1) + '@graphql-tools/utils': 10.2.0(graphql@16.8.1) globby: 11.1.0 graphql: 16.8.1 tslib: 2.6.2 unixify: 1.0.0 + dev: true - '@graphql-tools/load@8.0.2(graphql@16.8.1)': + /@graphql-tools/load@8.0.2(graphql@16.8.1): + resolution: {integrity: sha512-S+E/cmyVmJ3CuCNfDuNF2EyovTwdWfQScXv/2gmvJOti2rGD8jTt9GYVzXaxhblLivQR9sBUCNZu/w7j7aXUCA==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: '@graphql-tools/schema': 10.0.3(graphql@16.8.1) - '@graphql-tools/utils': 10.1.3(graphql@16.8.1) + '@graphql-tools/utils': 10.2.0(graphql@16.8.1) graphql: 16.8.1 p-limit: 3.1.0 tslib: 2.6.2 + dev: true - '@graphql-tools/merge@8.4.2(graphql@16.8.1)': + /@graphql-tools/merge@8.4.2(graphql@16.8.1): + resolution: {integrity: sha512-XbrHAaj8yDuINph+sAfuq3QCZ/tKblrTLOpirK0+CAgNlZUCHs0Fa+xtMUURgwCVThLle1AF7svJCxFizygLsw==} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: '@graphql-tools/utils': 9.2.1(graphql@16.8.1) graphql: 16.8.1 tslib: 2.6.2 + dev: true - '@graphql-tools/merge@9.0.3(graphql@16.8.1)': + /@graphql-tools/merge@9.0.4(graphql@16.8.1): + resolution: {integrity: sha512-MivbDLUQ+4Q8G/Hp/9V72hbn810IJDEZQ57F01sHnlrrijyadibfVhaQfW/pNH+9T/l8ySZpaR/DpL5i+ruZ+g==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/utils': 10.1.3(graphql@16.8.1) + '@graphql-tools/utils': 10.2.0(graphql@16.8.1) graphql: 16.8.1 tslib: 2.6.2 + dev: true - '@graphql-tools/optimize@2.0.0(graphql@16.8.1)': + /@graphql-tools/optimize@2.0.0(graphql@16.8.1): + resolution: {integrity: sha512-nhdT+CRGDZ+bk68ic+Jw1OZ99YCDIKYA5AlVAnBHJvMawSx9YQqQAIj4refNc1/LRieGiuWvhbG3jvPVYho0Dg==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: graphql: 16.8.1 tslib: 2.6.2 + dev: true - '@graphql-tools/prisma-loader@8.0.3(@types/node@20.12.7)(graphql@16.8.1)': + /@graphql-tools/prisma-loader@8.0.4(@types/node@20.12.12)(graphql@16.8.1): + resolution: {integrity: sha512-hqKPlw8bOu/GRqtYr0+dINAI13HinTVYBDqhwGAPIFmLr5s+qKskzgCiwbsckdrb5LWVFmVZc+UXn80OGiyBzg==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/url-loader': 8.0.2(@types/node@20.12.7)(graphql@16.8.1) - '@graphql-tools/utils': 10.1.3(graphql@16.8.1) + '@graphql-tools/url-loader': 8.0.2(@types/node@20.12.12)(graphql@16.8.1) + '@graphql-tools/utils': 10.2.0(graphql@16.8.1) '@types/js-yaml': 4.0.9 - '@types/json-stable-stringify': 1.0.36 '@whatwg-node/fetch': 0.9.17 chalk: 4.1.2 debug: 4.3.4(supports-color@8.1.1) @@ -12669,9 +5778,8 @@ snapshots: graphql-request: 6.1.0(graphql@16.8.1) http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.4 - jose: 5.2.4 + jose: 5.3.0 js-yaml: 4.1.0 - json-stable-stringify: 1.1.1 lodash: 4.17.21 scuid: 1.1.0 tslib: 2.6.2 @@ -12682,143 +5790,203 @@ snapshots: - encoding - supports-color - utf-8-validate + dev: true - '@graphql-tools/relay-operation-optimizer@7.0.1(graphql@16.8.1)': + /@graphql-tools/relay-operation-optimizer@7.0.1(graphql@16.8.1): + resolution: {integrity: sha512-y0ZrQ/iyqWZlsS/xrJfSir3TbVYJTYmMOu4TaSz6F4FRDTQ3ie43BlKkhf04rC28pnUOS4BO9pDcAo1D30l5+A==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: '@ardatan/relay-compiler': 12.0.0(graphql@16.8.1) - '@graphql-tools/utils': 10.1.3(graphql@16.8.1) + '@graphql-tools/utils': 10.2.0(graphql@16.8.1) graphql: 16.8.1 tslib: 2.6.2 transitivePeerDependencies: - encoding - supports-color + dev: true - '@graphql-tools/schema@10.0.3(graphql@16.8.1)': + /@graphql-tools/schema@10.0.3(graphql@16.8.1): + resolution: {integrity: sha512-p28Oh9EcOna6i0yLaCFOnkcBDQECVf3SCexT6ktb86QNj9idnkhI+tCxnwZDh58Qvjd2nURdkbevvoZkvxzCog==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/merge': 9.0.3(graphql@16.8.1) - '@graphql-tools/utils': 10.1.3(graphql@16.8.1) + '@graphql-tools/merge': 9.0.4(graphql@16.8.1) + '@graphql-tools/utils': 10.2.0(graphql@16.8.1) graphql: 16.8.1 tslib: 2.6.2 value-or-promise: 1.0.12 + dev: true - '@graphql-tools/schema@9.0.19(graphql@16.8.1)': + /@graphql-tools/schema@9.0.19(graphql@16.8.1): + resolution: {integrity: sha512-oBRPoNBtCkk0zbUsyP4GaIzCt8C0aCI4ycIRUL67KK5pOHljKLBBtGT+Jr6hkzA74C8Gco8bpZPe7aWFjiaK2w==} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: '@graphql-tools/merge': 8.4.2(graphql@16.8.1) '@graphql-tools/utils': 9.2.1(graphql@16.8.1) graphql: 16.8.1 tslib: 2.6.2 value-or-promise: 1.0.12 + dev: true - '@graphql-tools/url-loader@8.0.2(@types/node@20.12.7)(graphql@16.8.1)': + /@graphql-tools/url-loader@8.0.2(@types/node@20.12.12)(graphql@16.8.1): + resolution: {integrity: sha512-1dKp2K8UuFn7DFo1qX5c1cyazQv2h2ICwA9esHblEqCYrgf69Nk8N7SODmsfWg94OEaI74IqMoM12t7eIGwFzQ==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: '@ardatan/sync-fetch': 0.0.1 - '@graphql-tools/delegate': 10.0.4(graphql@16.8.1) + '@graphql-tools/delegate': 10.0.10(graphql@16.8.1) '@graphql-tools/executor-graphql-ws': 1.1.2(graphql@16.8.1) - '@graphql-tools/executor-http': 1.0.9(@types/node@20.12.7)(graphql@16.8.1) + '@graphql-tools/executor-http': 1.0.9(@types/node@20.12.12)(graphql@16.8.1) '@graphql-tools/executor-legacy-ws': 1.0.6(graphql@16.8.1) - '@graphql-tools/utils': 10.1.3(graphql@16.8.1) + '@graphql-tools/utils': 10.2.0(graphql@16.8.1) '@graphql-tools/wrap': 10.0.5(graphql@16.8.1) '@types/ws': 8.5.10 '@whatwg-node/fetch': 0.9.17 graphql: 16.8.1 - isomorphic-ws: 5.0.0(ws@8.16.0) + isomorphic-ws: 5.0.0(ws@8.17.0) tslib: 2.6.2 value-or-promise: 1.0.12 - ws: 8.16.0 + ws: 8.17.0 transitivePeerDependencies: - '@types/node' - bufferutil - encoding - utf-8-validate + dev: true - '@graphql-tools/utils@10.1.3(graphql@16.8.1)': + /@graphql-tools/utils@10.2.0(graphql@16.8.1): + resolution: {integrity: sha512-HYV7dO6pNA2nGKawygaBpk8y+vXOUjjzzO43W/Kb7EPRmXUEQKjHxPYRvQbiF72u1N3XxwGK5jnnFk9WVhUwYw==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: '@graphql-typed-document-node/core': 3.2.0(graphql@16.8.1) cross-inspect: 1.0.0 dset: 3.1.3 graphql: 16.8.1 tslib: 2.6.2 + dev: true - '@graphql-tools/utils@9.2.1(graphql@16.8.1)': + /@graphql-tools/utils@9.2.1(graphql@16.8.1): + resolution: {integrity: sha512-WUw506Ql6xzmOORlriNrD6Ugx+HjVgYxt9KCXD9mHAak+eaXSwuGGPyE60hy9xaDEoXKBsG7SkG69ybitaVl6A==} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: '@graphql-typed-document-node/core': 3.2.0(graphql@16.8.1) graphql: 16.8.1 tslib: 2.6.2 + dev: true - '@graphql-tools/wrap@10.0.5(graphql@16.8.1)': + /@graphql-tools/wrap@10.0.5(graphql@16.8.1): + resolution: {integrity: sha512-Cbr5aYjr3HkwdPvetZp1cpDWTGdD1Owgsb3z/ClzhmrboiK86EnQDxDvOJiQkDCPWE9lNBwj8Y4HfxroY0D9DQ==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/delegate': 10.0.4(graphql@16.8.1) + '@graphql-tools/delegate': 10.0.10(graphql@16.8.1) '@graphql-tools/schema': 10.0.3(graphql@16.8.1) - '@graphql-tools/utils': 10.1.3(graphql@16.8.1) + '@graphql-tools/utils': 10.2.0(graphql@16.8.1) graphql: 16.8.1 tslib: 2.6.2 value-or-promise: 1.0.12 + dev: true - '@graphql-typed-document-node/core@3.2.0(graphql@16.8.1)': + /@graphql-typed-document-node/core@3.2.0(graphql@16.8.1): + resolution: {integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==} + peerDependencies: + graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: graphql: 16.8.1 - '@graphql-yoga/logger@0.0.1': + /@graphql-yoga/logger@0.0.1: + resolution: {integrity: sha512-6npFz7eZz33mXgSm1waBLMjUNG0D5hTc/p5Hcs1mojkT3KsLpCOFokzTEKboNsBhKevYcaVa/xeA7WBj4UYMLg==} dependencies: tslib: 2.6.2 + dev: true - '@graphql-yoga/subscription@3.1.0': + /@graphql-yoga/subscription@3.1.0: + resolution: {integrity: sha512-Vc9lh8KzIHyS3n4jBlCbz7zCjcbtQnOBpsymcRvHhFr2cuH+knmRn0EmzimMQ58jQ8kxoRXXC3KJS3RIxSdPIg==} dependencies: '@graphql-yoga/typed-event-target': 1.0.0 - '@repeaterjs/repeater': 3.0.5 + '@repeaterjs/repeater': 3.0.6 '@whatwg-node/events': 0.0.2 tslib: 2.6.2 + dev: true - '@graphql-yoga/typed-event-target@1.0.0': + /@graphql-yoga/typed-event-target@1.0.0: + resolution: {integrity: sha512-Mqni6AEvl3VbpMtKw+TIjc9qS9a8hKhiAjFtqX488yq5oJtj9TkNlFTIacAVS3vnPiswNsmDiQqvwUOcJgi1DA==} dependencies: - '@repeaterjs/repeater': 3.0.5 + '@repeaterjs/repeater': 3.0.6 tslib: 2.6.2 + dev: true - '@httptoolkit/websocket-stream@6.0.1': + /@httptoolkit/websocket-stream@6.0.1: + resolution: {integrity: sha512-A0NOZI+Glp3Xgcz6Na7i7o09+/+xm2m0UCU8gdtM2nIv6/cjLmhMZMqehSpTlgbx9omtLmV8LVqOskPEyWnmZQ==} dependencies: '@types/ws': 8.5.10 duplexify: 3.7.1 inherits: 2.0.4 - isomorphic-ws: 4.0.1(ws@8.16.0) + isomorphic-ws: 4.0.1(ws@8.17.0) readable-stream: 2.3.8 safe-buffer: 5.2.1 - ws: 8.16.0 + ws: 8.17.0 xtend: 4.0.2 transitivePeerDependencies: - bufferutil - utf-8-validate - '@humanwhocodes/config-array@0.11.14': + /@humanwhocodes/config-array@0.11.14: + resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} + engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 2.0.3 debug: 4.3.4(supports-color@8.1.1) minimatch: 3.1.2 transitivePeerDependencies: - supports-color + dev: true - '@humanwhocodes/module-importer@1.0.1': {} + /@humanwhocodes/module-importer@1.0.1: + resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} + engines: {node: '>=12.22'} + dev: true - '@humanwhocodes/object-schema@2.0.3': {} + /@humanwhocodes/object-schema@2.0.3: + resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} + dev: true - '@inquirer/checkbox@2.3.0': + /@inquirer/checkbox@2.3.4: + resolution: {integrity: sha512-e+V2YLwDqajiftVisDOu+lvinyGEihQu0X4Y1+jF8ZOMQj/Fufa0QVdk0QsF825kc0kvqDigdtSylETsFg3PKg==} + engines: {node: '>=18'} dependencies: - '@inquirer/core': 8.0.0 - '@inquirer/figures': 1.0.0 - '@inquirer/type': 1.3.0 + '@inquirer/core': 8.2.1 + '@inquirer/figures': 1.0.2 + '@inquirer/type': 1.3.2 ansi-escapes: 4.3.2 chalk: 4.1.2 + dev: false - '@inquirer/confirm@3.1.4': + /@inquirer/confirm@3.1.8: + resolution: {integrity: sha512-f3INZ+ca4dQdn+MQiq1yP/mOIR/Oc8BLRYuDh6ciToWd6z4W8yArfzjBCMQ0BPY8PcJKwZxGIt8Z6yNT32eSTw==} + engines: {node: '>=18'} dependencies: - '@inquirer/core': 8.0.0 - '@inquirer/type': 1.3.0 + '@inquirer/core': 8.2.1 + '@inquirer/type': 1.3.2 + dev: false - '@inquirer/core@7.1.3': + /@inquirer/core@7.1.3: + resolution: {integrity: sha512-MbHUe32W0DRtuw3Hlt+vLWy3c0Vw7wVHSJyYZ16IGVXyxs31BTyo2MOFKzNnzBBAWhsqn+iHO1r84FXIzs39HQ==} + engines: {node: '>=18'} dependencies: - '@inquirer/figures': 1.0.0 - '@inquirer/type': 1.3.0 + '@inquirer/figures': 1.0.2 + '@inquirer/type': 1.3.2 '@types/mute-stream': 0.0.4 - '@types/node': 20.12.7 + '@types/node': 20.12.12 '@types/wrap-ansi': 3.0.0 ansi-escapes: 4.3.2 chalk: 4.1.2 @@ -12828,13 +5996,16 @@ snapshots: signal-exit: 4.1.0 strip-ansi: 6.0.1 wrap-ansi: 6.2.0 + dev: false - '@inquirer/core@8.0.0': + /@inquirer/core@8.2.1: + resolution: {integrity: sha512-TIcuQMn2qrtyYe0j136UpHeYpk7AcR/trKeT/7YY0vRgcS9YSfJuQ2+PudPhSofLLsHNnRYAHScQCcVZrJkMqA==} + engines: {node: '>=18'} dependencies: - '@inquirer/figures': 1.0.0 - '@inquirer/type': 1.3.0 + '@inquirer/figures': 1.0.2 + '@inquirer/type': 1.3.2 '@types/mute-stream': 0.0.4 - '@types/node': 20.12.7 + '@types/node': 20.12.12 '@types/wrap-ansi': 3.0.0 ansi-escapes: 4.3.2 chalk: 4.1.2 @@ -12844,103 +6015,150 @@ snapshots: signal-exit: 4.1.0 strip-ansi: 6.0.1 wrap-ansi: 6.2.0 + dev: false - '@inquirer/editor@2.1.4': + /@inquirer/editor@2.1.8: + resolution: {integrity: sha512-Ob9GdfiDCi9PJSF/tU7+bfbp2bVoFOPxI8Aosqh39TOum3FTyHzUDsZzSmi36KYNWHnmMH33t6bHxg1bBFTwng==} + engines: {node: '>=18'} dependencies: - '@inquirer/core': 8.0.0 - '@inquirer/type': 1.3.0 + '@inquirer/core': 8.2.1 + '@inquirer/type': 1.3.2 external-editor: 3.1.0 + dev: false - '@inquirer/expand@2.1.4': + /@inquirer/expand@2.1.8: + resolution: {integrity: sha512-dsWqz7cx6BAXrkxxvmKvSoDjB9FTueS7TJjRjTJDHVP335Ntfpha2ogp6+RC7iYpKyuUzFI2qedl+Mme9KmTjA==} + engines: {node: '>=18'} dependencies: - '@inquirer/core': 8.0.0 - '@inquirer/type': 1.3.0 + '@inquirer/core': 8.2.1 + '@inquirer/type': 1.3.2 chalk: 4.1.2 + dev: false - '@inquirer/figures@1.0.0': {} + /@inquirer/figures@1.0.2: + resolution: {integrity: sha512-4F1MBwVr3c/m4bAUef6LgkvBfSjzwH+OfldgHqcuacWwSUetFebM2wi58WfG9uk1rR98U6GwLed4asLJbwdV5w==} + engines: {node: '>=18'} + dev: false - '@inquirer/input@2.1.4': + /@inquirer/input@2.1.8: + resolution: {integrity: sha512-W1hsmUArJRGI8kL8+Kl+9wgnm02xPbpKtSIlwoHtRfIn8f/b/9spfNuTWolCVDHh3ZA4LS+Et71d1P6UpdD20A==} + engines: {node: '>=18'} dependencies: - '@inquirer/core': 8.0.0 - '@inquirer/type': 1.3.0 + '@inquirer/core': 8.2.1 + '@inquirer/type': 1.3.2 + dev: false - '@inquirer/password@2.1.4': + /@inquirer/password@2.1.8: + resolution: {integrity: sha512-uBN1Hxq9igMtlUDHxCssJ4wWEksCwSJmK1mGr8A0V1co+ZBWPZ3cTN21MhyMc7VxIA/e7cG9/D2Qwzso64MCng==} + engines: {node: '>=18'} dependencies: - '@inquirer/core': 8.0.0 - '@inquirer/type': 1.3.0 + '@inquirer/core': 8.2.1 + '@inquirer/type': 1.3.2 ansi-escapes: 4.3.2 + dev: false - '@inquirer/prompts@4.3.3': + /@inquirer/prompts@4.3.3: + resolution: {integrity: sha512-QLn4tTeLKH3Foqlof0+dY0kLoCGQvvR4MDkHAooPI0rLGPOjUwoiVeEalcMtJTGulqJ76it2UW4++j88WO6KLQ==} + engines: {node: '>=18'} dependencies: - '@inquirer/checkbox': 2.3.0 - '@inquirer/confirm': 3.1.4 + '@inquirer/checkbox': 2.3.4 + '@inquirer/confirm': 3.1.8 '@inquirer/core': 7.1.3 - '@inquirer/editor': 2.1.4 - '@inquirer/expand': 2.1.4 - '@inquirer/input': 2.1.4 - '@inquirer/password': 2.1.4 - '@inquirer/rawlist': 2.1.4 - '@inquirer/select': 2.3.0 - - '@inquirer/rawlist@2.1.4': + '@inquirer/editor': 2.1.8 + '@inquirer/expand': 2.1.8 + '@inquirer/input': 2.1.8 + '@inquirer/password': 2.1.8 + '@inquirer/rawlist': 2.1.8 + '@inquirer/select': 2.3.4 + dev: false + + /@inquirer/rawlist@2.1.8: + resolution: {integrity: sha512-h1NfMVcgR8MC7ckpk2UQsxh2+411iexj5GOFA1Ys9rg//l0N9XAZJQ+FDrza9cxOmf57MZFkJ/WE13Bp8z8IIQ==} + engines: {node: '>=18'} dependencies: - '@inquirer/core': 8.0.0 - '@inquirer/type': 1.3.0 + '@inquirer/core': 8.2.1 + '@inquirer/type': 1.3.2 chalk: 4.1.2 + dev: false - '@inquirer/select@2.3.0': + /@inquirer/select@2.3.4: + resolution: {integrity: sha512-y9HGzHfPPh60QciH7WiKtjtWjgU24jrIsfJnq4Zqmu8k4HVVQPBXxiKKzwzJyJWwdWZcWATm4VDDWGFEjVHvGA==} + engines: {node: '>=18'} dependencies: - '@inquirer/core': 8.0.0 - '@inquirer/figures': 1.0.0 - '@inquirer/type': 1.3.0 + '@inquirer/core': 8.2.1 + '@inquirer/figures': 1.0.2 + '@inquirer/type': 1.3.2 ansi-escapes: 4.3.2 chalk: 4.1.2 + dev: false - '@inquirer/type@1.3.0': {} + /@inquirer/type@1.3.2: + resolution: {integrity: sha512-5Frickan9c89QbPkSu6I6y8p+9eR6hZkdPahGmNDsTFX8FHLPAozyzCZMKUeW8FyYwnlCKUjqIEqxY+UctARiw==} + engines: {node: '>=18'} + dev: false - '@isaacs/cliui@8.0.2': + /@isaacs/cliui@8.0.2: + resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} + engines: {node: '>=12'} dependencies: string-width: 5.1.2 - string-width-cjs: string-width@4.2.3 + string-width-cjs: /string-width@4.2.3 strip-ansi: 7.1.0 - strip-ansi-cjs: strip-ansi@6.0.1 + strip-ansi-cjs: /strip-ansi@6.0.1 wrap-ansi: 8.1.0 - wrap-ansi-cjs: wrap-ansi@7.0.0 + wrap-ansi-cjs: /wrap-ansi@7.0.0 + dev: true - '@istanbuljs/load-nyc-config@1.1.0': + /@istanbuljs/load-nyc-config@1.1.0: + resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} + engines: {node: '>=8'} dependencies: camelcase: 5.3.1 find-up: 4.1.0 get-package-type: 0.1.0 js-yaml: 3.14.1 resolve-from: 5.0.0 + dev: true - '@istanbuljs/schema@0.1.3': {} + /@istanbuljs/schema@0.1.3: + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + dev: true - '@jest/console@29.7.0': + /@jest/console@29.7.0: + resolution: {integrity: sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.12.7 + '@types/node': 20.12.12 chalk: 4.1.2 jest-message-util: 29.7.0 jest-util: 29.7.0 slash: 3.0.0 + dev: true - '@jest/core@29.7.0': + /@jest/core@29.7.0: + resolution: {integrity: sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.12.7 + '@types/node': 20.12.12 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.9.0 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.12.7) + jest-config: 29.7.0(@types/node@20.12.12) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -12952,7 +6170,7 @@ snapshots: jest-util: 29.7.0 jest-validate: 29.7.0 jest-watcher: 29.7.0 - micromatch: 4.0.5 + micromatch: 4.0.7 pretty-format: 29.7.0 slash: 3.0.0 strip-ansi: 6.0.1 @@ -12960,35 +6178,50 @@ snapshots: - babel-plugin-macros - supports-color - ts-node + dev: true - '@jest/environment@29.7.0': + /@jest/environment@29.7.0: + resolution: {integrity: sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.12.7 + '@types/node': 20.12.12 jest-mock: 29.7.0 + dev: true - '@jest/expect-utils@29.7.0': + /@jest/expect-utils@29.7.0: + resolution: {integrity: sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: jest-get-type: 29.6.3 + dev: true - '@jest/expect@29.7.0': + /@jest/expect@29.7.0: + resolution: {integrity: sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: expect: 29.7.0 jest-snapshot: 29.7.0 transitivePeerDependencies: - supports-color + dev: true - '@jest/fake-timers@29.7.0': + /@jest/fake-timers@29.7.0: + resolution: {integrity: sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 20.12.7 + '@types/node': 20.12.12 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 + dev: true - '@jest/globals@29.7.0': + /@jest/globals@29.7.0: + resolution: {integrity: sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/environment': 29.7.0 '@jest/expect': 29.7.0 @@ -12996,8 +6229,16 @@ snapshots: jest-mock: 29.7.0 transitivePeerDependencies: - supports-color + dev: true - '@jest/reporters@29.7.0': + /@jest/reporters@29.7.0: + resolution: {integrity: sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true dependencies: '@bcoe/v8-coverage': 0.2.3 '@jest/console': 29.7.0 @@ -13005,7 +6246,7 @@ snapshots: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.25 - '@types/node': 20.12.7 + '@types/node': 20.12.12 chalk: 4.1.2 collect-v8-coverage: 1.0.2 exit: 0.1.2 @@ -13025,34 +6266,49 @@ snapshots: v8-to-istanbul: 9.2.0 transitivePeerDependencies: - supports-color + dev: true - '@jest/schemas@29.6.3': + /@jest/schemas@29.6.3: + resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@sinclair/typebox': 0.27.8 + dev: true - '@jest/source-map@29.6.3': + /@jest/source-map@29.6.3: + resolution: {integrity: sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jridgewell/trace-mapping': 0.3.25 callsites: 3.1.0 graceful-fs: 4.2.11 + dev: true - '@jest/test-result@29.7.0': + /@jest/test-result@29.7.0: + resolution: {integrity: sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/console': 29.7.0 '@jest/types': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 collect-v8-coverage: 1.0.2 + dev: true - '@jest/test-sequencer@29.7.0': + /@jest/test-sequencer@29.7.0: + resolution: {integrity: sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/test-result': 29.7.0 graceful-fs: 4.2.11 jest-haste-map: 29.7.0 slash: 3.0.0 + dev: true - '@jest/transform@29.7.0': + /@jest/transform@29.7.0: + resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/core': 7.24.4 + '@babel/core': 7.24.5 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.25 babel-plugin-istanbul: 6.1.1 @@ -13063,229 +6319,427 @@ snapshots: jest-haste-map: 29.7.0 jest-regex-util: 29.6.3 jest-util: 29.7.0 - micromatch: 4.0.5 + micromatch: 4.0.7 pirates: 4.0.6 slash: 3.0.0 write-file-atomic: 4.0.2 transitivePeerDependencies: - supports-color + dev: true - '@jest/types@29.6.3': + /@jest/types@29.6.3: + resolution: {integrity: sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.12.7 + '@types/node': 20.12.12 '@types/yargs': 17.0.32 chalk: 4.1.2 + dev: true - '@jridgewell/gen-mapping@0.3.5': + /@jridgewell/gen-mapping@0.3.5: + resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} + engines: {node: '>=6.0.0'} dependencies: '@jridgewell/set-array': 1.2.1 '@jridgewell/sourcemap-codec': 1.4.15 '@jridgewell/trace-mapping': 0.3.25 + dev: true - '@jridgewell/resolve-uri@3.1.2': {} + /@jridgewell/resolve-uri@3.1.2: + resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} + engines: {node: '>=6.0.0'} + dev: true - '@jridgewell/set-array@1.2.1': {} + /@jridgewell/set-array@1.2.1: + resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} + engines: {node: '>=6.0.0'} + dev: true - '@jridgewell/sourcemap-codec@1.4.15': {} + /@jridgewell/sourcemap-codec@1.4.15: + resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} + dev: true - '@jridgewell/trace-mapping@0.3.25': + /@jridgewell/trace-mapping@0.3.25: + resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} dependencies: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 + dev: true - '@jridgewell/trace-mapping@0.3.9': + /@jridgewell/trace-mapping@0.3.9: + resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.4.15 + dev: true - '@kamilkisiela/fast-url-parser@1.1.4': {} + /@kamilkisiela/fast-url-parser@1.1.4: + resolution: {integrity: sha512-gbkePEBupNydxCelHCESvFSFM8XPh1Zs/OAVRW/rKpEqPAl5PbOM90Si8mv9bvnR53uPD2s/FiRxdvSejpRJew==} + dev: true - '@lukeed/ms@2.0.2': {} + /@lukeed/ms@2.0.2: + resolution: {integrity: sha512-9I2Zn6+NJLfaGoz9jN3lpwDgAYvfGeNYdbAIjJOqzs4Tpc+VU3Jqq4IofSUBKajiDS8k9fZIg18/z13mpk1bsA==} + engines: {node: '>=8'} + dev: true - '@metamask/eth-sig-util@4.0.1': + /@metamask/eth-sig-util@4.0.1: + resolution: {integrity: sha512-tghyZKLHZjcdlDqCA3gNZmLeR0XvOE9U1qoQO9ohyAZT6Pya+H9vkBPcsyXytmYLNgVoin7CKCmweo/R43V+tQ==} + engines: {node: '>=12.0.0'} dependencies: ethereumjs-abi: 0.6.8 ethereumjs-util: 6.2.1 ethjs-util: 0.1.6 tweetnacl: 1.0.3 tweetnacl-util: 0.15.1 + dev: true - '@microsoft/tsdoc-config@0.16.2': + /@microsoft/tsdoc-config@0.16.2: + resolution: {integrity: sha512-OGiIzzoBLgWWR0UdRJX98oYO+XKGf7tiK4Zk6tQ/E4IJqGCe7dvkTvgDZV5cFJUzLGDOjeAXrnZoA6QkVySuxw==} dependencies: '@microsoft/tsdoc': 0.14.2 ajv: 6.12.6 jju: 1.4.0 resolve: 1.19.0 + dev: true + + /@microsoft/tsdoc@0.14.2: + resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==} + dev: true - '@microsoft/tsdoc@0.14.2': {} + /@morpho-labs/gnosis-tx-builder@2.0.0(ethers@6.12.1): + resolution: {integrity: sha512-1xGHIe+oBOl5+AUOQgcHFRy1sFNjB5gRe03XaNbe7Rm7KY1YklU3/D0OT6EXk0ng6BuaSNO8NIGxeJXgKMMlVQ==} + engines: {node: '>=16.0'} + peerDependencies: + ethers: ^6.9.2 + dependencies: + ethers: 6.12.1 + dev: true - '@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1': + /@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1: + resolution: {integrity: sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==} dependencies: eslint-scope: 5.1.1 + dev: true - '@noble/curves@1.2.0': + /@noble/curves@1.2.0: + resolution: {integrity: sha512-oYclrNgRaM9SsBUBVbb8M6DTV7ZHRTKugureoYEncY5c65HOmRzvSiTE3y5CYaPYJA/GVkrhXEoF0M3Ya9PMnw==} dependencies: '@noble/hashes': 1.3.2 - '@noble/curves@1.3.0': + /@noble/curves@1.3.0: + resolution: {integrity: sha512-t01iSXPuN+Eqzb4eBX0S5oubSqXbK/xXa1Ne18Hj8f9pStxztHCE2gfboSp/dZRLSqfuLpRK2nDXDK+W9puocA==} dependencies: '@noble/hashes': 1.3.3 + dev: true - '@noble/hashes@1.2.0': {} + /@noble/hashes@1.2.0: + resolution: {integrity: sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ==} + dev: true - '@noble/hashes@1.3.2': {} + /@noble/hashes@1.3.2: + resolution: {integrity: sha512-MVC8EAQp7MvEcm30KWENFjgR+Mkmf+D189XJTkFIlwohU5hcBbn1ZkKq7KVTi2Hme3PMGF390DaL52beVrIihQ==} + engines: {node: '>= 16'} - '@noble/hashes@1.3.3': {} + /@noble/hashes@1.3.3: + resolution: {integrity: sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA==} + engines: {node: '>= 16'} + dev: true - '@noble/hashes@1.4.0': {} + /@noble/hashes@1.4.0: + resolution: {integrity: sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg==} + engines: {node: '>= 16'} + dev: true - '@noble/secp256k1@1.7.1': {} + /@noble/secp256k1@1.7.1: + resolution: {integrity: sha512-hOUk6AyBFmqVrv7k5WAw/LpszxVbj9gGN4JRkIX52fdFAj1UA61KXmZDvqVEm+pOyec3+fIeZB02LYa/pWOArw==} + dev: true - '@nodelib/fs.scandir@2.1.5': + /@nodelib/fs.scandir@2.1.5: + resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} + engines: {node: '>= 8'} dependencies: '@nodelib/fs.stat': 2.0.5 run-parallel: 1.2.0 + dev: true - '@nodelib/fs.stat@2.0.5': {} + /@nodelib/fs.stat@2.0.5: + resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} + engines: {node: '>= 8'} + dev: true - '@nodelib/fs.walk@1.2.8': + /@nodelib/fs.walk@1.2.8: + resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} + engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 fastq: 1.17.1 + dev: true - '@nomicfoundation/edr-darwin-arm64@0.3.5': - optional: true + /@nomicfoundation/edr-darwin-arm64@0.3.8: + resolution: {integrity: sha512-eB0leCexS8sQEmfyD72cdvLj9djkBzQGP4wSQw6SNf2I4Sw4Cnzb3d45caG2FqFFjbvfqL0t+badUUIceqQuMw==} + engines: {node: '>= 18'} + dev: true - '@nomicfoundation/edr-darwin-x64@0.3.5': - optional: true + /@nomicfoundation/edr-darwin-x64@0.3.8: + resolution: {integrity: sha512-JksVCS1N5ClwVF14EvO25HCQ+Laljh/KRfHERMVAC9ZwPbTuAd/9BtKvToCBi29uCHWqsXMI4lxCApYQv2nznw==} + engines: {node: '>= 18'} + dev: true - '@nomicfoundation/edr-linux-arm64-gnu@0.3.5': - optional: true + /@nomicfoundation/edr-linux-arm64-gnu@0.3.8: + resolution: {integrity: sha512-raCE+fOeNXhVBLUo87cgsHSGvYYRB6arih4eG6B9KGACWK5Veebtm9xtKeiD8YCsdUlUfat6F7ibpeNm91fpsA==} + engines: {node: '>= 18'} + dev: true - '@nomicfoundation/edr-linux-arm64-musl@0.3.5': - optional: true + /@nomicfoundation/edr-linux-arm64-musl@0.3.8: + resolution: {integrity: sha512-PwiDp4wBZWMCIy29eKkv8moTKRrpiSDlrc+GQMSZLhOAm8T33JKKXPwD/2EbplbhCygJDGXZdtEKl9x9PaH66A==} + engines: {node: '>= 18'} + dev: true - '@nomicfoundation/edr-linux-x64-gnu@0.3.5': - optional: true + /@nomicfoundation/edr-linux-x64-gnu@0.3.8: + resolution: {integrity: sha512-6AcvA/XKoipGap5jJmQ9Y6yT7Uf39D9lu2hBcDCXnXbMcXaDGw4mn1/L4R63D+9VGZyu1PqlcJixCUZlGGIWlg==} + engines: {node: '>= 18'} + dev: true - '@nomicfoundation/edr-linux-x64-musl@0.3.5': - optional: true + /@nomicfoundation/edr-linux-x64-musl@0.3.8: + resolution: {integrity: sha512-cxb0sEmZjlwhYWO28sPsV64VDx31ekskhC1IsDXU1p9ntjHSJRmW4KEIqJ2O3QwJap/kLKfMS6TckvY10gjc6w==} + engines: {node: '>= 18'} + dev: true - '@nomicfoundation/edr-win32-x64-msvc@0.3.5': - optional: true + /@nomicfoundation/edr-win32-x64-msvc@0.3.8: + resolution: {integrity: sha512-yVuVPqRRNLZk7TbBMkKw7lzCvI8XO8fNTPTYxymGadjr9rEGRuNTU1yBXjfJ59I1jJU/X2TSkRk1OFX0P5tpZQ==} + engines: {node: '>= 18'} + dev: true - '@nomicfoundation/edr@0.3.5': - optionalDependencies: - '@nomicfoundation/edr-darwin-arm64': 0.3.5 - '@nomicfoundation/edr-darwin-x64': 0.3.5 - '@nomicfoundation/edr-linux-arm64-gnu': 0.3.5 - '@nomicfoundation/edr-linux-arm64-musl': 0.3.5 - '@nomicfoundation/edr-linux-x64-gnu': 0.3.5 - '@nomicfoundation/edr-linux-x64-musl': 0.3.5 - '@nomicfoundation/edr-win32-x64-msvc': 0.3.5 + /@nomicfoundation/edr@0.3.8: + resolution: {integrity: sha512-u2UJ5QpznSHVkZRh6ePWoeVb6kmPrrqh08gCnZ9FHlJV9CITqlrTQHJkacd+INH31jx88pTAJnxePE4XAiH5qg==} + engines: {node: '>= 18'} + dependencies: + '@nomicfoundation/edr-darwin-arm64': 0.3.8 + '@nomicfoundation/edr-darwin-x64': 0.3.8 + '@nomicfoundation/edr-linux-arm64-gnu': 0.3.8 + '@nomicfoundation/edr-linux-arm64-musl': 0.3.8 + '@nomicfoundation/edr-linux-x64-gnu': 0.3.8 + '@nomicfoundation/edr-linux-x64-musl': 0.3.8 + '@nomicfoundation/edr-win32-x64-msvc': 0.3.8 + dev: true - '@nomicfoundation/ethereumjs-common@4.0.4': + /@nomicfoundation/ethereumjs-common@4.0.4: + resolution: {integrity: sha512-9Rgb658lcWsjiicr5GzNCjI1llow/7r0k50dLL95OJ+6iZJcVbi15r3Y0xh2cIO+zgX0WIHcbzIu6FeQf9KPrg==} dependencies: '@nomicfoundation/ethereumjs-util': 9.0.4 transitivePeerDependencies: - c-kzg + dev: true - '@nomicfoundation/ethereumjs-rlp@5.0.4': {} + /@nomicfoundation/ethereumjs-rlp@5.0.4: + resolution: {integrity: sha512-8H1S3s8F6QueOc/X92SdrA4RDenpiAEqMg5vJH99kcQaCy/a3Q6fgseo75mgWlbanGJXSlAPtnCeG9jvfTYXlw==} + engines: {node: '>=18'} + hasBin: true + dev: true - '@nomicfoundation/ethereumjs-tx@5.0.4': + /@nomicfoundation/ethereumjs-tx@5.0.4: + resolution: {integrity: sha512-Xjv8wAKJGMrP1f0n2PeyfFCCojHd7iS3s/Ab7qzF1S64kxZ8Z22LCMynArYsVqiFx6rzYy548HNVEyI+AYN/kw==} + engines: {node: '>=18'} + peerDependencies: + c-kzg: ^2.1.2 + peerDependenciesMeta: + c-kzg: + optional: true dependencies: '@nomicfoundation/ethereumjs-common': 4.0.4 '@nomicfoundation/ethereumjs-rlp': 5.0.4 '@nomicfoundation/ethereumjs-util': 9.0.4 ethereum-cryptography: 0.1.3 + dev: true - '@nomicfoundation/ethereumjs-util@9.0.4': + /@nomicfoundation/ethereumjs-util@9.0.4: + resolution: {integrity: sha512-sLOzjnSrlx9Bb9EFNtHzK/FJFsfg2re6bsGqinFinH1gCqVfz9YYlXiMWwDM4C/L4ywuHFCYwfKTVr/QHQcU0Q==} + engines: {node: '>=18'} + peerDependencies: + c-kzg: ^2.1.2 + peerDependenciesMeta: + c-kzg: + optional: true dependencies: '@nomicfoundation/ethereumjs-rlp': 5.0.4 ethereum-cryptography: 0.1.3 + dev: true - '@nomicfoundation/hardhat-network-helpers@1.0.10(hardhat@2.22.2)': + /@nomicfoundation/hardhat-network-helpers@1.0.10(hardhat@2.22.4): + resolution: {integrity: sha512-R35/BMBlx7tWN5V6d/8/19QCwEmIdbnA4ZrsuXgvs8i2qFx5i7h6mH5pBS4Pwi4WigLH+upl6faYusrNPuzMrQ==} + peerDependencies: + hardhat: ^2.9.5 dependencies: ethereumjs-util: 7.1.5 - hardhat: 2.22.2(ts-node@10.9.2)(typescript@5.0.4) + hardhat: 2.22.4(ts-node@10.9.2)(typescript@5.0.4) + dev: true - '@nomicfoundation/hardhat-toolbox-viem@2.0.0(@nomicfoundation/hardhat-network-helpers@1.0.10)(@nomicfoundation/hardhat-verify@2.0.5)(@nomicfoundation/hardhat-viem@1.0.4)(@types/chai-as-promised@7.1.8)(@types/chai@4.3.14)(@types/mocha@10.0.6)(@types/node@20.12.7)(chai@4.4.1)(hardhat-gas-reporter@1.0.10)(hardhat@2.22.2)(solidity-coverage@0.8.12)(ts-node@10.9.2)(typescript@5.0.4)(viem@1.21.4)': + /@nomicfoundation/hardhat-toolbox-viem@2.0.0(@nomicfoundation/hardhat-network-helpers@1.0.10)(@nomicfoundation/hardhat-verify@2.0.7)(@nomicfoundation/hardhat-viem@1.0.4)(@types/chai-as-promised@7.1.8)(@types/chai@4.3.16)(@types/mocha@10.0.6)(@types/node@20.12.12)(chai@4.4.1)(hardhat-gas-reporter@1.0.10)(hardhat@2.22.4)(solidity-coverage@0.8.12)(ts-node@10.9.2)(typescript@5.0.4)(viem@1.21.4): + resolution: {integrity: sha512-1bxTaC+PcbdctwgP/AvmKJGQTeLoT2kJtAfaDvt5PbL3esZ1EO+pfoBkpliP3DJSNESLSqAjVN1yIFxoLJmiBg==} + peerDependencies: + '@nomicfoundation/hardhat-network-helpers': ^1.0.0 + '@nomicfoundation/hardhat-verify': ^2.0.0 + '@nomicfoundation/hardhat-viem': ^1.0.0 + '@types/chai': ^4.2.0 + '@types/chai-as-promised': ^7.1.6 + '@types/mocha': '>=9.1.0' + '@types/node': '>=16.0.0' + chai: ^4.2.0 + hardhat: ^2.11.0 + hardhat-gas-reporter: ^1.0.8 + solidity-coverage: ^0.8.1 + ts-node: '>=8.0.0' + typescript: ~5.0.4 + viem: ^1.15.1 dependencies: - '@nomicfoundation/hardhat-network-helpers': 1.0.10(hardhat@2.22.2) - '@nomicfoundation/hardhat-verify': 2.0.5(hardhat@2.22.2) - '@nomicfoundation/hardhat-viem': 1.0.4(hardhat@2.22.2)(typescript@5.0.4)(viem@1.21.4)(zod@3.22.4) - '@types/chai': 4.3.14 + '@nomicfoundation/hardhat-network-helpers': 1.0.10(hardhat@2.22.4) + '@nomicfoundation/hardhat-verify': 2.0.7(hardhat@2.22.4) + '@nomicfoundation/hardhat-viem': 1.0.4(hardhat@2.22.4)(typescript@5.0.4)(viem@1.21.4)(zod@3.23.8) + '@types/chai': 4.3.16 '@types/chai-as-promised': 7.1.8 '@types/mocha': 10.0.6 - '@types/node': 20.12.7 + '@types/node': 20.12.12 chai: 4.4.1 - chai-as-promised: 7.1.1(chai@4.4.1) - hardhat: 2.22.2(ts-node@10.9.2)(typescript@5.0.4) - hardhat-gas-reporter: 1.0.10(hardhat@2.22.2) - solidity-coverage: 0.8.12(hardhat@2.22.2) - ts-node: 10.9.2(@types/node@20.12.7)(typescript@5.0.4) + chai-as-promised: 7.1.2(chai@4.4.1) + hardhat: 2.22.4(ts-node@10.9.2)(typescript@5.0.4) + hardhat-gas-reporter: 1.0.10(hardhat@2.22.4) + solidity-coverage: 0.8.12(hardhat@2.22.4) + ts-node: 10.9.2(@types/node@20.12.12)(typescript@5.0.4) typescript: 5.0.4 - viem: 1.21.4(typescript@5.0.4)(zod@3.22.4) + viem: 1.21.4(typescript@5.0.4)(zod@3.23.8) + dev: true - '@nomicfoundation/hardhat-verify@2.0.5(hardhat@2.22.2)': + /@nomicfoundation/hardhat-verify@2.0.7(hardhat@2.22.4): + resolution: {integrity: sha512-jiYHBX+K6bBN0YhwFHQ5SWWc3dQZliM3pdgpH33C7tnsVACsX1ubZn6gZ9hfwlzG0tyjFM72XQhpaXQ56cE6Ew==} + peerDependencies: + hardhat: ^2.0.4 dependencies: '@ethersproject/abi': 5.7.0 '@ethersproject/address': 5.7.0 cbor: 8.1.0 chalk: 2.4.2 debug: 4.3.4(supports-color@8.1.1) - hardhat: 2.22.2(ts-node@10.9.2)(typescript@5.0.4) + hardhat: 2.22.4(ts-node@10.9.2)(typescript@5.0.4) lodash.clonedeep: 4.5.0 semver: 6.3.1 table: 6.8.2 undici: 5.28.4 transitivePeerDependencies: - supports-color + dev: true - '@nomicfoundation/hardhat-viem@1.0.4(hardhat@2.22.2)(typescript@5.0.4)(viem@1.21.4)(zod@3.22.4)': + /@nomicfoundation/hardhat-viem@1.0.4(hardhat@2.22.4)(typescript@5.0.4)(viem@1.21.4)(zod@3.23.8): + resolution: {integrity: sha512-6coot+y0y6d75DG33zAdgXlktNp1MRy2B3vDjqlRBaubqlocYak+BSyryiv76F9JuLLgNSxkxTIZCd24h9gKcQ==} + peerDependencies: + hardhat: ^2.17.0 + typescript: ~5.0.0 + viem: ^1.15.1 dependencies: - abitype: 0.9.10(typescript@5.0.4)(zod@3.22.4) - hardhat: 2.22.2(ts-node@10.9.2)(typescript@5.0.4) + abitype: 0.9.10(typescript@5.0.4)(zod@3.23.8) + hardhat: 2.22.4(ts-node@10.9.2)(typescript@5.0.4) lodash.memoize: 4.1.2 typescript: 5.0.4 - viem: 1.21.4(typescript@5.0.4)(zod@3.22.4) + viem: 1.21.4(typescript@5.0.4)(zod@3.23.8) transitivePeerDependencies: - zod + dev: true - '@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.1': + /@nomicfoundation/solidity-analyzer-darwin-arm64@0.1.1: + resolution: {integrity: sha512-KcTodaQw8ivDZyF+D76FokN/HdpgGpfjc/gFCImdLUyqB6eSWVaZPazMbeAjmfhx3R0zm/NYVzxwAokFKgrc0w==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true optional: true - '@nomicfoundation/solidity-analyzer-darwin-x64@0.1.1': + /@nomicfoundation/solidity-analyzer-darwin-x64@0.1.1: + resolution: {integrity: sha512-XhQG4BaJE6cIbjAVtzGOGbK3sn1BO9W29uhk9J8y8fZF1DYz0Doj8QDMfpMu+A6TjPDs61lbsmeYodIDnfveSA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true optional: true - '@nomicfoundation/solidity-analyzer-freebsd-x64@0.1.1': + /@nomicfoundation/solidity-analyzer-freebsd-x64@0.1.1: + resolution: {integrity: sha512-GHF1VKRdHW3G8CndkwdaeLkVBi5A9u2jwtlS7SLhBc8b5U/GcoL39Q+1CSO3hYqePNP+eV5YI7Zgm0ea6kMHoA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true optional: true - '@nomicfoundation/solidity-analyzer-linux-arm64-gnu@0.1.1': + /@nomicfoundation/solidity-analyzer-linux-arm64-gnu@0.1.1: + resolution: {integrity: sha512-g4Cv2fO37ZsUENQ2vwPnZc2zRenHyAxHcyBjKcjaSmmkKrFr64yvzeNO8S3GBFCo90rfochLs99wFVGT/0owpg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true optional: true - '@nomicfoundation/solidity-analyzer-linux-arm64-musl@0.1.1': + /@nomicfoundation/solidity-analyzer-linux-arm64-musl@0.1.1: + resolution: {integrity: sha512-WJ3CE5Oek25OGE3WwzK7oaopY8xMw9Lhb0mlYuJl/maZVo+WtP36XoQTb7bW/i8aAdHW5Z+BqrHMux23pvxG3w==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true optional: true - '@nomicfoundation/solidity-analyzer-linux-x64-gnu@0.1.1': + /@nomicfoundation/solidity-analyzer-linux-x64-gnu@0.1.1: + resolution: {integrity: sha512-5WN7leSr5fkUBBjE4f3wKENUy9HQStu7HmWqbtknfXkkil+eNWiBV275IOlpXku7v3uLsXTOKpnnGHJYI2qsdA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true optional: true - '@nomicfoundation/solidity-analyzer-linux-x64-musl@0.1.1': + /@nomicfoundation/solidity-analyzer-linux-x64-musl@0.1.1: + resolution: {integrity: sha512-KdYMkJOq0SYPQMmErv/63CwGwMm5XHenEna9X9aB8mQmhDBrYrlAOSsIPgFCUSL0hjxE3xHP65/EPXR/InD2+w==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true optional: true - '@nomicfoundation/solidity-analyzer-win32-arm64-msvc@0.1.1': + /@nomicfoundation/solidity-analyzer-win32-arm64-msvc@0.1.1: + resolution: {integrity: sha512-VFZASBfl4qiBYwW5xeY20exWhmv6ww9sWu/krWSesv3q5hA0o1JuzmPHR4LPN6SUZj5vcqci0O6JOL8BPw+APg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true optional: true - '@nomicfoundation/solidity-analyzer-win32-ia32-msvc@0.1.1': + /@nomicfoundation/solidity-analyzer-win32-ia32-msvc@0.1.1: + resolution: {integrity: sha512-JnFkYuyCSA70j6Si6cS1A9Gh1aHTEb8kOTBApp/c7NRTFGNMH8eaInKlyuuiIbvYFhlXW4LicqyYuWNNq9hkpQ==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true optional: true - '@nomicfoundation/solidity-analyzer-win32-x64-msvc@0.1.1': + /@nomicfoundation/solidity-analyzer-win32-x64-msvc@0.1.1: + resolution: {integrity: sha512-HrVJr6+WjIXGnw3Q9u6KQcbZCtk0caVWhCdFADySvRyUxJ8PnzlaP+MhwNE8oyT8OZ6ejHBRrrgjSqDCFXGirw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true optional: true - '@nomicfoundation/solidity-analyzer@0.1.1': + /@nomicfoundation/solidity-analyzer@0.1.1: + resolution: {integrity: sha512-1LMtXj1puAxyFusBgUIy5pZk3073cNXYnXUpuNKFghHbIit/xZgbk0AokpUADbNm3gyD6bFWl3LRFh3dhVdREg==} + engines: {node: '>= 12'} optionalDependencies: '@nomicfoundation/solidity-analyzer-darwin-arm64': 0.1.1 '@nomicfoundation/solidity-analyzer-darwin-x64': 0.1.1 @@ -13297,146 +6751,229 @@ snapshots: '@nomicfoundation/solidity-analyzer-win32-arm64-msvc': 0.1.1 '@nomicfoundation/solidity-analyzer-win32-ia32-msvc': 0.1.1 '@nomicfoundation/solidity-analyzer-win32-x64-msvc': 0.1.1 + dev: true - '@oasisdex/addresses@0.1.20-automation.0': {} + /@oasisdex/addresses@0.1.20-automation.0: + resolution: {integrity: sha512-TT4F7NY0Q5r12HLgnBf1VeP6ybXbi4e3jgipi608QgEONJ/+bbWDm+itHvMjqbgUyE4TusEPPzqYyAjzc2Tv3Q==} + dev: false - '@oasisdex/addresses@0.1.60': {} + /@oasisdex/addresses@0.1.68: + resolution: {integrity: sha512-JiOLVFrY2jzcaXTqNXNpHAeQ3X2AVwnbhGNHy/a9fs+azCzxjMoyB839st0mICVs18MMRFKN/rKkY8Q/ktg78A==} + dev: false - '@oasisdex/automation@1.6.5-morpho.6': + /@oasisdex/automation@1.6.5-morpho.6: + resolution: {integrity: sha512-zMpuB/61QkXR5+zXaBJb2tKTJR5v+BsaNwEm8gWWpDT0xjhh/gBca3hoZvWnoJUHn4raD3DvYapYhBn1qxiZmQ==} dependencies: ethers: 5.7.2 transitivePeerDependencies: - bufferutil - utf-8-validate + dev: false - '@oasisdex/dma-library@0.6.4-automation.13': + /@oasisdex/dma-library@0.6.4-automation.13: + resolution: {integrity: sha512-m9sdWD9qtN0KFlF69Ggiztr9Q4D6Oww4iwswDuwXiKz47I+niVh5pp1Keb5FmzRzdCME0Dx29U9mf2pSKd/N8g==} dependencies: bignumber.js: 9.0.1 ethers: 5.6.2 transitivePeerDependencies: - bufferutil - utf-8-validate + dev: false - '@openzeppelin/contracts@4.9.3': {} + /@openzeppelin/contracts@4.9.3: + resolution: {integrity: sha512-He3LieZ1pP2TNt5JbkPA4PNT9WC3gOTOlDcFGJW4Le4QKqwmiNJCRt44APfxMxvq7OugU/cqYuPcSBzOw38DAg==} + dev: true - '@peculiar/asn1-schema@2.3.8': + /@peculiar/asn1-schema@2.3.8: + resolution: {integrity: sha512-ULB1XqHKx1WBU/tTFIA+uARuRoBVZ4pNdOA878RDrRbBfBGcSzi5HBkdScC6ZbHn8z7L8gmKCgPC1LHRrP46tA==} dependencies: asn1js: 3.0.5 pvtsutils: 1.3.5 tslib: 2.6.2 + dev: true - '@peculiar/json-schema@1.1.12': + /@peculiar/json-schema@1.1.12: + resolution: {integrity: sha512-coUfuoMeIB7B8/NMekxaDzLhaYmp0HZNPEjYRm9goRou8UZIC3z21s0sL9AWoCw4EG876QyO3kYrc61WNF9B/w==} + engines: {node: '>=8.0.0'} dependencies: tslib: 2.6.2 + dev: true - '@peculiar/webcrypto@1.4.6': + /@peculiar/webcrypto@1.4.6: + resolution: {integrity: sha512-YBcMfqNSwn3SujUJvAaySy5tlYbYm6tVt9SKoXu8BaTdKGROiJDgPR3TXpZdAKUfklzm3lRapJEAltiMQtBgZg==} + engines: {node: '>=10.12.0'} dependencies: '@peculiar/asn1-schema': 2.3.8 '@peculiar/json-schema': 1.1.12 pvtsutils: 1.3.5 tslib: 2.6.2 webcrypto-core: 1.7.9 + dev: true - '@pkgjs/parseargs@0.11.0': + /@pkgjs/parseargs@0.11.0: + resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} + engines: {node: '>=14'} + requiresBuild: true + dev: true optional: true - '@pkgr/core@0.1.1': {} + /@pkgr/core@0.1.1: + resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + dev: true - '@prb/math@2.5.0(@ethersproject/bignumber@5.7.0)(evm-bn@1.1.2)(mathjs@10.6.4)': + /@prb/math@2.5.0(@ethersproject/bignumber@5.7.0)(evm-bn@1.1.2)(mathjs@10.6.4): + resolution: {integrity: sha512-iSNQd4L3HaYuAIhJliLVa7WGsyjFiQHGpomrFgdj7FhYGHT6Yo8bBwbmwAPF1bHD3LN8gdg+ssKrRUPNaNPEVw==} + peerDependencies: + '@ethersproject/bignumber': 5.x + evm-bn: 1.x + mathjs: 10.x dependencies: '@ethersproject/bignumber': 5.7.0 decimal.js: 10.4.3 evm-bn: 1.1.2(@ethersproject/bignumber@5.7.0) mathjs: 10.6.4 + dev: true - '@redis/bloom@1.2.0(@redis/client@1.5.14)': + /@redis/bloom@1.2.0(@redis/client@1.5.16): + resolution: {integrity: sha512-HG2DFjYKbpNmVXsa0keLHp/3leGJz1mjh09f2RLGGLQZzSHpkmZWuwJbAvo3QcRY8p80m5+ZdXZdYOSBLlp7Cg==} + peerDependencies: + '@redis/client': ^1.0.0 dependencies: - '@redis/client': 1.5.14 + '@redis/client': 1.5.16 + dev: false - '@redis/client@1.5.14': + /@redis/client@1.5.16: + resolution: {integrity: sha512-X1a3xQ5kEMvTib5fBrHKh6Y+pXbeKXqziYuxOUo1ojQNECg4M5Etd1qqyhMap+lFUOAh8S7UYevgJHOm4A+NOg==} + engines: {node: '>=14'} dependencies: cluster-key-slot: 1.1.2 generic-pool: 3.9.0 yallist: 4.0.0 + dev: false - '@redis/graph@1.1.1(@redis/client@1.5.14)': + /@redis/graph@1.1.1(@redis/client@1.5.16): + resolution: {integrity: sha512-FEMTcTHZozZciLRl6GiiIB4zGm5z5F3F6a6FZCyrfxdKOhFlGkiAqlexWMBzCi4DcRoyiOsuLfW+cjlGWyExOw==} + peerDependencies: + '@redis/client': ^1.0.0 dependencies: - '@redis/client': 1.5.14 + '@redis/client': 1.5.16 + dev: false - '@redis/json@1.0.6(@redis/client@1.5.14)': + /@redis/json@1.0.6(@redis/client@1.5.16): + resolution: {integrity: sha512-rcZO3bfQbm2zPRpqo82XbW8zg4G/w4W3tI7X8Mqleq9goQjAGLL7q/1n1ZX4dXEAmORVZ4s1+uKLaUOg7LrUhw==} + peerDependencies: + '@redis/client': ^1.0.0 dependencies: - '@redis/client': 1.5.14 + '@redis/client': 1.5.16 + dev: false - '@redis/search@1.1.6(@redis/client@1.5.14)': + /@redis/search@1.1.6(@redis/client@1.5.16): + resolution: {integrity: sha512-mZXCxbTYKBQ3M2lZnEddwEAks0Kc7nauire8q20oA0oA/LoA+E/b5Y5KZn232ztPb1FkIGqo12vh3Lf+Vw5iTw==} + peerDependencies: + '@redis/client': ^1.0.0 dependencies: - '@redis/client': 1.5.14 + '@redis/client': 1.5.16 + dev: false - '@redis/time-series@1.0.5(@redis/client@1.5.14)': + /@redis/time-series@1.0.5(@redis/client@1.5.16): + resolution: {integrity: sha512-IFjIgTusQym2B5IZJG3XKr5llka7ey84fw/NOYqESP5WUfQs9zz1ww/9+qoz4ka/S6KcGBodzlCeZ5UImKbscg==} + peerDependencies: + '@redis/client': ^1.0.0 dependencies: - '@redis/client': 1.5.14 + '@redis/client': 1.5.16 + dev: false - '@repeaterjs/repeater@3.0.4': {} + /@repeaterjs/repeater@3.0.4: + resolution: {integrity: sha512-AW8PKd6iX3vAZ0vA43nOUOnbq/X5ihgU+mSXXqunMkeQADGiqw/PY0JNeYtD5sr0PAy51YPgAPbDoeapv9r8WA==} + dev: true - '@repeaterjs/repeater@3.0.5': {} + /@repeaterjs/repeater@3.0.6: + resolution: {integrity: sha512-Javneu5lsuhwNCryN+pXH93VPQ8g0dBX7wItHFgYiwQmzE1sVdg5tWHiOgHywzL2W21XQopa7IwIEnNbmeUJYA==} + dev: true - '@rushstack/eslint-patch@1.10.2': {} + /@rushstack/eslint-patch@1.10.3: + resolution: {integrity: sha512-qC/xYId4NMebE6w/V33Fh9gWxLgURiNYgVNObbJl2LZv0GUUItCcCqC5axQSwRaAgaxl2mELq1rMzlswaQ0Zxg==} + dev: true - '@scure/base@1.1.6': {} + /@scure/base@1.1.6: + resolution: {integrity: sha512-ok9AWwhcgYuGG3Zfhyqg+zwl+Wn5uE+dwC0NV/2qQkx4dABbb/bx96vWu8NSj+BNjjSjno+JRYRjle1jV08k3g==} - '@scure/bip32@1.1.5': + /@scure/bip32@1.1.5: + resolution: {integrity: sha512-XyNh1rB0SkEqd3tXcXMi+Xe1fvg+kUIcoRIEujP1Jgv7DqW2r9lg3Ah0NkFaCs9sTkQAQA8kw7xiRXzENi9Rtw==} dependencies: '@noble/hashes': 1.2.0 '@noble/secp256k1': 1.7.1 '@scure/base': 1.1.6 + dev: true - '@scure/bip32@1.3.2': + /@scure/bip32@1.3.2: + resolution: {integrity: sha512-N1ZhksgwD3OBlwTv3R6KFEcPojl/W4ElJOeCZdi+vuI5QmTFwLq3OFf2zd2ROpKvxFdgZ6hUpb0dx9bVNEwYCA==} dependencies: '@noble/curves': 1.2.0 - '@noble/hashes': 1.3.3 + '@noble/hashes': 1.3.2 '@scure/base': 1.1.6 - '@scure/bip32@1.3.3': + /@scure/bip32@1.3.3: + resolution: {integrity: sha512-LJaN3HwRbfQK0X1xFSi0Q9amqOgzQnnDngIt+ZlsBC3Bm7/nE7K0kwshZHyaru79yIVRv/e1mQAjZyuZG6jOFQ==} dependencies: '@noble/curves': 1.3.0 '@noble/hashes': 1.3.3 '@scure/base': 1.1.6 + dev: true - '@scure/bip39@1.1.1': + /@scure/bip39@1.1.1: + resolution: {integrity: sha512-t+wDck2rVkh65Hmv280fYdVdY25J9YeEUIgn2LG1WM6gxFkGzcksoDiUkWVpVp3Oex9xGC68JU2dSbUfwZ2jPg==} dependencies: '@noble/hashes': 1.2.0 '@scure/base': 1.1.6 + dev: true - '@scure/bip39@1.2.1': + /@scure/bip39@1.2.1: + resolution: {integrity: sha512-Z3/Fsz1yr904dduJD0NpiyRHhRYHdcnyh73FZWiV+/qhWi83wNJ3NWolYqCEN+ZWsUz2TWwajJggcRE9r1zUYg==} dependencies: - '@noble/hashes': 1.3.3 + '@noble/hashes': 1.3.2 '@scure/base': 1.1.6 - '@scure/bip39@1.2.2': + /@scure/bip39@1.2.2: + resolution: {integrity: sha512-HYf9TUXG80beW+hGAt3TRM8wU6pQoYur9iNypTROm42dorCGmLnFe3eWjz3gOq6G62H2WRh0FCzAR1PI+29zIA==} dependencies: '@noble/hashes': 1.3.3 '@scure/base': 1.1.6 + dev: true - '@sentry/core@5.30.0': + /@sentry/core@5.30.0: + resolution: {integrity: sha512-TmfrII8w1PQZSZgPpUESqjB+jC6MvZJZdLtE/0hZ+SrnKhW3x5WlYLvTXZpcWePYBku7rl2wn1RZu6uT0qCTeg==} + engines: {node: '>=6'} dependencies: '@sentry/hub': 5.30.0 '@sentry/minimal': 5.30.0 '@sentry/types': 5.30.0 '@sentry/utils': 5.30.0 tslib: 1.14.1 + dev: true - '@sentry/hub@5.30.0': + /@sentry/hub@5.30.0: + resolution: {integrity: sha512-2tYrGnzb1gKz2EkMDQcfLrDTvmGcQPuWxLnJKXJvYTQDGLlEvi2tWz1VIHjunmOvJrB5aIQLhm+dcMRwFZDCqQ==} + engines: {node: '>=6'} dependencies: '@sentry/types': 5.30.0 '@sentry/utils': 5.30.0 tslib: 1.14.1 + dev: true - '@sentry/minimal@5.30.0': + /@sentry/minimal@5.30.0: + resolution: {integrity: sha512-BwWb/owZKtkDX+Sc4zCSTNcvZUq7YcH3uAVlmh/gtR9rmUvbzAA3ewLuB3myi4wWRAMEtny6+J/FN/x+2wn9Xw==} + engines: {node: '>=6'} dependencies: '@sentry/hub': 5.30.0 '@sentry/types': 5.30.0 tslib: 1.14.1 + dev: true - '@sentry/node@5.30.0': + /@sentry/node@5.30.0: + resolution: {integrity: sha512-Br5oyVBF0fZo6ZS9bxbJZG4ApAjRqAnqFFurMVJJdunNb80brh7a5Qva2kjhm+U6r9NJAB5OmDyPkA1Qnt+QVg==} + engines: {node: '>=6'} dependencies: '@sentry/core': 5.30.0 '@sentry/hub': 5.30.0 @@ -13449,187 +6986,266 @@ snapshots: tslib: 1.14.1 transitivePeerDependencies: - supports-color + dev: true - '@sentry/tracing@5.30.0': + /@sentry/tracing@5.30.0: + resolution: {integrity: sha512-dUFowCr0AIMwiLD7Fs314Mdzcug+gBVo/+NCMyDw8tFxJkwWAKl7Qa2OZxLQ0ZHjakcj1hNKfCQJ9rhyfOl4Aw==} + engines: {node: '>=6'} dependencies: '@sentry/hub': 5.30.0 '@sentry/minimal': 5.30.0 '@sentry/types': 5.30.0 '@sentry/utils': 5.30.0 tslib: 1.14.1 + dev: true - '@sentry/types@5.30.0': {} + /@sentry/types@5.30.0: + resolution: {integrity: sha512-R8xOqlSTZ+htqrfteCWU5Nk0CDN5ApUTvrlvBuiH1DyP6czDZ4ktbZB0hAgBlVcK0U+qpD3ag3Tqqpa5Q67rPw==} + engines: {node: '>=6'} + dev: true - '@sentry/utils@5.30.0': + /@sentry/utils@5.30.0: + resolution: {integrity: sha512-zaYmoH0NWWtvnJjC9/CBseXMtKHm/tm40sz3YfJRxeQjyzRqNQPgivpd9R/oDJCYj999mzdW382p/qi2ypjLww==} + engines: {node: '>=6'} dependencies: '@sentry/types': 5.30.0 tslib: 1.14.1 + dev: true - '@sinclair/typebox@0.27.8': {} + /@sinclair/typebox@0.27.8: + resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + dev: true - '@sinonjs/commons@3.0.1': + /@sinonjs/commons@3.0.1: + resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} dependencies: type-detect: 4.0.8 + dev: true - '@sinonjs/fake-timers@10.3.0': + /@sinonjs/fake-timers@10.3.0: + resolution: {integrity: sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==} dependencies: '@sinonjs/commons': 3.0.1 + dev: true - '@smithy/abort-controller@1.1.0': + /@smithy/abort-controller@1.1.0: + resolution: {integrity: sha512-5imgGUlZL4dW4YWdMYAKLmal9ny/tlenM81QZY7xYyb76z9Z/QOg7oM5Ak9HQl8QfFTlGVWwcMXl+54jroRgEQ==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 1.2.0 tslib: 2.6.2 + dev: true - '@smithy/abort-controller@2.2.0': + /@smithy/abort-controller@3.0.0: + resolution: {integrity: sha512-p6GlFGBt9K4MYLu72YuJ523NVR4A8oHlC5M2JO6OmQqN8kAc/uh1JqLE+FizTokrSJGg0CSvC+BrsmGzKtsZKA==} + engines: {node: '>=16.0.0'} dependencies: - '@smithy/types': 2.12.0 + '@smithy/types': 3.0.0 tslib: 2.6.2 - '@smithy/chunked-blob-reader-native@2.2.0': + /@smithy/chunked-blob-reader-native@3.0.0: + resolution: {integrity: sha512-VDkpCYW+peSuM4zJip5WDfqvg2Mo/e8yxOv3VF1m11y7B8KKMKVFtmZWDe36Fvk8rGuWrPZHHXZ7rR7uM5yWyg==} dependencies: - '@smithy/util-base64': 2.3.0 + '@smithy/util-base64': 3.0.0 tslib: 2.6.2 + dev: true - '@smithy/chunked-blob-reader@2.2.0': + /@smithy/chunked-blob-reader@3.0.0: + resolution: {integrity: sha512-sbnURCwjF0gSToGlsBiAmd1lRCmSn72nu9axfJu5lIx6RUEgHu6GwTMbqCdhQSi0Pumcm5vFxsi9XWXb2mTaoA==} dependencies: tslib: 2.6.2 + dev: true - '@smithy/config-resolver@1.1.0': + /@smithy/config-resolver@1.1.0: + resolution: {integrity: sha512-7WD9eZHp46BxAjNGHJLmxhhyeiNWkBdVStd7SUJPUZqQGeIO/REtIrcIfKUfdiHTQ9jyu2SYoqvzqqaFc6987w==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 1.2.0 '@smithy/util-config-provider': 1.1.0 '@smithy/util-middleware': 1.1.0 tslib: 2.6.2 + dev: true - '@smithy/config-resolver@2.2.0': + /@smithy/config-resolver@3.0.0: + resolution: {integrity: sha512-2GzOfADwYLQugYkKQhIyZyQlM05K+tMKvRnc6eFfZcpJGRfKoMUMYdPlBKmqHwQFXQKBrGV6cxL9oymWgDzvFw==} + engines: {node: '>=16.0.0'} dependencies: - '@smithy/node-config-provider': 2.3.0 - '@smithy/types': 2.12.0 - '@smithy/util-config-provider': 2.3.0 - '@smithy/util-middleware': 2.2.0 + '@smithy/node-config-provider': 3.0.0 + '@smithy/types': 3.0.0 + '@smithy/util-config-provider': 3.0.0 + '@smithy/util-middleware': 3.0.0 tslib: 2.6.2 - '@smithy/core@1.4.2': + /@smithy/core@2.0.1: + resolution: {integrity: sha512-rcMkjvwxH/bER+oZUPR0yTA0ELD6m3A+d92+CFkdF6HJFCBB1bXo7P5pm21L66XwTN01B6bUhSCQ7cymWRD8zg==} + engines: {node: '>=16.0.0'} dependencies: - '@smithy/middleware-endpoint': 2.5.1 - '@smithy/middleware-retry': 2.3.1 - '@smithy/middleware-serde': 2.3.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/smithy-client': 2.5.1 - '@smithy/types': 2.12.0 - '@smithy/util-middleware': 2.2.0 + '@smithy/middleware-endpoint': 3.0.0 + '@smithy/middleware-retry': 3.0.1 + '@smithy/middleware-serde': 3.0.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/smithy-client': 3.0.1 + '@smithy/types': 3.0.0 + '@smithy/util-middleware': 3.0.0 tslib: 2.6.2 - '@smithy/credential-provider-imds@2.3.0': + /@smithy/credential-provider-imds@3.0.0: + resolution: {integrity: sha512-lfmBiFQcA3FsDAPxNfY0L7CawcWtbyWsBOHo34nF095728JLkBX4Y9q/VPPE2r7fqMVK+drmDigqE2/SSQeVRA==} + engines: {node: '>=16.0.0'} dependencies: - '@smithy/node-config-provider': 2.3.0 - '@smithy/property-provider': 2.2.0 - '@smithy/types': 2.12.0 - '@smithy/url-parser': 2.2.0 + '@smithy/node-config-provider': 3.0.0 + '@smithy/property-provider': 3.0.0 + '@smithy/types': 3.0.0 + '@smithy/url-parser': 3.0.0 tslib: 2.6.2 - '@smithy/eventstream-codec@2.2.0': + /@smithy/eventstream-codec@3.0.0: + resolution: {integrity: sha512-PUtyEA0Oik50SaEFCZ0WPVtF9tz/teze2fDptW6WRXl+RrEenH8UbEjudOz8iakiMl3lE3lCVqYf2Y+znL8QFQ==} dependencies: '@aws-crypto/crc32': 3.0.0 - '@smithy/types': 2.12.0 - '@smithy/util-hex-encoding': 2.2.0 + '@smithy/types': 3.0.0 + '@smithy/util-hex-encoding': 3.0.0 tslib: 2.6.2 + dev: true - '@smithy/eventstream-serde-browser@2.2.0': + /@smithy/eventstream-serde-browser@3.0.0: + resolution: {integrity: sha512-NB7AFiPN4NxP/YCAnrvYR18z2/ZsiHiF7VtG30gshO9GbFrIb1rC8ep4NGpJSWrz6P64uhPXeo4M0UsCLnZKqw==} + engines: {node: '>=16.0.0'} dependencies: - '@smithy/eventstream-serde-universal': 2.2.0 - '@smithy/types': 2.12.0 + '@smithy/eventstream-serde-universal': 3.0.0 + '@smithy/types': 3.0.0 tslib: 2.6.2 + dev: true - '@smithy/eventstream-serde-config-resolver@2.2.0': + /@smithy/eventstream-serde-config-resolver@3.0.0: + resolution: {integrity: sha512-RUQG3vQ3LX7peqqHAbmayhgrF5aTilPnazinaSGF1P0+tgM3vvIRWPHmlLIz2qFqB9LqFIxditxc8O2Z6psrRw==} + engines: {node: '>=16.0.0'} dependencies: - '@smithy/types': 2.12.0 + '@smithy/types': 3.0.0 tslib: 2.6.2 + dev: true - '@smithy/eventstream-serde-node@2.2.0': + /@smithy/eventstream-serde-node@3.0.0: + resolution: {integrity: sha512-baRPdMBDMBExZXIUAoPGm/hntixjt/VFpU6+VmCyiYJYzRHRxoaI1MN+5XE+hIS8AJ2GCHLMFEIOLzq9xx1EgQ==} + engines: {node: '>=16.0.0'} dependencies: - '@smithy/eventstream-serde-universal': 2.2.0 - '@smithy/types': 2.12.0 + '@smithy/eventstream-serde-universal': 3.0.0 + '@smithy/types': 3.0.0 tslib: 2.6.2 + dev: true - '@smithy/eventstream-serde-universal@2.2.0': + /@smithy/eventstream-serde-universal@3.0.0: + resolution: {integrity: sha512-HNFfShmotWGeAoW4ujP8meV9BZavcpmerDbPIjkJbxKbN8RsUcpRQ/2OyIxWNxXNH2GWCAxuSB7ynmIGJlQ3Dw==} + engines: {node: '>=16.0.0'} dependencies: - '@smithy/eventstream-codec': 2.2.0 - '@smithy/types': 2.12.0 + '@smithy/eventstream-codec': 3.0.0 + '@smithy/types': 3.0.0 tslib: 2.6.2 + dev: true - '@smithy/fetch-http-handler@1.1.0': + /@smithy/fetch-http-handler@1.1.0: + resolution: {integrity: sha512-N22C9R44u5WGlcY+Wuv8EXmCAq62wWwriRAuoczMEwAIjPbvHSthyPSLqI4S7kAST1j6niWg8kwpeJ3ReAv3xg==} dependencies: '@smithy/protocol-http': 1.2.0 '@smithy/querystring-builder': 1.1.0 '@smithy/types': 1.2.0 '@smithy/util-base64': 1.1.0 tslib: 2.6.2 + dev: true - '@smithy/fetch-http-handler@2.5.0': + /@smithy/fetch-http-handler@3.0.1: + resolution: {integrity: sha512-uaH74i5BDj+rBwoQaXioKpI0SHBJFtOVwzrCpxZxphOW0ki5jhj7dXvDMYM2IJem8TpdFvS2iC08sjOblfFGFg==} dependencies: - '@smithy/protocol-http': 3.3.0 - '@smithy/querystring-builder': 2.2.0 - '@smithy/types': 2.12.0 - '@smithy/util-base64': 2.3.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/querystring-builder': 3.0.0 + '@smithy/types': 3.0.0 + '@smithy/util-base64': 3.0.0 tslib: 2.6.2 - '@smithy/hash-blob-browser@2.2.0': + /@smithy/hash-blob-browser@3.0.0: + resolution: {integrity: sha512-/Wbpdg+bwJvW7lxR/zpWAc1/x/YkcqguuF2bAzkJrvXriZu1vm8r+PUdE4syiVwQg7PPR2dXpi3CLBb9qRDaVQ==} dependencies: - '@smithy/chunked-blob-reader': 2.2.0 - '@smithy/chunked-blob-reader-native': 2.2.0 - '@smithy/types': 2.12.0 + '@smithy/chunked-blob-reader': 3.0.0 + '@smithy/chunked-blob-reader-native': 3.0.0 + '@smithy/types': 3.0.0 tslib: 2.6.2 + dev: true - '@smithy/hash-node@2.2.0': + /@smithy/hash-node@3.0.0: + resolution: {integrity: sha512-84qXstNemP3XS5jcof0el6+bDfjzuvhJPQTEfro3lgtbCtKgzPm3MgiS6ehXVPjeQ5+JS0HqmTz8f/RYfzHVxw==} + engines: {node: '>=16.0.0'} dependencies: - '@smithy/types': 2.12.0 - '@smithy/util-buffer-from': 2.2.0 - '@smithy/util-utf8': 2.3.0 + '@smithy/types': 3.0.0 + '@smithy/util-buffer-from': 3.0.0 + '@smithy/util-utf8': 3.0.0 tslib: 2.6.2 - '@smithy/hash-stream-node@2.2.0': + /@smithy/hash-stream-node@3.0.0: + resolution: {integrity: sha512-J0i7de+EgXDEGITD4fxzmMX8CyCNETTIRXlxjMiNUvvu76Xn3GJ31wQR85ynlPk2wI1lqoknAFJaD1fiNDlbIA==} + engines: {node: '>=16.0.0'} dependencies: - '@smithy/types': 2.12.0 - '@smithy/util-utf8': 2.3.0 + '@smithy/types': 3.0.0 + '@smithy/util-utf8': 3.0.0 tslib: 2.6.2 + dev: true - '@smithy/invalid-dependency@2.2.0': + /@smithy/invalid-dependency@3.0.0: + resolution: {integrity: sha512-F6wBBaEFgJzj0s4KUlliIGPmqXemwP6EavgvDqYwCH40O5Xr2iMHvS8todmGVZtuJCorBkXsYLyTu4PuizVq5g==} + dependencies: + '@smithy/types': 3.0.0 + tslib: 2.6.2 + + /@smithy/is-array-buffer@1.1.0: + resolution: {integrity: sha512-twpQ/n+3OWZJ7Z+xu43MJErmhB/WO/mMTnqR6PwWQShvSJ/emx5d1N59LQZk6ZpTAeuRWrc+eHhkzTp9NFjNRQ==} + engines: {node: '>=14.0.0'} dependencies: - '@smithy/types': 2.12.0 tslib: 2.6.2 + dev: true - '@smithy/is-array-buffer@1.1.0': + /@smithy/is-array-buffer@2.2.0: + resolution: {integrity: sha512-GGP3O9QFD24uGeAXYUjwSTXARoqpZykHadOmA8G5vfJPK0/DC67qa//0qvqrJzL1xc8WQWX7/yc7fwudjPHPhA==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 + dev: true - '@smithy/is-array-buffer@2.2.0': + /@smithy/is-array-buffer@3.0.0: + resolution: {integrity: sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==} + engines: {node: '>=16.0.0'} dependencies: tslib: 2.6.2 - '@smithy/md5-js@2.2.0': + /@smithy/md5-js@3.0.0: + resolution: {integrity: sha512-Tm0vrrVzjlD+6RCQTx7D3Ls58S3FUH1ZCtU1MIh/qQmaOo1H9lMN2as6CikcEwgattnA9SURSdoJJ27xMcEfMA==} dependencies: - '@smithy/types': 2.12.0 - '@smithy/util-utf8': 2.3.0 + '@smithy/types': 3.0.0 + '@smithy/util-utf8': 3.0.0 tslib: 2.6.2 + dev: true - '@smithy/middleware-content-length@2.2.0': + /@smithy/middleware-content-length@3.0.0: + resolution: {integrity: sha512-3C4s4d/iGobgCtk2tnWW6+zSTOBg1PRAm2vtWZLdriwTroFbbWNSr3lcyzHdrQHnEXYCC5K52EbpfodaIUY8sg==} + engines: {node: '>=16.0.0'} dependencies: - '@smithy/protocol-http': 3.3.0 - '@smithy/types': 2.12.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/types': 3.0.0 tslib: 2.6.2 - '@smithy/middleware-endpoint@2.5.1': + /@smithy/middleware-endpoint@3.0.0: + resolution: {integrity: sha512-aXOAWztw/5qAfp0NcA2OWpv6ZI/E+Dh9mByif7i91D/0iyYNUcKvskmXiowKESFkuZ7PIMd3VOR4fTibZDs2OQ==} + engines: {node: '>=16.0.0'} dependencies: - '@smithy/middleware-serde': 2.3.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/shared-ini-file-loader': 2.4.0 - '@smithy/types': 2.12.0 - '@smithy/url-parser': 2.2.0 - '@smithy/util-middleware': 2.2.0 + '@smithy/middleware-serde': 3.0.0 + '@smithy/node-config-provider': 3.0.0 + '@smithy/shared-ini-file-loader': 3.0.0 + '@smithy/types': 3.0.0 + '@smithy/url-parser': 3.0.0 + '@smithy/util-middleware': 3.0.0 tslib: 2.6.2 - '@smithy/middleware-retry@1.1.0': + /@smithy/middleware-retry@1.1.0: + resolution: {integrity: sha512-lINKYxIvT+W20YFOtHBKeGm7npuJg0/YCoShttU7fVpsmU+a2rdb9zrJn1MHqWfUL6DhTAWGa0tH2O7l4XrDcw==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/protocol-http': 1.2.0 '@smithy/service-error-classification': 1.1.0 @@ -13638,100 +7254,147 @@ snapshots: '@smithy/util-retry': 1.1.0 tslib: 2.6.2 uuid: 8.3.2 + dev: true - '@smithy/middleware-retry@2.3.1': + /@smithy/middleware-retry@3.0.1: + resolution: {integrity: sha512-hBhSEuL841FhJBK/19WpaGk5YWSzFk/P2UaVjANGKRv3eYNO8Y1lANWgqnuPWjOyCEWMPr58vELFDWpxvRKANw==} + engines: {node: '>=16.0.0'} dependencies: - '@smithy/node-config-provider': 2.3.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/service-error-classification': 2.1.5 - '@smithy/smithy-client': 2.5.1 - '@smithy/types': 2.12.0 - '@smithy/util-middleware': 2.2.0 - '@smithy/util-retry': 2.2.0 + '@smithy/node-config-provider': 3.0.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/service-error-classification': 3.0.0 + '@smithy/smithy-client': 3.0.1 + '@smithy/types': 3.0.0 + '@smithy/util-middleware': 3.0.0 + '@smithy/util-retry': 3.0.0 tslib: 2.6.2 uuid: 9.0.1 - '@smithy/middleware-serde@2.3.0': + /@smithy/middleware-serde@3.0.0: + resolution: {integrity: sha512-I1vKG1foI+oPgG9r7IMY1S+xBnmAn1ISqployvqkwHoSb8VPsngHDTOgYGYBonuOKndaWRUGJZrKYYLB+Ane6w==} + engines: {node: '>=16.0.0'} dependencies: - '@smithy/types': 2.12.0 + '@smithy/types': 3.0.0 tslib: 2.6.2 - '@smithy/middleware-stack@1.1.0': + /@smithy/middleware-stack@1.1.0: + resolution: {integrity: sha512-XynYiIvXNea2BbLcppvpNK0zu8o2woJqgnmxqYTn4FWagH/Hr2QIk8LOsUz7BIJ4tooFhmx8urHKCdlPbbPDCA==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 + dev: true - '@smithy/middleware-stack@2.2.0': + /@smithy/middleware-stack@3.0.0: + resolution: {integrity: sha512-+H0jmyfAyHRFXm6wunskuNAqtj7yfmwFB6Fp37enytp2q047/Od9xetEaUbluyImOlGnGpaVGaVfjwawSr+i6Q==} + engines: {node: '>=16.0.0'} dependencies: - '@smithy/types': 2.12.0 + '@smithy/types': 3.0.0 tslib: 2.6.2 - '@smithy/node-config-provider@2.3.0': + /@smithy/node-config-provider@3.0.0: + resolution: {integrity: sha512-buqfaSdDh0zo62EPLf8rGDvcpKwGpO5ho4bXS2cdFhlOta7tBkWJt+O5uiaAeICfIOfPclNOndshDNSanX2X9g==} + engines: {node: '>=16.0.0'} dependencies: - '@smithy/property-provider': 2.2.0 - '@smithy/shared-ini-file-loader': 2.4.0 - '@smithy/types': 2.12.0 + '@smithy/property-provider': 3.0.0 + '@smithy/shared-ini-file-loader': 3.0.0 + '@smithy/types': 3.0.0 tslib: 2.6.2 - '@smithy/node-http-handler@1.1.0': + /@smithy/node-http-handler@1.1.0: + resolution: {integrity: sha512-d3kRriEgaIiGXLziAM8bjnaLn1fthCJeTLZIwEIpzQqe6yPX0a+yQoLCTyjb2fvdLwkMoG4p7THIIB5cj5lkbg==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/abort-controller': 1.1.0 '@smithy/protocol-http': 1.2.0 '@smithy/querystring-builder': 1.1.0 '@smithy/types': 1.2.0 tslib: 2.6.2 + dev: true - '@smithy/node-http-handler@2.5.0': + /@smithy/node-http-handler@3.0.0: + resolution: {integrity: sha512-3trD4r7NOMygwLbUJo4eodyQuypAWr7uvPnebNJ9a70dQhVn+US8j/lCnvoJS6BXfZeF7PkkkI0DemVJw+n+eQ==} + engines: {node: '>=16.0.0'} dependencies: - '@smithy/abort-controller': 2.2.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/querystring-builder': 2.2.0 - '@smithy/types': 2.12.0 + '@smithy/abort-controller': 3.0.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/querystring-builder': 3.0.0 + '@smithy/types': 3.0.0 tslib: 2.6.2 - '@smithy/property-provider@2.2.0': + /@smithy/property-provider@3.0.0: + resolution: {integrity: sha512-LmbPgHBswdXCrkWWuUwBm9w72S2iLWyC/5jet9/Y9cGHtzqxi+GVjfCfahkvNV4KXEwgnH8EMpcrD9RUYe0eLQ==} + engines: {node: '>=16.0.0'} dependencies: - '@smithy/types': 2.12.0 + '@smithy/types': 3.0.0 tslib: 2.6.2 - '@smithy/protocol-http@1.2.0': + /@smithy/protocol-http@1.2.0: + resolution: {integrity: sha512-GfGfruksi3nXdFok5RhgtOnWe5f6BndzYfmEXISD+5gAGdayFGpjWu5pIqIweTudMtse20bGbc+7MFZXT1Tb8Q==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 1.2.0 tslib: 2.6.2 + dev: true - '@smithy/protocol-http@3.3.0': + /@smithy/protocol-http@4.0.0: + resolution: {integrity: sha512-qOQZOEI2XLWRWBO9AgIYuHuqjZ2csyr8/IlgFDHDNuIgLAMRx2Bl8ck5U5D6Vh9DPdoaVpuzwWMa0xcdL4O/AQ==} + engines: {node: '>=16.0.0'} dependencies: - '@smithy/types': 2.12.0 + '@smithy/types': 3.0.0 tslib: 2.6.2 - '@smithy/querystring-builder@1.1.0': + /@smithy/querystring-builder@1.1.0: + resolution: {integrity: sha512-gDEi4LxIGLbdfjrjiY45QNbuDmpkwh9DX4xzrR2AzjjXpxwGyfSpbJaYhXARw9p17VH0h9UewnNQXNwaQyYMDA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 1.2.0 '@smithy/util-uri-escape': 1.1.0 tslib: 2.6.2 + dev: true - '@smithy/querystring-builder@2.2.0': + /@smithy/querystring-builder@3.0.0: + resolution: {integrity: sha512-bW8Fi0NzyfkE0TmQphDXr1AmBDbK01cA4C1Z7ggwMAU5RDz5AAv/KmoRwzQAS0kxXNf/D2ALTEgwK0U2c4LtRg==} + engines: {node: '>=16.0.0'} dependencies: - '@smithy/types': 2.12.0 - '@smithy/util-uri-escape': 2.2.0 + '@smithy/types': 3.0.0 + '@smithy/util-uri-escape': 3.0.0 tslib: 2.6.2 - '@smithy/querystring-parser@2.2.0': + /@smithy/querystring-parser@3.0.0: + resolution: {integrity: sha512-UzHwthk0UEccV4dHzPySnBy34AWw3V9lIqUTxmozQ+wPDAO9csCWMfOLe7V9A2agNYy7xE+Pb0S6K/J23JSzfQ==} + engines: {node: '>=16.0.0'} dependencies: - '@smithy/types': 2.12.0 + '@smithy/types': 3.0.0 tslib: 2.6.2 - '@smithy/service-error-classification@1.1.0': {} + /@smithy/service-error-classification@1.1.0: + resolution: {integrity: sha512-OCTEeJ1igatd5kFrS2VDlYbainNNpf7Lj1siFOxnRWqYOP9oNvC5HOJBd3t+Z8MbrmehBtuDJ2QqeBsfeiNkww==} + engines: {node: '>=14.0.0'} + dev: true - '@smithy/service-error-classification@2.1.5': + /@smithy/service-error-classification@2.1.5: + resolution: {integrity: sha512-uBDTIBBEdAQryvHdc5W8sS5YX7RQzF683XrHePVdFmAgKiMofU15FLSM0/HU03hKTnazdNRFa0YHS7+ArwoUSQ==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 + dev: false + + /@smithy/service-error-classification@3.0.0: + resolution: {integrity: sha512-3BsBtOUt2Gsnc3X23ew+r2M71WwtpHfEDGhHYHSDg6q1t8FrWh15jT25DLajFV1H+PpxAJ6gqe9yYeRUsmSdFA==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/types': 3.0.0 - '@smithy/shared-ini-file-loader@2.4.0': + /@smithy/shared-ini-file-loader@3.0.0: + resolution: {integrity: sha512-REVw6XauXk8xE4zo5aGL7Rz4ywA8qNMUn8RtWeTRQsgAlmlvbJ7CEPBcaXU2NDC3AYBgYAXrGyWD8XrN8UGDog==} + engines: {node: '>=16.0.0'} dependencies: - '@smithy/types': 2.12.0 + '@smithy/types': 3.0.0 tslib: 2.6.2 - '@smithy/signature-v4@2.3.0': + /@smithy/signature-v4@2.3.0: + resolution: {integrity: sha512-ui/NlpILU+6HAQBfJX8BBsDXuKSNrjTSuOYArRblcrErwKFutjrCNb/OExfVRyj9+26F9J+ZmfWT+fKWuDrH3Q==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/is-array-buffer': 2.2.0 '@smithy/types': 2.12.0 @@ -13740,127 +7403,221 @@ snapshots: '@smithy/util-uri-escape': 2.2.0 '@smithy/util-utf8': 2.3.0 tslib: 2.6.2 + dev: true + + /@smithy/signature-v4@3.0.0: + resolution: {integrity: sha512-kXFOkNX+BQHe2qnLxpMEaCRGap9J6tUGLzc3A9jdn+nD4JdMwCKTJ+zFwQ20GkY+mAXGatyTw3HcoUlR39HwmA==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/is-array-buffer': 3.0.0 + '@smithy/types': 3.0.0 + '@smithy/util-hex-encoding': 3.0.0 + '@smithy/util-middleware': 3.0.0 + '@smithy/util-uri-escape': 3.0.0 + '@smithy/util-utf8': 3.0.0 + tslib: 2.6.2 - '@smithy/smithy-client@1.1.0': + /@smithy/smithy-client@1.1.0: + resolution: {integrity: sha512-j32SGgVhv2G9nBTmel9u3OXux8KG20ssxuFakJrEeDug3kqbl1qrGzVLCe+Eib402UDtA0Sp1a4NZ2SEXDBxag==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/middleware-stack': 1.1.0 '@smithy/types': 1.2.0 '@smithy/util-stream': 1.1.0 tslib: 2.6.2 + dev: true - '@smithy/smithy-client@2.5.1': + /@smithy/smithy-client@3.0.1: + resolution: {integrity: sha512-KAiFY4Y4jdHxR+4zerH/VBhaFKM8pbaVmJZ/CWJRwtM/CmwzTfXfvYwf6GoUwiHepdv+lwiOXCuOl6UBDUEINw==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/middleware-endpoint': 3.0.0 + '@smithy/middleware-stack': 3.0.0 + '@smithy/protocol-http': 4.0.0 + '@smithy/types': 3.0.0 + '@smithy/util-stream': 3.0.1 + tslib: 2.6.2 + + /@smithy/types@1.2.0: + resolution: {integrity: sha512-z1r00TvBqF3dh4aHhya7nz1HhvCg4TRmw51fjMrh5do3h+ngSstt/yKlNbHeb9QxJmFbmN8KEVSWgb1bRvfEoA==} + engines: {node: '>=14.0.0'} dependencies: - '@smithy/middleware-endpoint': 2.5.1 - '@smithy/middleware-stack': 2.2.0 - '@smithy/protocol-http': 3.3.0 - '@smithy/types': 2.12.0 - '@smithy/util-stream': 2.2.0 tslib: 2.6.2 + dev: true - '@smithy/types@1.2.0': + /@smithy/types@2.12.0: + resolution: {integrity: sha512-QwYgloJ0sVNBeBuBs65cIkTbfzV/Q6ZNPCJ99EICFEdJYG50nGIY/uYXp+TbsdJReIuPr0a0kXmCvren3MbRRw==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 - '@smithy/types@2.12.0': + /@smithy/types@3.0.0: + resolution: {integrity: sha512-VvWuQk2RKFuOr98gFhjca7fkBS+xLLURT8bUjk5XQoV0ZLm7WPwWPPY3/AwzTLuUBDeoKDCthfe1AsTUWaSEhw==} + engines: {node: '>=16.0.0'} dependencies: tslib: 2.6.2 - '@smithy/url-parser@2.2.0': + /@smithy/url-parser@3.0.0: + resolution: {integrity: sha512-2XLazFgUu+YOGHtWihB3FSLAfCUajVfNBXGGYjOaVKjLAuAxx3pSBY3hBgLzIgB17haf59gOG3imKqTy8mcrjw==} dependencies: - '@smithy/querystring-parser': 2.2.0 - '@smithy/types': 2.12.0 + '@smithy/querystring-parser': 3.0.0 + '@smithy/types': 3.0.0 tslib: 2.6.2 - '@smithy/util-base64@1.1.0': + /@smithy/util-base64@1.1.0: + resolution: {integrity: sha512-FpYmDmVbOXAxqvoVCwqehUN0zXS+lN8V7VS9O7I8MKeVHdSTsZzlwiMEvGoyTNOXWn8luF4CTDYgNHnZViR30g==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/util-buffer-from': 1.1.0 tslib: 2.6.2 + dev: true - '@smithy/util-base64@2.3.0': + /@smithy/util-base64@3.0.0: + resolution: {integrity: sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==} + engines: {node: '>=16.0.0'} dependencies: - '@smithy/util-buffer-from': 2.2.0 - '@smithy/util-utf8': 2.3.0 + '@smithy/util-buffer-from': 3.0.0 + '@smithy/util-utf8': 3.0.0 tslib: 2.6.2 - '@smithy/util-body-length-browser@2.2.0': + /@smithy/util-body-length-browser@3.0.0: + resolution: {integrity: sha512-cbjJs2A1mLYmqmyVl80uoLTJhAcfzMOyPgjwAYusWKMdLeNtzmMz9YxNl3/jRLoxSS3wkqkf0jwNdtXWtyEBaQ==} dependencies: tslib: 2.6.2 - '@smithy/util-body-length-node@2.3.0': + /@smithy/util-body-length-node@3.0.0: + resolution: {integrity: sha512-Tj7pZ4bUloNUP6PzwhN7K386tmSmEET9QtQg0TgdNOnxhZvCssHji+oZTUIuzxECRfG8rdm2PMw2WCFs6eIYkA==} + engines: {node: '>=16.0.0'} dependencies: tslib: 2.6.2 - '@smithy/util-buffer-from@1.1.0': + /@smithy/util-buffer-from@1.1.0: + resolution: {integrity: sha512-9m6NXE0ww+ra5HKHCHig20T+FAwxBAm7DIdwc/767uGWbRcY720ybgPacQNB96JMOI7xVr/CDa3oMzKmW4a+kw==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/is-array-buffer': 1.1.0 tslib: 2.6.2 + dev: true - '@smithy/util-buffer-from@2.2.0': + /@smithy/util-buffer-from@2.2.0: + resolution: {integrity: sha512-IJdWBbTcMQ6DA0gdNhh/BwrLkDR+ADW5Kr1aZmd4k3DIF6ezMV4R2NIAmT08wQJ3yUK82thHWmC/TnK/wpMMIA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/is-array-buffer': 2.2.0 tslib: 2.6.2 + dev: true - '@smithy/util-config-provider@1.1.0': + /@smithy/util-buffer-from@3.0.0: + resolution: {integrity: sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==} + engines: {node: '>=16.0.0'} dependencies: + '@smithy/is-array-buffer': 3.0.0 tslib: 2.6.2 - '@smithy/util-config-provider@2.3.0': + /@smithy/util-config-provider@1.1.0: + resolution: {integrity: sha512-rQ47YpNmF6Is4I9GiE3T3+0xQ+r7RKRKbmHYyGSbyep/0cSf9kteKcI0ssJTvveJ1K4QvwrxXj1tEFp/G2UqxQ==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 + dev: true - '@smithy/util-defaults-mode-browser@2.2.1': + /@smithy/util-config-provider@3.0.0: + resolution: {integrity: sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==} + engines: {node: '>=16.0.0'} dependencies: - '@smithy/property-provider': 2.2.0 - '@smithy/smithy-client': 2.5.1 - '@smithy/types': 2.12.0 + tslib: 2.6.2 + + /@smithy/util-defaults-mode-browser@3.0.1: + resolution: {integrity: sha512-nW5kEzdJn1Bn5TF+gOPHh2rcPli8JU9vSSXLbfg7uPnfR1TMRQqs9zlYRhIb87NeSxIbpdXOI94tvXSy+fvDYg==} + engines: {node: '>= 10.0.0'} + dependencies: + '@smithy/property-provider': 3.0.0 + '@smithy/smithy-client': 3.0.1 + '@smithy/types': 3.0.0 bowser: 2.11.0 tslib: 2.6.2 - '@smithy/util-defaults-mode-node@2.3.1': + /@smithy/util-defaults-mode-node@3.0.1: + resolution: {integrity: sha512-TFk+Qb+elLc/MOhtSp+50fstyfZ6avQbgH2d96xUBpeScu+Al9elxv+UFAjaTHe0HQe5n+wem8ZLpXvU8lwV6Q==} + engines: {node: '>= 10.0.0'} dependencies: - '@smithy/config-resolver': 2.2.0 - '@smithy/credential-provider-imds': 2.3.0 - '@smithy/node-config-provider': 2.3.0 - '@smithy/property-provider': 2.2.0 - '@smithy/smithy-client': 2.5.1 - '@smithy/types': 2.12.0 + '@smithy/config-resolver': 3.0.0 + '@smithy/credential-provider-imds': 3.0.0 + '@smithy/node-config-provider': 3.0.0 + '@smithy/property-provider': 3.0.0 + '@smithy/smithy-client': 3.0.1 + '@smithy/types': 3.0.0 tslib: 2.6.2 - '@smithy/util-endpoints@1.2.0': + /@smithy/util-endpoints@2.0.0: + resolution: {integrity: sha512-+exaXzEY3DNt2qtA2OtRNSDlVrE4p32j1JSsQkzA5AdP0YtJNjkYbYhJxkFmPYcjI1abuwopOZCwUmv682QkiQ==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/node-config-provider': 3.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 + + /@smithy/util-hex-encoding@1.1.0: + resolution: {integrity: sha512-7UtIE9eH0u41zpB60Jzr0oNCQ3hMJUabMcKRUVjmyHTXiWDE4vjSqN6qlih7rCNeKGbioS7f/y2Jgym4QZcKFg==} + engines: {node: '>=14.0.0'} dependencies: - '@smithy/node-config-provider': 2.3.0 - '@smithy/types': 2.12.0 tslib: 2.6.2 + dev: true - '@smithy/util-hex-encoding@1.1.0': + /@smithy/util-hex-encoding@2.2.0: + resolution: {integrity: sha512-7iKXR+/4TpLK194pVjKiasIyqMtTYJsgKgM242Y9uzt5dhHnUDvMNb+3xIhRJ9QhvqGii/5cRUt4fJn3dtXNHQ==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 + dev: true - '@smithy/util-hex-encoding@2.2.0': + /@smithy/util-hex-encoding@3.0.0: + resolution: {integrity: sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==} + engines: {node: '>=16.0.0'} dependencies: tslib: 2.6.2 - '@smithy/util-middleware@1.1.0': + /@smithy/util-middleware@1.1.0: + resolution: {integrity: sha512-6hhckcBqVgjWAqLy2vqlPZ3rfxLDhFWEmM7oLh2POGvsi7j0tHkbN7w4DFhuBExVJAbJ/qqxqZdRY6Fu7/OezQ==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 + dev: true - '@smithy/util-middleware@2.2.0': + /@smithy/util-middleware@2.2.0: + resolution: {integrity: sha512-L1qpleXf9QD6LwLCJ5jddGkgWyuSvWBkJwWAZ6kFkdifdso+sk3L3O1HdmPvCdnCK3IS4qWyPxev01QMnfHSBw==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 tslib: 2.6.2 + dev: true + + /@smithy/util-middleware@3.0.0: + resolution: {integrity: sha512-q5ITdOnV2pXHSVDnKWrwgSNTDBAMHLptFE07ua/5Ty5WJ11bvr0vk2a7agu7qRhrCFRQlno5u3CneU5EELK+DQ==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/types': 3.0.0 + tslib: 2.6.2 - '@smithy/util-retry@1.1.0': + /@smithy/util-retry@1.1.0: + resolution: {integrity: sha512-ygQW5HBqYXpR3ua09UciS0sL7UGJzGiktrKkOuEJwARoUuzz40yaEGU6xd9Gs7KBmAaFC8gMfnghHtwZ2nyBCQ==} + engines: {node: '>= 14.0.0'} dependencies: '@smithy/service-error-classification': 1.1.0 tslib: 2.6.2 + dev: true - '@smithy/util-retry@2.2.0': + /@smithy/util-retry@3.0.0: + resolution: {integrity: sha512-nK99bvJiziGv/UOKJlDvFF45F00WgPLKVIGUfAK+mDhzVN2hb/S33uW2Tlhg5PVBoqY7tDVqL0zmu4OxAHgo9g==} + engines: {node: '>=16.0.0'} dependencies: - '@smithy/service-error-classification': 2.1.5 - '@smithy/types': 2.12.0 + '@smithy/service-error-classification': 3.0.0 + '@smithy/types': 3.0.0 tslib: 2.6.2 - '@smithy/util-stream@1.1.0': + /@smithy/util-stream@1.1.0: + resolution: {integrity: sha512-w3lsdGsntaLQIrwDWJkIFKrFscgZXwU/oxsse09aSTNv5TckPhDeYea3LhsDrU5MGAG3vprhVZAKr33S45coVA==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/fetch-http-handler': 1.1.0 '@smithy/node-http-handler': 1.1.0 @@ -13870,220 +7627,364 @@ snapshots: '@smithy/util-hex-encoding': 1.1.0 '@smithy/util-utf8': 1.1.0 tslib: 2.6.2 + dev: true - '@smithy/util-stream@2.2.0': + /@smithy/util-stream@3.0.1: + resolution: {integrity: sha512-7F7VNNhAsfMRA8I986YdOY5fE0/T1/ZjFF6OLsqkvQVNP3vZ/szYDfGCyphb7ioA09r32K/0qbSFfNFU68aSzA==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/fetch-http-handler': 3.0.1 + '@smithy/node-http-handler': 3.0.0 + '@smithy/types': 3.0.0 + '@smithy/util-base64': 3.0.0 + '@smithy/util-buffer-from': 3.0.0 + '@smithy/util-hex-encoding': 3.0.0 + '@smithy/util-utf8': 3.0.0 + tslib: 2.6.2 + + /@smithy/util-uri-escape@1.1.0: + resolution: {integrity: sha512-/jL/V1xdVRt5XppwiaEU8Etp5WHZj609n0xMTuehmCqdoOFbId1M+aEeDWZsQ+8JbEB/BJ6ynY2SlYmOaKtt8w==} + engines: {node: '>=14.0.0'} dependencies: - '@smithy/fetch-http-handler': 2.5.0 - '@smithy/node-http-handler': 2.5.0 - '@smithy/types': 2.12.0 - '@smithy/util-base64': 2.3.0 - '@smithy/util-buffer-from': 2.2.0 - '@smithy/util-hex-encoding': 2.2.0 - '@smithy/util-utf8': 2.3.0 tslib: 2.6.2 + dev: true - '@smithy/util-uri-escape@1.1.0': + /@smithy/util-uri-escape@2.2.0: + resolution: {integrity: sha512-jtmJMyt1xMD/d8OtbVJ2gFZOSKc+ueYJZPW20ULW1GOp/q/YIM0wNh+u8ZFao9UaIGz4WoPW8hC64qlWLIfoDA==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 + dev: true - '@smithy/util-uri-escape@2.2.0': + /@smithy/util-uri-escape@3.0.0: + resolution: {integrity: sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==} + engines: {node: '>=16.0.0'} dependencies: tslib: 2.6.2 - '@smithy/util-utf8@1.1.0': + /@smithy/util-utf8@1.1.0: + resolution: {integrity: sha512-p/MYV+JmqmPyjdgyN2UxAeYDj9cBqCjp0C/NsTWnnjoZUVqoeZ6IrW915L9CAKWVECgv9lVQGc4u/yz26/bI1A==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/util-buffer-from': 1.1.0 tslib: 2.6.2 + dev: true - '@smithy/util-utf8@2.3.0': + /@smithy/util-utf8@2.3.0: + resolution: {integrity: sha512-R8Rdn8Hy72KKcebgLiv8jQcQkXoLMOGGv5uI1/k0l+snqkOzQ1R0ChUBCxWMlBsFMekWjq0wRudIweFs7sKT5A==} + engines: {node: '>=14.0.0'} dependencies: '@smithy/util-buffer-from': 2.2.0 tslib: 2.6.2 + dev: true - '@smithy/util-waiter@2.2.0': + /@smithy/util-utf8@3.0.0: + resolution: {integrity: sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==} + engines: {node: '>=16.0.0'} dependencies: - '@smithy/abort-controller': 2.2.0 - '@smithy/types': 2.12.0 + '@smithy/util-buffer-from': 3.0.0 tslib: 2.6.2 - '@solidity-parser/parser@0.14.5': + /@smithy/util-waiter@3.0.0: + resolution: {integrity: sha512-+fEXJxGDLCoqRKVSmo0auGxaqbiCo+8oph+4auefYjaNxjOLKSY2MxVQfRzo65PaZv4fr+5lWg+au7vSuJJ/zw==} + engines: {node: '>=16.0.0'} + dependencies: + '@smithy/abort-controller': 3.0.0 + '@smithy/types': 3.0.0 + tslib: 2.6.2 + dev: true + + /@solidity-parser/parser@0.14.5: + resolution: {integrity: sha512-6dKnHZn7fg/iQATVEzqyUOyEidbn05q7YA2mQ9hC0MMXhhV3/JrsxmFSYZAcr7j1yUP700LLhTruvJ3MiQmjJg==} dependencies: antlr4ts: 0.5.0-alpha.4 + dev: true - '@solidity-parser/parser@0.18.0': {} + /@solidity-parser/parser@0.18.0: + resolution: {integrity: sha512-yfORGUIPgLck41qyN7nbwJRAx17/jAIXCTanHOJZhB6PJ1iAk/84b/xlsVKFSyNyLXIj0dhppoE0+CRws7wlzA==} + dev: true - '@trpc/client@11.0.0-next-beta.264(@trpc/server@11.0.0-next-beta.264)': + /@trpc/client@11.0.0-next-beta.264(@trpc/server@11.0.0-next-beta.264): + resolution: {integrity: sha512-He/kE++/rDq/yZr7xCkQmOC+1S3auulLVjBuo6LvuYuFQL+Slf2ObRftbNVWa92GVd/llxV+eNlbzR9mTVPCPg==} + peerDependencies: + '@trpc/server': 11.0.0-next-beta.264+f5f08f35d dependencies: '@trpc/server': 11.0.0-next-beta.264 - '@trpc/server@11.0.0-next-beta.264': {} + /@trpc/server@11.0.0-next-beta.264: + resolution: {integrity: sha512-h6RJX+C+VgFQusxGVtw3n1PZPLt27ZG70U8cPR5pwmsnE2E3vREijOgEo5MRKoiUhVrjbw8e6gnGVeKzl7uZXg==} - '@trpc/server@9.16.0': + /@trpc/server@9.16.0: + resolution: {integrity: sha512-IENsJs41ZR4oeFUJhsNNTSgEOtuRN0m9u7ec4u3eG/qOc7bIoo1nDoYtx4bl6OJJSQYEytG9tlcVz9G8OAaHbg==} dependencies: tslib: 2.6.2 + dev: true - '@tsconfig/node10@1.0.11': {} + /@tsconfig/node10@1.0.11: + resolution: {integrity: sha512-DcRjDCujK/kCk/cUe8Xz8ZSpm8mS3mNNpta+jGCA6USEDfktlNvm1+IuZ9eTcDbNk41BHwpHHeW+N1lKCz4zOw==} + dev: true - '@tsconfig/node12@1.0.11': {} + /@tsconfig/node12@1.0.11: + resolution: {integrity: sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==} + dev: true - '@tsconfig/node14@1.0.3': {} + /@tsconfig/node14@1.0.3: + resolution: {integrity: sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==} + dev: true - '@tsconfig/node16@1.0.4': {} + /@tsconfig/node16@1.0.4: + resolution: {integrity: sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==} + dev: true - '@tsconfig/node20@20.1.4': {} + /@tsconfig/node20@20.1.4: + resolution: {integrity: sha512-sqgsT69YFeLWf5NtJ4Xq/xAF8p4ZQHlmGW74Nu2tD4+g5fAsposc4ZfaaPixVu4y01BEiDCWLRDCvDM5JOsRxg==} + dev: true - '@types/aws-lambda@8.10.137': {} + /@types/aws-lambda@8.10.138: + resolution: {integrity: sha512-71EHMl70TPWIAsFuHd85NHq6S6T2OOjiisPTrH7RgcjzpJpPh4RQJv7PvVvIxc6PIp8CLV7F9B+TdjcAES5vcA==} + dev: true - '@types/babel__core@7.20.5': + /@types/babel__core@7.20.5: + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} dependencies: - '@babel/parser': 7.24.4 - '@babel/types': 7.24.0 + '@babel/parser': 7.24.5 + '@babel/types': 7.24.5 '@types/babel__generator': 7.6.8 '@types/babel__template': 7.4.4 - '@types/babel__traverse': 7.20.5 + '@types/babel__traverse': 7.20.6 + dev: true - '@types/babel__generator@7.6.8': + /@types/babel__generator@7.6.8: + resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} dependencies: - '@babel/types': 7.24.0 + '@babel/types': 7.24.5 + dev: true - '@types/babel__template@7.4.4': + /@types/babel__template@7.4.4: + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} dependencies: - '@babel/parser': 7.24.4 - '@babel/types': 7.24.0 + '@babel/parser': 7.24.5 + '@babel/types': 7.24.5 + dev: true - '@types/babel__traverse@7.20.5': + /@types/babel__traverse@7.20.6: + resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} dependencies: - '@babel/types': 7.24.0 + '@babel/types': 7.24.5 + dev: true - '@types/bn.js@4.11.6': + /@types/bn.js@4.11.6: + resolution: {integrity: sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==} dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.12 + dev: true - '@types/bn.js@5.1.5': + /@types/bn.js@5.1.5: + resolution: {integrity: sha512-V46N0zwKRF5Q00AZ6hWtN0T8gGmDUaUzLWQvHFo5yThtVwK/VCenFY3wXVbOvNfajEpsTfQM4IN9k/d6gUVX3A==} dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.12 + dev: true - '@types/chai-as-promised@7.1.8': + /@types/chai-as-promised@7.1.8: + resolution: {integrity: sha512-ThlRVIJhr69FLlh6IctTXFkmhtP3NpMZ2QGq69StYLyKZFp/HOp1VdKZj7RvfNWYYcJ1xlbLGLLWj1UvP5u/Gw==} dependencies: - '@types/chai': 4.3.14 + '@types/chai': 4.3.16 + dev: true - '@types/chai@4.3.14': {} + /@types/chai@4.3.16: + resolution: {integrity: sha512-PatH4iOdyh3MyWtmHVFXLWCCIhUbopaltqddG9BzB+gMIzee2MJrvd+jouii9Z3wzQJruGWAm7WOMjgfG8hQlQ==} + dev: true - '@types/cls-hooked@4.3.8': + /@types/cls-hooked@4.3.8: + resolution: {integrity: sha512-tf/7H883gFA6MPlWI15EQtfNZ+oPL0gLKkOlx9UHFrun1fC/FkuyNBpTKq1B5E3T4fbvjId6WifHUdSGsMMuPg==} dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.12 + dev: false - '@types/concat-stream@1.6.1': + /@types/concat-stream@1.6.1: + resolution: {integrity: sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==} dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.12 + dev: true - '@types/form-data@0.0.33': + /@types/form-data@0.0.33: + resolution: {integrity: sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==} dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.12 + dev: true - '@types/fs-extra@11.0.4': + /@types/fs-extra@11.0.4: + resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} + requiresBuild: true dependencies: '@types/jsonfile': 6.1.4 - '@types/node': 20.12.7 + '@types/node': 20.12.12 + dev: true optional: true - '@types/glob@7.2.0': + /@types/glob@7.2.0: + resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 20.12.7 + '@types/node': 20.12.12 + dev: true - '@types/graceful-fs@4.1.9': + /@types/graceful-fs@4.1.9: + resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.12 + dev: true - '@types/istanbul-lib-coverage@2.0.6': {} + /@types/istanbul-lib-coverage@2.0.6: + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + dev: true - '@types/istanbul-lib-report@3.0.3': + /@types/istanbul-lib-report@3.0.3: + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} dependencies: '@types/istanbul-lib-coverage': 2.0.6 + dev: true - '@types/istanbul-reports@3.0.4': + /@types/istanbul-reports@3.0.4: + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} dependencies: '@types/istanbul-lib-report': 3.0.3 + dev: true - '@types/jest@29.5.12': + /@types/jest@29.5.12: + resolution: {integrity: sha512-eDC8bTvT/QhYdxJAulQikueigY5AsdBRH2yDKW3yveW7svY3+DzN84/2NUgkw10RTiJbWqZrTtoGVdYlvFJdLw==} dependencies: expect: 29.7.0 pretty-format: 29.7.0 + dev: true - '@types/js-yaml@4.0.9': {} - - '@types/json-schema@7.0.15': {} + /@types/js-yaml@4.0.9: + resolution: {integrity: sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==} + dev: true - '@types/json-stable-stringify@1.0.36': {} + /@types/json-schema@7.0.15: + resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} + dev: true - '@types/json5@0.0.29': {} + /@types/json5@0.0.29: + resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} + dev: true - '@types/jsonfile@6.1.4': + /@types/jsonfile@6.1.4: + resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==} + requiresBuild: true dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.12 + dev: true optional: true - '@types/lru-cache@5.1.1': {} + /@types/lru-cache@5.1.1: + resolution: {integrity: sha512-ssE3Vlrys7sdIzs5LOxCzTVMsU7i9oa/IaW92wF32JFb3CVczqOkru2xspuKczHEbG3nvmPY7IFqVmGGHdNbYw==} + dev: true - '@types/minimatch@5.1.2': {} + /@types/minimatch@5.1.2: + resolution: {integrity: sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==} + dev: true - '@types/mocha@10.0.6': {} + /@types/mocha@10.0.6: + resolution: {integrity: sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==} + dev: true - '@types/mute-stream@0.0.4': + /@types/mute-stream@0.0.4: + resolution: {integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==} dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.12 + dev: false - '@types/node-fetch@2.6.11': + /@types/node-fetch@2.6.11: + resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==} dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.12 form-data: 4.0.0 + dev: false - '@types/node@10.17.60': {} + /@types/node@10.17.60: + resolution: {integrity: sha512-F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==} + dev: true - '@types/node@18.15.13': {} + /@types/node@18.15.13: + resolution: {integrity: sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==} + dev: true - '@types/node@20.12.7': + /@types/node@20.12.12: + resolution: {integrity: sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==} dependencies: undici-types: 5.26.5 - '@types/node@8.10.66': {} + /@types/node@8.10.66: + resolution: {integrity: sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==} + dev: true - '@types/normalize-package-data@2.4.4': {} + /@types/normalize-package-data@2.4.4: + resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} + dev: true - '@types/pbkdf2@3.1.2': + /@types/pbkdf2@3.1.2: + resolution: {integrity: sha512-uRwJqmiXmh9++aSu1VNEn3iIxWOhd8AHXNSdlaLfdAAdSTY9jYVeGWnzejM3dvrkbqE3/hyQkQQ29IFATEGlew==} dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.12 + dev: true - '@types/pg@8.11.6': + /@types/pg@8.11.6: + resolution: {integrity: sha512-/2WmmBXHLsfRqzfHW7BNZ8SbYzE8OSk7i3WjFYvfgRHj7S1xj+16Je5fUKv3lVdVzk/zn9TXOqf+avFCFIE0yQ==} dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.12 pg-protocol: 1.6.1 pg-types: 4.0.2 + dev: true - '@types/qs@6.9.15': {} + /@types/qs@6.9.15: + resolution: {integrity: sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==} + dev: true - '@types/secp256k1@4.0.6': + /@types/secp256k1@4.0.6: + resolution: {integrity: sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ==} dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.12 + dev: true - '@types/semver@7.5.8': {} + /@types/semver@7.5.8: + resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} + dev: true - '@types/stack-utils@2.0.3': {} + /@types/stack-utils@2.0.3: + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + dev: true - '@types/wrap-ansi@3.0.0': {} + /@types/wrap-ansi@3.0.0: + resolution: {integrity: sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g==} + dev: false - '@types/ws@8.5.10': + /@types/ws@8.5.10: + resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.12 - '@types/yargs-parser@21.0.3': {} + /@types/yargs-parser@21.0.3: + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + dev: true - '@types/yargs@17.0.32': + /@types/yargs@17.0.32: + resolution: {integrity: sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==} dependencies: '@types/yargs-parser': 21.0.3 + dev: true - '@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.4.5)': + /@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.4.5): + resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true dependencies: '@eslint-community/regexpp': 4.10.0 '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.5) @@ -14096,13 +7997,22 @@ snapshots: graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 - semver: 7.6.0 + semver: 7.6.2 ts-api-utils: 1.3.0(typescript@5.4.5) typescript: 5.4.5 transitivePeerDependencies: - supports-color + dev: true - '@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5)': + /@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.4.5): + resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true dependencies: '@typescript-eslint/scope-manager': 6.21.0 '@typescript-eslint/types': 6.21.0 @@ -14113,18 +8023,33 @@ snapshots: typescript: 5.4.5 transitivePeerDependencies: - supports-color + dev: true - '@typescript-eslint/scope-manager@5.62.0': + /@typescript-eslint/scope-manager@5.62.0: + resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 + dev: true - '@typescript-eslint/scope-manager@6.21.0': + /@typescript-eslint/scope-manager@6.21.0: + resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} + engines: {node: ^16.0.0 || >=18.0.0} dependencies: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0 + dev: true - '@typescript-eslint/type-utils@6.21.0(eslint@8.57.0)(typescript@5.4.5)': + /@typescript-eslint/type-utils@6.21.0(eslint@8.57.0)(typescript@5.4.5): + resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true dependencies: '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) '@typescript-eslint/utils': 6.21.0(eslint@8.57.0)(typescript@5.4.5) @@ -14134,25 +8059,47 @@ snapshots: typescript: 5.4.5 transitivePeerDependencies: - supports-color + dev: true - '@typescript-eslint/types@5.62.0': {} + /@typescript-eslint/types@5.62.0: + resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true - '@typescript-eslint/types@6.21.0': {} + /@typescript-eslint/types@6.21.0: + resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} + engines: {node: ^16.0.0 || >=18.0.0} + dev: true - '@typescript-eslint/typescript-estree@5.62.0(typescript@5.4.5)': + /@typescript-eslint/typescript-estree@5.62.0(typescript@5.4.5): + resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 debug: 4.3.4(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 - semver: 7.6.0 + semver: 7.6.2 tsutils: 3.21.0(typescript@5.4.5) typescript: 5.4.5 transitivePeerDependencies: - supports-color + dev: true - '@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.5)': + /@typescript-eslint/typescript-estree@6.21.0(typescript@5.4.5): + resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true dependencies: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/visitor-keys': 6.21.0 @@ -14160,13 +8107,18 @@ snapshots: globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.3 - semver: 7.6.0 + semver: 7.6.2 ts-api-utils: 1.3.0(typescript@5.4.5) typescript: 5.4.5 transitivePeerDependencies: - supports-color + dev: true - '@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.4.5)': + /@typescript-eslint/utils@5.62.0(eslint@8.57.0)(typescript@5.4.5): + resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@types/json-schema': 7.0.15 @@ -14176,12 +8128,17 @@ snapshots: '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.5) eslint: 8.57.0 eslint-scope: 5.1.1 - semver: 7.6.0 + semver: 7.6.2 transitivePeerDependencies: - supports-color - typescript + dev: true - '@typescript-eslint/utils@6.21.0(eslint@8.57.0)(typescript@5.4.5)': + /@typescript-eslint/utils@6.21.0(eslint@8.57.0)(typescript@5.4.5): + resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} + engines: {node: ^16.0.0 || >=18.0.0} + peerDependencies: + eslint: ^7.0.0 || ^8.0.0 dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@types/json-schema': 7.0.15 @@ -14190,28 +8147,53 @@ snapshots: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) eslint: 8.57.0 - semver: 7.6.0 + semver: 7.6.2 transitivePeerDependencies: - supports-color - typescript + dev: true - '@typescript-eslint/visitor-keys@5.62.0': + /@typescript-eslint/visitor-keys@5.62.0: + resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: '@typescript-eslint/types': 5.62.0 eslint-visitor-keys: 3.4.3 + dev: true - '@typescript-eslint/visitor-keys@6.21.0': + /@typescript-eslint/visitor-keys@6.21.0: + resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} + engines: {node: ^16.0.0 || >=18.0.0} dependencies: '@typescript-eslint/types': 6.21.0 eslint-visitor-keys: 3.4.3 + dev: true - '@ungap/structured-clone@1.2.0': {} + /@ungap/structured-clone@1.2.0: + resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} + dev: true - '@vercel/style-guide@5.2.0(eslint@8.57.0)(jest@29.7.0)(prettier@3.2.5)(typescript@5.4.5)': + /@vercel/style-guide@5.2.0(eslint@8.57.0)(jest@29.7.0)(prettier@3.2.5)(typescript@5.4.5): + resolution: {integrity: sha512-fNSKEaZvSkiBoF6XEefs8CcgAV9K9e+MbcsDZjUsktHycKdA0jvjAzQi1W/FzLS+Nr5zZ6oejCwq/97dHUKe0g==} + engines: {node: '>=16'} + peerDependencies: + '@next/eslint-plugin-next': '>=12.3.0 <15' + eslint: '>=8.48.0 <9' + prettier: '>=3.0.0 <4' + typescript: '>=4.8.0 <6' + peerDependenciesMeta: + '@next/eslint-plugin-next': + optional: true + eslint: + optional: true + prettier: + optional: true + typescript: + optional: true dependencies: - '@babel/core': 7.24.4 - '@babel/eslint-parser': 7.24.1(@babel/core@7.24.4)(eslint@8.57.0) - '@rushstack/eslint-patch': 1.10.2 + '@babel/core': 7.24.5 + '@babel/eslint-parser': 7.24.5(@babel/core@7.24.5)(eslint@8.57.0) + '@rushstack/eslint-patch': 1.10.3 '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.4.5) '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.5) eslint: 8.57.0 @@ -14224,7 +8206,7 @@ snapshots: eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) eslint-plugin-playwright: 0.16.0(eslint-plugin-jest@27.9.0)(eslint@8.57.0) eslint-plugin-react: 7.34.1(eslint@8.57.0) - eslint-plugin-react-hooks: 4.6.0(eslint@8.57.0) + eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) eslint-plugin-testing-library: 6.2.2(eslint@8.57.0)(typescript@5.4.5) eslint-plugin-tsdoc: 0.2.17 eslint-plugin-unicorn: 48.0.1(eslint@8.57.0) @@ -14236,177 +8218,339 @@ snapshots: - eslint-import-resolver-webpack - jest - supports-color + dev: true - '@whatwg-node/events@0.0.2': {} + /@whatwg-node/events@0.0.2: + resolution: {integrity: sha512-WKj/lI4QjnLuPrim0cfO7i+HsDSXHxNv1y0CrJhdntuO3hxWZmnXCwNDnwOvry11OjRin6cgWNF+j/9Pn8TN4w==} + dev: true - '@whatwg-node/events@0.0.3': {} + /@whatwg-node/events@0.0.3: + resolution: {integrity: sha512-IqnKIDWfXBJkvy/k6tzskWTc2NK3LcqHlb+KHGCrjOCH4jfQckRX0NAiIcC/vIqQkzLYw2r2CTSwAxcrtcD6lA==} + dev: true - '@whatwg-node/events@0.1.1': {} + /@whatwg-node/events@0.1.1: + resolution: {integrity: sha512-AyQEn5hIPV7Ze+xFoXVU3QTHXVbWPrzaOkxtENMPMuNL6VVHrp4hHfDt9nrQpjO7BgvuM95dMtkycX5M/DZR3w==} + engines: {node: '>=16.0.0'} + dev: true - '@whatwg-node/fetch@0.8.8': + /@whatwg-node/fetch@0.8.8: + resolution: {integrity: sha512-CdcjGC2vdKhc13KKxgsc6/616BQ7ooDIgPeTuAiE8qfCnS0mGzcfCOoZXypQSz73nxI+GWc7ZReIAVhxoE1KCg==} dependencies: '@peculiar/webcrypto': 1.4.6 '@whatwg-node/node-fetch': 0.3.6 busboy: 1.6.0 urlpattern-polyfill: 8.0.2 web-streams-polyfill: 3.3.3 + dev: true - '@whatwg-node/fetch@0.9.17': + /@whatwg-node/fetch@0.9.17: + resolution: {integrity: sha512-TDYP3CpCrxwxpiNY0UMNf096H5Ihf67BK1iKGegQl5u9SlpEDYrvnV71gWBGJm+Xm31qOy8ATgma9rm8Pe7/5Q==} + engines: {node: '>=16.0.0'} dependencies: - '@whatwg-node/node-fetch': 0.5.10 + '@whatwg-node/node-fetch': 0.5.11 urlpattern-polyfill: 10.0.0 + dev: true - '@whatwg-node/node-fetch@0.3.6': + /@whatwg-node/node-fetch@0.3.6: + resolution: {integrity: sha512-w9wKgDO4C95qnXZRwZTfCmLWqyRnooGjcIwG0wADWjw9/HN0p7dtvtgSvItZtUyNteEvgTrd8QojNEqV6DAGTA==} dependencies: '@whatwg-node/events': 0.0.3 busboy: 1.6.0 fast-querystring: 1.1.2 fast-url-parser: 1.1.3 tslib: 2.6.2 + dev: true - '@whatwg-node/node-fetch@0.5.10': + /@whatwg-node/node-fetch@0.5.11: + resolution: {integrity: sha512-LS8tSomZa3YHnntpWt3PP43iFEEl6YeIsvDakczHBKlay5LdkXFr8w7v8H6akpG5nRrzydyB0k1iE2eoL6aKIQ==} + engines: {node: '>=16.0.0'} dependencies: '@kamilkisiela/fast-url-parser': 1.1.4 '@whatwg-node/events': 0.1.1 busboy: 1.6.0 fast-querystring: 1.1.2 tslib: 2.6.2 + dev: true - '@whatwg-node/server@0.7.7': + /@whatwg-node/server@0.7.7: + resolution: {integrity: sha512-aHURgNDFm/48WVV3vhTMfnEKCYwYgdaRdRhZsQZx4UVFjGGkGay7Ys0+AYu9QT/jpoImv2oONkstoTMUprDofg==} dependencies: '@whatwg-node/fetch': 0.8.8 tslib: 2.6.2 + dev: true - abbrev@1.0.9: {} + /abbrev@1.0.9: + resolution: {integrity: sha512-LEyx4aLEC3x6T0UguF6YILf+ntvmOaWsVfENmIW0E9H09vKlLDGelMjjSm0jkDHALj8A8quZ/HapKNigzwge+Q==} + dev: true - abitype@0.9.10(typescript@5.0.4)(zod@3.22.4): + /abitype@0.9.10(typescript@5.0.4)(zod@3.23.8): + resolution: {integrity: sha512-FIS7U4n7qwAT58KibwYig5iFG4K61rbhAqaQh/UWj8v1Y8mjX3F8TC9gd8cz9yT1TYel9f8nS5NO5kZp2RW0jQ==} + peerDependencies: + typescript: '>=5.0.4' + zod: ^3 >=3.22.0 + peerDependenciesMeta: + typescript: + optional: true + zod: + optional: true dependencies: typescript: 5.0.4 - zod: 3.22.4 + zod: 3.23.8 + dev: true - abitype@0.9.8(typescript@5.0.4)(zod@3.22.4): + /abitype@0.9.8(typescript@5.0.4)(zod@3.23.8): + resolution: {integrity: sha512-puLifILdm+8sjyss4S+fsUN09obiT1g2YW6CtcQF+QDzxR0euzgEB29MZujC6zMk2a6SVmtttq1fc6+YFA7WYQ==} + peerDependencies: + typescript: '>=5.0.4' + zod: ^3 >=3.19.1 + peerDependenciesMeta: + typescript: + optional: true + zod: + optional: true dependencies: typescript: 5.0.4 - zod: 3.22.4 + zod: 3.23.8 + dev: true - abitype@0.9.8(typescript@5.4.5)(zod@3.22.4): + /abitype@0.9.8(typescript@5.4.5)(zod@3.23.8): + resolution: {integrity: sha512-puLifILdm+8sjyss4S+fsUN09obiT1g2YW6CtcQF+QDzxR0euzgEB29MZujC6zMk2a6SVmtttq1fc6+YFA7WYQ==} + peerDependencies: + typescript: '>=5.0.4' + zod: ^3 >=3.19.1 + peerDependenciesMeta: + typescript: + optional: true + zod: + optional: true dependencies: typescript: 5.4.5 - zod: 3.22.4 + zod: 3.23.8 + dev: false - abitype@1.0.0(typescript@5.4.5)(zod@3.22.4): + /abitype@1.0.0(typescript@5.4.5)(zod@3.23.8): + resolution: {integrity: sha512-NMeMah//6bJ56H5XRj8QCV4AwuW6hB6zqz2LnhhLdcWVQOsXki6/Pn3APeqxCma62nXIcmZWdu1DlHWS74umVQ==} + peerDependencies: + typescript: '>=5.0.4' + zod: ^3 >=3.22.0 + peerDependenciesMeta: + typescript: + optional: true + zod: + optional: true dependencies: typescript: 5.4.5 - zod: 3.22.4 + zod: 3.23.8 + dev: false - abitype@1.0.2(typescript@5.4.5)(zod@3.22.4): + /abitype@1.0.2(typescript@5.4.5)(zod@3.23.8): + resolution: {integrity: sha512-aFt4k2H+eiAKy/zxtnORa9iIb10BMBeWL18l8v4+QuwYEBXPxxjSB1bFZCzQmKPoj8m7j68K705l3uY+E2gAjg==} + peerDependencies: + typescript: '>=5.0.4' + zod: ^3 >=3.22.0 + peerDependenciesMeta: + typescript: + optional: true + zod: + optional: true dependencies: typescript: 5.4.5 - zod: 3.22.4 + zod: 3.23.8 + dev: false - accepts@1.3.8: + /accepts@1.3.8: + resolution: {integrity: sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==} + engines: {node: '>= 0.6'} dependencies: mime-types: 2.1.35 negotiator: 0.6.3 + dev: true - acorn-jsx@5.3.2(acorn@8.11.3): + /acorn-jsx@5.3.2(acorn@8.11.3): + resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} + peerDependencies: + acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: acorn: 8.11.3 + dev: true - acorn-walk@8.3.2: {} + /acorn-walk@8.3.2: + resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} + engines: {node: '>=0.4.0'} + dev: true - acorn@8.11.3: {} + /acorn@8.11.3: + resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true - adm-zip@0.4.16: {} + /adm-zip@0.4.16: + resolution: {integrity: sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==} + engines: {node: '>=0.3.0'} + dev: true - adm-zip@0.5.12: {} + /adm-zip@0.5.12: + resolution: {integrity: sha512-6TVU49mK6KZb4qG6xWaaM4C7sA/sgUMLy/JYMOzkcp3BvVLpW0fXDFQiIzAuxFCt/2+xD7fNIiPFAoLZPhVNLQ==} + engines: {node: '>=6.0'} + dev: true - aes-js@3.0.0: {} + /aes-js@3.0.0: + resolution: {integrity: sha512-H7wUZRn8WpTq9jocdxQ2c8x2sKo9ZVmzfRE13GiNJXfp7NcKYEdvl3vspKjXox6RIG2VtaRe4JFvxG4rqp2Zuw==} - aes-js@4.0.0-beta.5: {} + /aes-js@4.0.0-beta.5: + resolution: {integrity: sha512-G965FqalsNyrPqgEGON7nIx1e/OVENSgiEIzyC63haUMuvNnwIgIjMs52hlTCKhkBny7A2ORNlfY9Zu+jmGk1Q==} + dev: true - agent-base@6.0.2: + /agent-base@6.0.2: + resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} + engines: {node: '>= 6.0.0'} dependencies: debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color + dev: true - agent-base@7.1.1: + /agent-base@7.1.1: + resolution: {integrity: sha512-H0TSyFNDMomMNJQBn8wFV5YC/2eJ+VXECwOadZJT554xP6cODZHPX3H9QMQECxvrgiSOP1pHjy1sMWQVYJOUOA==} + engines: {node: '>= 14'} dependencies: debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color + dev: true - aggregate-error@3.1.0: + /aggregate-error@3.1.0: + resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} + engines: {node: '>=8'} dependencies: clean-stack: 2.2.0 indent-string: 4.0.0 + dev: true - ajv-formats@2.1.1(ajv@8.12.0): + /ajv-formats@2.1.1(ajv@8.13.0): + resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} + peerDependencies: + ajv: ^8.0.0 + peerDependenciesMeta: + ajv: + optional: true dependencies: - ajv: 8.12.0 + ajv: 8.13.0 + dev: true - ajv@6.12.6: + /ajv@6.12.6: + resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} dependencies: fast-deep-equal: 3.1.3 fast-json-stable-stringify: 2.1.0 json-schema-traverse: 0.4.1 uri-js: 4.4.1 + dev: true - ajv@8.12.0: + /ajv@8.13.0: + resolution: {integrity: sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==} dependencies: fast-deep-equal: 3.1.3 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 uri-js: 4.4.1 + dev: true - amdefine@1.0.1: + /amdefine@1.0.1: + resolution: {integrity: sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==} + engines: {node: '>=0.4.2'} + requiresBuild: true + dev: true optional: true - ansi-align@3.0.1: + /ansi-align@3.0.1: + resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} dependencies: string-width: 4.2.3 + dev: true - ansi-colors@4.1.1: {} + /ansi-colors@4.1.1: + resolution: {integrity: sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==} + engines: {node: '>=6'} + dev: true - ansi-colors@4.1.3: {} + /ansi-colors@4.1.3: + resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} + engines: {node: '>=6'} + dev: true - ansi-escapes@4.3.2: + /ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} dependencies: type-fest: 0.21.3 - ansi-escapes@6.2.1: {} + /ansi-escapes@6.2.1: + resolution: {integrity: sha512-4nJ3yixlEthEJ9Rk4vPcdBRkZvQZlYyu8j4/Mqz5sgIkddmEnH2Yj2ZrnP9S3tQOvSNRUIgVNF/1yPpRAGNRig==} + engines: {node: '>=14.16'} + dev: true - ansi-regex@3.0.1: {} + /ansi-regex@3.0.1: + resolution: {integrity: sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==} + engines: {node: '>=4'} + dev: true - ansi-regex@5.0.1: {} + /ansi-regex@5.0.1: + resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} + engines: {node: '>=8'} - ansi-regex@6.0.1: {} + /ansi-regex@6.0.1: + resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} + engines: {node: '>=12'} + dev: true - ansi-styles@3.2.1: + /ansi-styles@3.2.1: + resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} + engines: {node: '>=4'} dependencies: color-convert: 1.9.3 + dev: true - ansi-styles@4.3.0: + /ansi-styles@4.3.0: + resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} + engines: {node: '>=8'} dependencies: color-convert: 2.0.1 - ansi-styles@5.2.0: {} + /ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + dev: true - ansi-styles@6.2.1: {} + /ansi-styles@6.2.1: + resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} + engines: {node: '>=12'} + dev: true - antlr4ts@0.5.0-alpha.4: {} + /antlr4ts@0.5.0-alpha.4: + resolution: {integrity: sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ==} + dev: true - any-promise@1.3.0: {} + /any-promise@1.3.0: + resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} + dev: true - anymatch@3.1.3: + /anymatch@3.1.3: + resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} + engines: {node: '>= 8'} dependencies: normalize-path: 3.0.0 picomatch: 2.3.1 + dev: true - app-module-path@2.2.0: {} + /app-module-path@2.2.0: + resolution: {integrity: sha512-gkco+qxENJV+8vFcDiiFhuoSvRXb2a/QPqpSoWhVz829VNJfOTnELbBmPmNKFxf3xdNnw4DWCkzkDaavcX/1YQ==} + dev: true - archiver-utils@2.1.0: + /archiver-utils@2.1.0: + resolution: {integrity: sha512-bEL/yUb/fNNiNTuUz979Z0Yg5L+LzLxGJz8x79lYmR54fmTIb6ob/hNQgkQnIUDWIFjZVQwl9Xs356I6BAMHfw==} + engines: {node: '>= 6'} dependencies: glob: 7.2.3 graceful-fs: 4.2.11 @@ -14418,8 +8562,11 @@ snapshots: lodash.union: 4.6.0 normalize-path: 3.0.0 readable-stream: 2.3.8 + dev: true - archiver-utils@3.0.4: + /archiver-utils@3.0.4: + resolution: {integrity: sha512-KVgf4XQVrTjhyWmx6cte4RxonPLR9onExufI1jhvw/MQ4BB6IsZD5gT8Lq+u/+pRkWna/6JoHpiQioaqFP5Rzw==} + engines: {node: '>= 10'} dependencies: glob: 7.2.3 graceful-fs: 4.2.11 @@ -14431,8 +8578,11 @@ snapshots: lodash.union: 4.6.0 normalize-path: 3.0.0 readable-stream: 3.6.2 + dev: true - archiver@5.3.2: + /archiver@5.3.2: + resolution: {integrity: sha512-+25nxyyznAXF7Nef3y0EbBeqmGZgeN/BxHX29Rs39djAfaFalmQ89SE6CWyDCHzGL0yt/ycBtNOmGTW0FyGWNw==} + engines: {node: '>= 10'} dependencies: archiver-utils: 2.1.0 async: 3.2.5 @@ -14441,27 +8591,43 @@ snapshots: readdir-glob: 1.1.3 tar-stream: 2.2.0 zip-stream: 4.1.1 + dev: true - arg@4.1.3: {} + /arg@4.1.3: + resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} + dev: true - argparse@1.0.10: + /argparse@1.0.10: + resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} dependencies: sprintf-js: 1.0.3 + dev: true - argparse@2.0.1: {} + /argparse@2.0.1: + resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + dev: true - aria-query@5.3.0: + /aria-query@5.3.0: + resolution: {integrity: sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==} dependencies: dequal: 2.0.3 + dev: true - array-buffer-byte-length@1.0.1: + /array-buffer-byte-length@1.0.1: + resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 is-array-buffer: 3.0.4 + dev: true - array-flatten@1.1.1: {} + /array-flatten@1.1.1: + resolution: {integrity: sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==} + dev: true - array-includes@3.1.8: + /array-includes@3.1.8: + resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -14469,12 +8635,21 @@ snapshots: es-object-atoms: 1.0.0 get-intrinsic: 1.2.4 is-string: 1.0.7 + dev: true - array-union@2.1.0: {} + /array-union@2.1.0: + resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} + engines: {node: '>=8'} + dev: true - array-uniq@1.0.3: {} + /array-uniq@1.0.3: + resolution: {integrity: sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==} + engines: {node: '>=0.10.0'} + dev: true - array.prototype.findlast@1.2.5: + /array.prototype.findlast@1.2.5: + resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -14482,8 +8657,11 @@ snapshots: es-errors: 1.3.0 es-object-atoms: 1.0.0 es-shim-unscopables: 1.0.2 + dev: true - array.prototype.findlastindex@1.2.5: + /array.prototype.findlastindex@1.2.5: + resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -14491,37 +8669,50 @@ snapshots: es-errors: 1.3.0 es-object-atoms: 1.0.0 es-shim-unscopables: 1.0.2 + dev: true - array.prototype.flat@1.3.2: + /array.prototype.flat@1.3.2: + resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.3 es-shim-unscopables: 1.0.2 + dev: true - array.prototype.flatmap@1.3.2: + /array.prototype.flatmap@1.3.2: + resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.3 es-shim-unscopables: 1.0.2 + dev: true - array.prototype.toreversed@1.1.2: + /array.prototype.toreversed@1.1.2: + resolution: {integrity: sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.3 es-shim-unscopables: 1.0.2 + dev: true - array.prototype.tosorted@1.1.3: + /array.prototype.tosorted@1.1.3: + resolution: {integrity: sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.3 es-errors: 1.3.0 es-shim-unscopables: 1.0.2 + dev: true - arraybuffer.prototype.slice@1.0.3: + /arraybuffer.prototype.slice@1.0.3: + resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} + engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.1 call-bind: 1.0.7 @@ -14531,68 +8722,156 @@ snapshots: get-intrinsic: 1.2.4 is-array-buffer: 3.0.4 is-shared-array-buffer: 1.0.3 + dev: true - asap@2.0.6: {} + /asap@2.0.6: + resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==} + dev: true - asn1.js@5.4.1: + /asn1.js@5.4.1: + resolution: {integrity: sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==} dependencies: bn.js: 4.12.0 inherits: 2.0.4 minimalistic-assert: 1.0.1 safer-buffer: 2.1.2 + dev: true - asn1js@3.0.5: + /asn1js@3.0.5: + resolution: {integrity: sha512-FVnvrKJwpt9LP2lAMl8qZswRNm3T4q9CON+bxldk2iwk3FFpuwhx2FfinyitizWHsVYyaY+y5JzDR0rCMV5yTQ==} + engines: {node: '>=12.0.0'} dependencies: pvtsutils: 1.3.5 pvutils: 1.1.3 tslib: 2.6.2 + dev: true - assertion-error@1.1.0: {} + /assertion-error@1.1.0: + resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} + dev: true - ast-module-types@5.0.0: {} + /ast-module-types@5.0.0: + resolution: {integrity: sha512-JvqziE0Wc0rXQfma0HZC/aY7URXHFuZV84fJRtP8u+lhp0JYCNd5wJzVXP45t0PH0Mej3ynlzvdyITYIu0G4LQ==} + engines: {node: '>=14'} + dev: true - ast-types-flow@0.0.8: {} + /ast-types-flow@0.0.8: + resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} + dev: true - astral-regex@2.0.0: {} + /astral-regex@2.0.0: + resolution: {integrity: sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==} + engines: {node: '>=8'} + dev: true - async-hook-jl@1.7.6: + /async-hook-jl@1.7.6: + resolution: {integrity: sha512-gFaHkFfSxTjvoxDMYqDuGHlcRyUuamF8s+ZTtJdDzqjws4mCt7v0vuV79/E2Wr2/riMQgtG4/yUtXWs1gZ7JMg==} + engines: {node: ^4.7 || >=6.9 || >=7.3} dependencies: stack-chain: 1.3.7 + dev: false - async-limiter@1.0.1: {} + /async-limiter@1.0.1: + resolution: {integrity: sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==} + dev: true - async@1.5.2: {} + /async@1.5.2: + resolution: {integrity: sha512-nSVgobk4rv61R9PUSDtYt7mPVB2olxNR5RWJcAsH676/ef11bUZwvu7+RGYrYauVdDPcO519v68wRhXQtxsV9w==} + dev: true - async@3.2.5: {} + /async@3.2.5: + resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} + dev: true - asynckit@0.4.0: {} + /asynckit@0.4.0: + resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} - at-least-node@1.0.0: {} + /at-least-node@1.0.0: + resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} + engines: {node: '>= 4.0.0'} + dev: true - atomic-batcher@1.0.2: {} + /atomic-batcher@1.0.2: + resolution: {integrity: sha512-EFGCRj4kLX1dHv1cDzTk+xbjBFj1GnJDpui52YmEcxxHHEWjYyT6l51U7n6WQ28osZH4S9gSybxe56Vm7vB61Q==} + dev: false - atomically@1.7.0: {} + /atomically@1.7.0: + resolution: {integrity: sha512-Xcz9l0z7y9yQ9rdDaxlmaI4uJHf/T8g9hOEzJcsEqX2SjCj4J20uK7+ldkDHMbpJDK76wF7xEIgxc/vSlsfw5w==} + engines: {node: '>=10.12.0'} + dev: true - auto-bind@4.0.0: {} + /auto-bind@4.0.0: + resolution: {integrity: sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ==} + engines: {node: '>=8'} + dev: true - auto-bind@5.0.1: {} + /auto-bind@5.0.1: + resolution: {integrity: sha512-ooviqdwwgfIfNmDwo94wlshcdzfO64XV0Cg6oDsDYBJfITDz1EngD2z7DkbvCWn+XIMsIqW27sEVF6qcpJrRcg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true - available-typed-arrays@1.0.7: + /available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} dependencies: possible-typed-array-names: 1.0.0 + dev: true + + /aws-cdk-lib@2.132.1(constructs@10.3.0): + resolution: {integrity: sha512-VheC7WcvmxiteNaZPucS9J9haGQZwbUtwNiNqsbTaEiru6ETUhf/yIOIamLto1kOKEPxCw2bfLkgYrWoCzwOpw==} + engines: {node: '>= 14.15.0'} + peerDependencies: + constructs: ^10.0.0 + dependencies: + '@aws-cdk/asset-awscli-v1': 2.2.202 + '@aws-cdk/asset-kubectl-v20': 2.1.2 + '@aws-cdk/asset-node-proxy-agent-v6': 2.0.3 + constructs: 10.3.0 + dev: true + bundledDependencies: + - '@balena/dockerignore' + - case + - fs-extra + - ignore + - jsonschema + - minimatch + - punycode + - semver + - table + - yaml + - mime-types - aws-cdk-lib@2.132.1(constructs@10.3.0): + /aws-cdk-lib@2.142.1(constructs@10.3.0): + resolution: {integrity: sha512-xs4NRoml5/Zh30YHSk/Wwmr7VcZOZHyIInuBye3gC/BYwCh1lsUe9/ChWIeLUCRhUrELd5npyoBOJiHb3ql7Rg==} + engines: {node: '>= 14.15.0'} + peerDependencies: + constructs: ^10.0.0 dependencies: '@aws-cdk/asset-awscli-v1': 2.2.202 '@aws-cdk/asset-kubectl-v20': 2.1.2 '@aws-cdk/asset-node-proxy-agent-v6': 2.0.3 constructs: 10.3.0 + dev: true + bundledDependencies: + - '@balena/dockerignore' + - case + - fs-extra + - ignore + - jsonschema + - minimatch + - punycode + - semver + - table + - yaml + - mime-types - aws-crt@1.21.2: + /aws-crt@1.21.2: + resolution: {integrity: sha512-/jq5yJwdethIaC+HyqCrgW2ZqxjUURBo/6CIfnD0HbpIE+vLIPQxENW/pp3Atu20Hm2WkjM9diJD4zJycK+olA==} + requiresBuild: true dependencies: '@aws-sdk/util-utf8-browser': 3.259.0 '@httptoolkit/websocket-stream': 6.0.1 - axios: 1.6.8 + axios: 1.7.2 buffer: 6.0.3 crypto-js: 4.2.0 mqtt: 4.3.8 @@ -14603,7 +8882,9 @@ snapshots: - supports-color - utf-8-validate - aws-iot-device-sdk@2.2.13: + /aws-iot-device-sdk@2.2.13: + resolution: {integrity: sha512-rUR68vJxna5q0HSvBFy70QD0kFa91H8mQU2Jdor0JpNxmfNaOhQoiGCcgrZAxR69xY1kGHs+JzWOqqVtAfL0+A==} + engines: {node: '>=4.0.0'} dependencies: crypto-js: 4.2.0 minimist: 1.2.6 @@ -14613,8 +8894,12 @@ snapshots: - bufferutil - supports-color - utf-8-validate + dev: true - aws-sdk@2.1599.0: + /aws-sdk@2.1627.0: + resolution: {integrity: sha512-jcgGkGc4zZ8VZymw8RzD9BrnxHjmV7Lb1fc7Kw9Hku67PKSSoEp/sMGagjOBjBU7saRcACRPBFR7dgUyIDHGNw==} + engines: {node: '>= 10.0.0'} + requiresBuild: true dependencies: buffer: 4.9.2 events: 1.1.1 @@ -14626,19 +8911,27 @@ snapshots: util: 0.12.5 uuid: 8.0.0 xml2js: 0.6.2 + dev: true - aws-xray-sdk-core@3.6.0: + /aws-xray-sdk-core@3.6.0: + resolution: {integrity: sha512-+UnYmVEni9NNJvE6aFY1dbvMtFquXSYAj+HYfm+90icoGKYvvLD71R7PHyFFnYct5of4NFpEXJtUJrWMv8e4mQ==} + engines: {node: '>= 14.x'} dependencies: - '@aws-sdk/types': 3.535.0 + '@aws-sdk/types': 3.577.0 '@smithy/service-error-classification': 2.1.5 '@types/cls-hooked': 4.3.8 atomic-batcher: 1.0.2 cls-hooked: 4.2.2 - semver: 7.6.0 + semver: 7.6.2 + dev: false - axe-core@4.7.0: {} + /axe-core@4.7.0: + resolution: {integrity: sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ==} + engines: {node: '>=4'} + dev: true - axios@1.6.8: + /axios@1.7.2: + resolution: {integrity: sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==} dependencies: follow-redirects: 1.15.6(debug@4.3.4) form-data: 4.0.0 @@ -14646,132 +8939,183 @@ snapshots: transitivePeerDependencies: - debug - axobject-query@3.2.1: + /axobject-query@3.2.1: + resolution: {integrity: sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==} dependencies: dequal: 2.0.3 + dev: true - babel-jest@29.7.0(@babel/core@7.24.4): + /babel-jest@29.7.0(@babel/core@7.24.5): + resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.8.0 dependencies: - '@babel/core': 7.24.4 + '@babel/core': 7.24.5 '@jest/transform': 29.7.0 '@types/babel__core': 7.20.5 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 29.6.3(@babel/core@7.24.4) + babel-preset-jest: 29.6.3(@babel/core@7.24.5) chalk: 4.1.2 graceful-fs: 4.2.11 slash: 3.0.0 transitivePeerDependencies: - supports-color + dev: true - babel-plugin-istanbul@6.1.1: + /babel-plugin-istanbul@6.1.1: + resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} + engines: {node: '>=8'} dependencies: - '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-plugin-utils': 7.24.5 '@istanbuljs/load-nyc-config': 1.1.0 '@istanbuljs/schema': 0.1.3 istanbul-lib-instrument: 5.2.1 test-exclude: 6.0.0 transitivePeerDependencies: - supports-color + dev: true - babel-plugin-jest-hoist@29.6.3: + /babel-plugin-jest-hoist@29.6.3: + resolution: {integrity: sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/template': 7.24.0 - '@babel/types': 7.24.0 + '@babel/types': 7.24.5 '@types/babel__core': 7.20.5 - '@types/babel__traverse': 7.20.5 - - babel-plugin-syntax-trailing-function-commas@7.0.0-beta.0: {} - - babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.4): - dependencies: - '@babel/core': 7.24.4 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.4) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.24.4) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.4) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.4) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.4) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.4) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.4) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.4) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.4) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.4) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.4) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.4) - - babel-preset-fbjs@3.4.0(@babel/core@7.24.4): - dependencies: - '@babel/core': 7.24.4 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.24.4) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.24.4) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.4) - '@babel/plugin-syntax-flow': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.4) - '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-block-scoped-functions': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-block-scoping': 7.24.4(@babel/core@7.24.4) - '@babel/plugin-transform-classes': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-destructuring': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-flow-strip-types': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-for-of': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-member-expression-literals': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-object-super': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-property-literals': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-react-display-name': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.4) - '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-transform-template-literals': 7.24.1(@babel/core@7.24.4) + '@types/babel__traverse': 7.20.6 + dev: true + + /babel-plugin-syntax-trailing-function-commas@7.0.0-beta.0: + resolution: {integrity: sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==} + dev: true + + /babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.5): + resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.5) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.5) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.5) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.5) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.5) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.5) + dev: true + + /babel-preset-fbjs@3.4.0(@babel/core@7.24.5): + resolution: {integrity: sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/core': 7.24.5 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.24.5) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.24.5) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.5) + '@babel/plugin-syntax-flow': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.5) + '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-block-scoped-functions': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-block-scoping': 7.24.5(@babel/core@7.24.5) + '@babel/plugin-transform-classes': 7.24.5(@babel/core@7.24.5) + '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-destructuring': 7.24.5(@babel/core@7.24.5) + '@babel/plugin-transform-flow-strip-types': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-for-of': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-member-expression-literals': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-object-super': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-parameters': 7.24.5(@babel/core@7.24.5) + '@babel/plugin-transform-property-literals': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-react-display-name': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.5) + '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-transform-template-literals': 7.24.1(@babel/core@7.24.5) babel-plugin-syntax-trailing-function-commas: 7.0.0-beta.0 + dev: true - babel-preset-jest@29.6.3(@babel/core@7.24.4): + /babel-preset-jest@29.6.3(@babel/core@7.24.5): + resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.4 + '@babel/core': 7.24.5 babel-plugin-jest-hoist: 29.6.3 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.4) + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.5) + dev: true - balanced-match@1.0.2: {} + /balanced-match@1.0.2: + resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - base-x@3.0.9: + /base-x@3.0.9: + resolution: {integrity: sha512-H7JU6iBHTal1gp56aKoaa//YUxEaAOUiydvrV/pILqIHXTtqxSkATOnDA2u+jZ/61sD+L/412+7kzXRtWukhpQ==} dependencies: safe-buffer: 5.2.1 + dev: true - base64-js@1.5.1: {} + /base64-js@1.5.1: + resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} - bech32@1.1.4: {} + /bech32@1.1.4: + resolution: {integrity: sha512-s0IrSOzLlbvX7yp4WBfPITzpAU8sqQcpsmwXDiKwrG4r491vwCO/XpejasRNl0piBMe/DvP4Tz0mIS/X1DPJBQ==} - bignumber.js@9.0.1: {} + /bignumber.js@9.0.1: + resolution: {integrity: sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA==} + dev: false - bignumber.js@9.1.2: {} + /bignumber.js@9.1.2: + resolution: {integrity: sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==} + dev: false - binary-extensions@2.3.0: {} + /binary-extensions@2.3.0: + resolution: {integrity: sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==} + engines: {node: '>=8'} + dev: true - bl@4.1.0: + /bl@4.1.0: + resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} dependencies: buffer: 5.7.1 inherits: 2.0.4 readable-stream: 3.6.2 - bl@5.1.0: + /bl@5.1.0: + resolution: {integrity: sha512-tv1ZJHLfTDnXE6tMHv73YgSJaWR2AFuPwMntBe7XL/GBFHnT0CLnsHMogfk5+GzCDC5ZWarSCYaIGATZt9dNsQ==} dependencies: buffer: 6.0.3 inherits: 2.0.4 readable-stream: 3.6.2 + dev: true - blakejs@1.2.1: {} + /blakejs@1.2.1: + resolution: {integrity: sha512-QXUSXI3QVc/gJME0dBpXrag1kbzOqCjCX8/b54ntNyW6sjtoqxqRk3LTmXzaJoh71zMsDCjM+47jS7XiwN/+fQ==} + dev: true - bn.js@4.11.6: {} + /bn.js@4.11.6: + resolution: {integrity: sha512-XWwnNNFCuuSQ0m3r3C4LE3EiORltHd9M05pq6FOlVeiophzRbMo50Sbz1ehl8K3Z+jw9+vmgnXefY1hz8X+2wA==} + dev: true - bn.js@4.12.0: {} + /bn.js@4.12.0: + resolution: {integrity: sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==} - bn.js@5.2.1: {} + /bn.js@5.2.1: + resolution: {integrity: sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==} - body-parser@1.20.2: + /body-parser@1.20.2: + resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} dependencies: bytes: 3.1.2 content-type: 1.0.5 @@ -14787,10 +9131,14 @@ snapshots: unpipe: 1.0.0 transitivePeerDependencies: - supports-color + dev: true - bowser@2.11.0: {} + /bowser@2.11.0: + resolution: {integrity: sha512-AlcaJBi/pqqJBIQ8U9Mcpc9i8Aqxn88Skv5d+xBX006BY5u8N3mGLHa5Lgppa7L/HfwgwLgZ6NYs+Ag6uUmJRA==} - boxen@5.1.2: + /boxen@5.1.2: + resolution: {integrity: sha512-9gYgQKXx+1nP8mP7CzFyaUARhg7D3n1dF/FnErWmu9l6JvGpNUN278h0aSb+QjoiKSWG+iZ3uHrcqk0qrY9RQQ==} + engines: {node: '>=10'} dependencies: ansi-align: 3.0.1 camelcase: 6.3.0 @@ -14800,25 +9148,36 @@ snapshots: type-fest: 0.20.2 widest-line: 3.1.0 wrap-ansi: 7.0.0 + dev: true - brace-expansion@1.1.11: + /brace-expansion@1.1.11: + resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} dependencies: balanced-match: 1.0.2 concat-map: 0.0.1 - brace-expansion@2.0.1: + /brace-expansion@2.0.1: + resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} dependencies: balanced-match: 1.0.2 + dev: true - braces@3.0.2: + /braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} dependencies: - fill-range: 7.0.1 + fill-range: 7.1.1 + dev: true - brorand@1.1.0: {} + /brorand@1.1.0: + resolution: {integrity: sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==} - browser-stdout@1.3.1: {} + /browser-stdout@1.3.1: + resolution: {integrity: sha512-qhAVI1+Av2X7qelOfAIYwXONood6XlZE/fXaBSmW/T5SzLAmCgzi+eiWE7fUvbHaeNBQH13UftjpXxsfLkMpgw==} + dev: true - browserify-aes@1.2.0: + /browserify-aes@1.2.0: + resolution: {integrity: sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==} dependencies: buffer-xor: 1.0.3 cipher-base: 1.0.4 @@ -14826,113 +9185,181 @@ snapshots: evp_bytestokey: 1.0.3 inherits: 2.0.4 safe-buffer: 5.2.1 + dev: true - browserslist@4.23.0: + /browserslist@4.23.0: + resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true dependencies: - caniuse-lite: 1.0.30001610 - electron-to-chromium: 1.4.737 + caniuse-lite: 1.0.30001621 + electron-to-chromium: 1.4.782 node-releases: 2.0.14 - update-browserslist-db: 1.0.13(browserslist@4.23.0) + update-browserslist-db: 1.0.16(browserslist@4.23.0) + dev: true - bs-logger@0.2.6: + /bs-logger@0.2.6: + resolution: {integrity: sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==} + engines: {node: '>= 6'} dependencies: fast-json-stable-stringify: 2.1.0 + dev: true - bs58@4.0.1: + /bs58@4.0.1: + resolution: {integrity: sha512-Ok3Wdf5vOIlBrgCvTq96gBkJw+JUEzdBgyaza5HLtPm7yTHkjRy8+JzNyHF7BHa0bNWOQIp3m5YF0nnFcOIKLw==} dependencies: base-x: 3.0.9 + dev: true - bs58check@2.1.2: + /bs58check@2.1.2: + resolution: {integrity: sha512-0TS1jicxdU09dwJMNZtVAfzPi6Q6QeN0pM1Fkzrjn+XYHvzMKPU3pHVpva+769iNVSfIYWf7LJ6WR+BuuMf8cA==} dependencies: bs58: 4.0.1 create-hash: 1.2.0 safe-buffer: 5.2.1 + dev: true - bser@2.1.1: + /bser@2.1.1: + resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} dependencies: node-int64: 0.4.0 + dev: true - buffer-crc32@0.2.13: {} + /buffer-crc32@0.2.13: + resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + dev: true - buffer-from@1.1.2: {} + /buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} - buffer-xor@1.0.3: {} + /buffer-xor@1.0.3: + resolution: {integrity: sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==} + dev: true - buffer@4.9.2: + /buffer@4.9.2: + resolution: {integrity: sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==} dependencies: base64-js: 1.5.1 - ieee754: 1.2.1 + ieee754: 1.1.13 isarray: 1.0.0 + dev: true - buffer@5.7.1: + /buffer@5.7.1: + resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} dependencies: base64-js: 1.5.1 ieee754: 1.2.1 - buffer@6.0.3: + /buffer@6.0.3: + resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} dependencies: base64-js: 1.5.1 ieee754: 1.2.1 - builtin-modules@3.2.0: {} + /builtin-modules@3.2.0: + resolution: {integrity: sha512-lGzLKcioL90C7wMczpkY0n/oART3MbBa8R9OFGE1rJxoVI86u4WAGfEk8Wjv10eKSyTHVGkSo3bvBylCEtk7LA==} + engines: {node: '>=6'} + dev: true - builtin-modules@3.3.0: {} + /builtin-modules@3.3.0: + resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} + engines: {node: '>=6'} + dev: true - busboy@1.6.0: + /busboy@1.6.0: + resolution: {integrity: sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==} + engines: {node: '>=10.16.0'} dependencies: streamsearch: 1.1.0 + dev: true - bytes@3.1.2: {} + /bytes@3.1.2: + resolution: {integrity: sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==} + engines: {node: '>= 0.8'} + dev: true - call-bind@1.0.7: + /call-bind@1.0.7: + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} + engines: {node: '>= 0.4'} dependencies: es-define-property: 1.0.0 es-errors: 1.3.0 function-bind: 1.1.2 get-intrinsic: 1.2.4 set-function-length: 1.2.2 + dev: true - callsites@3.1.0: {} + /callsites@3.1.0: + resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} + engines: {node: '>=6'} + dev: true - camel-case@4.1.2: + /camel-case@4.1.2: + resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} dependencies: pascal-case: 3.1.2 tslib: 2.6.2 + dev: true - camelcase@5.3.1: {} + /camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + dev: true - camelcase@6.3.0: {} + /camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + dev: true - caniuse-lite@1.0.30001610: {} + /caniuse-lite@1.0.30001621: + resolution: {integrity: sha512-+NLXZiviFFKX0fk8Piwv3PfLPGtRqJeq2TiNoUff/qB5KJgwecJTvCXDpmlyP/eCI/GUEmp/h/y5j0yckiiZrA==} + dev: true - capital-case@1.0.4: + /capital-case@1.0.4: + resolution: {integrity: sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==} dependencies: no-case: 3.0.4 tslib: 2.6.2 upper-case-first: 2.0.2 + dev: true - caseless@0.12.0: {} + /caseless@0.12.0: + resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} + dev: true - cbor@8.1.0: + /cbor@8.1.0: + resolution: {integrity: sha512-DwGjNW9omn6EwP70aXsn7FQJx5kO12tX0bZkaTjzdVFM6/7nhA4t0EENocKGx6D2Bch9PE2KzCUf5SceBdeijg==} + engines: {node: '>=12.19'} dependencies: nofilter: 3.1.0 + dev: true - cdk-assets@2.132.1: + /cdk-assets@2.142.1: + resolution: {integrity: sha512-zNQMXRWl9gp8KJHZyPk0agh9p180Ec/rW9ZrDk7rITnR5qMgFcaNO6on8BiQVGMALpv1A6UTp45FIiWkqGYf6A==} + engines: {node: '>= 14.15.0'} + hasBin: true dependencies: - '@aws-cdk/cloud-assembly-schema': 2.132.1 - '@aws-cdk/cx-api': 2.132.1(@aws-cdk/cloud-assembly-schema@2.132.1) + '@aws-cdk/cloud-assembly-schema': 2.142.1 + '@aws-cdk/cx-api': 2.142.1(@aws-cdk/cloud-assembly-schema@2.142.1) archiver: 5.3.2 - aws-sdk: 2.1599.0 + aws-sdk: 2.1627.0 glob: 7.2.3 mime: 2.6.0 yargs: 16.2.0 + dev: true - chai-as-promised@7.1.1(chai@4.4.1): + /chai-as-promised@7.1.2(chai@4.4.1): + resolution: {integrity: sha512-aBDHZxRzYnUYuIAIPBH2s511DjlKPzXNlXSGFC8CwmroWQLfrW0LtE1nK3MAwwNhJPa9raEjNCmRoFpG0Hurdw==} + peerDependencies: + chai: '>= 2.1.2 < 6' dependencies: chai: 4.4.1 check-error: 1.0.3 + dev: true - chai@4.4.1: + /chai@4.4.1: + resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} + engines: {node: '>=4'} dependencies: assertion-error: 1.1.0 check-error: 1.0.3 @@ -14941,21 +9368,31 @@ snapshots: loupe: 2.3.7 pathval: 1.1.1 type-detect: 4.0.8 + dev: true - chalk@2.4.2: + /chalk@2.4.2: + resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} + engines: {node: '>=4'} dependencies: ansi-styles: 3.2.1 escape-string-regexp: 1.0.5 supports-color: 5.5.0 + dev: true - chalk@4.1.2: + /chalk@4.1.2: + resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} + engines: {node: '>=10'} dependencies: ansi-styles: 4.3.0 supports-color: 7.2.0 - chalk@5.3.0: {} + /chalk@5.3.0: + resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} + engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + dev: true - change-case-all@1.0.15: + /change-case-all@1.0.15: + resolution: {integrity: sha512-3+GIFhk3sNuvFAJKU46o26OdzudQlPNBCu1ZQi3cMeMHhty1bhDxu2WrEilVNYaGvqUtR1VSigFcJOiS13dRhQ==} dependencies: change-case: 4.1.2 is-lower-case: 2.0.2 @@ -14967,8 +9404,10 @@ snapshots: title-case: 3.0.3 upper-case: 2.0.2 upper-case-first: 2.0.2 + dev: true - change-case@4.1.2: + /change-case@4.1.2: + resolution: {integrity: sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A==} dependencies: camel-case: 4.1.2 capital-case: 1.0.4 @@ -14982,21 +9421,32 @@ snapshots: sentence-case: 3.0.4 snake-case: 3.0.4 tslib: 2.6.2 + dev: true - char-regex@1.0.2: {} + /char-regex@1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + dev: true - chardet@0.7.0: {} + /chardet@0.7.0: + resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} - charenc@0.0.2: {} + /charenc@0.0.2: + resolution: {integrity: sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==} + dev: true - check-error@1.0.3: + /check-error@1.0.3: + resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} dependencies: get-func-name: 2.0.2 + dev: true - chokidar@3.5.3: + /chokidar@3.5.3: + resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} + engines: {node: '>= 8.10.0'} dependencies: anymatch: 3.1.3 - braces: 3.0.2 + braces: 3.0.3 glob-parent: 5.1.2 is-binary-path: 2.1.0 is-glob: 4.0.3 @@ -15004,11 +9454,14 @@ snapshots: readdirp: 3.6.0 optionalDependencies: fsevents: 2.3.3 + dev: true - chokidar@3.6.0: + /chokidar@3.6.0: + resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} + engines: {node: '>= 8.10.0'} dependencies: anymatch: 3.1.3 - braces: 3.0.2 + braces: 3.0.3 glob-parent: 5.1.2 is-binary-path: 2.1.0 is-glob: 4.0.3 @@ -15016,163 +9469,278 @@ snapshots: readdirp: 3.6.0 optionalDependencies: fsevents: 2.3.3 + dev: true - ci-info@2.0.0: {} + /ci-info@2.0.0: + resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} + dev: true - ci-info@3.9.0: {} + /ci-info@3.9.0: + resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} + engines: {node: '>=8'} + dev: true - cipher-base@1.0.4: + /cipher-base@1.0.4: + resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==} dependencies: inherits: 2.0.4 safe-buffer: 5.2.1 + dev: true - cjs-module-lexer@1.2.3: {} + /cjs-module-lexer@1.3.1: + resolution: {integrity: sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==} + dev: true - clean-regexp@1.0.0: + /clean-regexp@1.0.0: + resolution: {integrity: sha512-GfisEZEJvzKrmGWkvfhgzcz/BllN1USeqD2V6tg14OAOgaCD2Z/PUEuxnAZ/nPvmaHRG7a8y77p1T/IRQ4D1Hw==} + engines: {node: '>=4'} dependencies: escape-string-regexp: 1.0.5 + dev: true - clean-stack@2.2.0: {} + /clean-stack@2.2.0: + resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} + engines: {node: '>=6'} + dev: true - cli-boxes@2.2.1: {} + /cli-boxes@2.2.1: + resolution: {integrity: sha512-y4coMcylgSCdVinjiDBuR8PCC2bLjyGTwEmPb9NHR/QaNU6EUOXcTY/s6VjGMD6ENSEaeQYHCY0GNGS5jfMwPw==} + engines: {node: '>=6'} + dev: true - cli-boxes@3.0.0: {} + /cli-boxes@3.0.0: + resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} + engines: {node: '>=10'} + dev: true - cli-cursor@3.1.0: + /cli-cursor@3.1.0: + resolution: {integrity: sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==} + engines: {node: '>=8'} dependencies: restore-cursor: 3.1.0 + dev: true - cli-cursor@4.0.0: + /cli-cursor@4.0.0: + resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: restore-cursor: 4.0.0 + dev: true - cli-spinners@2.9.2: {} + /cli-spinners@2.9.2: + resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} + engines: {node: '>=6'} - cli-table3@0.5.1: + /cli-table3@0.5.1: + resolution: {integrity: sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==} + engines: {node: '>=6'} dependencies: object-assign: 4.1.1 string-width: 2.1.1 optionalDependencies: colors: 1.4.0 + dev: true - cli-truncate@2.1.0: + /cli-truncate@2.1.0: + resolution: {integrity: sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==} + engines: {node: '>=8'} dependencies: slice-ansi: 3.0.0 string-width: 4.2.3 + dev: true - cli-truncate@3.1.0: + /cli-truncate@3.1.0: + resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: slice-ansi: 5.0.0 string-width: 5.1.2 + dev: true - cli-width@3.0.0: {} + /cli-width@3.0.0: + resolution: {integrity: sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==} + engines: {node: '>= 10'} + dev: true - cli-width@4.1.0: {} + /cli-width@4.1.0: + resolution: {integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==} + engines: {node: '>= 12'} + dev: false - cliui@6.0.0: + /cliui@6.0.0: + resolution: {integrity: sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==} dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 6.2.0 + dev: true - cliui@7.0.4: + /cliui@7.0.4: + resolution: {integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==} dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 7.0.0 + dev: true - cliui@8.0.1: + /cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} dependencies: string-width: 4.2.3 strip-ansi: 6.0.1 wrap-ansi: 7.0.0 + dev: true - clone@1.0.4: {} + /clone@1.0.4: + resolution: {integrity: sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==} + engines: {node: '>=0.8'} + dev: true - cls-hooked@4.2.2: + /cls-hooked@4.2.2: + resolution: {integrity: sha512-J4Xj5f5wq/4jAvcdgoGsL3G103BtWpZrMo8NEinRltN+xpTZdI+M38pyQqhuFU/P792xkMFvnKSf+Lm81U1bxw==} + engines: {node: ^4.7 || >=6.9 || >=7.3 || >=8.2.1} dependencies: async-hook-jl: 1.7.6 emitter-listener: 1.1.2 semver: 5.7.2 + dev: false - cluster-key-slot@1.1.2: {} + /cluster-key-slot@1.1.2: + resolution: {integrity: sha512-RMr0FhtfXemyinomL4hrWcYJxmX6deFdCxpJzhDttxgO1+bcCnkk+9drydLVDmAMG7NE6aN/fl4F7ucU/90gAA==} + engines: {node: '>=0.10.0'} + dev: false - co@4.6.0: {} + /co@4.6.0: + resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + dev: true - code-excerpt@4.0.0: + /code-excerpt@4.0.0: + resolution: {integrity: sha512-xxodCmBen3iy2i0WtAK8FlFNrRzjUqjRsMfho58xT/wvZU1YTM3fCnRjcy1gJPMepaRlgm/0e6w8SpWHpn3/cA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: convert-to-spaces: 2.0.1 + dev: true - collect-v8-coverage@1.0.2: {} + /collect-v8-coverage@1.0.2: + resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} + dev: true - color-convert@1.9.3: + /color-convert@1.9.3: + resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} dependencies: color-name: 1.1.3 + dev: true - color-convert@2.0.1: + /color-convert@2.0.1: + resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} + engines: {node: '>=7.0.0'} dependencies: color-name: 1.1.4 - color-name@1.1.3: {} + /color-name@1.1.3: + resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} + dev: true - color-name@1.1.4: {} + /color-name@1.1.4: + resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - colorette@2.0.20: {} + /colorette@2.0.20: + resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} + dev: true - colors@1.4.0: {} + /colors@1.4.0: + resolution: {integrity: sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==} + engines: {node: '>=0.1.90'} + dev: true - combined-stream@1.0.8: + /combined-stream@1.0.8: + resolution: {integrity: sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==} + engines: {node: '>= 0.8'} dependencies: delayed-stream: 1.0.0 - command-exists@1.2.9: {} + /command-exists@1.2.9: + resolution: {integrity: sha512-LTQ/SGc+s0Xc0Fu5WaKnR0YiygZkm9eKFvyS+fRsU7/ZWFF8ykFM6Pc9aCVf1+xasOOZpO3BAVgVrKvsqKHV7w==} + dev: true - commander@10.0.1: {} + /commander@10.0.1: + resolution: {integrity: sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==} + engines: {node: '>=14'} + dev: true - commander@3.0.2: {} + /commander@3.0.2: + resolution: {integrity: sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==} + dev: true - commander@7.2.0: {} + /commander@7.2.0: + resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} + engines: {node: '>= 10'} + dev: true - commander@9.5.0: {} + /commander@9.5.0: + resolution: {integrity: sha512-KRs7WVDKg86PWiuAqhDrAQnTXZKraVcCc6vFdL14qrZ/DcWwuRo7VoiYXalXO7S5GKpqYiVEwCbgFDfxNHKJBQ==} + engines: {node: ^12.20.0 || >=14} + dev: true - commist@1.1.0: + /commist@1.1.0: + resolution: {integrity: sha512-rraC8NXWOEjhADbZe9QBNzLAN5Q3fsTPQtBV+fEVj6xKIgDgNiEVE6ZNfHpZOqfQ21YUzfVNUXLOEZquYvQPPg==} dependencies: leven: 2.1.0 - minimist: 1.2.8 + minimist: 1.2.6 - common-tags@1.8.2: {} + /common-tags@1.8.2: + resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} + engines: {node: '>=4.0.0'} + dev: true - commondir@1.0.1: {} + /commondir@1.0.1: + resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} + dev: true - complex.js@2.1.1: {} + /complex.js@2.1.1: + resolution: {integrity: sha512-8njCHOTtFFLtegk6zQo0kkVX1rngygb/KQI6z1qZxlFI3scluC+LVTCFbrkWjBv4vvLlbQ9t88IPMC6k95VTTg==} + dev: true - compress-commons@4.1.2: + /compress-commons@4.1.2: + resolution: {integrity: sha512-D3uMHtGc/fcO1Gt1/L7i1e33VOvD4A9hfQLP+6ewd+BvG/gQ84Yh4oftEhAdjSMgBgwGL+jsppT7JYNpo6MHHg==} + engines: {node: '>= 10'} dependencies: buffer-crc32: 0.2.13 crc32-stream: 4.0.3 normalize-path: 3.0.0 readable-stream: 3.6.2 + dev: true - concat-map@0.0.1: {} + /concat-map@0.0.1: + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - concat-stream@1.6.2: + /concat-stream@1.6.2: + resolution: {integrity: sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==} + engines: {'0': node >= 0.8} dependencies: buffer-from: 1.1.2 inherits: 2.0.4 readable-stream: 2.3.8 typedarray: 0.0.6 + dev: true - concat-stream@2.0.0: + /concat-stream@2.0.0: + resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==} + engines: {'0': node >= 6.0} dependencies: buffer-from: 1.1.2 inherits: 2.0.4 readable-stream: 3.6.2 typedarray: 0.0.6 - conf@10.2.0: + /conf@10.2.0: + resolution: {integrity: sha512-8fLl9F04EJqjSqH+QjITQfJF8BrOVaYr1jewVgSRAEWePfxT0sku4w2hrGQ60BC/TNLGQ2pgxNlTbWQmMPFvXg==} + engines: {node: '>=12'} dependencies: - ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) + ajv: 8.13.0 + ajv-formats: 2.1.1(ajv@8.13.0) atomically: 1.7.0 debounce-fn: 4.0.0 dot-prop: 6.0.1 @@ -15180,62 +9748,109 @@ snapshots: json-schema-typed: 7.0.3 onetime: 5.1.2 pkg-up: 3.1.0 - semver: 7.6.0 + semver: 7.6.2 + dev: true - constant-case@3.0.4: + /constant-case@3.0.4: + resolution: {integrity: sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ==} dependencies: no-case: 3.0.4 tslib: 2.6.2 upper-case: 2.0.2 + dev: true - constructs@10.3.0: {} + /constructs@10.3.0: + resolution: {integrity: sha512-vbK8i3rIb/xwZxSpTjz3SagHn1qq9BChLEfy5Hf6fB3/2eFbrwt2n9kHwQcS0CPTRBesreeAcsJfMq2229FnbQ==} + engines: {node: '>= 16.14.0'} + dev: true - content-disposition@0.5.4: + /content-disposition@0.5.4: + resolution: {integrity: sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==} + engines: {node: '>= 0.6'} dependencies: safe-buffer: 5.2.1 + dev: true - content-type@1.0.5: {} + /content-type@1.0.5: + resolution: {integrity: sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==} + engines: {node: '>= 0.6'} + dev: true - convert-source-map@2.0.0: {} + /convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + dev: true - convert-to-spaces@2.0.1: {} + /convert-to-spaces@2.0.1: + resolution: {integrity: sha512-rcQ1bsQO9799wq24uE5AM2tAILy4gXGIK/njFWcVQkGNZ96edlpY+A7bjwvzjYvLDyzmG1MmMLZhpcsb+klNMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true - cookie-signature@1.0.6: {} + /cookie-signature@1.0.6: + resolution: {integrity: sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==} + dev: true - cookie@0.4.2: {} + /cookie@0.4.2: + resolution: {integrity: sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==} + engines: {node: '>= 0.6'} + dev: true - cookie@0.6.0: {} + /cookie@0.6.0: + resolution: {integrity: sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw==} + engines: {node: '>= 0.6'} + dev: true - copy-anything@3.0.5: + /copy-anything@3.0.5: + resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==} + engines: {node: '>=12.13'} dependencies: is-what: 4.1.16 + dev: false - core-util-is@1.0.3: {} + /core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} - cosmiconfig@8.3.6(typescript@5.4.5): + /cosmiconfig@8.3.6(typescript@5.4.5): + resolution: {integrity: sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==} + engines: {node: '>=14'} + peerDependencies: + typescript: '>=4.9.5' + peerDependenciesMeta: + typescript: + optional: true dependencies: import-fresh: 3.3.0 js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 typescript: 5.4.5 + dev: true - crc-32@1.2.2: {} + /crc-32@1.2.2: + resolution: {integrity: sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==} + engines: {node: '>=0.8'} + hasBin: true + dev: true - crc32-stream@4.0.3: + /crc32-stream@4.0.3: + resolution: {integrity: sha512-NT7w2JVU7DFroFdYkeq8cywxrgjPHWkdX1wjpRQXPX5Asews3tA+Ght6lddQO5Mkumffp3X7GEqku3epj2toIw==} + engines: {node: '>= 10'} dependencies: crc-32: 1.2.2 readable-stream: 3.6.2 + dev: true - create-hash@1.2.0: + /create-hash@1.2.0: + resolution: {integrity: sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==} dependencies: cipher-base: 1.0.4 inherits: 2.0.4 md5.js: 1.3.5 ripemd160: 2.0.2 sha.js: 2.4.11 + dev: true - create-hmac@1.1.7: + /create-hmac@1.1.7: + resolution: {integrity: sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==} dependencies: cipher-base: 1.0.4 create-hash: 1.2.0 @@ -15243,14 +9858,18 @@ snapshots: ripemd160: 2.0.2 safe-buffer: 5.2.1 sha.js: 2.4.11 + dev: true - create-jest@29.7.0(@types/node@20.12.7): + /create-jest@29.7.0(@types/node@20.12.12): + resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@20.12.7) + jest-config: 29.7.0(@types/node@20.12.12) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -15258,126 +9877,237 @@ snapshots: - babel-plugin-macros - supports-color - ts-node + dev: true - create-require@1.1.1: {} + /create-require@1.1.1: + resolution: {integrity: sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==} + dev: true - cross-fetch@3.1.8: + /cross-fetch@3.1.8: + resolution: {integrity: sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==} dependencies: node-fetch: 2.7.0 transitivePeerDependencies: - encoding - cross-inspect@1.0.0: + /cross-inspect@1.0.0: + resolution: {integrity: sha512-4PFfn4b5ZN6FMNGSZlyb7wUhuN8wvj8t/VQHZdM4JsDcruGJ8L2kf9zao98QIrBPFCpdk27qst/AGTl7pL3ypQ==} + engines: {node: '>=16.0.0'} dependencies: tslib: 2.6.2 + dev: true - cross-spawn@7.0.3: + /cross-spawn@7.0.3: + resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} + engines: {node: '>= 8'} dependencies: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 + dev: true - crypt@0.0.2: {} + /crypt@0.0.2: + resolution: {integrity: sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==} + dev: true - crypto-js@4.2.0: {} + /crypto-js@4.2.0: + resolution: {integrity: sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==} - damerau-levenshtein@1.0.8: {} + /damerau-levenshtein@1.0.8: + resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} + dev: true - data-uri-to-buffer@4.0.1: {} + /data-uri-to-buffer@4.0.1: + resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} + engines: {node: '>= 12'} + dev: false - data-view-buffer@1.0.1: + /data-view-buffer@1.0.1: + resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 es-errors: 1.3.0 is-data-view: 1.0.1 + dev: true - data-view-byte-length@1.0.1: + /data-view-byte-length@1.0.1: + resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 es-errors: 1.3.0 is-data-view: 1.0.1 + dev: true - data-view-byte-offset@1.0.0: + /data-view-byte-offset@1.0.0: + resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 es-errors: 1.3.0 is-data-view: 1.0.1 + dev: true - dataloader@2.2.2: {} + /dataloader@2.2.2: + resolution: {integrity: sha512-8YnDaaf7N3k/q5HnTJVuzSyLETjoZjVmHc4AeKAzOvKHEFQKcn64OKBfzHYtE9zGjctNM7V9I0MfnUVLpi7M5g==} + dev: true - death@1.1.0: {} + /death@1.1.0: + resolution: {integrity: sha512-vsV6S4KVHvTGxbEcij7hkWRv0It+sGGWVOM67dQde/o5Xjnr+KmLjxWJii2uEObIrt1CcM9w0Yaovx+iOlIL+w==} + dev: true - debounce-fn@4.0.0: + /debounce-fn@4.0.0: + resolution: {integrity: sha512-8pYCQiL9Xdcg0UPSD3d+0KMlOjp+KGU5EPwYddgzQ7DATsg4fuUDjQtsYLmWjnk2obnNHgV3vE2Y4jejSOJVBQ==} + engines: {node: '>=10'} dependencies: mimic-fn: 3.1.0 + dev: true - debounce@1.2.1: {} + /debounce@1.2.1: + resolution: {integrity: sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==} + dev: true - debug@2.6.9: + /debug@2.6.9: + resolution: {integrity: sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true dependencies: ms: 2.0.0 + dev: true - debug@3.2.7: + /debug@3.2.7: + resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true dependencies: ms: 2.1.3 + dev: true - debug@4.3.4(supports-color@8.1.1): + /debug@4.3.4(supports-color@8.1.1): + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true dependencies: ms: 2.1.2 supports-color: 8.1.1 - decamelize@1.2.0: {} + /decamelize@1.2.0: + resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} + engines: {node: '>=0.10.0'} + dev: true - decamelize@4.0.0: {} + /decamelize@4.0.0: + resolution: {integrity: sha512-9iE1PgSik9HeIIw2JO94IidnE3eBoQrFJ3w7sFuzSX4DpmZ3v5sZpUiV5Swcf6mQEF+Y0ru8Neo+p+nyh2J+hQ==} + engines: {node: '>=10'} + dev: true - decimal.js@10.4.3: {} + /decimal.js@10.4.3: + resolution: {integrity: sha512-VBBaLc1MgL5XpzgIP7ny5Z6Nx3UrRkIViUkPUdtl9aya5amy3De1gsUUSB1g3+3sExYNjCAsAznmukyxCb1GRA==} + dev: true - dedent@1.5.3: {} + /dedent@1.5.3: + resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} + peerDependencies: + babel-plugin-macros: ^3.1.0 + peerDependenciesMeta: + babel-plugin-macros: + optional: true + dev: true - deep-eql@4.1.3: + /deep-eql@4.1.3: + resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} + engines: {node: '>=6'} dependencies: type-detect: 4.0.8 + dev: true - deep-extend@0.6.0: {} + /deep-extend@0.6.0: + resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} + engines: {node: '>=4.0.0'} + dev: true - deep-is@0.1.4: {} + /deep-is@0.1.4: + resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + dev: true - deepmerge@4.3.1: {} + /deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + dev: true - defaults@1.0.4: + /defaults@1.0.4: + resolution: {integrity: sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==} dependencies: clone: 1.0.4 + dev: true - define-data-property@1.1.4: + /define-data-property@1.1.4: + resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} + engines: {node: '>= 0.4'} dependencies: es-define-property: 1.0.0 es-errors: 1.3.0 gopd: 1.0.1 + dev: true - define-properties@1.2.1: + /define-properties@1.2.1: + resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} + engines: {node: '>= 0.4'} dependencies: define-data-property: 1.1.4 has-property-descriptors: 1.0.2 object-keys: 1.1.1 + dev: true - delayed-stream@1.0.0: {} + /delayed-stream@1.0.0: + resolution: {integrity: sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==} + engines: {node: '>=0.4.0'} - delete-empty@3.0.0: + /delete-empty@3.0.0: + resolution: {integrity: sha512-ZUyiwo76W+DYnKsL3Kim6M/UOavPdBJgDYWOmuQhYaZvJH0AXAHbUNyEDtRbBra8wqqr686+63/0azfEk1ebUQ==} + engines: {node: '>=10'} + hasBin: true dependencies: ansi-colors: 4.1.3 minimist: 1.2.8 path-starts-with: 2.0.1 rimraf: 2.7.1 + dev: true - dendriform-immer-patch-optimiser@2.1.3(immer@9.0.21): + /dendriform-immer-patch-optimiser@2.1.3(immer@9.0.21): + resolution: {integrity: sha512-QG2IegUCdlhycVwsBOJ7SNd18PgzyWPxBivTzuF0E1KFxaU47fHy/frud74A9E66a4WXyFFp9FLLC2XQDkVj7g==} + engines: {node: '>=10'} + peerDependencies: + immer: '9' dependencies: immer: 9.0.21 + dev: true - depd@2.0.0: {} + /depd@2.0.0: + resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} + engines: {node: '>= 0.8'} + dev: true - dependency-graph@0.11.0: {} + /dependency-graph@0.11.0: + resolution: {integrity: sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==} + engines: {node: '>= 0.6.0'} + dev: true - dependency-tree@10.0.9: + /dependency-tree@10.0.9: + resolution: {integrity: sha512-dwc59FRIsht+HfnTVM0BCjJaEWxdq2YAvEDy4/Hn6CwS3CBWMtFnL3aZGAkQn3XCYxk/YcTDE4jX2Q7bFTwCjA==} + engines: {node: '>=14'} + hasBin: true dependencies: commander: 10.0.1 filing-cabinet: 4.2.0 @@ -15385,54 +10115,97 @@ snapshots: typescript: 5.4.5 transitivePeerDependencies: - supports-color + dev: true - dequal@2.0.3: {} + /dequal@2.0.3: + resolution: {integrity: sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==} + engines: {node: '>=6'} + dev: true - destroy@1.2.0: {} + /destroy@1.2.0: + resolution: {integrity: sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==} + engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} + dev: true - detect-indent@6.1.0: {} + /detect-indent@6.1.0: + resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} + engines: {node: '>=8'} + dev: true - detect-indent@7.0.1: {} + /detect-indent@7.0.1: + resolution: {integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==} + engines: {node: '>=12.20'} + dev: true - detect-newline@3.1.0: {} + /detect-newline@3.1.0: + resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} + engines: {node: '>=8'} + dev: true - detect-newline@4.0.1: {} + /detect-newline@4.0.1: + resolution: {integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true - detective-amd@5.0.2: + /detective-amd@5.0.2: + resolution: {integrity: sha512-XFd/VEQ76HSpym80zxM68ieB77unNuoMwopU2TFT/ErUk5n4KvUTwW4beafAVUugrjV48l4BmmR0rh2MglBaiA==} + engines: {node: '>=14'} + hasBin: true dependencies: ast-module-types: 5.0.0 escodegen: 2.1.0 get-amd-module-type: 5.0.1 node-source-walk: 6.0.2 + dev: true - detective-cjs@5.0.1: + /detective-cjs@5.0.1: + resolution: {integrity: sha512-6nTvAZtpomyz/2pmEmGX1sXNjaqgMplhQkskq2MLrar0ZAIkHMrDhLXkRiK2mvbu9wSWr0V5/IfiTrZqAQMrmQ==} + engines: {node: '>=14'} dependencies: ast-module-types: 5.0.0 node-source-walk: 6.0.2 + dev: true - detective-es6@4.0.1: + /detective-es6@4.0.1: + resolution: {integrity: sha512-k3Z5tB4LQ8UVHkuMrFOlvb3GgFWdJ9NqAa2YLUU/jTaWJIm+JJnEh4PsMc+6dfT223Y8ACKOaC0qcj7diIhBKw==} + engines: {node: '>=14'} dependencies: node-source-walk: 6.0.2 + dev: true - detective-postcss@6.1.3: + /detective-postcss@6.1.3: + resolution: {integrity: sha512-7BRVvE5pPEvk2ukUWNQ+H2XOq43xENWbH0LcdCE14mwgTBEAMoAx+Fc1rdp76SmyZ4Sp48HlV7VedUnP6GA1Tw==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dependencies: is-url: 1.2.4 postcss: 8.4.38 postcss-values-parser: 6.0.2(postcss@8.4.38) + dev: true - detective-sass@5.0.3: + /detective-sass@5.0.3: + resolution: {integrity: sha512-YsYT2WuA8YIafp2RVF5CEfGhhyIVdPzlwQgxSjK+TUm3JoHP+Tcorbk3SfG0cNZ7D7+cYWa0ZBcvOaR0O8+LlA==} + engines: {node: '>=14'} dependencies: gonzales-pe: 4.3.0 node-source-walk: 6.0.2 + dev: true - detective-scss@4.0.3: + /detective-scss@4.0.3: + resolution: {integrity: sha512-VYI6cHcD0fLokwqqPFFtDQhhSnlFWvU614J42eY6G0s8c+MBhi9QAWycLwIOGxlmD8I/XvGSOUV1kIDhJ70ZPg==} + engines: {node: '>=14'} dependencies: gonzales-pe: 4.3.0 node-source-walk: 6.0.2 + dev: true - detective-stylus@4.0.0: {} + /detective-stylus@4.0.0: + resolution: {integrity: sha512-TfPotjhszKLgFBzBhTOxNHDsutIxx9GTWjrL5Wh7Qx/ydxKhwUrlSFeLIn+ZaHPF+h0siVBkAQSuy6CADyTxgQ==} + engines: {node: '>=14'} + dev: true - detective-typescript@11.2.0: + /detective-typescript@11.2.0: + resolution: {integrity: sha512-ARFxjzizOhPqs1fYC/2NMC3N4jrQ6HvVflnXBTRqNEqJuXwyKLRr9CrJwkRcV/SnZt1sNXgsF6FPm0x57Tq0rw==} + engines: {node: ^14.14.0 || >=16.0.0} dependencies: '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.5) ast-module-types: 5.0.0 @@ -15440,77 +10213,132 @@ snapshots: typescript: 5.4.5 transitivePeerDependencies: - supports-color + dev: true - diff-sequences@29.6.3: {} + /diff-sequences@29.6.3: + resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true - diff@3.5.0: {} + /diff@3.5.0: + resolution: {integrity: sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==} + engines: {node: '>=0.3.1'} + dev: true - diff@4.0.2: {} + /diff@4.0.2: + resolution: {integrity: sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==} + engines: {node: '>=0.3.1'} + dev: true - diff@5.0.0: {} + /diff@5.0.0: + resolution: {integrity: sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==} + engines: {node: '>=0.3.1'} + dev: true - diff@5.2.0: {} + /diff@5.2.0: + resolution: {integrity: sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==} + engines: {node: '>=0.3.1'} + dev: true - difflib@0.2.4: + /difflib@0.2.4: + resolution: {integrity: sha512-9YVwmMb0wQHQNr5J9m6BSj6fk4pfGITGQOOs+D9Fl+INODWFOfvhIU1hNv6GgR1RBoC/9NJcwu77zShxV0kT7w==} dependencies: heap: 0.2.7 + dev: true - dir-glob@3.0.1: + /dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} dependencies: path-type: 4.0.0 + dev: true - doctrine@2.1.0: + /doctrine@2.1.0: + resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} + engines: {node: '>=0.10.0'} dependencies: esutils: 2.0.3 + dev: true - doctrine@3.0.0: + /doctrine@3.0.0: + resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} + engines: {node: '>=6.0.0'} dependencies: esutils: 2.0.3 + dev: true - dot-case@3.0.4: + /dot-case@3.0.4: + resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} dependencies: no-case: 3.0.4 tslib: 2.6.2 + dev: true - dot-prop@6.0.1: + /dot-prop@6.0.1: + resolution: {integrity: sha512-tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==} + engines: {node: '>=10'} dependencies: is-obj: 2.0.0 + dev: true - dotenv-expand@11.0.6: + /dotenv-expand@11.0.6: + resolution: {integrity: sha512-8NHi73otpWsZGBSZwwknTXS5pqMOrk9+Ssrna8xCaxkzEpU9OTf9R5ArQGVw03//Zmk9MOwLPng9WwndvpAJ5g==} + engines: {node: '>=12'} dependencies: dotenv: 16.4.5 + dev: true - dotenv@16.0.3: {} + /dotenv@16.0.3: + resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} + engines: {node: '>=12'} + dev: true - dotenv@16.4.5: {} + /dotenv@16.4.5: + resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} + engines: {node: '>=12'} + dev: true - dset@3.1.3: {} + /dset@3.1.3: + resolution: {integrity: sha512-20TuZZHCEZ2O71q9/+8BwKwZ0QtD9D8ObhrihJPr+vLLYlSuAU3/zL4cSlgbfeoGHTjCSJBa7NGcrF9/Bx/WJQ==} + engines: {node: '>=4'} + dev: true - duplexify@3.7.1: + /duplexify@3.7.1: + resolution: {integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==} dependencies: end-of-stream: 1.4.4 inherits: 2.0.4 readable-stream: 2.3.8 stream-shift: 1.0.3 - duplexify@4.1.3: + /duplexify@4.1.3: + resolution: {integrity: sha512-M3BmBhwJRZsSx38lZyhE53Csddgzl5R7xGJNk7CVddZD6CcmwMCH8J+7AprIrQKH7TonKxaCjcv27Qmf+sQ+oA==} dependencies: end-of-stream: 1.4.4 inherits: 2.0.4 readable-stream: 3.6.2 stream-shift: 1.0.3 - eastasianwidth@0.2.0: {} + /eastasianwidth@0.2.0: + resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} + dev: true - ecdsa-sig-formatter@1.0.11: + /ecdsa-sig-formatter@1.0.11: + resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} dependencies: safe-buffer: 5.2.1 + dev: true - ee-first@1.1.1: {} + /ee-first@1.1.1: + resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} + dev: true - electron-to-chromium@1.4.737: {} + /electron-to-chromium@1.4.782: + resolution: {integrity: sha512-JUfU61e8tr+i5Y1FKXcKs+Xe+rJ+CEqm4cgv1kMihPE2EvYHmYyVr3Im/+1+Z5B29Be2EEGCZCwAc6Tazdl1Yg==} + dev: true - elliptic@6.5.4: + /elliptic@6.5.4: + resolution: {integrity: sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==} dependencies: bn.js: 4.12.0 brorand: 1.1.0 @@ -15520,7 +10348,8 @@ snapshots: minimalistic-assert: 1.0.1 minimalistic-crypto-utils: 1.0.1 - elliptic@6.5.5: + /elliptic@6.5.5: + resolution: {integrity: sha512-7EjbcmUm17NQFu4Pmgmq2olYMj8nwMnpcddByChSUjArp8F5DQWcIcpriwO4ZToLNAJig0yiyjswfyGNje/ixw==} dependencies: bn.js: 4.12.0 brorand: 1.1.0 @@ -15529,40 +10358,66 @@ snapshots: inherits: 2.0.4 minimalistic-assert: 1.0.1 minimalistic-crypto-utils: 1.0.1 + dev: true - emitter-listener@1.1.2: + /emitter-listener@1.1.2: + resolution: {integrity: sha512-Bt1sBAGFHY9DKY+4/2cV6izcKJUf5T7/gkdmkxzX/qv9CcGH8xSwVRW5mtX03SWJtRTWSOpzCuWN9rBFYZepZQ==} dependencies: shimmer: 1.2.1 + dev: false - emittery@0.13.1: {} + /emittery@0.13.1: + resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} + engines: {node: '>=12'} + dev: true - emoji-regex@8.0.0: {} + /emoji-regex@8.0.0: + resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} - emoji-regex@9.2.2: {} + /emoji-regex@9.2.2: + resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + dev: true - encodeurl@1.0.2: {} + /encodeurl@1.0.2: + resolution: {integrity: sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==} + engines: {node: '>= 0.8'} + dev: true - end-of-stream@1.4.4: + /end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} dependencies: once: 1.4.0 - enhanced-resolve@5.16.0: + /enhanced-resolve@5.16.1: + resolution: {integrity: sha512-4U5pNsuDl0EhuZpq46M5xPslstkviJuhrdobaRDBk2Jy2KO37FDAJl4lb2KlNabxT0m4MTK2UHNrsAcphE8nyw==} + engines: {node: '>=10.13.0'} dependencies: graceful-fs: 4.2.11 tapable: 2.2.1 + dev: true - enquirer@2.4.1: + /enquirer@2.4.1: + resolution: {integrity: sha512-rRqJg/6gd538VHvR3PSrdRBb/1Vy2YfzHqzvbhGIQpDRKIa4FgV/54b5Q1xYSxOOwKvjXweS26E0Q+nAMwp2pQ==} + engines: {node: '>=8.6'} dependencies: ansi-colors: 4.1.3 strip-ansi: 6.0.1 + dev: true - env-paths@2.2.1: {} + /env-paths@2.2.1: + resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} + engines: {node: '>=6'} + dev: true - error-ex@1.3.2: + /error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} dependencies: is-arrayish: 0.2.1 + dev: true - es-abstract@1.23.3: + /es-abstract@1.23.3: + resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} + engines: {node: '>= 0.4'} dependencies: array-buffer-byte-length: 1.0.1 arraybuffer.prototype.slice: 1.0.3 @@ -15579,7 +10434,7 @@ snapshots: function.prototype.name: 1.1.6 get-intrinsic: 1.2.4 get-symbol-description: 1.0.2 - globalthis: 1.0.3 + globalthis: 1.0.4 gopd: 1.0.1 has-property-descriptors: 1.0.2 has-proto: 1.0.3 @@ -15610,14 +10465,23 @@ snapshots: typed-array-length: 1.0.6 unbox-primitive: 1.0.2 which-typed-array: 1.1.15 + dev: true - es-define-property@1.0.0: + /es-define-property@1.0.0: + resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} + engines: {node: '>= 0.4'} dependencies: get-intrinsic: 1.2.4 + dev: true - es-errors@1.3.0: {} + /es-errors@1.3.0: + resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} + engines: {node: '>= 0.4'} + dev: true - es-iterator-helpers@1.0.18: + /es-iterator-helpers@1.0.19: + resolution: {integrity: sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -15626,35 +10490,51 @@ snapshots: es-set-tostringtag: 2.0.3 function-bind: 1.1.2 get-intrinsic: 1.2.4 - globalthis: 1.0.3 + globalthis: 1.0.4 has-property-descriptors: 1.0.2 has-proto: 1.0.3 has-symbols: 1.0.3 internal-slot: 1.0.7 iterator.prototype: 1.1.2 safe-array-concat: 1.1.2 + dev: true - es-object-atoms@1.0.0: + /es-object-atoms@1.0.0: + resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} + engines: {node: '>= 0.4'} dependencies: es-errors: 1.3.0 + dev: true - es-set-tostringtag@2.0.3: + /es-set-tostringtag@2.0.3: + resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} + engines: {node: '>= 0.4'} dependencies: get-intrinsic: 1.2.4 has-tostringtag: 1.0.2 hasown: 2.0.2 + dev: true - es-shim-unscopables@1.0.2: + /es-shim-unscopables@1.0.2: + resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} dependencies: hasown: 2.0.2 + dev: true - es-to-primitive@1.2.1: + /es-to-primitive@1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} dependencies: is-callable: 1.2.7 is-date-object: 1.0.5 is-symbol: 1.0.4 + dev: true - esbuild@0.18.13: + /esbuild@0.18.13: + resolution: {integrity: sha512-vhg/WR/Oiu4oUIkVhmfcc23G6/zWuEQKFS+yiosSHe4aN6+DQRXIfeloYGibIfVhkr4wyfuVsGNLr+sQU1rWWw==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true optionalDependencies: '@esbuild/android-arm': 0.18.13 '@esbuild/android-arm64': 0.18.13 @@ -15678,34 +10558,13 @@ snapshots: '@esbuild/win32-arm64': 0.18.13 '@esbuild/win32-ia32': 0.18.13 '@esbuild/win32-x64': 0.18.13 + dev: true - esbuild@0.19.12: - optionalDependencies: - '@esbuild/aix-ppc64': 0.19.12 - '@esbuild/android-arm': 0.19.12 - '@esbuild/android-arm64': 0.19.12 - '@esbuild/android-x64': 0.19.12 - '@esbuild/darwin-arm64': 0.19.12 - '@esbuild/darwin-x64': 0.19.12 - '@esbuild/freebsd-arm64': 0.19.12 - '@esbuild/freebsd-x64': 0.19.12 - '@esbuild/linux-arm': 0.19.12 - '@esbuild/linux-arm64': 0.19.12 - '@esbuild/linux-ia32': 0.19.12 - '@esbuild/linux-loong64': 0.19.12 - '@esbuild/linux-mips64el': 0.19.12 - '@esbuild/linux-ppc64': 0.19.12 - '@esbuild/linux-riscv64': 0.19.12 - '@esbuild/linux-s390x': 0.19.12 - '@esbuild/linux-x64': 0.19.12 - '@esbuild/netbsd-x64': 0.19.12 - '@esbuild/openbsd-x64': 0.19.12 - '@esbuild/sunos-x64': 0.19.12 - '@esbuild/win32-arm64': 0.19.12 - '@esbuild/win32-ia32': 0.19.12 - '@esbuild/win32-x64': 0.19.12 - - esbuild@0.20.2: + /esbuild@0.20.2: + resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true optionalDependencies: '@esbuild/aix-ppc64': 0.20.2 '@esbuild/android-arm': 0.20.2 @@ -15730,20 +10589,40 @@ snapshots: '@esbuild/win32-arm64': 0.20.2 '@esbuild/win32-ia32': 0.20.2 '@esbuild/win32-x64': 0.20.2 + dev: true - escalade@3.1.2: {} + /escalade@3.1.2: + resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} + engines: {node: '>=6'} + dev: true - escape-html@1.0.3: {} + /escape-html@1.0.3: + resolution: {integrity: sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==} + dev: true - escape-latex@1.2.0: {} + /escape-latex@1.2.0: + resolution: {integrity: sha512-nV5aVWW1K0wEiUIEdZ4erkGGH8mDxGyxSeqPzRNtWP7ataw+/olFObw7hujFWlVjNsaDFw5VZ5NzVSIqRgfTiw==} + dev: true - escape-string-regexp@1.0.5: {} + /escape-string-regexp@1.0.5: + resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} + engines: {node: '>=0.8.0'} + dev: true - escape-string-regexp@2.0.0: {} + /escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + dev: true - escape-string-regexp@4.0.0: {} + /escape-string-regexp@4.0.0: + resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} + engines: {node: '>=10'} + dev: true - escodegen@1.8.1: + /escodegen@1.8.1: + resolution: {integrity: sha512-yhi5S+mNTOuRvyW4gWlg5W1byMaQGWWSYHXsuFZ7GBo7tpyOwi2EdzMP/QWxh9hwkD2m+wDVHJsxhRIj+v/b/A==} + engines: {node: '>=0.12.0'} + hasBin: true dependencies: esprima: 2.7.3 estraverse: 1.9.3 @@ -15751,45 +10630,71 @@ snapshots: optionator: 0.8.3 optionalDependencies: source-map: 0.2.0 + dev: true - escodegen@2.1.0: + /escodegen@2.1.0: + resolution: {integrity: sha512-2NlIDTwUWJN0mRPQOdtQBzbUHvdGY2P1VXSyU83Q3xKxM7WHX2Ql8dKq782Q9TgQUNOLEzEYu9bzLNj1q88I5w==} + engines: {node: '>=6.0'} + hasBin: true dependencies: esprima: 4.0.1 estraverse: 5.3.0 esutils: 2.0.3 optionalDependencies: source-map: 0.6.1 + dev: true - eslint-config-prettier@9.1.0(eslint@8.57.0): + /eslint-config-prettier@9.1.0(eslint@8.57.0): + resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} + hasBin: true + peerDependencies: + eslint: '>=7.0.0' dependencies: eslint: 8.57.0 + dev: true - eslint-config-turbo@1.13.2(eslint@8.57.0): + /eslint-config-turbo@1.13.3(eslint@8.57.0): + resolution: {integrity: sha512-if/QtwEiWZ5b7Bg8yZBPSvS0TeCG2Zvfa/+XBYANS7uSYucjmW+BBC8enJB0PqpB/YLGGOumeo3x7h1Nuba9iw==} + peerDependencies: + eslint: '>6.6.0' dependencies: eslint: 8.57.0 - eslint-plugin-turbo: 1.13.2(eslint@8.57.0) + eslint-plugin-turbo: 1.13.3(eslint@8.57.0) + dev: true - eslint-import-resolver-alias@1.1.2(eslint-plugin-import@2.29.1): + /eslint-import-resolver-alias@1.1.2(eslint-plugin-import@2.29.1): + resolution: {integrity: sha512-WdviM1Eu834zsfjHtcGHtGfcu+F30Od3V7I9Fi57uhBEwPkjDcii7/yW8jAT+gOhn4P/vOxxNAXbFAKsrrc15w==} + engines: {node: '>= 4'} + peerDependencies: + eslint-plugin-import: '>=1.4.0' dependencies: eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + dev: true - eslint-import-resolver-node@0.3.9: + /eslint-import-resolver-node@0.3.9: + resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} dependencies: debug: 3.2.7 is-core-module: 2.13.1 resolve: 1.22.8 transitivePeerDependencies: - supports-color + dev: true - eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0): + /eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0): + resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} + engines: {node: ^14.18.0 || >=16.0.0} + peerDependencies: + eslint: '*' + eslint-plugin-import: '*' dependencies: debug: 4.3.4(supports-color@8.1.1) - enhanced-resolve: 5.16.0 + enhanced-resolve: 5.16.1 eslint: 8.57.0 eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) fast-glob: 3.3.2 - get-tsconfig: 4.7.3 + get-tsconfig: 4.7.5 is-core-module: 2.13.1 is-glob: 4.0.3 transitivePeerDependencies: @@ -15797,8 +10702,28 @@ snapshots: - eslint-import-resolver-node - eslint-import-resolver-webpack - supports-color + dev: true - eslint-module-utils@2.8.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): + /eslint-module-utils@2.8.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): + resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: '*' + eslint-import-resolver-node: '*' + eslint-import-resolver-typescript: '*' + eslint-import-resolver-webpack: '*' + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true + eslint: + optional: true + eslint-import-resolver-node: + optional: true + eslint-import-resolver-typescript: + optional: true + eslint-import-resolver-webpack: + optional: true dependencies: '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.5) debug: 3.2.7 @@ -15807,14 +10732,28 @@ snapshots: eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0) transitivePeerDependencies: - supports-color + dev: true - eslint-plugin-eslint-comments@3.2.0(eslint@8.57.0): + /eslint-plugin-eslint-comments@3.2.0(eslint@8.57.0): + resolution: {integrity: sha512-0jkOl0hfojIHHmEHgmNdqv4fmh7300NdpA9FFpF7zaoLvB/QeXOGNLIo86oAveJFrfB1p05kC8hpEMHM8DwWVQ==} + engines: {node: '>=6.5.0'} + peerDependencies: + eslint: '>=4.19.1' dependencies: escape-string-regexp: 1.0.5 eslint: 8.57.0 ignore: 5.3.1 + dev: true - eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): + /eslint-plugin-import@2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): + resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} + engines: {node: '>=4'} + peerDependencies: + '@typescript-eslint/parser': '*' + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 + peerDependenciesMeta: + '@typescript-eslint/parser': + optional: true dependencies: '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.5) array-includes: 3.1.8 @@ -15839,20 +10778,37 @@ snapshots: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color + dev: true - eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.5): + /eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.5): + resolution: {integrity: sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@typescript-eslint/eslint-plugin': ^5.0.0 || ^6.0.0 || ^7.0.0 + eslint: ^7.0.0 || ^8.0.0 + jest: '*' + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true + jest: + optional: true dependencies: '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.4.5) '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.5) eslint: 8.57.0 - jest: 29.7.0(@types/node@20.12.7) + jest: 29.7.0(@types/node@20.12.12) transitivePeerDependencies: - supports-color - typescript + dev: true - eslint-plugin-jsx-a11y@6.8.0(eslint@8.57.0): + /eslint-plugin-jsx-a11y@6.8.0(eslint@8.57.0): + resolution: {integrity: sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==} + engines: {node: '>=4.0'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 dependencies: - '@babel/runtime': 7.24.4 + '@babel/runtime': 7.24.5 aria-query: 5.3.0 array-includes: 3.1.8 array.prototype.flatmap: 1.3.2 @@ -15861,7 +10817,7 @@ snapshots: axobject-query: 3.2.1 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - es-iterator-helpers: 1.0.18 + es-iterator-helpers: 1.0.19 eslint: 8.57.0 hasown: 2.0.2 jsx-ast-utils: 3.3.5 @@ -15869,17 +10825,35 @@ snapshots: minimatch: 3.1.2 object.entries: 1.1.8 object.fromentries: 2.0.8 + dev: true - eslint-plugin-playwright@0.16.0(eslint-plugin-jest@27.9.0)(eslint@8.57.0): + /eslint-plugin-playwright@0.16.0(eslint-plugin-jest@27.9.0)(eslint@8.57.0): + resolution: {integrity: sha512-DcHpF0SLbNeh9MT4pMzUGuUSnJ7q5MWbP8sSEFIMS6j7Ggnduq8ghNlfhURgty4c1YFny7Ge9xYTO1FSAoV2Vw==} + peerDependencies: + eslint: '>=7' + eslint-plugin-jest: '>=25' + peerDependenciesMeta: + eslint-plugin-jest: + optional: true dependencies: eslint: 8.57.0 eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.5) + dev: true - eslint-plugin-react-hooks@4.6.0(eslint@8.57.0): + /eslint-plugin-react-hooks@4.6.2(eslint@8.57.0): + resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==} + engines: {node: '>=10'} + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 dependencies: eslint: 8.57.0 + dev: true - eslint-plugin-react@7.34.1(eslint@8.57.0): + /eslint-plugin-react@7.34.1(eslint@8.57.0): + resolution: {integrity: sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==} + engines: {node: '>=4'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 dependencies: array-includes: 3.1.8 array.prototype.findlast: 1.2.5 @@ -15887,7 +10861,7 @@ snapshots: array.prototype.toreversed: 1.1.2 array.prototype.tosorted: 1.1.3 doctrine: 2.1.0 - es-iterator-helpers: 1.0.18 + es-iterator-helpers: 1.0.19 eslint: 8.57.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.5 @@ -15900,28 +10874,44 @@ snapshots: resolve: 2.0.0-next.5 semver: 6.3.1 string.prototype.matchall: 4.0.11 + dev: true - eslint-plugin-testing-library@6.2.2(eslint@8.57.0)(typescript@5.4.5): + /eslint-plugin-testing-library@6.2.2(eslint@8.57.0)(typescript@5.4.5): + resolution: {integrity: sha512-1E94YOTUDnOjSLyvOwmbVDzQi/WkKm3WVrMXu6SmBr6DN95xTGZmI6HJ/eOkSXh/DlheRsxaPsJvZByDBhWLVQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6'} + peerDependencies: + eslint: ^7.5.0 || ^8.0.0 dependencies: '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.5) eslint: 8.57.0 transitivePeerDependencies: - supports-color - typescript + dev: true - eslint-plugin-tsdoc@0.2.17: + /eslint-plugin-tsdoc@0.2.17: + resolution: {integrity: sha512-xRmVi7Zx44lOBuYqG8vzTXuL6IdGOeF9nHX17bjJ8+VE6fsxpdGem0/SBTmAwgYMKYB1WBkqRJVQ+n8GK041pA==} dependencies: '@microsoft/tsdoc': 0.14.2 '@microsoft/tsdoc-config': 0.16.2 + dev: true - eslint-plugin-turbo@1.13.2(eslint@8.57.0): + /eslint-plugin-turbo@1.13.3(eslint@8.57.0): + resolution: {integrity: sha512-RjmlnqYsEqnJ+U3M3IS5jLJDjWv5NsvReCpsC61n5pJ4JMHTZ/lU0EIoL1ccuL1L5wP0APzdXdByBxERcPQ+Nw==} + peerDependencies: + eslint: '>6.6.0' dependencies: dotenv: 16.0.3 eslint: 8.57.0 + dev: true - eslint-plugin-unicorn@48.0.1(eslint@8.57.0): + /eslint-plugin-unicorn@48.0.1(eslint@8.57.0): + resolution: {integrity: sha512-FW+4r20myG/DqFcCSzoumaddKBicIPeFnTrifon2mWIzlfyvzwyqZjqVP7m4Cqr/ZYisS2aiLghkUWaPg6vtCw==} + engines: {node: '>=16'} + peerDependencies: + eslint: '>=8.44.0' dependencies: - '@babel/helper-validator-identifier': 7.22.20 + '@babel/helper-validator-identifier': 7.24.5 '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) ci-info: 3.9.0 clean-regexp: 1.0.0 @@ -15935,32 +10925,60 @@ snapshots: read-pkg-up: 7.0.1 regexp-tree: 0.1.27 regjsparser: 0.10.0 - semver: 7.6.0 + semver: 7.6.2 strip-indent: 3.0.0 + dev: true - eslint-plugin-unused-imports@3.1.0(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.57.0): + /eslint-plugin-unused-imports@3.2.0(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.57.0): + resolution: {integrity: sha512-6uXyn6xdINEpxE1MtDjxQsyXB37lfyO2yKGVVgtD7WEWQGORSOZjgrD6hBhvGv4/SO+TOlS+UnC6JppRqbuwGQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + '@typescript-eslint/eslint-plugin': 6 - 7 + eslint: '8' + peerDependenciesMeta: + '@typescript-eslint/eslint-plugin': + optional: true dependencies: '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.4.5) eslint: 8.57.0 eslint-rule-composer: 0.3.0 + dev: true - eslint-rule-composer@0.3.0: {} + /eslint-rule-composer@0.3.0: + resolution: {integrity: sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==} + engines: {node: '>=4.0.0'} + dev: true - eslint-scope@5.1.1: + /eslint-scope@5.1.1: + resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} + engines: {node: '>=8.0.0'} dependencies: esrecurse: 4.3.0 estraverse: 4.3.0 + dev: true - eslint-scope@7.2.2: + /eslint-scope@7.2.2: + resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 + dev: true - eslint-visitor-keys@2.1.0: {} + /eslint-visitor-keys@2.1.0: + resolution: {integrity: sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==} + engines: {node: '>=10'} + dev: true - eslint-visitor-keys@3.4.3: {} + /eslint-visitor-keys@3.4.3: + resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + dev: true - eslint@8.57.0: + /eslint@8.57.0: + resolution: {integrity: sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + hasBin: true dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) '@eslint-community/regexpp': 4.10.0 @@ -15997,44 +11015,83 @@ snapshots: lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 - optionator: 0.9.3 + optionator: 0.9.4 strip-ansi: 6.0.1 text-table: 0.2.0 transitivePeerDependencies: - supports-color + dev: true - espree@9.6.1: + /espree@9.6.1: + resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: acorn: 8.11.3 acorn-jsx: 5.3.2(acorn@8.11.3) eslint-visitor-keys: 3.4.3 + dev: true - esprima@2.7.3: {} + /esprima@2.7.3: + resolution: {integrity: sha512-OarPfz0lFCiW4/AV2Oy1Rp9qu0iusTKqykwTspGCZtPxmF81JR4MmIebvF1F9+UOKth2ZubLQ4XGGaU+hSn99A==} + engines: {node: '>=0.10.0'} + hasBin: true + dev: true - esprima@4.0.1: {} + /esprima@4.0.1: + resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} + engines: {node: '>=4'} + hasBin: true + dev: true - esquery@1.5.0: + /esquery@1.5.0: + resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} + engines: {node: '>=0.10'} dependencies: estraverse: 5.3.0 + dev: true - esrecurse@4.3.0: + /esrecurse@4.3.0: + resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} + engines: {node: '>=4.0'} dependencies: estraverse: 5.3.0 + dev: true - estraverse@1.9.3: {} + /estraverse@1.9.3: + resolution: {integrity: sha512-25w1fMXQrGdoquWnScXZGckOv+Wes+JDnuN/+7ex3SauFRS72r2lFDec0EKPt2YD1wUJ/IrfEex+9yp4hfSOJA==} + engines: {node: '>=0.10.0'} + dev: true - estraverse@4.3.0: {} + /estraverse@4.3.0: + resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} + engines: {node: '>=4.0'} + dev: true - estraverse@5.3.0: {} + /estraverse@5.3.0: + resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} + engines: {node: '>=4.0'} + dev: true - esutils@2.0.3: {} + /esutils@2.0.3: + resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} + engines: {node: '>=0.10.0'} + dev: true - etag@1.8.1: {} + /etag@1.8.1: + resolution: {integrity: sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==} + engines: {node: '>= 0.6'} + dev: true - eth-gas-reporter@0.2.27: + /eth-gas-reporter@0.2.27: + resolution: {integrity: sha512-femhvoAM7wL0GcI8ozTdxfuBtBFJ9qsyIAsmKVjlWAHUbdnnXHt+lKzz/kmldM5lA9jLuNHGwuIxorNpLbR1Zw==} + peerDependencies: + '@codechecks/client': ^0.1.0 + peerDependenciesMeta: + '@codechecks/client': + optional: true dependencies: '@solidity-parser/parser': 0.14.5 - axios: 1.6.8 + axios: 1.7.2 cli-table3: 0.5.1 colors: 1.4.0 ethereum-cryptography: 1.2.0 @@ -16050,12 +11107,16 @@ snapshots: - bufferutil - debug - utf-8-validate + dev: true - ethereum-bloom-filters@1.1.0: + /ethereum-bloom-filters@1.1.0: + resolution: {integrity: sha512-J1gDRkLpuGNvWYzWslBQR9cDV4nd4kfvVTE/Wy4Kkm4yb3EYRSlyi0eB/inTsSTTVyA0+HyzHgbr95Fn/Z1fSw==} dependencies: '@noble/hashes': 1.4.0 + dev: true - ethereum-cryptography@0.1.3: + /ethereum-cryptography@0.1.3: + resolution: {integrity: sha512-w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==} dependencies: '@types/pbkdf2': 3.1.2 '@types/secp256k1': 4.0.6 @@ -16072,27 +11133,35 @@ snapshots: scrypt-js: 3.0.1 secp256k1: 4.0.3 setimmediate: 1.0.5 + dev: true - ethereum-cryptography@1.2.0: + /ethereum-cryptography@1.2.0: + resolution: {integrity: sha512-6yFQC9b5ug6/17CQpCyE3k9eKBMdhyVjzUy1WkiuY/E4vj/SXDBbCw8QEIaXqf0Mf2SnY6RmpDcwlUmBSS0EJw==} dependencies: '@noble/hashes': 1.2.0 '@noble/secp256k1': 1.7.1 '@scure/bip32': 1.1.5 '@scure/bip39': 1.1.1 + dev: true - ethereum-cryptography@2.1.3: + /ethereum-cryptography@2.1.3: + resolution: {integrity: sha512-BlwbIL7/P45W8FGW2r7LGuvoEZ+7PWsniMvQ4p5s2xCyw9tmaDlpfsN9HjAucbF+t/qpVHwZUisgfK24TCW8aA==} dependencies: '@noble/curves': 1.3.0 '@noble/hashes': 1.3.3 '@scure/bip32': 1.3.3 '@scure/bip39': 1.2.2 + dev: true - ethereumjs-abi@0.6.8: + /ethereumjs-abi@0.6.8: + resolution: {integrity: sha512-Tx0r/iXI6r+lRsdvkFDlut0N08jWMnKRZ6Gkq+Nmw75lZe4e6o3EkSnkaBP5NF6+m5PTGAr9JP43N3LyeoglsA==} dependencies: bn.js: 4.12.0 ethereumjs-util: 6.2.1 + dev: true - ethereumjs-util@6.2.1: + /ethereumjs-util@6.2.1: + resolution: {integrity: sha512-W2Ktez4L01Vexijrm5EB6w7dg4n/TgpoYU4avuT5T3Vmnw/eCRtiBrJfQYS/DCSvDIOLn2k57GcHdeBcgVxAqw==} dependencies: '@types/bn.js': 4.11.6 bn.js: 4.12.0 @@ -16101,16 +11170,21 @@ snapshots: ethereum-cryptography: 0.1.3 ethjs-util: 0.1.6 rlp: 2.2.7 + dev: true - ethereumjs-util@7.1.5: + /ethereumjs-util@7.1.5: + resolution: {integrity: sha512-SDl5kKrQAudFBUe5OJM9Ac6WmMyYmXX/6sTmLZ3ffG2eY6ZIGBes3pEDxNN6V72WyOw4CPD5RomKdsa8DAAwLg==} + engines: {node: '>=10.0.0'} dependencies: '@types/bn.js': 5.1.5 bn.js: 5.2.1 create-hash: 1.2.0 ethereum-cryptography: 0.1.3 rlp: 2.2.7 + dev: true - ethers@5.6.2: + /ethers@5.6.2: + resolution: {integrity: sha512-EzGCbns24/Yluu7+ToWnMca3SXJ1Jk1BvWB7CCmVNxyOeM4LLvw2OLuIHhlkhQk1dtOcj9UMsdkxUh8RiG1dxQ==} dependencies: '@ethersproject/abi': 5.6.0 '@ethersproject/abstract-provider': 5.6.0 @@ -16145,8 +11219,10 @@ snapshots: transitivePeerDependencies: - bufferutil - utf-8-validate + dev: false - ethers@5.7.2: + /ethers@5.7.2: + resolution: {integrity: sha512-wswUsmWo1aOK8rR7DIKiWSw9DbLWe6x98Jrn8wcTflTVvaXhAMaB5zGAXy0GYQEQp9iO1iSHWVyARQm11zUtyg==} dependencies: '@ethersproject/abi': 5.7.0 '@ethersproject/abstract-provider': 5.7.0 @@ -16182,7 +11258,9 @@ snapshots: - bufferutil - utf-8-validate - ethers@6.11.1: + /ethers@6.12.1: + resolution: {integrity: sha512-j6wcVoZf06nqEcBbDWkKg8Fp895SS96dSnTCjiXT+8vt2o02raTn4Lo9ERUuIVU5bAjoPYeA+7ytQFexFmLuVw==} + engines: {node: '>=14.0.0'} dependencies: '@adraffy/ens-normalize': 1.10.1 '@noble/curves': 1.2.0 @@ -16194,30 +11272,48 @@ snapshots: transitivePeerDependencies: - bufferutil - utf-8-validate + dev: true - ethjs-unit@0.1.6: + /ethjs-unit@0.1.6: + resolution: {integrity: sha512-/Sn9Y0oKl0uqQuvgFk/zQgR7aw1g36qX/jzSQ5lSwlO0GigPymk4eGQfeNTD03w1dPOqfz8V77Cy43jH56pagw==} + engines: {node: '>=6.5.0', npm: '>=3'} dependencies: bn.js: 4.11.6 number-to-bn: 1.7.0 + dev: true - ethjs-util@0.1.6: + /ethjs-util@0.1.6: + resolution: {integrity: sha512-CUnVOQq7gSpDHZVVrQW8ExxUETWrnrvXYvYz55wOU8Uj4VCgw56XC2B/fVqQN+f7gmrnRHSLVnFAwsCuNwji8w==} + engines: {node: '>=6.5.0', npm: '>=3'} dependencies: is-hex-prefixed: 1.0.0 strip-hex-prefix: 1.0.0 + dev: true - events@1.1.1: {} + /events@1.1.1: + resolution: {integrity: sha512-kEcvvCBByWXGnZy6JUlgAp2gBIUjfCAV6P6TgT1/aaQKcmuAEC4OZTV1I4EWQLz2gxZw76atuVyvHhTxvi0Flw==} + engines: {node: '>=0.4.x'} + dev: true - evm-bn@1.1.2(@ethersproject/bignumber@5.7.0): + /evm-bn@1.1.2(@ethersproject/bignumber@5.7.0): + resolution: {integrity: sha512-Lq8CT1EAjSeN+Yk0h1hpSwnZyMA4Xir6fQD4vlStljAuW2xr7qLOEGDLGsTa9sU2e40EYIumA4wYhMC/e+lyKw==} + peerDependencies: + '@ethersproject/bignumber': 5.x dependencies: '@ethersproject/bignumber': 5.7.0 from-exponential: 1.1.1 + dev: true - evp_bytestokey@1.0.3: + /evp_bytestokey@1.0.3: + resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} dependencies: md5.js: 1.3.5 safe-buffer: 5.2.1 + dev: true - execa@5.1.1: + /execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} dependencies: cross-spawn: 7.0.3 get-stream: 6.0.1 @@ -16228,18 +11324,27 @@ snapshots: onetime: 5.1.2 signal-exit: 3.0.7 strip-final-newline: 2.0.0 + dev: true - exit@0.1.2: {} + /exit@0.1.2: + resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} + engines: {node: '>= 0.8.0'} + dev: true - expect@29.7.0: + /expect@29.7.0: + resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/expect-utils': 29.7.0 jest-get-type: 29.6.3 jest-matcher-utils: 29.7.0 jest-message-util: 29.7.0 jest-util: 29.7.0 + dev: true - express@4.19.2: + /express@4.19.2: + resolution: {integrity: sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q==} + engines: {node: '>= 0.10.0'} dependencies: accepts: 1.3.8 array-flatten: 1.1.1 @@ -16274,61 +11379,94 @@ snapshots: vary: 1.1.2 transitivePeerDependencies: - supports-color + dev: true - external-editor@3.1.0: + /external-editor@3.1.0: + resolution: {integrity: sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==} + engines: {node: '>=4'} dependencies: chardet: 0.7.0 iconv-lite: 0.4.24 tmp: 0.0.33 - extract-files@11.0.0: {} + /extract-files@11.0.0: + resolution: {integrity: sha512-FuoE1qtbJ4bBVvv94CC7s0oTnKUGvQs+Rjf1L2SJFfS+HTVVjhPFtehPdQ0JiGPqVNfSSZvL5yzHHQq2Z4WNhQ==} + engines: {node: ^12.20 || >= 14.13} + dev: true - fast-decode-uri-component@1.0.1: {} + /fast-decode-uri-component@1.0.1: + resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==} + dev: true - fast-deep-equal@3.1.3: {} + /fast-deep-equal@3.1.3: + resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} + dev: true - fast-glob@3.3.2: + /fast-glob@3.3.2: + resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} + engines: {node: '>=8.6.0'} dependencies: '@nodelib/fs.stat': 2.0.5 '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.5 + micromatch: 4.0.7 + dev: true - fast-json-stable-stringify@2.1.0: {} + /fast-json-stable-stringify@2.1.0: + resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} + dev: true - fast-jwt@3.3.3: + /fast-jwt@3.3.3: + resolution: {integrity: sha512-oS3P8bRI24oPLJUePt2OgF64FBQib5TlgHLFQxYNoHYEEZe0gU3cKjJAVqpB5XKV/zjxmq4Hzbk3fgfW/wRz8Q==} + engines: {node: '>=16 <22'} dependencies: '@lukeed/ms': 2.0.2 asn1.js: 5.4.1 ecdsa-sig-formatter: 1.0.11 mnemonist: 0.39.8 + dev: true - fast-levenshtein@2.0.6: {} + /fast-levenshtein@2.0.6: + resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} + dev: true - fast-querystring@1.1.2: + /fast-querystring@1.1.2: + resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} dependencies: fast-decode-uri-component: 1.0.1 + dev: true - fast-url-parser@1.1.3: + /fast-url-parser@1.1.3: + resolution: {integrity: sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==} dependencies: punycode: 1.4.1 + dev: true - fast-xml-parser@4.2.5: + /fast-xml-parser@4.2.5: + resolution: {integrity: sha512-B9/wizE4WngqQftFPmdaMYlXoJlJOYxGQOanC77fq9k8+Z0v5dDSVh+3glErdIROP//s/jgb7ZuxKfB8nVyo0g==} + hasBin: true dependencies: strnum: 1.0.5 - fastq@1.17.1: + /fastq@1.17.1: + resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} dependencies: reusify: 1.0.4 + dev: true - fb-watchman@2.0.2: + /fb-watchman@2.0.2: + resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} dependencies: bser: 2.1.1 + dev: true - fbjs-css-vars@1.0.2: {} + /fbjs-css-vars@1.0.2: + resolution: {integrity: sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==} + dev: true - fbjs@3.0.5: + /fbjs@3.0.5: + resolution: {integrity: sha512-ztsSx77JBtkuMrEypfhgc3cI0+0h+svqeie7xHbh1k/IKdcydnvadp/mUaGgjAOXQmQSxsqgaRhS3q9fy+1kxg==} dependencies: cross-fetch: 3.1.8 fbjs-css-vars: 1.0.2 @@ -16339,25 +11477,38 @@ snapshots: ua-parser-js: 1.0.37 transitivePeerDependencies: - encoding + dev: true - fetch-blob@3.2.0: + /fetch-blob@3.2.0: + resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} + engines: {node: ^12.20 || >= 14.13} dependencies: node-domexception: 1.0.0 web-streams-polyfill: 3.3.3 + dev: false - figures@3.2.0: + /figures@3.2.0: + resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==} + engines: {node: '>=8'} dependencies: escape-string-regexp: 1.0.5 + dev: true - file-entry-cache@6.0.1: + /file-entry-cache@6.0.1: + resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} + engines: {node: ^10.12.0 || >=12.0.0} dependencies: flat-cache: 3.2.0 + dev: true - filing-cabinet@4.2.0: + /filing-cabinet@4.2.0: + resolution: {integrity: sha512-YZ21ryzRcyqxpyKggdYSoXx//d3sCJzM3lsYoaeg/FyXdADGJrUl+BW1KIglaVLJN5BBcMtWylkygY8zBp2MrQ==} + engines: {node: '>=14'} + hasBin: true dependencies: app-module-path: 2.2.0 commander: 10.0.1 - enhanced-resolve: 5.16.0 + enhanced-resolve: 5.16.1 is-relative-path: 1.0.2 module-definition: 5.0.1 module-lookup-amd: 8.0.5 @@ -16367,12 +11518,18 @@ snapshots: stylus-lookup: 5.0.1 tsconfig-paths: 4.2.0 typescript: 5.4.5 + dev: true - fill-range@7.0.1: + /fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 + dev: true - finalhandler@1.2.0: + /finalhandler@1.2.0: + resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} + engines: {node: '>= 0.8'} dependencies: debug: 2.6.9 encodeurl: 1.0.2 @@ -16383,207 +11540,352 @@ snapshots: unpipe: 1.0.0 transitivePeerDependencies: - supports-color + dev: true - find-up@2.1.0: + /find-up@2.1.0: + resolution: {integrity: sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==} + engines: {node: '>=4'} dependencies: locate-path: 2.0.0 + dev: true - find-up@3.0.0: + /find-up@3.0.0: + resolution: {integrity: sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==} + engines: {node: '>=6'} dependencies: locate-path: 3.0.0 + dev: true - find-up@4.1.0: + /find-up@4.1.0: + resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} + engines: {node: '>=8'} dependencies: locate-path: 5.0.0 path-exists: 4.0.0 + dev: true - find-up@5.0.0: + /find-up@5.0.0: + resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} + engines: {node: '>=10'} dependencies: locate-path: 6.0.0 path-exists: 4.0.0 + dev: true - flat-cache@3.2.0: + /flat-cache@3.2.0: + resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} + engines: {node: ^10.12.0 || >=12.0.0} dependencies: flatted: 3.3.1 keyv: 4.5.4 rimraf: 3.0.2 + dev: true - flat@5.0.2: {} + /flat@5.0.2: + resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} + hasBin: true + dev: true - flatted@3.3.1: {} + /flatted@3.3.1: + resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} + dev: true - follow-redirects@1.15.6(debug@4.3.4): + /follow-redirects@1.15.6(debug@4.3.4): + resolution: {integrity: sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==} + engines: {node: '>=4.0'} + peerDependencies: + debug: '*' + peerDependenciesMeta: + debug: + optional: true dependencies: debug: 4.3.4(supports-color@8.1.1) - for-each@0.3.3: + /for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} dependencies: is-callable: 1.2.7 + dev: true - foreground-child@3.1.1: + /foreground-child@3.1.1: + resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + engines: {node: '>=14'} dependencies: cross-spawn: 7.0.3 signal-exit: 4.1.0 + dev: true - form-data@2.5.1: + /form-data@2.5.1: + resolution: {integrity: sha512-m21N3WOmEEURgk6B9GLOE4RuWOFf28Lhh9qGYeNlGq4VDXUlJy2th2slBNU8Gp8EzloYZOibZJ7t5ecIrFSjVA==} + engines: {node: '>= 0.12'} dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 mime-types: 2.1.35 + dev: true - form-data@4.0.0: + /form-data@4.0.0: + resolution: {integrity: sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==} + engines: {node: '>= 6'} dependencies: asynckit: 0.4.0 combined-stream: 1.0.8 mime-types: 2.1.35 - formdata-polyfill@4.0.10: + /formdata-polyfill@4.0.10: + resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} + engines: {node: '>=12.20.0'} dependencies: fetch-blob: 3.2.0 + dev: false - forwarded@0.2.0: {} + /forwarded@0.2.0: + resolution: {integrity: sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==} + engines: {node: '>= 0.6'} + dev: true - fp-ts@1.19.3: {} + /fp-ts@1.19.3: + resolution: {integrity: sha512-H5KQDspykdHuztLTg+ajGN0Z2qUjcEf3Ybxc6hLt0k7/zPkn29XnKnxlBPyW2XIddWrGaJBzBl4VLYOtk39yZg==} + dev: true - fraction.js@4.3.7: {} + /fraction.js@4.3.7: + resolution: {integrity: sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==} + dev: true - fresh@0.5.2: {} + /fresh@0.5.2: + resolution: {integrity: sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==} + engines: {node: '>= 0.6'} + dev: true - from-exponential@1.1.1: {} + /from-exponential@1.1.1: + resolution: {integrity: sha512-VBE7f5OVnYwdgB3LHa+Qo29h8qVpxhVO9Trlc+AWm+/XNAgks1tAwMFHb33mjeiof77GglsJzeYF7OqXrROP/A==} + dev: true - fs-constants@1.0.0: {} + /fs-constants@1.0.0: + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + dev: true - fs-extra@0.30.0: + /fs-extra@0.30.0: + resolution: {integrity: sha512-UvSPKyhMn6LEd/WpUaV9C9t3zATuqoqfWc3QdPhPLb58prN9tqYPlPWi8Krxi44loBoUzlobqZ3+8tGpxxSzwA==} dependencies: graceful-fs: 4.2.11 jsonfile: 2.4.0 klaw: 1.3.1 path-is-absolute: 1.0.1 rimraf: 2.7.1 + dev: true - fs-extra@7.0.1: + /fs-extra@7.0.1: + resolution: {integrity: sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==} + engines: {node: '>=6 <7 || >=8'} dependencies: graceful-fs: 4.2.11 jsonfile: 4.0.0 universalify: 0.1.2 + dev: true - fs-extra@8.1.0: + /fs-extra@8.1.0: + resolution: {integrity: sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==} + engines: {node: '>=6 <7 || >=8'} dependencies: graceful-fs: 4.2.11 jsonfile: 4.0.0 universalify: 0.1.2 + dev: true - fs-extra@9.1.0: + /fs-extra@9.1.0: + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + engines: {node: '>=10'} dependencies: at-least-node: 1.0.0 graceful-fs: 4.2.11 jsonfile: 6.1.0 universalify: 2.0.1 + dev: true - fs-readdir-recursive@1.1.0: {} + /fs-readdir-recursive@1.1.0: + resolution: {integrity: sha512-GNanXlVr2pf02+sPN40XN8HG+ePaNcvM0q5mZBd668Obwb0yD5GiUbZOFgwn8kGMY6I3mdyDJzieUy3PTYyTRA==} + dev: true - fs.realpath@1.0.0: {} + /fs.realpath@1.0.0: + resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} - fsevents@2.3.2: + /fsevents@2.3.2: + resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true optional: true - fsevents@2.3.3: + /fsevents@2.3.3: + resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} + engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} + os: [darwin] + requiresBuild: true + dev: true optional: true - function-bind@1.1.2: {} + /function-bind@1.1.2: + resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} - function.prototype.name@1.1.6: + /function.prototype.name@1.1.6: + resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.3 functions-have-names: 1.2.3 + dev: true - functions-have-names@1.2.3: {} + /functions-have-names@1.2.3: + resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + dev: true - generic-pool@3.9.0: {} + /generic-pool@3.9.0: + resolution: {integrity: sha512-hymDOu5B53XvN4QT9dBmZxPX4CWhBPPLguTZ9MMFeFa/Kg0xWVfylOVNlJji/E7yTZWFd/q9GO5TxDLq156D7g==} + engines: {node: '>= 4'} + dev: false - gensync@1.0.0-beta.2: {} + /gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + dev: true - get-amd-module-type@5.0.1: + /get-amd-module-type@5.0.1: + resolution: {integrity: sha512-jb65zDeHyDjFR1loOVk0HQGM5WNwoGB8aLWy3LKCieMKol0/ProHkhO2X1JxojuN10vbz1qNn09MJ7tNp7qMzw==} + engines: {node: '>=14'} dependencies: ast-module-types: 5.0.0 node-source-walk: 6.0.2 + dev: true - get-caller-file@2.0.5: {} + /get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + dev: true - get-func-name@2.0.2: {} + /get-func-name@2.0.2: + resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} + dev: true - get-intrinsic@1.2.4: + /get-intrinsic@1.2.4: + resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} + engines: {node: '>= 0.4'} dependencies: es-errors: 1.3.0 function-bind: 1.1.2 has-proto: 1.0.3 has-symbols: 1.0.3 hasown: 2.0.2 + dev: true - get-own-enumerable-property-symbols@3.0.2: {} + /get-own-enumerable-property-symbols@3.0.2: + resolution: {integrity: sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==} + dev: true - get-package-type@0.1.0: {} + /get-package-type@0.1.0: + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} + dev: true - get-port@3.2.0: {} + /get-port@3.2.0: + resolution: {integrity: sha512-x5UJKlgeUiNT8nyo/AcnwLnZuZNcSjSw0kogRB+Whd1fjjFq4B1hySFxSFWWSn4mIBzg3sRNUDFYc4g5gjPoLg==} + engines: {node: '>=4'} + dev: true - get-port@6.1.2: {} + /get-port@6.1.2: + resolution: {integrity: sha512-BrGGraKm2uPqurfGVj/z97/zv8dPleC6x9JBNRTrDNtCkkRF4rPwrQXFgL7+I+q8QSdU4ntLQX2D7KIxSy8nGw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true - get-stdin@9.0.0: {} + /get-stdin@9.0.0: + resolution: {integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==} + engines: {node: '>=12'} + dev: true - get-stream@6.0.1: {} + /get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + dev: true - get-symbol-description@1.0.2: + /get-symbol-description@1.0.2: + resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 es-errors: 1.3.0 get-intrinsic: 1.2.4 + dev: true - get-tsconfig@4.7.3: + /get-tsconfig@4.7.5: + resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==} dependencies: resolve-pkg-maps: 1.0.0 + dev: true - ghost-testrpc@0.0.2: + /ghost-testrpc@0.0.2: + resolution: {integrity: sha512-i08dAEgJ2g8z5buJIrCTduwPIhih3DP+hOCTyyryikfV8T0bNvHnGXO67i0DD1H4GBDETTclPy9njZbfluQYrQ==} + hasBin: true dependencies: chalk: 2.4.2 node-emoji: 1.11.0 + dev: true - git-diff@2.0.6: + /git-diff@2.0.6: + resolution: {integrity: sha512-/Iu4prUrydE3Pb3lCBMbcSNIf81tgGt0W1ZwknnyF62t3tHmtiJTRj0f+1ZIhp3+Rh0ktz1pJVoa7ZXUCskivA==} + engines: {node: '>= 4.8.0'} dependencies: chalk: 2.4.2 diff: 3.5.0 loglevel: 1.9.1 shelljs: 0.8.5 shelljs.exec: 1.1.8 + dev: true - git-hooks-list@3.1.0: {} + /git-hooks-list@3.1.0: + resolution: {integrity: sha512-LF8VeHeR7v+wAbXqfgRlTSX/1BJR9Q1vEMR8JAz1cEg6GX07+zyj3sAdDvYjj/xnlIfVuGgj4qBei1K3hKH+PA==} + dev: true - glob-parent@5.1.2: + /glob-parent@5.1.2: + resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} + engines: {node: '>= 6'} dependencies: is-glob: 4.0.3 + dev: true - glob-parent@6.0.2: + /glob-parent@6.0.2: + resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} + engines: {node: '>=10.13.0'} dependencies: is-glob: 4.0.3 + dev: true - glob@10.3.12: + /glob@10.4.1: + resolution: {integrity: sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==} + engines: {node: '>=16 || 14 >=14.18'} + hasBin: true dependencies: foreground-child: 3.1.1 - jackspeak: 2.3.6 + jackspeak: 3.1.2 minimatch: 9.0.4 - minipass: 7.0.4 - path-scurry: 1.10.2 + minipass: 7.1.2 + path-scurry: 1.11.1 + dev: true - glob@5.0.15: + /glob@5.0.15: + resolution: {integrity: sha512-c9IPMazfRITpmAAKi22dK1VKxGDX9ehhqfABDriL/lzO92xcUKEJPQHrVA/2YHSNFB4iFlykVmWvwo48nr3OxA==} dependencies: inflight: 1.0.6 inherits: 2.0.4 minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 + dev: true - glob@7.2.0: + /glob@7.2.0: + resolution: {integrity: sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==} dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -16591,8 +11893,10 @@ snapshots: minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 + dev: true - glob@7.2.3: + /glob@7.2.3: + resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 @@ -16601,35 +11905,56 @@ snapshots: once: 1.4.0 path-is-absolute: 1.0.1 - glob@8.1.0: + /glob@8.1.0: + resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} + engines: {node: '>=12'} dependencies: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 minimatch: 5.0.1 once: 1.4.0 + dev: true - global-modules@2.0.0: + /global-modules@2.0.0: + resolution: {integrity: sha512-NGbfmJBp9x8IxyJSd1P+otYK8vonoJactOogrVfFRIAEY1ukil8RSKDz2Yo7wh1oihl51l/r6W4epkeKJHqL8A==} + engines: {node: '>=6'} dependencies: global-prefix: 3.0.0 + dev: true - global-prefix@3.0.0: + /global-prefix@3.0.0: + resolution: {integrity: sha512-awConJSVCHVGND6x3tmMaKcQvwXLhjdkmomy2W+Goaui8YPgYgXJZewhg3fWC+DlfqqQuWg8AwqjGTD2nAPVWg==} + engines: {node: '>=6'} dependencies: ini: 1.3.8 kind-of: 6.0.3 which: 1.3.1 + dev: true - globals@11.12.0: {} + /globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + dev: true - globals@13.24.0: + /globals@13.24.0: + resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} + engines: {node: '>=8'} dependencies: type-fest: 0.20.2 + dev: true - globalthis@1.0.3: + /globalthis@1.0.4: + resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} + engines: {node: '>= 0.4'} dependencies: define-properties: 1.2.1 + gopd: 1.0.1 + dev: true - globby@10.0.2: + /globby@10.0.2: + resolution: {integrity: sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==} + engines: {node: '>=8'} dependencies: '@types/glob': 7.2.0 array-union: 2.1.0 @@ -16639,8 +11964,11 @@ snapshots: ignore: 5.3.1 merge2: 1.4.1 slash: 3.0.0 + dev: true - globby@11.1.0: + /globby@11.1.0: + resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} + engines: {node: '>=10'} dependencies: array-union: 2.1.0 dir-glob: 3.0.1 @@ -16648,35 +11976,57 @@ snapshots: ignore: 5.3.1 merge2: 1.4.1 slash: 3.0.0 + dev: true - globby@13.2.2: + /globby@13.2.2: + resolution: {integrity: sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: dir-glob: 3.0.1 fast-glob: 3.3.2 ignore: 5.3.1 merge2: 1.4.1 slash: 4.0.0 + dev: true - gonzales-pe@4.3.0: + /gonzales-pe@4.3.0: + resolution: {integrity: sha512-otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==} + engines: {node: '>=0.6.0'} + hasBin: true dependencies: minimist: 1.2.8 + dev: true - gopd@1.0.1: + /gopd@1.0.1: + resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: get-intrinsic: 1.2.4 + dev: true - graceful-fs@4.2.11: {} + /graceful-fs@4.2.11: + resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} + dev: true - graphemer@1.4.0: {} + /graphemer@1.4.0: + resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} + dev: true - graphql-config@5.0.3(@types/node@20.12.7)(graphql@16.8.1)(typescript@5.4.5): + /graphql-config@5.0.3(@types/node@20.12.12)(graphql@16.8.1)(typescript@5.4.5): + resolution: {integrity: sha512-BNGZaoxIBkv9yy6Y7omvsaBUHOzfFcII3UN++tpH8MGOKFPFkCPZuwx09ggANMt8FgyWP1Od8SWPmrUEZca4NQ==} + engines: {node: '>= 16.0.0'} + peerDependencies: + cosmiconfig-toml-loader: ^1.0.0 + graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 + peerDependenciesMeta: + cosmiconfig-toml-loader: + optional: true dependencies: '@graphql-tools/graphql-file-loader': 8.0.1(graphql@16.8.1) '@graphql-tools/json-file-loader': 8.0.1(graphql@16.8.1) '@graphql-tools/load': 8.0.2(graphql@16.8.1) - '@graphql-tools/merge': 9.0.3(graphql@16.8.1) - '@graphql-tools/url-loader': 8.0.2(@types/node@20.12.7)(graphql@16.8.1) - '@graphql-tools/utils': 10.1.3(graphql@16.8.1) + '@graphql-tools/merge': 9.0.4(graphql@16.8.1) + '@graphql-tools/url-loader': 8.0.2(@types/node@20.12.12)(graphql@16.8.1) + '@graphql-tools/utils': 10.2.0(graphql@16.8.1) cosmiconfig: 8.3.6(typescript@5.4.5) graphql: 16.8.1 jiti: 1.21.0 @@ -16689,8 +12039,12 @@ snapshots: - encoding - typescript - utf-8-validate + dev: true - graphql-request@6.1.0(graphql@16.8.1): + /graphql-request@6.1.0(graphql@16.8.1): + resolution: {integrity: sha512-p+XPfS4q7aIpKVcgmnZKhMNqhltk20hfXtkaIkTfjjmiKMJ5xrt5c743cL03y/K7y1rg3WrIC49xGiEQ4mxdNw==} + peerDependencies: + graphql: 14 - 16 dependencies: '@graphql-typed-document-node/core': 3.2.0(graphql@16.8.1) cross-fetch: 3.1.8 @@ -16698,16 +12052,29 @@ snapshots: transitivePeerDependencies: - encoding - graphql-tag@2.12.6(graphql@16.8.1): + /graphql-tag@2.12.6(graphql@16.8.1): + resolution: {integrity: sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==} + engines: {node: '>=10'} + peerDependencies: + graphql: ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: graphql: 16.8.1 tslib: 2.6.2 + dev: true - graphql-ws@5.16.0(graphql@16.8.1): + /graphql-ws@5.16.0(graphql@16.8.1): + resolution: {integrity: sha512-Ju2RCU2dQMgSKtArPbEtsK5gNLnsQyTNIo/T7cZNp96niC1x0KdJNZV0TIoilceBPQwfb5itrGl8pkFeOUMl4A==} + engines: {node: '>=10'} + peerDependencies: + graphql: '>=0.11 <=16' dependencies: graphql: 16.8.1 + dev: true - graphql-yoga@3.9.1(graphql@16.8.1): + /graphql-yoga@3.9.1(graphql@16.8.1): + resolution: {integrity: sha512-BB6EkN64VBTXWmf9Kym2OsVZFzBC0mAsQNo9eNB5xIr3t+x7qepQ34xW5A353NWol3Js3xpzxwIKFVF6l9VsPg==} + peerDependencies: + graphql: ^15.2.0 || ^16.0.0 dependencies: '@envelop/core': 3.0.6 '@envelop/validation-cache': 5.1.3(@envelop/core@3.0.6)(graphql@16.8.1) @@ -16722,10 +12089,16 @@ snapshots: graphql: 16.8.1 lru-cache: 7.18.3 tslib: 2.6.2 + dev: true - graphql@16.8.1: {} + /graphql@16.8.1: + resolution: {integrity: sha512-59LZHPdGZVh695Ud9lRzPBVTtlX9ZCV150Er2W43ro37wVof0ctenSaskPPjN7lVTIN8mSZt8PHUNKZuNQUuxw==} + engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} - handlebars@4.7.8: + /handlebars@4.7.8: + resolution: {integrity: sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==} + engines: {node: '>=0.4.7'} + hasBin: true dependencies: minimist: 1.2.8 neo-async: 2.6.2 @@ -16733,30 +12106,50 @@ snapshots: wordwrap: 1.0.0 optionalDependencies: uglify-js: 3.17.4 + dev: true - hardhat-abi-exporter@2.10.1(hardhat@2.22.2): + /hardhat-abi-exporter@2.10.1(hardhat@2.22.4): + resolution: {integrity: sha512-X8GRxUTtebMAd2k4fcPyVnCdPa6dYK4lBsrwzKP5yiSq4i+WadWPIumaLfce53TUf/o2TnLpLOduyO1ylE2NHQ==} + engines: {node: '>=14.14.0'} + peerDependencies: + hardhat: ^2.0.0 dependencies: '@ethersproject/abi': 5.7.0 delete-empty: 3.0.0 - hardhat: 2.22.2(ts-node@10.9.2)(typescript@5.0.4) + hardhat: 2.22.4(ts-node@10.9.2)(typescript@5.0.4) + dev: true - hardhat-gas-reporter@1.0.10(hardhat@2.22.2): + /hardhat-gas-reporter@1.0.10(hardhat@2.22.4): + resolution: {integrity: sha512-02N4+So/fZrzJ88ci54GqwVA3Zrf0C9duuTyGt0CFRIh/CdNwbnTgkXkRfojOMLBQ+6t+lBIkgbsOtqMvNwikA==} + peerDependencies: + hardhat: ^2.0.2 dependencies: array-uniq: 1.0.3 eth-gas-reporter: 0.2.27 - hardhat: 2.22.2(ts-node@10.9.2)(typescript@5.0.4) + hardhat: 2.22.4(ts-node@10.9.2)(typescript@5.0.4) sha1: 1.1.1 transitivePeerDependencies: - '@codechecks/client' - bufferutil - debug - utf-8-validate + dev: true - hardhat@2.22.2(ts-node@10.9.2)(typescript@5.0.4): + /hardhat@2.22.4(ts-node@10.9.2)(typescript@5.0.4): + resolution: {integrity: sha512-09qcXJFBHQUaraJkYNr7XlmwjOj27xBB0SL2rYS024hTj9tPMbp26AFjlf5quBMO9SR4AJFg+4qWahcYcvXBuQ==} + hasBin: true + peerDependencies: + ts-node: '*' + typescript: '*' + peerDependenciesMeta: + ts-node: + optional: true + typescript: + optional: true dependencies: '@ethersproject/abi': 5.7.0 '@metamask/eth-sig-util': 4.0.1 - '@nomicfoundation/edr': 0.3.5 + '@nomicfoundation/edr': 0.3.8 '@nomicfoundation/ethereumjs-common': 4.0.4 '@nomicfoundation/ethereumjs-tx': 5.0.4 '@nomicfoundation/ethereumjs-util': 9.0.4 @@ -16780,7 +12173,7 @@ snapshots: fp-ts: 1.19.3 fs-extra: 7.0.1 glob: 7.2.0 - immutable: 4.3.5 + immutable: 4.3.6 io-ts: 1.10.4 keccak: 3.0.4 lodash: 4.17.21 @@ -16793,7 +12186,7 @@ snapshots: solc: 0.7.3(debug@4.3.4) source-map-support: 0.5.21 stacktrace-parser: 0.1.10 - ts-node: 10.9.2(@types/node@20.12.7)(typescript@5.0.4) + ts-node: 10.9.2(@types/node@20.12.12)(typescript@5.0.4) tsort: 0.0.1 typescript: 5.0.4 undici: 5.28.4 @@ -16804,160 +12197,279 @@ snapshots: - c-kzg - supports-color - utf-8-validate + dev: true - has-bigints@1.0.2: {} + /has-bigints@1.0.2: + resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} + dev: true - has-flag@1.0.0: {} + /has-flag@1.0.0: + resolution: {integrity: sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==} + engines: {node: '>=0.10.0'} + dev: true - has-flag@3.0.0: {} + /has-flag@3.0.0: + resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} + engines: {node: '>=4'} + dev: true - has-flag@4.0.0: {} + /has-flag@4.0.0: + resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} + engines: {node: '>=8'} - has-property-descriptors@1.0.2: + /has-property-descriptors@1.0.2: + resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} dependencies: es-define-property: 1.0.0 + dev: true - has-proto@1.0.3: {} + /has-proto@1.0.3: + resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} + engines: {node: '>= 0.4'} + dev: true - has-symbols@1.0.3: {} + /has-symbols@1.0.3: + resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} + engines: {node: '>= 0.4'} + dev: true - has-tostringtag@1.0.2: + /has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.3 + dev: true - hash-base@3.1.0: + /hash-base@3.1.0: + resolution: {integrity: sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==} + engines: {node: '>=4'} dependencies: inherits: 2.0.4 readable-stream: 3.6.2 safe-buffer: 5.2.1 + dev: true - hash-it@6.0.0: {} + /hash-it@6.0.0: + resolution: {integrity: sha512-KHzmSFx1KwyMPw0kXeeUD752q/Kfbzhy6dAZrjXV9kAIXGqzGvv8vhkUqj+2MGZldTo0IBpw6v7iWE7uxsvH0w==} + dev: true - hash.js@1.1.7: + /hash.js@1.1.7: + resolution: {integrity: sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==} dependencies: inherits: 2.0.4 minimalistic-assert: 1.0.1 - hasown@2.0.2: + /hasown@2.0.2: + resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} + engines: {node: '>= 0.4'} dependencies: function-bind: 1.1.2 - he@1.2.0: {} + /he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + dev: true - header-case@2.0.4: + /header-case@2.0.4: + resolution: {integrity: sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q==} dependencies: capital-case: 1.0.4 tslib: 2.6.2 + dev: true - heap@0.2.7: {} + /heap@0.2.7: + resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==} + dev: true - help-me@3.0.0: + /help-me@3.0.0: + resolution: {integrity: sha512-hx73jClhyk910sidBB7ERlnhMlFsJJIBqSVMFDwPN8o2v9nmp5KgLq1Xz1Bf1fCMMZ6mPrX159iG0VLy/fPMtQ==} dependencies: glob: 7.2.3 readable-stream: 3.6.2 - hmac-drbg@1.0.1: + /hmac-drbg@1.0.1: + resolution: {integrity: sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==} dependencies: hash.js: 1.1.7 minimalistic-assert: 1.0.1 minimalistic-crypto-utils: 1.0.1 - hosted-git-info@2.8.9: {} + /hosted-git-info@2.8.9: + resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + dev: true - html-escaper@2.0.2: {} + /html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + dev: true - http-basic@8.1.3: + /http-basic@8.1.3: + resolution: {integrity: sha512-/EcDMwJZh3mABI2NhGfHOGOeOZITqfkEO4p/xK+l3NpyncIHUQBoMvCSF/b5GqvKtySC2srL/GGG3+EtlqlmCw==} + engines: {node: '>=6.0.0'} dependencies: caseless: 0.12.0 concat-stream: 1.6.2 http-response-object: 3.0.2 parse-cache-control: 1.0.1 + dev: true - http-errors@2.0.0: + /http-errors@2.0.0: + resolution: {integrity: sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==} + engines: {node: '>= 0.8'} dependencies: depd: 2.0.0 inherits: 2.0.4 setprototypeof: 1.2.0 statuses: 2.0.1 toidentifier: 1.0.1 + dev: true - http-proxy-agent@7.0.2: + /http-proxy-agent@7.0.2: + resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} + engines: {node: '>= 14'} dependencies: agent-base: 7.1.1 debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color + dev: true - http-response-object@3.0.2: + /http-response-object@3.0.2: + resolution: {integrity: sha512-bqX0XTF6fnXSQcEJ2Iuyr75yVakyjIDCqroJQ/aHfSdlM743Cwqoi2nDYMzLGWUcuTWGWy8AAvOKXTfiv6q9RA==} dependencies: '@types/node': 10.17.60 + dev: true - https-proxy-agent@5.0.1: + /https-proxy-agent@5.0.1: + resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} + engines: {node: '>= 6'} dependencies: agent-base: 6.0.2 debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color + dev: true - https-proxy-agent@7.0.4: + /https-proxy-agent@7.0.4: + resolution: {integrity: sha512-wlwpilI7YdjSkWaQ/7omYBMTliDcmCN8OLihO6I9B86g06lMyAoqgoDpV0XqoaPOKj+0DIdAvnsWfyAAhmimcg==} + engines: {node: '>= 14'} dependencies: agent-base: 7.1.1 debug: 4.3.4(supports-color@8.1.1) transitivePeerDependencies: - supports-color + dev: true - human-signals@2.1.0: {} + /human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + dev: true - iconv-lite@0.4.24: + /iconv-lite@0.4.24: + resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} + engines: {node: '>=0.10.0'} dependencies: safer-buffer: 2.1.2 - ieee754@1.1.13: {} + /ieee754@1.1.13: + resolution: {integrity: sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==} + dev: true - ieee754@1.2.1: {} + /ieee754@1.2.1: + resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - ignore@5.3.1: {} + /ignore@5.3.1: + resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + engines: {node: '>= 4'} + dev: true - immer@9.0.21: {} + /immer@9.0.21: + resolution: {integrity: sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA==} + dev: true - immutable@3.7.6: {} + /immutable@3.7.6: + resolution: {integrity: sha512-AizQPcaofEtO11RZhPPHBOJRdo/20MKQF9mBLnVkBoyHi1/zXK8fzVdnEpSV9gxqtnh6Qomfp3F0xT5qP/vThw==} + engines: {node: '>=0.8.0'} + dev: true - immutable@4.3.5: {} + /immutable@4.3.6: + resolution: {integrity: sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ==} + dev: true - import-fresh@3.3.0: + /import-fresh@3.3.0: + resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} + engines: {node: '>=6'} dependencies: parent-module: 1.0.1 resolve-from: 4.0.0 + dev: true - import-from@4.0.0: {} + /import-from@4.0.0: + resolution: {integrity: sha512-P9J71vT5nLlDeV8FHs5nNxaLbrpfAV5cF5srvbZfpwpcJoM/xZR3hiv+q+SAnuSmuGbXMWud063iIMx/V/EWZQ==} + engines: {node: '>=12.2'} + dev: true - import-local@3.1.0: + /import-local@3.1.0: + resolution: {integrity: sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==} + engines: {node: '>=8'} + hasBin: true dependencies: pkg-dir: 4.2.0 resolve-cwd: 3.0.0 + dev: true - imurmurhash@0.1.4: {} + /imurmurhash@0.1.4: + resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} + engines: {node: '>=0.8.19'} + dev: true - indent-string@4.0.0: {} + /indent-string@4.0.0: + resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} + engines: {node: '>=8'} + dev: true - indent-string@5.0.0: {} + /indent-string@5.0.0: + resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} + engines: {node: '>=12'} + dev: true - inflight@1.0.6: + /inflight@1.0.6: + resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} + deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. dependencies: once: 1.4.0 wrappy: 1.0.2 - inherits@2.0.4: {} + /inherits@2.0.4: + resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} - ini@1.3.8: {} + /ini@1.3.8: + resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} + dev: true - ink-spinner@5.0.0(ink@4.4.1)(react@18.2.0): + /ink-spinner@5.0.0(ink@4.4.1)(react@18.3.1): + resolution: {integrity: sha512-EYEasbEjkqLGyPOUc8hBJZNuC5GvXGMLu0w5gdTNskPc7Izc5vO3tdQEYnzvshucyGCBXc86ig0ujXPMWaQCdA==} + engines: {node: '>=14.16'} + peerDependencies: + ink: '>=4.0.0' + react: '>=18.0.0' dependencies: cli-spinners: 2.9.2 - ink: 4.4.1(react@18.2.0) - react: 18.2.0 + ink: 4.4.1(react@18.3.1) + react: 18.3.1 + dev: true - ink@4.4.1(react@18.2.0): + /ink@4.4.1(react@18.3.1): + resolution: {integrity: sha512-rXckvqPBB0Krifk5rn/5LvQGmyXwCUpBfmTwbkQNBY9JY8RSl3b8OftBNEYxg4+SWUhEKcPifgope28uL9inlA==} + engines: {node: '>=14.16'} + peerDependencies: + '@types/react': '>=18.0.0' + react: '>=18.0.0' + react-devtools-core: ^4.19.1 + peerDependenciesMeta: + '@types/react': + optional: true + react-devtools-core: + optional: true dependencies: '@alcalzone/ansi-tokenize': 0.1.3 ansi-escapes: 6.2.1 @@ -16973,9 +12485,9 @@ snapshots: is-upper-case: 2.0.2 lodash: 4.17.21 patch-console: 2.0.0 - react: 18.2.0 - react-reconciler: 0.29.0(react@18.2.0) - scheduler: 0.23.0 + react: 18.3.1 + react-reconciler: 0.29.2(react@18.3.1) + scheduler: 0.23.2 signal-exit: 3.0.7 slice-ansi: 6.0.0 stack-utils: 2.0.6 @@ -16983,13 +12495,16 @@ snapshots: type-fest: 0.12.0 widest-line: 4.0.1 wrap-ansi: 8.1.0 - ws: 8.16.0 + ws: 8.17.0 yoga-wasm-web: 0.3.3 transitivePeerDependencies: - bufferutil - utf-8-validate + dev: true - inquirer@8.2.6: + /inquirer@8.2.6: + resolution: {integrity: sha512-M1WuAmb7pn9zdFRtQYk26ZBoY043Sse0wVDdk4Bppr+JOXyQYybdtvK+l9wUibhtjdjvtoiNy8tk+EgsYIUqKg==} + engines: {node: '>=12.0.0'} dependencies: ansi-escapes: 4.3.2 chalk: 4.1.2 @@ -17006,285 +12521,509 @@ snapshots: strip-ansi: 6.0.1 through: 2.3.8 wrap-ansi: 6.2.0 + dev: true - internal-slot@1.0.7: + /internal-slot@1.0.7: + resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} + engines: {node: '>= 0.4'} dependencies: es-errors: 1.3.0 hasown: 2.0.2 side-channel: 1.0.6 + dev: true - interpret@1.4.0: {} + /interpret@1.4.0: + resolution: {integrity: sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==} + engines: {node: '>= 0.10'} + dev: true - invariant@2.2.4: + /invariant@2.2.4: + resolution: {integrity: sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==} dependencies: loose-envify: 1.4.0 + dev: true - io-ts@1.10.4: + /io-ts@1.10.4: + resolution: {integrity: sha512-b23PteSnYXSONJ6JQXRAlvJhuw8KOtkqa87W4wDtvMrud/DTJd5X+NpOOI+O/zZwVq6v0VLAaJ+1EDViKEuN9g==} dependencies: fp-ts: 1.19.3 + dev: true - ipaddr.js@1.9.1: {} + /ipaddr.js@1.9.1: + resolution: {integrity: sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==} + engines: {node: '>= 0.10'} + dev: true - is-absolute@1.0.0: + /is-absolute@1.0.0: + resolution: {integrity: sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==} + engines: {node: '>=0.10.0'} dependencies: is-relative: 1.0.0 is-windows: 1.0.2 + dev: true - is-arguments@1.1.1: + /is-arguments@1.1.1: + resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 has-tostringtag: 1.0.2 + dev: true - is-array-buffer@3.0.4: + /is-array-buffer@3.0.4: + resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 get-intrinsic: 1.2.4 + dev: true - is-arrayish@0.2.1: {} + /is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + dev: true - is-async-function@2.0.0: + /is-async-function@2.0.0: + resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} + engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.2 + dev: true - is-bigint@1.0.4: + /is-bigint@1.0.4: + resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} dependencies: has-bigints: 1.0.2 + dev: true - is-binary-path@2.1.0: + /is-binary-path@2.1.0: + resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} + engines: {node: '>=8'} dependencies: binary-extensions: 2.3.0 + dev: true - is-boolean-object@1.1.2: + /is-boolean-object@1.1.2: + resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 has-tostringtag: 1.0.2 + dev: true - is-builtin-module@3.2.1: + /is-builtin-module@3.2.1: + resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} + engines: {node: '>=6'} dependencies: builtin-modules: 3.3.0 + dev: true - is-callable@1.2.7: {} + /is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + dev: true - is-ci@3.0.1: + /is-ci@3.0.1: + resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} + hasBin: true dependencies: ci-info: 3.9.0 + dev: true - is-core-module@2.13.1: + /is-core-module@2.13.1: + resolution: {integrity: sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==} dependencies: hasown: 2.0.2 - is-data-view@1.0.1: + /is-data-view@1.0.1: + resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} + engines: {node: '>= 0.4'} dependencies: is-typed-array: 1.1.13 + dev: true - is-date-object@1.0.5: + /is-date-object@1.0.5: + resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} + engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.2 + dev: true - is-extglob@2.1.1: {} + /is-extglob@2.1.1: + resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} + engines: {node: '>=0.10.0'} + dev: true - is-finalizationregistry@1.0.2: + /is-finalizationregistry@1.0.2: + resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} dependencies: call-bind: 1.0.7 + dev: true - is-fullwidth-code-point@2.0.0: {} + /is-fullwidth-code-point@2.0.0: + resolution: {integrity: sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==} + engines: {node: '>=4'} + dev: true - is-fullwidth-code-point@3.0.0: {} + /is-fullwidth-code-point@3.0.0: + resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} + engines: {node: '>=8'} - is-fullwidth-code-point@4.0.0: {} + /is-fullwidth-code-point@4.0.0: + resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} + engines: {node: '>=12'} + dev: true - is-generator-fn@2.1.0: {} + /is-generator-fn@2.1.0: + resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} + engines: {node: '>=6'} + dev: true - is-generator-function@1.0.10: + /is-generator-function@1.0.10: + resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} + engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.2 + dev: true - is-glob@4.0.3: + /is-glob@4.0.3: + resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} + engines: {node: '>=0.10.0'} dependencies: is-extglob: 2.1.1 + dev: true - is-hex-prefixed@1.0.0: {} + /is-hex-prefixed@1.0.0: + resolution: {integrity: sha512-WvtOiug1VFrE9v1Cydwm+FnXd3+w9GaeVUss5W4v/SLy3UW00vP+6iNF2SdnfiBoLy4bTqVdkftNGTUeOFVsbA==} + engines: {node: '>=6.5.0', npm: '>=3'} + dev: true - is-interactive@1.0.0: {} + /is-interactive@1.0.0: + resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} + engines: {node: '>=8'} + dev: true - is-interactive@2.0.0: {} + /is-interactive@2.0.0: + resolution: {integrity: sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==} + engines: {node: '>=12'} + dev: true - is-lower-case@2.0.2: + /is-lower-case@2.0.2: + resolution: {integrity: sha512-bVcMJy4X5Og6VZfdOZstSexlEy20Sr0k/p/b2IlQJlfdKAQuMpiv5w2Ccxb8sKdRUNAG1PnHVHjFSdRDVS6NlQ==} dependencies: tslib: 2.6.2 + dev: true - is-map@2.0.3: {} + /is-map@2.0.3: + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} + engines: {node: '>= 0.4'} + dev: true - is-negative-zero@2.0.3: {} + /is-negative-zero@2.0.3: + resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} + engines: {node: '>= 0.4'} + dev: true - is-number-object@1.0.7: + /is-number-object@1.0.7: + resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} + engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.2 + dev: true - is-number@7.0.0: {} + /is-number@7.0.0: + resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} + engines: {node: '>=0.12.0'} + dev: true - is-obj@1.0.1: {} + /is-obj@1.0.1: + resolution: {integrity: sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==} + engines: {node: '>=0.10.0'} + dev: true - is-obj@2.0.0: {} + /is-obj@2.0.0: + resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} + engines: {node: '>=8'} + dev: true - is-path-inside@3.0.3: {} + /is-path-inside@3.0.3: + resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + engines: {node: '>=8'} + dev: true - is-plain-obj@2.1.0: {} + /is-plain-obj@2.1.0: + resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} + engines: {node: '>=8'} + dev: true - is-plain-obj@4.1.0: {} + /is-plain-obj@4.1.0: + resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} + engines: {node: '>=12'} + dev: true - is-regex@1.1.4: + /is-regex@1.1.4: + resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 has-tostringtag: 1.0.2 + dev: true - is-regexp@1.0.0: {} + /is-regexp@1.0.0: + resolution: {integrity: sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==} + engines: {node: '>=0.10.0'} + dev: true - is-relative-path@1.0.2: {} + /is-relative-path@1.0.2: + resolution: {integrity: sha512-i1h+y50g+0hRbBD+dbnInl3JlJ702aar58snAeX+MxBAPvzXGej7sYoPMhlnykabt0ZzCJNBEyzMlekuQZN7fA==} + dev: true - is-relative@1.0.0: + /is-relative@1.0.0: + resolution: {integrity: sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==} + engines: {node: '>=0.10.0'} dependencies: is-unc-path: 1.0.0 + dev: true - is-set@2.0.3: {} + /is-set@2.0.3: + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} + engines: {node: '>= 0.4'} + dev: true - is-shared-array-buffer@1.0.3: + /is-shared-array-buffer@1.0.3: + resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 + dev: true - is-stream@2.0.1: {} + /is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + dev: true - is-string@1.0.7: + /is-string@1.0.7: + resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} + engines: {node: '>= 0.4'} dependencies: has-tostringtag: 1.0.2 + dev: true - is-symbol@1.0.4: + /is-symbol@1.0.4: + resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} + engines: {node: '>= 0.4'} dependencies: has-symbols: 1.0.3 + dev: true - is-typed-array@1.1.13: + /is-typed-array@1.1.13: + resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} + engines: {node: '>= 0.4'} dependencies: which-typed-array: 1.1.15 + dev: true - is-unc-path@1.0.0: + /is-unc-path@1.0.0: + resolution: {integrity: sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==} + engines: {node: '>=0.10.0'} dependencies: unc-path-regex: 0.1.2 + dev: true - is-unicode-supported@0.1.0: {} + /is-unicode-supported@0.1.0: + resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} + engines: {node: '>=10'} + dev: true - is-unicode-supported@1.3.0: {} + /is-unicode-supported@1.3.0: + resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} + engines: {node: '>=12'} + dev: true - is-upper-case@2.0.2: + /is-upper-case@2.0.2: + resolution: {integrity: sha512-44pxmxAvnnAOwBg4tHPnkfvgjPwbc5QIsSstNU+YcJ1ovxVzCWpSGosPJOZh/a1tdl81fbgnLc9LLv+x2ywbPQ==} dependencies: tslib: 2.6.2 + dev: true - is-url-superb@4.0.0: {} + /is-url-superb@4.0.0: + resolution: {integrity: sha512-GI+WjezhPPcbM+tqE9LnmsY5qqjwHzTvjJ36wxYX5ujNXefSUJ/T17r5bqDV8yLhcgB59KTPNOc9O9cmHTPWsA==} + engines: {node: '>=10'} + dev: true - is-url@1.2.4: {} + /is-url@1.2.4: + resolution: {integrity: sha512-ITvGim8FhRiYe4IQ5uHSkj7pVaPDrCTkNd3yq3cV7iZAcJdHTUMPMEHcqSOy9xZ9qFenQCvi+2wjH9a1nXqHww==} + dev: true - is-weakmap@2.0.2: {} + /is-weakmap@2.0.2: + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} + engines: {node: '>= 0.4'} + dev: true - is-weakref@1.0.2: + /is-weakref@1.0.2: + resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} dependencies: call-bind: 1.0.7 + dev: true - is-weakset@2.0.3: + /is-weakset@2.0.3: + resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 get-intrinsic: 1.2.4 + dev: true - is-what@4.1.16: {} + /is-what@4.1.16: + resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} + engines: {node: '>=12.13'} + dev: false + + /is-windows@1.0.2: + resolution: {integrity: sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==} + engines: {node: '>=0.10.0'} + dev: true - is-windows@1.0.2: {} + /isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} - isarray@1.0.0: {} + /isarray@2.0.5: + resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} + dev: true - isarray@2.0.5: {} + /isexe@2.0.0: + resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + dev: true - isexe@2.0.0: {} + /isomorphic-ws@4.0.1(ws@8.17.0): + resolution: {integrity: sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==} + peerDependencies: + ws: '*' + dependencies: + ws: 8.17.0 - isomorphic-ws@4.0.1(ws@8.16.0): + /isomorphic-ws@5.0.0(ws@8.17.0): + resolution: {integrity: sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==} + peerDependencies: + ws: '*' dependencies: - ws: 8.16.0 + ws: 8.17.0 + dev: true - isomorphic-ws@5.0.0(ws@8.16.0): + /isows@1.0.3(ws@8.13.0): + resolution: {integrity: sha512-2cKei4vlmg2cxEjm3wVSqn8pcoRF/LX/wpifuuNquFO4SQmPwarClT+SUCA2lt+l581tTeZIPIZuIDo2jWN1fg==} + peerDependencies: + ws: '*' dependencies: - ws: 8.16.0 + ws: 8.13.0 - isows@1.0.3(ws@8.13.0): + /isows@1.0.4(ws@8.13.0): + resolution: {integrity: sha512-hEzjY+x9u9hPmBom9IIAqdJCwNLax+xrPb51vEPpERoFlIxgmZcHzsT5jKG06nvInKOBGvReAVz80Umed5CczQ==} + peerDependencies: + ws: '*' dependencies: ws: 8.13.0 + dev: false - istanbul-lib-coverage@3.2.2: {} + /istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} + dev: true - istanbul-lib-instrument@5.2.1: + /istanbul-lib-instrument@5.2.1: + resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} + engines: {node: '>=8'} dependencies: - '@babel/core': 7.24.4 - '@babel/parser': 7.24.4 + '@babel/core': 7.24.5 + '@babel/parser': 7.24.5 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 6.3.1 transitivePeerDependencies: - supports-color + dev: true - istanbul-lib-instrument@6.0.2: + /istanbul-lib-instrument@6.0.2: + resolution: {integrity: sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==} + engines: {node: '>=10'} dependencies: - '@babel/core': 7.24.4 - '@babel/parser': 7.24.4 + '@babel/core': 7.24.5 + '@babel/parser': 7.24.5 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 - semver: 7.6.0 + semver: 7.6.2 transitivePeerDependencies: - supports-color + dev: true - istanbul-lib-report@3.0.1: + /istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} dependencies: istanbul-lib-coverage: 3.2.2 make-dir: 4.0.0 supports-color: 7.2.0 + dev: true - istanbul-lib-source-maps@4.0.1: + /istanbul-lib-source-maps@4.0.1: + resolution: {integrity: sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==} + engines: {node: '>=10'} dependencies: debug: 4.3.4(supports-color@8.1.1) istanbul-lib-coverage: 3.2.2 source-map: 0.6.1 transitivePeerDependencies: - supports-color + dev: true - istanbul-reports@3.1.7: + /istanbul-reports@3.1.7: + resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} + engines: {node: '>=8'} dependencies: html-escaper: 2.0.2 istanbul-lib-report: 3.0.1 + dev: true - iterator.prototype@1.1.2: + /iterator.prototype@1.1.2: + resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} dependencies: define-properties: 1.2.1 get-intrinsic: 1.2.4 has-symbols: 1.0.3 reflect.getprototypeof: 1.0.6 set-function-name: 2.0.2 + dev: true - jackspeak@2.3.6: + /jackspeak@3.1.2: + resolution: {integrity: sha512-kWmLKn2tRtfYMF/BakihVVRzBKOxz4gJMiL2Rj91WnAB5TPZumSH99R/Yf1qE1u4uRimvCSJfm6hnxohXeEXjQ==} + engines: {node: '>=14'} dependencies: '@isaacs/cliui': 8.0.2 optionalDependencies: '@pkgjs/parseargs': 0.11.0 + dev: true - javascript-natural-sort@0.7.1: {} + /javascript-natural-sort@0.7.1: + resolution: {integrity: sha512-nO6jcEfZWQXDhOiBtG2KvKyEptz7RVbpGP4vTD2hLBdmNQSsCiicO2Ioinv6UI4y9ukqnBpy+XZ9H6uLNgJTlw==} + dev: true - jest-changed-files@29.7.0: + /jest-changed-files@29.7.0: + resolution: {integrity: sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: execa: 5.1.1 jest-util: 29.7.0 p-limit: 3.1.0 + dev: true - jest-circus@29.7.0: + /jest-circus@29.7.0: + resolution: {integrity: sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/environment': 29.7.0 '@jest/expect': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.12.7 + '@types/node': 20.12.12 chalk: 4.1.2 co: 4.6.0 dedent: 1.5.3 @@ -17303,17 +13042,26 @@ snapshots: transitivePeerDependencies: - babel-plugin-macros - supports-color + dev: true - jest-cli@29.7.0(@types/node@20.12.7): + /jest-cli@29.7.0(@types/node@20.12.12): + resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true dependencies: '@jest/core': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@20.12.7) + create-jest: 29.7.0(@types/node@20.12.12) exit: 0.1.2 import-local: 3.1.0 - jest-config: 29.7.0(@types/node@20.12.7) + jest-config: 29.7.0(@types/node@20.12.12) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -17322,14 +13070,25 @@ snapshots: - babel-plugin-macros - supports-color - ts-node + dev: true - jest-config@29.7.0(@types/node@20.12.7): + /jest-config@29.7.0(@types/node@20.12.12): + resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + '@types/node': '*' + ts-node: '>=9.0.0' + peerDependenciesMeta: + '@types/node': + optional: true + ts-node: + optional: true dependencies: - '@babel/core': 7.24.4 + '@babel/core': 7.24.5 '@jest/test-sequencer': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.12.7 - babel-jest: 29.7.0(@babel/core@7.24.4) + '@types/node': 20.12.12 + babel-jest: 29.7.0(@babel/core@7.24.5) chalk: 4.1.2 ci-info: 3.9.0 deepmerge: 4.3.1 @@ -17343,7 +13102,7 @@ snapshots: jest-runner: 29.7.0 jest-util: 29.7.0 jest-validate: 29.7.0 - micromatch: 4.0.5 + micromatch: 4.0.7 parse-json: 5.2.0 pretty-format: 29.7.0 slash: 3.0.0 @@ -17351,105 +13110,162 @@ snapshots: transitivePeerDependencies: - babel-plugin-macros - supports-color + dev: true - jest-diff@29.7.0: + /jest-diff@29.7.0: + resolution: {integrity: sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: chalk: 4.1.2 diff-sequences: 29.6.3 jest-get-type: 29.6.3 pretty-format: 29.7.0 + dev: true - jest-docblock@29.7.0: + /jest-docblock@29.7.0: + resolution: {integrity: sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: detect-newline: 3.1.0 + dev: true - jest-each@29.7.0: + /jest-each@29.7.0: + resolution: {integrity: sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 jest-get-type: 29.6.3 jest-util: 29.7.0 pretty-format: 29.7.0 + dev: true - jest-environment-node@29.7.0: + /jest-environment-node@29.7.0: + resolution: {integrity: sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.12.7 + '@types/node': 20.12.12 jest-mock: 29.7.0 jest-util: 29.7.0 + dev: true - jest-expect-message@1.1.3: {} + /jest-expect-message@1.1.3: + resolution: {integrity: sha512-bTK77T4P+zto+XepAX3low8XVQxDgaEqh3jSTQOG8qvPpD69LsIdyJTa+RmnJh3HNSzJng62/44RPPc7OIlFxg==} + dev: true - jest-extended@4.0.2(jest@29.7.0): + /jest-extended@4.0.2(jest@29.7.0): + resolution: {integrity: sha512-FH7aaPgtGYHc9mRjriS0ZEHYM5/W69tLrFTIdzm+yJgeoCmmrSB/luSfMSqWP9O29QWHPEmJ4qmU6EwsZideog==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + peerDependencies: + jest: '>=27.2.5' + peerDependenciesMeta: + jest: + optional: true dependencies: - jest: 29.7.0(@types/node@20.12.7) + jest: 29.7.0(@types/node@20.12.12) jest-diff: 29.7.0 jest-get-type: 29.6.3 + dev: true - jest-get-type@29.6.3: {} + /jest-get-type@29.6.3: + resolution: {integrity: sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true - jest-haste-map@29.7.0: + /jest-haste-map@29.7.0: + resolution: {integrity: sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 - '@types/node': 20.12.7 + '@types/node': 20.12.12 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 jest-regex-util: 29.6.3 jest-util: 29.7.0 jest-worker: 29.7.0 - micromatch: 4.0.5 + micromatch: 4.0.7 walker: 1.0.8 optionalDependencies: fsevents: 2.3.3 + dev: true - jest-leak-detector@29.7.0: + /jest-leak-detector@29.7.0: + resolution: {integrity: sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: jest-get-type: 29.6.3 pretty-format: 29.7.0 + dev: true - jest-matcher-utils@29.7.0: + /jest-matcher-utils@29.7.0: + resolution: {integrity: sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: chalk: 4.1.2 jest-diff: 29.7.0 jest-get-type: 29.6.3 pretty-format: 29.7.0 + dev: true - jest-message-util@29.7.0: + /jest-message-util@29.7.0: + resolution: {integrity: sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/code-frame': 7.24.2 '@jest/types': 29.6.3 '@types/stack-utils': 2.0.3 chalk: 4.1.2 graceful-fs: 4.2.11 - micromatch: 4.0.5 + micromatch: 4.0.7 pretty-format: 29.7.0 slash: 3.0.0 stack-utils: 2.0.6 + dev: true - jest-mock@29.7.0: + /jest-mock@29.7.0: + resolution: {integrity: sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.12.7 + '@types/node': 20.12.12 jest-util: 29.7.0 + dev: true - jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): + /jest-pnp-resolver@1.2.3(jest-resolve@29.7.0): + resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} + engines: {node: '>=6'} + peerDependencies: + jest-resolve: '*' + peerDependenciesMeta: + jest-resolve: + optional: true dependencies: jest-resolve: 29.7.0 + dev: true - jest-regex-util@29.6.3: {} + /jest-regex-util@29.6.3: + resolution: {integrity: sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dev: true - jest-resolve-dependencies@29.7.0: + /jest-resolve-dependencies@29.7.0: + resolution: {integrity: sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: jest-regex-util: 29.6.3 jest-snapshot: 29.7.0 transitivePeerDependencies: - supports-color + dev: true - jest-resolve@29.7.0: + /jest-resolve@29.7.0: + resolution: {integrity: sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: chalk: 4.1.2 graceful-fs: 4.2.11 @@ -17460,15 +13276,18 @@ snapshots: resolve: 1.22.8 resolve.exports: 2.0.2 slash: 3.0.0 + dev: true - jest-runner@29.7.0: + /jest-runner@29.7.0: + resolution: {integrity: sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/console': 29.7.0 '@jest/environment': 29.7.0 '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.12.7 + '@types/node': 20.12.12 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 @@ -17486,8 +13305,11 @@ snapshots: source-map-support: 0.5.13 transitivePeerDependencies: - supports-color + dev: true - jest-runtime@29.7.0: + /jest-runtime@29.7.0: + resolution: {integrity: sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 @@ -17496,9 +13318,9 @@ snapshots: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.12.7 + '@types/node': 20.12.12 chalk: 4.1.2 - cjs-module-lexer: 1.2.3 + cjs-module-lexer: 1.3.1 collect-v8-coverage: 1.0.2 glob: 7.2.3 graceful-fs: 4.2.11 @@ -17513,18 +13335,21 @@ snapshots: strip-bom: 4.0.0 transitivePeerDependencies: - supports-color + dev: true - jest-snapshot@29.7.0: + /jest-snapshot@29.7.0: + resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/core': 7.24.4 - '@babel/generator': 7.24.4 - '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.4) - '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.4) - '@babel/types': 7.24.0 + '@babel/core': 7.24.5 + '@babel/generator': 7.24.5 + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.5) + '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.5) + '@babel/types': 7.24.5 '@jest/expect-utils': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.4) + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.5) chalk: 4.1.2 expect: 29.7.0 graceful-fs: 4.2.11 @@ -17535,20 +13360,26 @@ snapshots: jest-util: 29.7.0 natural-compare: 1.4.0 pretty-format: 29.7.0 - semver: 7.6.0 + semver: 7.6.2 transitivePeerDependencies: - supports-color + dev: true - jest-util@29.7.0: + /jest-util@29.7.0: + resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.12.7 + '@types/node': 20.12.12 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 picomatch: 2.3.1 + dev: true - jest-validate@29.7.0: + /jest-validate@29.7.0: + resolution: {integrity: sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 camelcase: 6.3.0 @@ -17556,208 +13387,390 @@ snapshots: jest-get-type: 29.6.3 leven: 3.1.0 pretty-format: 29.7.0 + dev: true - jest-watcher@29.7.0: + /jest-watcher@29.7.0: + resolution: {integrity: sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.12.7 + '@types/node': 20.12.12 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 jest-util: 29.7.0 string-length: 4.0.2 + dev: true - jest-worker@29.7.0: + /jest-worker@29.7.0: + resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.12 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 + dev: true - jest@29.7.0(@types/node@20.12.7): + /jest@29.7.0(@types/node@20.12.12): + resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true dependencies: '@jest/core': 29.7.0 '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@20.12.7) + jest-cli: 29.7.0(@types/node@20.12.12) transitivePeerDependencies: - '@types/node' - babel-plugin-macros - supports-color - ts-node + dev: true - jiti@1.21.0: {} + /jiti@1.21.0: + resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} + hasBin: true + dev: true - jju@1.4.0: {} + /jju@1.4.0: + resolution: {integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==} + dev: true - jmespath@0.16.0: {} + /jmespath@0.16.0: + resolution: {integrity: sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw==} + engines: {node: '>= 0.6.0'} + dev: true - jose@4.15.5: {} + /jose@4.15.5: + resolution: {integrity: sha512-jc7BFxgKPKi94uOvEmzlSWFFe2+vASyXaKUpdQKatWAESU2MWjDfFf0fdfc83CDKcA5QecabZeNLyfhe3yKNkg==} + dev: true - jose@5.2.4: {} + /jose@5.3.0: + resolution: {integrity: sha512-IChe9AtAE79ru084ow8jzkN2lNrG3Ntfiv65Cvj9uOCE2m5LNsdHG+9EbxWxAoWRF9TgDOqLN5jm08++owDVRg==} + dev: true - js-sdsl@4.3.0: {} + /js-sdsl@4.3.0: + resolution: {integrity: sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==} - js-sha3@0.8.0: {} + /js-sha3@0.8.0: + resolution: {integrity: sha512-gF1cRrHhIzNfToc802P800N8PpXS+evLLXfsVpowqmAFR9uwbi89WvXg2QspOmXL8QL86J4T1EpFu+yUkwJY3Q==} - js-tokens@4.0.0: {} + /js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} + dev: true - js-yaml@3.14.1: + /js-yaml@3.14.1: + resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} + hasBin: true dependencies: argparse: 1.0.10 esprima: 4.0.1 + dev: true - js-yaml@4.1.0: + /js-yaml@4.1.0: + resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} + hasBin: true dependencies: argparse: 2.0.1 + dev: true - jsesc@0.5.0: {} - - jsesc@2.5.2: {} + /jsesc@0.5.0: + resolution: {integrity: sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==} + hasBin: true + dev: true - jsesc@3.0.2: {} + /jsesc@2.5.2: + resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} + engines: {node: '>=4'} + hasBin: true + dev: true - json-buffer@3.0.1: {} + /jsesc@3.0.2: + resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} + engines: {node: '>=6'} + hasBin: true + dev: true - json-parse-even-better-errors@2.3.1: {} + /json-buffer@3.0.1: + resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + dev: true - json-schema-traverse@0.4.1: {} + /json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + dev: true - json-schema-traverse@1.0.0: {} + /json-schema-traverse@0.4.1: + resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} + dev: true - json-schema-typed@7.0.3: {} + /json-schema-traverse@1.0.0: + resolution: {integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==} + dev: true - json-stable-stringify-without-jsonify@1.0.1: {} + /json-schema-typed@7.0.3: + resolution: {integrity: sha512-7DE8mpG+/fVw+dTpjbxnx47TaMnDfOI1jwft9g1VybltZCduyRQPJPvc+zzKY9WPHxhPWczyFuYa6I8Mw4iU5A==} + dev: true - json-stable-stringify@1.1.1: - dependencies: - call-bind: 1.0.7 - isarray: 2.0.5 - jsonify: 0.0.1 - object-keys: 1.1.1 + /json-stable-stringify-without-jsonify@1.0.1: + resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + dev: true - json-to-pretty-yaml@1.2.2: + /json-to-pretty-yaml@1.2.2: + resolution: {integrity: sha512-rvm6hunfCcqegwYaG5T4yKJWxc9FXFgBVrcTZ4XfSVRwa5HA/Xs+vB/Eo9treYYHCeNM0nrSUr82V/M31Urc7A==} + engines: {node: '>= 0.2.0'} dependencies: remedial: 1.0.8 remove-trailing-spaces: 1.0.8 + dev: true - json5@1.0.2: + /json5@1.0.2: + resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} + hasBin: true dependencies: minimist: 1.2.8 + dev: true - json5@2.2.3: {} + /json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + dev: true - jsonfile@2.4.0: + /jsonfile@2.4.0: + resolution: {integrity: sha512-PKllAqbgLgxHaj8TElYymKCAgrASebJrWpTnEkOaTowt23VKXXN0sUeriJ+eh7y6ufb/CC5ap11pz71/cM0hUw==} optionalDependencies: graceful-fs: 4.2.11 + dev: true - jsonfile@4.0.0: + /jsonfile@4.0.0: + resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} optionalDependencies: graceful-fs: 4.2.11 + dev: true - jsonfile@6.1.0: + /jsonfile@6.1.0: + resolution: {integrity: sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==} dependencies: universalify: 2.0.1 optionalDependencies: graceful-fs: 4.2.11 + dev: true - jsonify@0.0.1: {} - - jsonschema@1.4.1: {} + /jsonschema@1.4.1: + resolution: {integrity: sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ==} + dev: true - jsx-ast-utils@3.3.5: + /jsx-ast-utils@3.3.5: + resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} + engines: {node: '>=4.0'} dependencies: array-includes: 3.1.8 array.prototype.flat: 1.3.2 object.assign: 4.1.5 object.values: 1.2.0 + dev: true - just-memoize@2.2.0: {} + /just-memoize@2.2.0: + resolution: {integrity: sha512-zriv+MY+61RXT0QsrO1ZJtL5umouqqSWmCGBkp2wJm35kniunBAA4qhUKx8Lvg/QcwrF9xuw9E6PkevKFf4boQ==} + dev: false - keccak@3.0.4: + /keccak@3.0.4: + resolution: {integrity: sha512-3vKuW0jV8J3XNTzvfyicFR5qvxrSAGl7KIhvgOu5cmWwM7tZRj3fMbj/pfIf4be7aznbc+prBWGjywox/g2Y6Q==} + engines: {node: '>=10.0.0'} + requiresBuild: true dependencies: node-addon-api: 2.0.2 - node-gyp-build: 4.8.0 + node-gyp-build: 4.8.1 readable-stream: 3.6.2 + dev: true - keyv@4.5.4: + /keyv@4.5.4: + resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} dependencies: json-buffer: 3.0.1 + dev: true - kind-of@6.0.3: {} + /kind-of@6.0.3: + resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} + engines: {node: '>=0.10.0'} + dev: true - klaw@1.3.1: + /klaw@1.3.1: + resolution: {integrity: sha512-TED5xi9gGQjGpNnvRWknrwAB1eL5GciPfVFOt3Vk1OJCVDQbzuSfrF3hkUQKlsgKrG1F+0t5W0m+Fje1jIt8rw==} optionalDependencies: graceful-fs: 4.2.11 + dev: true - kleur@3.0.3: {} + /kleur@3.0.3: + resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} + engines: {node: '>=6'} + dev: true - kysely-codegen@0.10.1(kysely@0.25.0): + /kysely-codegen@0.10.1(kysely@0.25.0): + resolution: {integrity: sha512-8Bslh952gN5gtucRv4jTZDFD18RBioS6M50zHfe5kwb5iSyEAunU4ZYMdHzkHraa4zxjg5/183XlOryBCXLRIw==} + hasBin: true + peerDependencies: + better-sqlite3: '>=7.6.2' + kysely: '>=0.19.12' + mysql2: ^2.3.3 || ^3.0.0 + pg: ^8.8.0 + peerDependenciesMeta: + better-sqlite3: + optional: true + mysql2: + optional: true + pg: + optional: true dependencies: chalk: 4.1.2 dotenv: 16.4.5 kysely: 0.25.0 - micromatch: 4.0.5 + micromatch: 4.0.7 minimist: 1.2.8 + dev: true - kysely-codegen@0.15.0(kysely@0.27.3)(pg@8.11.5): + /kysely-codegen@0.15.0(kysely@0.27.3)(pg@8.11.5): + resolution: {integrity: sha512-LPta2nQOyoEPDQ3w/Gsplc+2iyZPAsGvtWoS21VzOB0NDQ0B38Xy1gS8WlbGef542Zdw2eLJHxekud9DzVdNRw==} + hasBin: true + peerDependencies: + '@libsql/kysely-libsql': ^0.3.0 + '@tediousjs/connection-string': ^0.5.0 + better-sqlite3: '>=7.6.2' + kysely: ^0.27.0 + kysely-bun-worker: ^0.5.3 + mysql2: ^2.3.3 || ^3.0.0 + pg: ^8.8.0 + tarn: ^3.0.0 + tedious: ^16.6.0 || ^17.0.0 + peerDependenciesMeta: + '@libsql/kysely-libsql': + optional: true + '@tediousjs/connection-string': + optional: true + better-sqlite3: + optional: true + kysely-bun-worker: + optional: true + mysql2: + optional: true + pg: + optional: true + tarn: + optional: true + tedious: + optional: true dependencies: chalk: 4.1.2 dotenv: 16.4.5 dotenv-expand: 11.0.6 git-diff: 2.0.6 kysely: 0.27.3 - micromatch: 4.0.5 + micromatch: 4.0.7 minimist: 1.2.8 pg: 8.11.5 + dev: true - kysely-data-api@0.2.1(@aws-sdk/client-rds-data@3.569.0)(kysely@0.25.0): + /kysely-data-api@0.2.1(@aws-sdk/client-rds-data@3.583.0)(kysely@0.25.0): + resolution: {integrity: sha512-KmASvF1gmjVqyU9WOUXhCQlv29ofR+xc2DhjaIomz1+Bjd/VtR2/3g4ZuXwG1L4lWGKxMuo5iOvK3XyPbB4LdQ==} + peerDependencies: + '@aws-sdk/client-rds-data': 3.x + kysely: 0.x dependencies: - '@aws-sdk/client-rds-data': 3.569.0 + '@aws-sdk/client-rds-data': 3.583.0 kysely: 0.25.0 + dev: true - kysely-data-api@0.2.1(@aws-sdk/client-rds-data@3.569.0)(kysely@0.27.3): + /kysely-data-api@0.2.1(@aws-sdk/client-rds-data@3.583.0)(kysely@0.27.3): + resolution: {integrity: sha512-KmASvF1gmjVqyU9WOUXhCQlv29ofR+xc2DhjaIomz1+Bjd/VtR2/3g4ZuXwG1L4lWGKxMuo5iOvK3XyPbB4LdQ==} + peerDependencies: + '@aws-sdk/client-rds-data': 3.x + kysely: 0.x dependencies: - '@aws-sdk/client-rds-data': 3.569.0 + '@aws-sdk/client-rds-data': 3.583.0 kysely: 0.27.3 + dev: false - kysely-postgres-js@2.0.0(kysely@0.27.3)(postgres@3.4.4): + /kysely-postgres-js@2.0.0(kysely@0.27.3)(postgres@3.4.4): + resolution: {integrity: sha512-R1tWx6/x3tSatWvsmbHJxpBZYhNNxcnMw52QzZaHKg7ZOWtHib4iZyEaw4gb2hNKVctWQ3jfMxZT/ZaEMK6kBQ==} + peerDependencies: + kysely: '>= 0.24.0 < 1' + postgres: '>= 3.4.0 < 4' dependencies: kysely: 0.27.3 postgres: 3.4.4 + dev: false - kysely@0.25.0: {} + /kysely@0.25.0: + resolution: {integrity: sha512-srn0efIMu5IoEBk0tBmtGnoUss4uwvxtbFQWG/U2MosfqIace1l43IFP1PmEpHRDp+Z79xIcKEqmHH3dAvQdQA==} + engines: {node: '>=14.0.0'} + dev: true - kysely@0.27.3: {} + /kysely@0.27.3: + resolution: {integrity: sha512-lG03Ru+XyOJFsjH3OMY6R/9U38IjDPfnOfDgO3ynhbDr+Dz8fak+X6L62vqu3iybQnj+lG84OttBuU9KY3L9kA==} + engines: {node: '>=14.0.0'} - language-subtag-registry@0.3.22: {} + /language-subtag-registry@0.3.23: + resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==} + dev: true - language-tags@1.0.9: + /language-tags@1.0.9: + resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} + engines: {node: '>=0.10'} dependencies: - language-subtag-registry: 0.3.22 + language-subtag-registry: 0.3.23 + dev: true - lazystream@1.0.1: + /lazystream@1.0.1: + resolution: {integrity: sha512-b94GiNHQNy6JNTrt5w6zNyffMrNkXZb3KTkCZJb2V1xaEGCk093vkZ2jk3tpaeP33/OiXC+WvK9AxUebnf5nbw==} + engines: {node: '>= 0.6.3'} dependencies: readable-stream: 2.3.8 + dev: true - leven@2.1.0: {} + /leven@2.1.0: + resolution: {integrity: sha512-nvVPLpIHUxCUoRLrFqTgSxXJ614d8AgQoWl7zPe/2VadE8+1dpU3LBhowRuBAcuwruWtOdD8oYC9jDNJjXDPyA==} + engines: {node: '>=0.10.0'} - leven@3.1.0: {} + /leven@3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + dev: true - levn@0.3.0: + /levn@0.3.0: + resolution: {integrity: sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==} + engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.1.2 type-check: 0.3.2 + dev: true - levn@0.4.1: + /levn@0.4.1: + resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} + engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.2.1 type-check: 0.4.0 + dev: true - lines-and-columns@1.2.4: {} + /lines-and-columns@1.2.4: + resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} + dev: true - listr2@4.0.5: + /listr2@4.0.5: + resolution: {integrity: sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==} + engines: {node: '>=12'} + peerDependencies: + enquirer: '>= 2.3.0 < 3' + peerDependenciesMeta: + enquirer: + optional: true dependencies: cli-truncate: 2.1.0 colorette: 2.0.20 @@ -17767,97 +13780,172 @@ snapshots: rxjs: 7.8.1 through: 2.3.8 wrap-ansi: 7.0.0 + dev: true - locate-path@2.0.0: + /locate-path@2.0.0: + resolution: {integrity: sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==} + engines: {node: '>=4'} dependencies: p-locate: 2.0.0 path-exists: 3.0.0 + dev: true - locate-path@3.0.0: + /locate-path@3.0.0: + resolution: {integrity: sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==} + engines: {node: '>=6'} dependencies: p-locate: 3.0.0 path-exists: 3.0.0 + dev: true - locate-path@5.0.0: + /locate-path@5.0.0: + resolution: {integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==} + engines: {node: '>=8'} dependencies: p-locate: 4.1.0 + dev: true - locate-path@6.0.0: + /locate-path@6.0.0: + resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} + engines: {node: '>=10'} dependencies: p-locate: 5.0.0 + dev: true - lodash.clonedeep@4.5.0: {} + /lodash.clonedeep@4.5.0: + resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==} + dev: true - lodash.defaults@4.2.0: {} + /lodash.defaults@4.2.0: + resolution: {integrity: sha512-qjxPLHd3r5DnsdGacqOMU6pb/avJzdh9tFX2ymgoZE27BmjXrNy/y4LoaiTeAb+O3gL8AfpJGtqfX/ae2leYYQ==} + dev: true - lodash.difference@4.5.0: {} + /lodash.difference@4.5.0: + resolution: {integrity: sha512-dS2j+W26TQ7taQBGN8Lbbq04ssV3emRw4NY58WErlTO29pIqS0HmoT5aJ9+TUQ1N3G+JOZSji4eugsWwGp9yPA==} + dev: true - lodash.flatten@4.4.0: {} + /lodash.flatten@4.4.0: + resolution: {integrity: sha512-C5N2Z3DgnnKr0LOpv/hKCgKdb7ZZwafIrsesve6lmzvZIRZRGaZ/l6Q8+2W7NaT+ZwO3fFlSCzCzrDCFdJfZ4g==} + dev: true - lodash.isplainobject@4.0.6: {} + /lodash.isplainobject@4.0.6: + resolution: {integrity: sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==} + dev: true - lodash.memoize@4.1.2: {} + /lodash.memoize@4.1.2: + resolution: {integrity: sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==} + dev: true - lodash.merge@4.6.2: {} + /lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} - lodash.sortby@4.7.0: {} + /lodash.sortby@4.7.0: + resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} + dev: true - lodash.truncate@4.4.2: {} + /lodash.truncate@4.4.2: + resolution: {integrity: sha512-jttmRe7bRse52OsWIMDLaXxWqRAmtIUccAQ3garviCqJjafXOfNMO0yMfNpdD6zbGaTU0P5Nz7e7gAT6cKmJRw==} + dev: true - lodash.union@4.6.0: {} + /lodash.union@4.6.0: + resolution: {integrity: sha512-c4pB2CdGrGdjMKYLA+XiRDO7Y0PRQbm/Gzg8qMj+QH+pFVAoTp5sBpO0odL3FjoPCGjK96p6qsP+yQoiLoOBcw==} + dev: true - lodash@4.17.21: {} + /lodash@4.17.21: + resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} + dev: true - log-symbols@4.1.0: + /log-symbols@4.1.0: + resolution: {integrity: sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==} + engines: {node: '>=10'} dependencies: chalk: 4.1.2 is-unicode-supported: 0.1.0 + dev: true - log-symbols@5.1.0: + /log-symbols@5.1.0: + resolution: {integrity: sha512-l0x2DvrW294C9uDCoQe1VSU4gf529FkSZ6leBl4TiqZH/e+0R7hSfHQBNut2mNygDgHwvYHfFLn6Oxb3VWj2rA==} + engines: {node: '>=12'} dependencies: chalk: 5.3.0 is-unicode-supported: 1.3.0 + dev: true - log-update@4.0.0: + /log-update@4.0.0: + resolution: {integrity: sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==} + engines: {node: '>=10'} dependencies: ansi-escapes: 4.3.2 cli-cursor: 3.1.0 slice-ansi: 4.0.0 wrap-ansi: 6.2.0 + dev: true - loglevel@1.9.1: {} + /loglevel@1.9.1: + resolution: {integrity: sha512-hP3I3kCrDIMuRwAwHltphhDM1r8i55H33GgqjXbrisuJhF4kRhW1dNuxsRklp4bXl8DSdLaNLuiL4A/LWRfxvg==} + engines: {node: '>= 0.6.0'} + dev: true - loose-envify@1.4.0: + /loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true dependencies: js-tokens: 4.0.0 + dev: true - loupe@2.3.7: + /loupe@2.3.7: + resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} dependencies: get-func-name: 2.0.2 + dev: true - lower-case-first@2.0.2: + /lower-case-first@2.0.2: + resolution: {integrity: sha512-EVm/rR94FJTZi3zefZ82fLWab+GX14LJN4HrWBcuo6Evmsl9hEfnqxgcHCKb9q+mNf6EVdsjx/qucYFIIB84pg==} dependencies: tslib: 2.6.2 + dev: true - lower-case@2.0.2: + /lower-case@2.0.2: + resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} dependencies: tslib: 2.6.2 + dev: true - lru-cache@10.2.0: {} + /lru-cache@10.2.2: + resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} + engines: {node: 14 || >=16.14} + dev: true - lru-cache@5.1.1: + /lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} dependencies: yallist: 3.1.1 + dev: true - lru-cache@6.0.0: + /lru-cache@6.0.0: + resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} + engines: {node: '>=10'} dependencies: yallist: 4.0.0 - lru-cache@7.18.3: {} + /lru-cache@7.18.3: + resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} + engines: {node: '>=12'} + dev: true - lru_map@0.3.3: {} + /lru_map@0.3.3: + resolution: {integrity: sha512-Pn9cox5CsMYngeDbmChANltQl+5pi6XmTrraMSzhPmMBbmgcxmqWry0U3PGapCU1yB4/LqCcom7qhHZiF/jGfQ==} + dev: true - madge@7.0.0(typescript@5.4.5): + /madge@7.0.0(typescript@5.4.5): + resolution: {integrity: sha512-x9eHkBWoCJ2B8yGesWf8LRucarkbH5P3lazqgvmxe4xn5U2Meyfu906iG9mBB1RnY/f4D+gtELWdiz1k6+jAZA==} + engines: {node: '>=14'} + hasBin: true + peerDependencies: + typescript: ^3.9.5 || ^4.9.5 || ^5 + peerDependenciesMeta: + typescript: + optional: true dependencies: chalk: 4.1.2 commander: 7.2.0 @@ -17875,24 +13963,40 @@ snapshots: walkdir: 0.4.1 transitivePeerDependencies: - supports-color + dev: true - make-dir@4.0.0: + /make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} dependencies: - semver: 7.6.0 + semver: 7.6.2 + dev: true - make-error@1.3.6: {} + /make-error@1.3.6: + resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} + dev: true - makeerror@1.0.12: + /makeerror@1.0.12: + resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} dependencies: tmpl: 1.0.5 + dev: true - map-cache@0.2.2: {} + /map-cache@0.2.2: + resolution: {integrity: sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==} + engines: {node: '>=0.10.0'} + dev: true - markdown-table@1.1.3: {} + /markdown-table@1.1.3: + resolution: {integrity: sha512-1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==} + dev: true - mathjs@10.6.4: + /mathjs@10.6.4: + resolution: {integrity: sha512-omQyvRE1jIy+3k2qsqkWASOcd45aZguXZDckr3HtnTYyXk5+2xpVfC3kATgbO2Srjxlqww3TVdhD0oUdZ/hiFA==} + engines: {node: '>= 14'} + hasBin: true dependencies: - '@babel/runtime': 7.24.4 + '@babel/runtime': 7.24.5 complex.js: 2.1.1 decimal.js: 10.4.3 escape-latex: 1.2.0 @@ -17901,103 +14005,192 @@ snapshots: seedrandom: 3.0.5 tiny-emitter: 2.1.0 typed-function: 2.1.0 + dev: true - md5.js@1.3.5: + /md5.js@1.3.5: + resolution: {integrity: sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==} dependencies: hash-base: 3.1.0 inherits: 2.0.4 safe-buffer: 5.2.1 + dev: true - media-typer@0.3.0: {} + /media-typer@0.3.0: + resolution: {integrity: sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==} + engines: {node: '>= 0.6'} + dev: true - memorystream@0.3.1: {} + /memorystream@0.3.1: + resolution: {integrity: sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==} + engines: {node: '>= 0.10.0'} + dev: true - merge-descriptors@1.0.1: {} + /merge-descriptors@1.0.1: + resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} + dev: true - merge-stream@2.0.0: {} + /merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + dev: true - merge2@1.4.1: {} + /merge2@1.4.1: + resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} + engines: {node: '>= 8'} + dev: true - meros@1.3.0(@types/node@20.12.7): + /meros@1.3.0(@types/node@20.12.12): + resolution: {integrity: sha512-2BNGOimxEz5hmjUG2FwoxCt5HN7BXdaWyFqEwxPTrJzVdABtrL4TiHTcsWSFAxPQ/tOnEaQEJh3qWq71QRMY+w==} + engines: {node: '>=13'} + peerDependencies: + '@types/node': '>=13' + peerDependenciesMeta: + '@types/node': + optional: true dependencies: - '@types/node': 20.12.7 + '@types/node': 20.12.12 + dev: true - methods@1.1.2: {} + /methods@1.1.2: + resolution: {integrity: sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==} + engines: {node: '>= 0.6'} + dev: true - micro-ftch@0.3.1: {} + /micro-ftch@0.3.1: + resolution: {integrity: sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==} + dev: true - micromatch@4.0.5: + /micromatch@4.0.7: + resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} + engines: {node: '>=8.6'} dependencies: - braces: 3.0.2 + braces: 3.0.3 picomatch: 2.3.1 + dev: true - mime-db@1.52.0: {} + /mime-db@1.52.0: + resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} + engines: {node: '>= 0.6'} - mime-types@2.1.35: + /mime-types@2.1.35: + resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} + engines: {node: '>= 0.6'} dependencies: mime-db: 1.52.0 - mime@1.6.0: {} + /mime@1.6.0: + resolution: {integrity: sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==} + engines: {node: '>=4'} + hasBin: true + dev: true - mime@2.6.0: {} + /mime@2.6.0: + resolution: {integrity: sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==} + engines: {node: '>=4.0.0'} + hasBin: true + dev: true - mimic-fn@2.1.0: {} + /mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + dev: true - mimic-fn@3.1.0: {} + /mimic-fn@3.1.0: + resolution: {integrity: sha512-Ysbi9uYW9hFyfrThdDEQuykN4Ey6BuwPD2kpI5ES/nFTDn/98yxYNLZJcgUAKPT/mcrLLKaGzJR9YVxJrIdASQ==} + engines: {node: '>=8'} + dev: true - min-indent@1.0.1: {} + /min-indent@1.0.1: + resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} + engines: {node: '>=4'} + dev: true - minimalistic-assert@1.0.1: {} + /minimalistic-assert@1.0.1: + resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} - minimalistic-crypto-utils@1.0.1: {} + /minimalistic-crypto-utils@1.0.1: + resolution: {integrity: sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==} - minimatch@3.1.2: + /minimatch@3.1.2: + resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: brace-expansion: 1.1.11 - minimatch@4.2.3: + /minimatch@4.2.3: + resolution: {integrity: sha512-lIUdtK5hdofgCTu3aT0sOaHsYR37viUuIc0rwnnDXImbwFRcumyLMeZaM0t0I/fgxS6s6JMfu0rLD1Wz9pv1ng==} + engines: {node: '>=10'} dependencies: brace-expansion: 1.1.11 + dev: true - minimatch@5.0.1: + /minimatch@5.0.1: + resolution: {integrity: sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==} + engines: {node: '>=10'} dependencies: brace-expansion: 2.0.1 + dev: true - minimatch@5.1.6: + /minimatch@5.1.6: + resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} + engines: {node: '>=10'} dependencies: brace-expansion: 2.0.1 + dev: true - minimatch@6.2.0: + /minimatch@6.2.0: + resolution: {integrity: sha512-sauLxniAmvnhhRjFwPNnJKaPFYyddAgbYdeUpHULtCT/GhzdCx/MDNy+Y40lBxTQUrMzDE8e0S43Z5uqfO0REg==} + engines: {node: '>=10'} dependencies: brace-expansion: 2.0.1 + dev: true - minimatch@9.0.3: + /minimatch@9.0.3: + resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} + engines: {node: '>=16 || 14 >=14.17'} dependencies: brace-expansion: 2.0.1 + dev: true - minimatch@9.0.4: + /minimatch@9.0.4: + resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} + engines: {node: '>=16 || 14 >=14.17'} dependencies: brace-expansion: 2.0.1 + dev: true - minimist@1.2.6: {} + /minimist@1.2.6: + resolution: {integrity: sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==} - minimist@1.2.8: {} + /minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - minipass@7.0.4: {} + /minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + engines: {node: '>=16 || 14 >=14.17'} + dev: true - mkdirp@0.5.6: + /mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true dependencies: minimist: 1.2.8 + dev: true - mnemonist@0.38.5: + /mnemonist@0.38.5: + resolution: {integrity: sha512-bZTFT5rrPKtPJxj8KSV0WkPyNxl72vQepqqVUAW2ARUpUSF2qXMB6jZj7hW5/k7C1rtpzqbD/IIbJwLXUjCHeg==} dependencies: obliterator: 2.0.4 + dev: true - mnemonist@0.39.8: + /mnemonist@0.39.8: + resolution: {integrity: sha512-vyWo2K3fjrUw8YeeZ1zF0fy6Mu59RHokURlld8ymdUPjMlD9EC9ov1/YPqTgqRvUN9nTr3Gqfz29LYAmu0PHPQ==} dependencies: obliterator: 2.0.4 + dev: true - mocha@10.4.0: + /mocha@10.4.0: + resolution: {integrity: sha512-eqhGB8JKapEYcC4ytX/xrzKforgEc3j1pGlAXVy3eRwrtAy5/nIfT1SvgGzfN0XZZxeLq0aQWkOUAmqIJiv+bA==} + engines: {node: '>= 14.0.0'} + hasBin: true dependencies: ansi-colors: 4.1.1 browser-stdout: 1.3.1 @@ -18019,20 +14212,30 @@ snapshots: yargs: 16.2.0 yargs-parser: 20.2.4 yargs-unparser: 2.0.0 + dev: true - module-definition@5.0.1: + /module-definition@5.0.1: + resolution: {integrity: sha512-kvw3B4G19IXk+BOXnYq/D/VeO9qfHaapMeuS7w7sNUqmGaA6hywdFHMi+VWeR9wUScXM7XjoryTffCZ5B0/8IA==} + engines: {node: '>=14'} + hasBin: true dependencies: ast-module-types: 5.0.0 node-source-walk: 6.0.2 + dev: true - module-lookup-amd@8.0.5: + /module-lookup-amd@8.0.5: + resolution: {integrity: sha512-vc3rYLjDo5Frjox8NZpiyLXsNWJ5BWshztc/5KSOMzpg9k5cHH652YsJ7VKKmtM4SvaxuE9RkrYGhiSjH3Ehow==} + engines: {node: '>=14'} + hasBin: true dependencies: commander: 10.0.1 glob: 7.2.3 requirejs: 2.3.6 requirejs-config-file: 4.0.0 + dev: true - mqtt-packet@6.10.0: + /mqtt-packet@6.10.0: + resolution: {integrity: sha512-ja8+mFKIHdB1Tpl6vac+sktqy3gA8t9Mduom1BA75cI+R9AHnZOiaBQwpGiWnaVJLDGRdNhQmFaAqd7tkKSMGA==} dependencies: bl: 4.1.0 debug: 4.3.4(supports-color@8.1.1) @@ -18040,7 +14243,10 @@ snapshots: transitivePeerDependencies: - supports-color - mqtt@4.2.8: + /mqtt@4.2.8: + resolution: {integrity: sha512-DJYjlXODVXtSDecN8jnNzi6ItX3+ufGsEs9OB3YV24HtkRrh7kpx8L5M1LuyF0KzaiGtWr2PzDcMGAY60KGOSA==} + engines: {node: '>=10.0.0'} + hasBin: true dependencies: commist: 1.1.0 concat-stream: 2.0.0 @@ -18048,7 +14254,7 @@ snapshots: duplexify: 4.1.3 help-me: 3.0.0 inherits: 2.0.4 - minimist: 1.2.8 + minimist: 1.2.6 mqtt-packet: 6.10.0 pump: 3.0.0 readable-stream: 3.6.2 @@ -18060,8 +14266,12 @@ snapshots: - bufferutil - supports-color - utf-8-validate + dev: true - mqtt@4.3.8: + /mqtt@4.3.8: + resolution: {integrity: sha512-2xT75uYa0kiPEF/PE0VPdavmEkoBzMT/UL9moid0rAvlCtV48qBwxD62m7Ld/4j8tSkIO1E/iqRl/S72SEOhOw==} + engines: {node: '>=10.0.0'} + hasBin: true dependencies: commist: 1.1.0 concat-stream: 2.0.0 @@ -18085,168 +14295,291 @@ snapshots: - supports-color - utf-8-validate - ms@2.0.0: {} + /ms@2.0.0: + resolution: {integrity: sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==} + dev: true - ms@2.1.2: {} + /ms@2.1.2: + resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - ms@2.1.3: {} + /ms@2.1.3: + resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} + dev: true - mute-stream@0.0.8: {} + /mute-stream@0.0.8: + resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} + dev: true - mute-stream@1.0.0: {} + /mute-stream@1.0.0: + resolution: {integrity: sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dev: false - mylas@2.1.13: {} + /mylas@2.1.13: + resolution: {integrity: sha512-+MrqnJRtxdF+xngFfUUkIMQrUUL0KsxbADUkn23Z/4ibGg192Q+z+CQyiYwvWTsYjJygmMR8+w3ZDa98Zh6ESg==} + engines: {node: '>=12.0.0'} + dev: true - nanoid@3.3.7: {} + /nanoid@3.3.7: + resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + dev: true - natural-compare@1.4.0: {} + /natural-compare@1.4.0: + resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} + dev: true - negotiator@0.6.3: {} + /negotiator@0.6.3: + resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} + engines: {node: '>= 0.6'} + dev: true - neo-async@2.6.2: {} + /neo-async@2.6.2: + resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} + dev: true - no-case@3.0.4: + /no-case@3.0.4: + resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} dependencies: lower-case: 2.0.2 tslib: 2.6.2 + dev: true - node-addon-api@2.0.2: {} + /node-addon-api@2.0.2: + resolution: {integrity: sha512-Ntyt4AIXyaLIuMHF6IOoTakB3K+RWxwtsHNRxllEoA6vPwP9o4866g6YWDLUdnucilZhmkxiHwHr11gAENw+QA==} + dev: true - node-domexception@1.0.0: {} + /node-domexception@1.0.0: + resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} + engines: {node: '>=10.5.0'} + dev: false - node-emoji@1.11.0: + /node-emoji@1.11.0: + resolution: {integrity: sha512-wo2DpQkQp7Sjm2A0cq+sN7EHKO6Sl0ctXeBdFZrL9T9+UywORbufTcTZxom8YqpLQt/FqNMUkOpkZrJVYSKD3A==} dependencies: lodash: 4.17.21 + dev: true - node-fetch@2.7.0: + /node-fetch@2.7.0: + resolution: {integrity: sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==} + engines: {node: 4.x || >=6.0.0} + peerDependencies: + encoding: ^0.1.0 + peerDependenciesMeta: + encoding: + optional: true dependencies: whatwg-url: 5.0.0 - node-fetch@3.3.2: + /node-fetch@3.3.2: + resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: data-uri-to-buffer: 4.0.1 fetch-blob: 3.2.0 formdata-polyfill: 4.0.10 + dev: false - node-gyp-build@4.8.0: {} + /node-gyp-build@4.8.1: + resolution: {integrity: sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw==} + hasBin: true + dev: true - node-int64@0.4.0: {} + /node-int64@0.4.0: + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + dev: true - node-releases@2.0.14: {} + /node-releases@2.0.14: + resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + dev: true - node-source-walk@6.0.2: + /node-source-walk@6.0.2: + resolution: {integrity: sha512-jn9vOIK/nfqoFCcpK89/VCVaLg1IHE6UVfDOzvqmANaJ/rWCTEdH8RZ1V278nv2jr36BJdyQXIAavBLXpzdlag==} + engines: {node: '>=14'} dependencies: - '@babel/parser': 7.24.4 + '@babel/parser': 7.24.5 + dev: true - nofilter@3.1.0: {} + /nofilter@3.1.0: + resolution: {integrity: sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g==} + engines: {node: '>=12.19'} + dev: true - nopt@3.0.6: + /nopt@3.0.6: + resolution: {integrity: sha512-4GUt3kSEYmk4ITxzB/b9vaIDfUVWN/Ml1Fwl11IlnIG2iaJ9O6WXZ9SrYM9NLI8OCBieN2Y8SWC2oJV0RQ7qYg==} + hasBin: true dependencies: abbrev: 1.0.9 + dev: true - normalize-package-data@2.5.0: + /normalize-package-data@2.5.0: + resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} dependencies: hosted-git-info: 2.8.9 resolve: 1.22.8 semver: 5.7.2 validate-npm-package-license: 3.0.4 + dev: true - normalize-path@2.1.1: + /normalize-path@2.1.1: + resolution: {integrity: sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==} + engines: {node: '>=0.10.0'} dependencies: remove-trailing-separator: 1.1.0 + dev: true - normalize-path@3.0.0: {} + /normalize-path@3.0.0: + resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} + engines: {node: '>=0.10.0'} + dev: true - npm-run-path@4.0.1: + /npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} dependencies: path-key: 3.1.1 + dev: true - nullthrows@1.1.1: {} + /nullthrows@1.1.1: + resolution: {integrity: sha512-2vPPEi+Z7WqML2jZYddDIfy5Dqb0r2fze2zTxNNknZaFpVHU3mFB3R+DWeJWGVx0ecvttSGlJTI+WG+8Z4cDWw==} + dev: true - number-allocator@1.0.14: + /number-allocator@1.0.14: + resolution: {integrity: sha512-OrL44UTVAvkKdOdRQZIJpLkAdjXGTRda052sN4sO77bKEzYYqWKMBjQvrJFzqygI99gL6Z4u2xctPW1tB8ErvA==} dependencies: debug: 4.3.4(supports-color@8.1.1) js-sdsl: 4.3.0 transitivePeerDependencies: - supports-color - number-to-bn@1.7.0: + /number-to-bn@1.7.0: + resolution: {integrity: sha512-wsJ9gfSz1/s4ZsJN01lyonwuxA1tml6X1yBDnfpMglypcBRFZZkus26EdPSlqS5GJfYddVZa22p3VNb3z5m5Ig==} + engines: {node: '>=6.5.0', npm: '>=3'} dependencies: bn.js: 4.11.6 strip-hex-prefix: 1.0.0 + dev: true - object-assign@4.1.1: {} + /object-assign@4.1.1: + resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} + engines: {node: '>=0.10.0'} + dev: true - object-hash@2.2.0: {} + /object-hash@2.2.0: + resolution: {integrity: sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==} + engines: {node: '>= 6'} + dev: true - object-inspect@1.13.1: {} + /object-inspect@1.13.1: + resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + dev: true - object-keys@1.1.1: {} + /object-keys@1.1.1: + resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} + engines: {node: '>= 0.4'} + dev: true - object.assign@4.1.5: + /object.assign@4.1.5: + resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 has-symbols: 1.0.3 object-keys: 1.1.1 + dev: true - object.entries@1.1.8: + /object.entries@1.1.8: + resolution: {integrity: sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-object-atoms: 1.0.0 + dev: true - object.fromentries@2.0.8: + /object.fromentries@2.0.8: + resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.3 es-object-atoms: 1.0.0 + dev: true - object.groupby@1.0.3: + /object.groupby@1.0.3: + resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.3 + dev: true - object.hasown@1.1.4: + /object.hasown@1.1.4: + resolution: {integrity: sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==} + engines: {node: '>= 0.4'} dependencies: define-properties: 1.2.1 es-abstract: 1.23.3 es-object-atoms: 1.0.0 + dev: true - object.values@1.2.0: + /object.values@1.2.0: + resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-object-atoms: 1.0.0 + dev: true - obliterator@2.0.4: {} + /obliterator@2.0.4: + resolution: {integrity: sha512-lgHwxlxV1qIg1Eap7LgIeoBWIMFibOjbrYPIPJZcI1mmGAI2m3lNYpK12Y+GBdPQ0U1hRwSord7GIaawz962qQ==} + dev: true - obuf@1.1.2: {} + /obuf@1.1.2: + resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} + dev: true - oidc-token-hash@5.0.3: {} + /oidc-token-hash@5.0.3: + resolution: {integrity: sha512-IF4PcGgzAr6XXSff26Sk/+P4KZFJVuHAJZj3wgO3vX2bMdNVp/QXTP3P7CEm9V1IdG8lDLY3HhiqpsE/nOwpPw==} + engines: {node: ^10.13.0 || >=12.0.0} + dev: true - on-finished@2.4.1: + /on-finished@2.4.1: + resolution: {integrity: sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==} + engines: {node: '>= 0.8'} dependencies: ee-first: 1.1.1 + dev: true - once@1.4.0: + /once@1.4.0: + resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} dependencies: wrappy: 1.0.2 - onetime@5.1.2: + /onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} dependencies: mimic-fn: 2.1.0 + dev: true - openid-client@5.6.5: + /openid-client@5.6.5: + resolution: {integrity: sha512-5P4qO9nGJzB5PI0LFlhj4Dzg3m4odt0qsJTfyEtZyOlkgpILwEioOhVVJOrS1iVH494S4Ee5OCjjg6Bf5WOj3w==} dependencies: jose: 4.15.5 lru-cache: 6.0.0 object-hash: 2.2.0 oidc-token-hash: 5.0.3 + dev: true - optionator@0.8.3: + /optionator@0.8.3: + resolution: {integrity: sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==} + engines: {node: '>= 0.8.0'} dependencies: deep-is: 0.1.4 fast-levenshtein: 2.0.6 @@ -18254,17 +14587,23 @@ snapshots: prelude-ls: 1.1.2 type-check: 0.3.2 word-wrap: 1.2.5 + dev: true - optionator@0.9.3: + /optionator@0.9.4: + resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + engines: {node: '>= 0.8.0'} dependencies: - '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 fast-levenshtein: 2.0.6 levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 + word-wrap: 1.2.5 + dev: true - ora@5.4.1: + /ora@5.4.1: + resolution: {integrity: sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==} + engines: {node: '>=10'} dependencies: bl: 4.1.0 chalk: 4.1.2 @@ -18275,8 +14614,11 @@ snapshots: log-symbols: 4.1.0 strip-ansi: 6.0.1 wcwidth: 1.0.1 + dev: true - ora@6.3.1: + /ora@6.3.1: + resolution: {integrity: sha512-ERAyNnZOfqM+Ao3RAvIXkYh5joP220yf59gVe2X/cI6SiCxIdi4c9HZKZD8R6q/RDXEje1THBju6iExiSsgJaQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: chalk: 5.3.0 cli-cursor: 4.0.0 @@ -18287,146 +14629,261 @@ snapshots: stdin-discarder: 0.1.0 strip-ansi: 7.1.0 wcwidth: 1.0.1 + dev: true - os-tmpdir@1.0.2: {} + /os-tmpdir@1.0.2: + resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} + engines: {node: '>=0.10.0'} - p-limit@1.3.0: + /p-limit@1.3.0: + resolution: {integrity: sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==} + engines: {node: '>=4'} dependencies: p-try: 1.0.0 + dev: true - p-limit@2.3.0: + /p-limit@2.3.0: + resolution: {integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==} + engines: {node: '>=6'} dependencies: p-try: 2.2.0 + dev: true - p-limit@3.1.0: + /p-limit@3.1.0: + resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} + engines: {node: '>=10'} dependencies: yocto-queue: 0.1.0 + dev: true - p-locate@2.0.0: + /p-locate@2.0.0: + resolution: {integrity: sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==} + engines: {node: '>=4'} dependencies: p-limit: 1.3.0 + dev: true - p-locate@3.0.0: + /p-locate@3.0.0: + resolution: {integrity: sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==} + engines: {node: '>=6'} dependencies: p-limit: 2.3.0 + dev: true - p-locate@4.1.0: + /p-locate@4.1.0: + resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} + engines: {node: '>=8'} dependencies: p-limit: 2.3.0 + dev: true - p-locate@5.0.0: + /p-locate@5.0.0: + resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} + engines: {node: '>=10'} dependencies: p-limit: 3.1.0 + dev: true - p-map@4.0.0: + /p-map@4.0.0: + resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} + engines: {node: '>=10'} dependencies: aggregate-error: 3.1.0 + dev: true - p-try@1.0.0: {} + /p-try@1.0.0: + resolution: {integrity: sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==} + engines: {node: '>=4'} + dev: true - p-try@2.2.0: {} + /p-try@2.2.0: + resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} + engines: {node: '>=6'} + dev: true - param-case@3.0.4: + /param-case@3.0.4: + resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} dependencies: dot-case: 3.0.4 tslib: 2.6.2 + dev: true - parent-module@1.0.1: + /parent-module@1.0.1: + resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} + engines: {node: '>=6'} dependencies: callsites: 3.1.0 + dev: true - parse-cache-control@1.0.1: {} + /parse-cache-control@1.0.1: + resolution: {integrity: sha512-60zvsJReQPX5/QP0Kzfd/VrpjScIQ7SHBW6bFCYfEP+fp0Eppr1SHhIO5nd1PjZtvclzSzES9D/p5nFJurwfWg==} + dev: true - parse-filepath@1.0.2: + /parse-filepath@1.0.2: + resolution: {integrity: sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==} + engines: {node: '>=0.8'} dependencies: is-absolute: 1.0.0 map-cache: 0.2.2 path-root: 0.1.1 + dev: true - parse-json@5.2.0: + /parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} dependencies: '@babel/code-frame': 7.24.2 error-ex: 1.3.2 json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 + dev: true - parse-ms@2.1.0: {} + /parse-ms@2.1.0: + resolution: {integrity: sha512-kHt7kzLoS9VBZfUsiKjv43mr91ea+U05EyKkEtqp7vNbHxmaVuEqN7XxeEVnGrMtYOAxGrDElSi96K7EgO1zCA==} + engines: {node: '>=6'} + dev: true - parseurl@1.3.3: {} + /parseurl@1.3.3: + resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} + engines: {node: '>= 0.8'} + dev: true - pascal-case@3.1.2: + /pascal-case@3.1.2: + resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} dependencies: no-case: 3.0.4 tslib: 2.6.2 + dev: true - patch-console@2.0.0: {} + /patch-console@2.0.0: + resolution: {integrity: sha512-0YNdUceMdaQwoKce1gatDScmMo5pu/tfABfnzEqeG0gtTmd7mh/WcwgUjtAeOU7N8nFFlbQBnFK2gXW5fGvmMA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dev: true - path-case@3.0.4: + /path-case@3.0.4: + resolution: {integrity: sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg==} dependencies: dot-case: 3.0.4 tslib: 2.6.2 + dev: true - path-exists@3.0.0: {} + /path-exists@3.0.0: + resolution: {integrity: sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==} + engines: {node: '>=4'} + dev: true - path-exists@4.0.0: {} + /path-exists@4.0.0: + resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} + engines: {node: '>=8'} + dev: true - path-is-absolute@1.0.1: {} + /path-is-absolute@1.0.1: + resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} + engines: {node: '>=0.10.0'} - path-key@3.1.1: {} + /path-key@3.1.1: + resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} + engines: {node: '>=8'} + dev: true - path-parse@1.0.7: {} + /path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - path-root-regex@0.1.2: {} + /path-root-regex@0.1.2: + resolution: {integrity: sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==} + engines: {node: '>=0.10.0'} + dev: true - path-root@0.1.1: + /path-root@0.1.1: + resolution: {integrity: sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==} + engines: {node: '>=0.10.0'} dependencies: path-root-regex: 0.1.2 + dev: true - path-scurry@1.10.2: + /path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} dependencies: - lru-cache: 10.2.0 - minipass: 7.0.4 + lru-cache: 10.2.2 + minipass: 7.1.2 + dev: true - path-starts-with@2.0.1: {} + /path-starts-with@2.0.1: + resolution: {integrity: sha512-wZ3AeiRBRlNwkdUxvBANh0+esnt38DLffHDujZyRHkqkaKHTglnY2EP5UX3b8rdeiSutgO4y9NEJwXezNP5vHg==} + engines: {node: '>=8'} + dev: true - path-to-regexp@0.1.7: {} + /path-to-regexp@0.1.7: + resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} + dev: true - path-type@4.0.0: {} + /path-type@4.0.0: + resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} + engines: {node: '>=8'} + dev: true - pathval@1.1.1: {} + /pathval@1.1.1: + resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} + dev: true - pbkdf2@3.1.2: + /pbkdf2@3.1.2: + resolution: {integrity: sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==} + engines: {node: '>=0.12'} dependencies: create-hash: 1.2.0 create-hmac: 1.1.7 ripemd160: 2.0.2 safe-buffer: 5.2.1 sha.js: 2.4.11 + dev: true - pg-cloudflare@1.1.1: + /pg-cloudflare@1.1.1: + resolution: {integrity: sha512-xWPagP/4B6BgFO+EKz3JONXv3YDgvkbVrGw2mTo3D6tVDQRh1e7cqVGvyR3BE+eQgAvx1XhW/iEASj4/jCWl3Q==} + requiresBuild: true + dev: true optional: true - pg-connection-string@2.6.4: {} + /pg-connection-string@2.6.4: + resolution: {integrity: sha512-v+Z7W/0EO707aNMaAEfiGnGL9sxxumwLl2fJvCQtMn9Fxsg+lPpPkdcyBSv/KFgpGdYkMfn+EI1Or2EHjpgLCA==} + dev: true - pg-int8@1.0.1: {} + /pg-int8@1.0.1: + resolution: {integrity: sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==} + engines: {node: '>=4.0.0'} + dev: true - pg-numeric@1.0.2: {} + /pg-numeric@1.0.2: + resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==} + engines: {node: '>=4'} + dev: true - pg-pool@3.6.2(pg@8.11.5): + /pg-pool@3.6.2(pg@8.11.5): + resolution: {integrity: sha512-Htjbg8BlwXqSBQ9V8Vjtc+vzf/6fVUuak/3/XXKA9oxZprwW3IMDQTGHP+KDmVL7rtd+R1QjbnCFPuTHm3G4hg==} + peerDependencies: + pg: '>=8.0' dependencies: pg: 8.11.5 + dev: true - pg-protocol@1.6.1: {} + /pg-protocol@1.6.1: + resolution: {integrity: sha512-jPIlvgoD63hrEuihvIg+tJhoGjUsLPn6poJY9N5CnlPd91c2T18T/9zBtLxZSb1EhYxBRoZJtzScCaWlYLtktg==} + dev: true - pg-types@2.2.0: + /pg-types@2.2.0: + resolution: {integrity: sha512-qTAAlrEsl8s4OiEQY69wDvcMIdQN6wdz5ojQiOy6YRMuynxenON0O5oCpJI6lshc6scgAY8qvJ2On/p+CXY0GA==} + engines: {node: '>=4'} dependencies: pg-int8: 1.0.1 postgres-array: 2.0.0 postgres-bytea: 1.0.0 postgres-date: 1.0.7 postgres-interval: 1.2.0 + dev: true - pg-types@4.0.2: + /pg-types@4.0.2: + resolution: {integrity: sha512-cRL3JpS3lKMGsKaWndugWQoLOCoP+Cic8oseVcbr0qhPzYD5DWXK+RZ9LY9wxRf7RQia4SCwQlXk0q6FCPrVng==} + engines: {node: '>=10'} dependencies: pg-int8: 1.0.1 pg-numeric: 1.0.2 @@ -18435,8 +14892,16 @@ snapshots: postgres-date: 2.1.0 postgres-interval: 3.0.0 postgres-range: 1.1.4 + dev: true - pg@8.11.5: + /pg@8.11.5: + resolution: {integrity: sha512-jqgNHSKL5cbDjFlHyYsCXmQDrfIX/3RsNwYqpd4N0Kt8niLuNoRNH+aazv6cOd43gPh9Y4DjQCtb+X0MH0Hvnw==} + engines: {node: '>= 8.0.0'} + peerDependencies: + pg-native: '>=3.0.1' + peerDependenciesMeta: + pg-native: + optional: true dependencies: pg-connection-string: 2.6.4 pg-pool: 3.6.2(pg@8.11.5) @@ -18445,73 +14910,142 @@ snapshots: pgpass: 1.0.5 optionalDependencies: pg-cloudflare: 1.1.1 + dev: true - pgpass@1.0.5: + /pgpass@1.0.5: + resolution: {integrity: sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==} dependencies: split2: 4.2.0 + dev: true - picocolors@1.0.0: {} + /picocolors@1.0.1: + resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} + dev: true - picomatch@2.3.1: {} + /picomatch@2.3.1: + resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} + engines: {node: '>=8.6'} + dev: true - pify@4.0.1: {} + /pify@4.0.1: + resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} + engines: {node: '>=6'} + dev: true - pirates@4.0.6: {} + /pirates@4.0.6: + resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + engines: {node: '>= 6'} + dev: true - pkg-dir@4.2.0: + /pkg-dir@4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} dependencies: find-up: 4.1.0 + dev: true - pkg-up@3.1.0: + /pkg-up@3.1.0: + resolution: {integrity: sha512-nDywThFk1i4BQK4twPQ6TA4RT8bDY96yeuCVBWL3ePARCiEKDRSrNGbFIgUJpLp+XeIR65v8ra7WuJOFUBtkMA==} + engines: {node: '>=8'} dependencies: find-up: 3.0.0 + dev: true - plimit-lit@1.6.1: + /plimit-lit@1.6.1: + resolution: {integrity: sha512-B7+VDyb8Tl6oMJT9oSO2CW8XC/T4UcJGrwOVoNGwOQsQYhlpfajmrMj5xeejqaASq3V/EqThyOeATEOMuSEXiA==} + engines: {node: '>=12'} dependencies: queue-lit: 1.5.2 + dev: true - pluralize@8.0.0: {} + /pluralize@8.0.0: + resolution: {integrity: sha512-Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==} + engines: {node: '>=4'} + dev: true - possible-typed-array-names@1.0.0: {} + /possible-typed-array-names@1.0.0: + resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} + engines: {node: '>= 0.4'} + dev: true - postcss-values-parser@6.0.2(postcss@8.4.38): + /postcss-values-parser@6.0.2(postcss@8.4.38): + resolution: {integrity: sha512-YLJpK0N1brcNJrs9WatuJFtHaV9q5aAOj+S4DI5S7jgHlRfm0PIbDCAFRYMQD5SHq7Fy6xsDhyutgS0QOAs0qw==} + engines: {node: '>=10'} + peerDependencies: + postcss: ^8.2.9 dependencies: color-name: 1.1.4 is-url-superb: 4.0.0 postcss: 8.4.38 quote-unquote: 1.0.0 + dev: true - postcss@8.4.38: + /postcss@8.4.38: + resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} + engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 - picocolors: 1.0.0 + picocolors: 1.0.1 source-map-js: 1.2.0 + dev: true - postgres-array@2.0.0: {} + /postgres-array@2.0.0: + resolution: {integrity: sha512-VpZrUqU5A69eQyW2c5CA1jtLecCsN2U/bD6VilrFDWq5+5UIEVO7nazS3TEcHf1zuPYO/sqGvUvW62g86RXZuA==} + engines: {node: '>=4'} + dev: true - postgres-array@3.0.2: {} + /postgres-array@3.0.2: + resolution: {integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==} + engines: {node: '>=12'} + dev: true - postgres-bytea@1.0.0: {} + /postgres-bytea@1.0.0: + resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} + engines: {node: '>=0.10.0'} + dev: true - postgres-bytea@3.0.0: + /postgres-bytea@3.0.0: + resolution: {integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==} + engines: {node: '>= 6'} dependencies: obuf: 1.1.2 + dev: true - postgres-date@1.0.7: {} + /postgres-date@1.0.7: + resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} + engines: {node: '>=0.10.0'} + dev: true - postgres-date@2.1.0: {} + /postgres-date@2.1.0: + resolution: {integrity: sha512-K7Juri8gtgXVcDfZttFKVmhglp7epKb1K4pgrkLxehjqkrgPhfG6OO8LHLkfaqkbpjNRnra018XwAr1yQFWGcA==} + engines: {node: '>=12'} + dev: true - postgres-interval@1.2.0: + /postgres-interval@1.2.0: + resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} + engines: {node: '>=0.10.0'} dependencies: xtend: 4.0.2 + dev: true - postgres-interval@3.0.0: {} + /postgres-interval@3.0.0: + resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==} + engines: {node: '>=12'} + dev: true - postgres-range@1.1.4: {} + /postgres-range@1.1.4: + resolution: {integrity: sha512-i/hbxIE9803Alj/6ytL7UHQxRvZkI9O4Sy+J3HGc4F4oo/2eQAjTSNJ0bfxyse3bH0nuVesCk+3IRLaMtG3H6w==} + dev: true - postgres@3.4.4: {} + /postgres@3.4.4: + resolution: {integrity: sha512-IbyN+9KslkqcXa8AO9fxpk97PA4pzewvpi2B3Dwy9u4zpV32QicaEdgmF3eSQUzdRk7ttDHQejNgAEr4XoeH4A==} + engines: {node: '>=12'} + dev: false - precinct@11.0.5: + /precinct@11.0.5: + resolution: {integrity: sha512-oHSWLC8cL/0znFhvln26D14KfCQFFn4KOLSw6hmLhd+LQ2SKt9Ljm89but76Pc7flM9Ty1TnXyrA2u16MfRV3w==} + engines: {node: ^14.14.0 || >=16.0.0} + hasBin: true dependencies: '@dependents/detective-less': 4.1.0 commander: 10.0.1 @@ -18527,150 +15061,257 @@ snapshots: node-source-walk: 6.0.2 transitivePeerDependencies: - supports-color + dev: true - prelude-ls@1.1.2: {} + /prelude-ls@1.1.2: + resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} + engines: {node: '>= 0.8.0'} + dev: true - prelude-ls@1.2.1: {} + /prelude-ls@1.2.1: + resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} + engines: {node: '>= 0.8.0'} + dev: true - prettier-plugin-packagejson@2.5.0(prettier@3.2.5): + /prettier-plugin-packagejson@2.5.0(prettier@3.2.5): + resolution: {integrity: sha512-6XkH3rpin5QEQodBSVNg+rBo4r91g/1mCaRwS1YGdQJZ6jwqrg2UchBsIG9tpS1yK1kNBvOt84OILsX8uHzBGg==} + peerDependencies: + prettier: '>= 1.16.0' + peerDependenciesMeta: + prettier: + optional: true dependencies: prettier: 3.2.5 sort-package-json: 2.10.0 synckit: 0.9.0 + dev: true - prettier@3.2.5: {} + /prettier@3.2.5: + resolution: {integrity: sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==} + engines: {node: '>=14'} + hasBin: true + dev: true - pretty-format@29.7.0: + /pretty-format@29.7.0: + resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} + engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 - react-is: 18.2.0 + react-is: 18.3.1 + dev: true - pretty-ms@7.0.1: + /pretty-ms@7.0.1: + resolution: {integrity: sha512-973driJZvxiGOQ5ONsFhOF/DtzPMOMtgC11kCpUrPGMTgqp2q/1gwzCquocrN33is0VZ5GFHXZYMM9l6h67v2Q==} + engines: {node: '>=10'} dependencies: parse-ms: 2.1.0 + dev: true - process-nextick-args@2.0.1: {} + /process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} - process@0.11.10: {} + /process@0.11.10: + resolution: {integrity: sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==} + engines: {node: '>= 0.6.0'} - promise@7.3.1: + /promise@7.3.1: + resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==} dependencies: asap: 2.0.6 + dev: true - promise@8.3.0: + /promise@8.3.0: + resolution: {integrity: sha512-rZPNPKTOYVNEEKFaq1HqTgOwZD+4/YHS5ukLzQCypkj+OkYx7iv0mA91lJlpPPZ8vMau3IIGj5Qlwrx+8iiSmg==} dependencies: asap: 2.0.6 + dev: true - promptly@3.2.0: + /promptly@3.2.0: + resolution: {integrity: sha512-WnR9obtgW+rG4oUV3hSnNGl1pHm3V1H/qD9iJBumGSmVsSC5HpZOLuu8qdMb6yCItGfT7dcRszejr/5P3i9Pug==} dependencies: read: 1.0.7 + dev: true - prompts@2.4.2: + /prompts@2.4.2: + resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} + engines: {node: '>= 6'} dependencies: kleur: 3.0.3 sisteransi: 1.0.5 + dev: true - prop-types@15.8.1: + /prop-types@15.8.1: + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} dependencies: loose-envify: 1.4.0 object-assign: 4.1.1 react-is: 16.13.1 + dev: true - proxy-addr@2.0.7: + /proxy-addr@2.0.7: + resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} + engines: {node: '>= 0.10'} dependencies: forwarded: 0.2.0 ipaddr.js: 1.9.1 + dev: true - proxy-from-env@1.1.0: {} + /proxy-from-env@1.1.0: + resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} - pump@3.0.0: + /pump@3.0.0: + resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} dependencies: end-of-stream: 1.4.4 once: 1.4.0 - punycode@1.3.2: {} + /punycode@1.3.2: + resolution: {integrity: sha512-RofWgt/7fL5wP1Y7fxE7/EmTLzQVnB0ycyibJ0OOHIlJqTNzglYFxVwETOcIoJqJmpDXJ9xImDv+Fq34F/d4Dw==} + dev: true - punycode@1.4.1: {} + /punycode@1.4.1: + resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} + dev: true - punycode@2.3.1: {} + /punycode@2.3.1: + resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} + engines: {node: '>=6'} + dev: true - pure-rand@6.1.0: {} + /pure-rand@6.1.0: + resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} + dev: true - pvtsutils@1.3.5: + /pvtsutils@1.3.5: + resolution: {integrity: sha512-ARvb14YB9Nm2Xi6nBq1ZX6dAM0FsJnuk+31aUp4TrcZEdKUlSqOqsxJHUPJDNE3qiIp+iUPEIeR6Je/tgV7zsA==} dependencies: tslib: 2.6.2 + dev: true - pvutils@1.1.3: {} + /pvutils@1.1.3: + resolution: {integrity: sha512-pMpnA0qRdFp32b1sJl1wOJNxZLQ2cbQx+k6tjNtZ8CpvVhNqEPRgivZ2WOUev2YMajecdH7ctUPDvEe87nariQ==} + engines: {node: '>=6.0.0'} + dev: true - qs@6.11.0: + /qs@6.11.0: + resolution: {integrity: sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==} + engines: {node: '>=0.6'} dependencies: side-channel: 1.0.6 + dev: true - qs@6.12.1: + /qs@6.12.1: + resolution: {integrity: sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==} + engines: {node: '>=0.6'} dependencies: side-channel: 1.0.6 + dev: true - querystring@0.2.0: {} + /querystring@0.2.0: + resolution: {integrity: sha512-X/xY82scca2tau62i9mDyU9K+I+djTMUsvwf7xnUX5GLvVzgJybOJf4Y6o9Zx3oJK/LSXg5tTZBjwzqVPaPO2g==} + engines: {node: '>=0.4.x'} + deprecated: The querystring API is considered Legacy. new code should use the URLSearchParams API instead. + dev: true - queue-lit@1.5.2: {} + /queue-lit@1.5.2: + resolution: {integrity: sha512-tLc36IOPeMAubu8BkW8YDBV+WyIgKlYU7zUNs0J5Vk9skSZ4JfGlPOqplP0aHdfv7HL0B2Pg6nwiq60Qc6M2Hw==} + engines: {node: '>=12'} + dev: true - queue-microtask@1.2.3: {} + /queue-microtask@1.2.3: + resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + dev: true - quote-unquote@1.0.0: {} + /quote-unquote@1.0.0: + resolution: {integrity: sha512-twwRO/ilhlG/FIgYeKGFqyHhoEhqgnKVkcmqMKi2r524gz3ZbDTcyFt38E9xjJI2vT+KbRNHVbnJ/e0I25Azwg==} + dev: true - randombytes@2.1.0: + /randombytes@2.1.0: + resolution: {integrity: sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==} dependencies: safe-buffer: 5.2.1 + dev: true - range-parser@1.2.1: {} + /range-parser@1.2.1: + resolution: {integrity: sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==} + engines: {node: '>= 0.6'} + dev: true - raw-body@2.5.2: + /raw-body@2.5.2: + resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==} + engines: {node: '>= 0.8'} dependencies: bytes: 3.1.2 http-errors: 2.0.0 iconv-lite: 0.4.24 unpipe: 1.0.0 + dev: true - rc@1.2.8: + /rc@1.2.8: + resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} + hasBin: true dependencies: deep-extend: 0.6.0 ini: 1.3.8 minimist: 1.2.8 strip-json-comments: 2.0.1 + dev: true - react-is@16.13.1: {} + /react-is@16.13.1: + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + dev: true - react-is@18.2.0: {} + /react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + dev: true - react-reconciler@0.29.0(react@18.2.0): + /react-reconciler@0.29.2(react@18.3.1): + resolution: {integrity: sha512-zZQqIiYgDCTP/f1N/mAR10nJGrPD2ZR+jDSEsKWJHYC7Cm2wodlwbR3upZRdC3cjIjSlTLNVyO7Iu0Yy7t2AYg==} + engines: {node: '>=0.10.0'} + peerDependencies: + react: ^18.3.1 dependencies: loose-envify: 1.4.0 - react: 18.2.0 - scheduler: 0.23.0 + react: 18.3.1 + scheduler: 0.23.2 + dev: true - react@18.2.0: + /react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} + engines: {node: '>=0.10.0'} dependencies: loose-envify: 1.4.0 + dev: true - read-pkg-up@7.0.1: + /read-pkg-up@7.0.1: + resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} + engines: {node: '>=8'} dependencies: find-up: 4.1.0 read-pkg: 5.2.0 type-fest: 0.8.1 + dev: true - read-pkg@5.2.0: + /read-pkg@5.2.0: + resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} + engines: {node: '>=8'} dependencies: '@types/normalize-package-data': 2.4.4 normalize-package-data: 2.5.0 parse-json: 5.2.0 type-fest: 0.6.0 + dev: true - read@1.0.7: + /read@1.0.7: + resolution: {integrity: sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ==} + engines: {node: '>=0.8'} dependencies: mute-stream: 0.0.8 + dev: true - readable-stream@2.3.8: + /readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} dependencies: core-util-is: 1.0.3 inherits: 2.0.4 @@ -18680,212 +15321,357 @@ snapshots: string_decoder: 1.1.1 util-deprecate: 1.0.2 - readable-stream@3.6.2: + /readable-stream@3.6.2: + resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} + engines: {node: '>= 6'} dependencies: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 - readdir-glob@1.1.3: + /readdir-glob@1.1.3: + resolution: {integrity: sha512-v05I2k7xN8zXvPD9N+z/uhXPaj0sUFCe2rcWZIpBsqxfP7xXFQ0tipAd/wjj1YxWyWtUS5IDJpOG82JKt2EAVA==} dependencies: minimatch: 5.1.6 + dev: true - readdirp@3.6.0: + /readdirp@3.6.0: + resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} + engines: {node: '>=8.10.0'} dependencies: picomatch: 2.3.1 + dev: true - rechoir@0.6.2: + /rechoir@0.6.2: + resolution: {integrity: sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==} + engines: {node: '>= 0.10'} dependencies: resolve: 1.22.8 + dev: true - recursive-readdir@2.2.3: + /recursive-readdir@2.2.3: + resolution: {integrity: sha512-8HrF5ZsXk5FAH9dgsx3BlUer73nIhuj+9OrQwEbLTPOBzGkL1lsFCR01am+v+0m2Cmbs1nP12hLDl5FA7EszKA==} + engines: {node: '>=6.0.0'} dependencies: minimatch: 3.1.2 + dev: true - redis@4.6.13: + /redis@4.6.14: + resolution: {integrity: sha512-GrNg/e33HtsQwNXL7kJT+iNFPSwE1IPmd7wzV3j4f2z0EYxZfZE7FVTmUysgAtqQQtg5NXF5SNLR9OdO/UHOfw==} dependencies: - '@redis/bloom': 1.2.0(@redis/client@1.5.14) - '@redis/client': 1.5.14 - '@redis/graph': 1.1.1(@redis/client@1.5.14) - '@redis/json': 1.0.6(@redis/client@1.5.14) - '@redis/search': 1.1.6(@redis/client@1.5.14) - '@redis/time-series': 1.0.5(@redis/client@1.5.14) + '@redis/bloom': 1.2.0(@redis/client@1.5.16) + '@redis/client': 1.5.16 + '@redis/graph': 1.1.1(@redis/client@1.5.16) + '@redis/json': 1.0.6(@redis/client@1.5.16) + '@redis/search': 1.1.6(@redis/client@1.5.16) + '@redis/time-series': 1.0.5(@redis/client@1.5.16) + dev: false - reflect.getprototypeof@1.0.6: + /reflect.getprototypeof@1.0.6: + resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.3 es-errors: 1.3.0 get-intrinsic: 1.2.4 - globalthis: 1.0.3 + globalthis: 1.0.4 which-builtin-type: 1.1.3 + dev: true - regenerator-runtime@0.14.1: {} + /regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + dev: true - regexp-tree@0.1.27: {} + /regexp-tree@0.1.27: + resolution: {integrity: sha512-iETxpjK6YoRWJG5o6hXLwvjYAoW+FEZn9os0PD/b6AP6xQwsa/Y7lCVgIixBbUPMfhu+i2LtdeAqVTgGlQarfA==} + hasBin: true + dev: true - regexp.prototype.flags@1.5.2: + /regexp.prototype.flags@1.5.2: + resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-errors: 1.3.0 set-function-name: 2.0.2 + dev: true - regjsparser@0.10.0: + /regjsparser@0.10.0: + resolution: {integrity: sha512-qx+xQGZVsy55CH0a1hiVwHmqjLryfh7wQyF5HO07XJ9f7dQMY/gPQHhlyDkIzJKC+x2fUCpCcUODUUUFrm7SHA==} + hasBin: true dependencies: jsesc: 0.5.0 + dev: true - reinterval@1.1.0: {} + /reinterval@1.1.0: + resolution: {integrity: sha512-QIRet3SYrGp0HUHO88jVskiG6seqUGC5iAG7AwI/BV4ypGcuqk9Du6YQBUOUqm9c8pw1eyLoIaONifRua1lsEQ==} - relay-runtime@12.0.0: + /relay-runtime@12.0.0: + resolution: {integrity: sha512-QU6JKr1tMsry22DXNy9Whsq5rmvwr3LSZiiWV/9+DFpuTWvp+WFhobWMc8TC4OjKFfNhEZy7mOiqUAn5atQtug==} dependencies: - '@babel/runtime': 7.24.4 + '@babel/runtime': 7.24.5 fbjs: 3.0.5 invariant: 2.2.4 transitivePeerDependencies: - encoding + dev: true - remeda@1.59.0: {} + /remeda@1.61.0: + resolution: {integrity: sha512-caKfSz9rDeSKBQQnlJnVW3mbVdFgxgGWQKq1XlFokqjf+hQD5gxutLGTTY2A/x24UxVyJe9gH5fAkFI63ULw4A==} + dev: true - remedial@1.0.8: {} + /remedial@1.0.8: + resolution: {integrity: sha512-/62tYiOe6DzS5BqVsNpH/nkGlX45C/Sp6V+NtiN6JQNS1Viay7cWkazmRkrQrdFj2eshDe96SIQNIoMxqhzBOg==} + dev: true - remove-trailing-separator@1.1.0: {} + /remove-trailing-separator@1.1.0: + resolution: {integrity: sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==} + dev: true - remove-trailing-spaces@1.0.8: {} + /remove-trailing-spaces@1.0.8: + resolution: {integrity: sha512-O3vsMYfWighyFbTd8hk8VaSj9UAGENxAtX+//ugIst2RMk5e03h6RoIS+0ylsFxY1gvmPuAY/PO4It+gPEeySA==} + dev: true - req-cwd@2.0.0: + /req-cwd@2.0.0: + resolution: {integrity: sha512-ueoIoLo1OfB6b05COxAA9UpeoscNpYyM+BqYlA7H6LVF4hKGPXQQSSaD2YmvDVJMkk4UDpAHIeU1zG53IqjvlQ==} + engines: {node: '>=4'} dependencies: req-from: 2.0.0 + dev: true - req-from@2.0.0: + /req-from@2.0.0: + resolution: {integrity: sha512-LzTfEVDVQHBRfjOUMgNBA+V6DWsSnoeKzf42J7l0xa/B4jyPOuuF5MlNSmomLNGemWTnV2TIdjSSLnEn95fOQA==} + engines: {node: '>=4'} dependencies: resolve-from: 3.0.0 + dev: true - require-directory@2.1.1: {} + /require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + dev: true - require-from-string@2.0.2: {} + /require-from-string@2.0.2: + resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} + engines: {node: '>=0.10.0'} + dev: true - require-main-filename@2.0.0: {} + /require-main-filename@2.0.0: + resolution: {integrity: sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==} + dev: true - requirejs-config-file@4.0.0: + /requirejs-config-file@4.0.0: + resolution: {integrity: sha512-jnIre8cbWOyvr8a5F2KuqBnY+SDA4NXr/hzEZJG79Mxm2WiFQz2dzhC8ibtPJS7zkmBEl1mxSwp5HhC1W4qpxw==} + engines: {node: '>=10.13.0'} dependencies: esprima: 4.0.1 stringify-object: 3.3.0 + dev: true - requirejs@2.3.6: {} + /requirejs@2.3.6: + resolution: {integrity: sha512-ipEzlWQe6RK3jkzikgCupiTbTvm4S0/CAU5GlgptkN5SO6F3u0UD0K18wy6ErDqiCyP4J4YYe1HuAShvsxePLg==} + engines: {node: '>=0.4.0'} + hasBin: true + dev: true - resolve-cwd@3.0.0: + /resolve-cwd@3.0.0: + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} dependencies: resolve-from: 5.0.0 + dev: true - resolve-dependency-path@3.0.2: {} + /resolve-dependency-path@3.0.2: + resolution: {integrity: sha512-Tz7zfjhLfsvR39ADOSk9us4421J/1ztVBo4rWUkF38hgHK5m0OCZ3NxFVpqHRkjctnwVa15igEUHFJp8MCS7vA==} + engines: {node: '>=14'} + dev: true - resolve-from@3.0.0: {} + /resolve-from@3.0.0: + resolution: {integrity: sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==} + engines: {node: '>=4'} + dev: true - resolve-from@4.0.0: {} + /resolve-from@4.0.0: + resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} + engines: {node: '>=4'} + dev: true - resolve-from@5.0.0: {} + /resolve-from@5.0.0: + resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} + engines: {node: '>=8'} + dev: true - resolve-pkg-maps@1.0.0: {} + /resolve-pkg-maps@1.0.0: + resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} + dev: true - resolve.exports@2.0.2: {} + /resolve.exports@2.0.2: + resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} + engines: {node: '>=10'} + dev: true - resolve@1.1.7: {} + /resolve@1.1.7: + resolution: {integrity: sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==} + dev: true - resolve@1.17.0: + /resolve@1.17.0: + resolution: {integrity: sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==} dependencies: path-parse: 1.0.7 + dev: true - resolve@1.19.0: + /resolve@1.19.0: + resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} dependencies: is-core-module: 2.13.1 path-parse: 1.0.7 + dev: true - resolve@1.22.8: + /resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true dependencies: is-core-module: 2.13.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - resolve@2.0.0-next.5: + /resolve@2.0.0-next.5: + resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} + hasBin: true dependencies: is-core-module: 2.13.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 + dev: true - restore-cursor@3.1.0: + /restore-cursor@3.1.0: + resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} + engines: {node: '>=8'} dependencies: onetime: 5.1.2 signal-exit: 3.0.7 + dev: true - restore-cursor@4.0.0: + /restore-cursor@4.0.0: + resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: onetime: 5.1.2 signal-exit: 3.0.7 + dev: true - reusify@1.0.4: {} + /reusify@1.0.4: + resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} + engines: {iojs: '>=1.0.0', node: '>=0.10.0'} + dev: true - reverse-mirage@1.1.0(typescript@5.4.5)(viem@1.21.4): + /reverse-mirage@1.1.0(typescript@5.4.5)(viem@1.21.4): + resolution: {integrity: sha512-cA1O7GR0pn4rMFoaiEG7Skms9GenuW91DtCxeR5hphyNhH90eowV4RmUVlVPVS11CPkezm/iUjnCfmxlHri05w==} + peerDependencies: + typescript: '>=5.0.4' + viem: '>=2' + peerDependenciesMeta: + typescript: + optional: true dependencies: typescript: 5.4.5 - viem: 1.21.4(typescript@5.4.5)(zod@3.22.4) + viem: 1.21.4(typescript@5.4.5)(zod@3.23.8) + dev: false - rfdc@1.3.1: {} + /rfdc@1.3.1: + resolution: {integrity: sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==} - rimraf@2.7.1: + /rimraf@2.7.1: + resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} + hasBin: true dependencies: glob: 7.2.3 + dev: true - rimraf@3.0.2: + /rimraf@3.0.2: + resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} + hasBin: true dependencies: glob: 7.2.3 + dev: true - ripemd160@2.0.2: + /ripemd160@2.0.2: + resolution: {integrity: sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==} dependencies: hash-base: 3.1.0 inherits: 2.0.4 + dev: true - rlp@2.2.7: + /rlp@2.2.7: + resolution: {integrity: sha512-d5gdPmgQ0Z+AklL2NVXr/IoSjNZFfTVvQWzL/AM2AOcSzYP2xjlb0AC8YyCLc41MSNf6P6QVtjgPdmVtzb+4lQ==} + hasBin: true dependencies: bn.js: 5.2.1 + dev: true - run-async@2.4.1: {} + /run-async@2.4.1: + resolution: {integrity: sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==} + engines: {node: '>=0.12.0'} + dev: true - run-parallel@1.2.0: + /run-parallel@1.2.0: + resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} dependencies: queue-microtask: 1.2.3 + dev: true - rxjs@7.8.1: + /rxjs@7.8.1: + resolution: {integrity: sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==} dependencies: tslib: 2.6.2 + dev: true - safe-array-concat@1.1.2: + /safe-array-concat@1.1.2: + resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} + engines: {node: '>=0.4'} dependencies: call-bind: 1.0.7 get-intrinsic: 1.2.4 has-symbols: 1.0.3 isarray: 2.0.5 + dev: true - safe-buffer@5.1.2: {} + /safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} - safe-buffer@5.2.1: {} + /safe-buffer@5.2.1: + resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} - safe-regex-test@1.0.3: + /safe-regex-test@1.0.3: + resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 es-errors: 1.3.0 is-regex: 1.1.4 + dev: true - safer-buffer@2.1.2: {} + /safer-buffer@2.1.2: + resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} - sass-lookup@5.0.1: + /sass-lookup@5.0.1: + resolution: {integrity: sha512-t0X5PaizPc2H4+rCwszAqHZRtr4bugo4pgiCvrBFvIX0XFxnr29g77LJcpyj9A0DcKf7gXMLcgvRjsonYI6x4g==} + engines: {node: '>=14'} + hasBin: true dependencies: commander: 10.0.1 + dev: true - sax@1.2.1: {} + /sax@1.2.1: + resolution: {integrity: sha512-8I2a3LovHTOpm7NV5yOyO8IHqgVsfK4+UuySrXU8YXkSRX7k6hCV9b3HrkKCr3nMpgj+0bmocaJJWpvp1oc7ZA==} + dev: true - sc-istanbul@0.4.6: + /sc-istanbul@0.4.6: + resolution: {integrity: sha512-qJFF/8tW/zJsbyfh/iT/ZM5QNHE3CXxtLJbZsL+CzdJLBsPD7SedJZoUA4d8iAcN2IoMp/Dx80shOOd2x96X/g==} + hasBin: true dependencies: abbrev: 1.0.9 async: 1.5.2 @@ -18901,32 +15687,52 @@ snapshots: supports-color: 3.2.3 which: 1.3.1 wordwrap: 1.0.0 + dev: true - scheduler@0.23.0: + /scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} dependencies: loose-envify: 1.4.0 + dev: true - scrypt-js@3.0.1: {} + /scrypt-js@3.0.1: + resolution: {integrity: sha512-cdwTTnqPu0Hyvf5in5asVdZocVDTNRmR7XEcJuIzMjJeSHybHl7vpB66AzwTaIg6CLSbtjcxc8fqcySfnTkccA==} - scuid@1.1.0: {} + /scuid@1.1.0: + resolution: {integrity: sha512-MuCAyrGZcTLfQoH2XoBlQ8C6bzwN88XT/0slOGz0pn8+gIP85BOAfYa44ZXQUTOwRwPU0QvgU+V+OSajl/59Xg==} + dev: true - secp256k1@4.0.3: + /secp256k1@4.0.3: + resolution: {integrity: sha512-NLZVf+ROMxwtEj3Xa562qgv2BK5e2WNmXPiOdVIPLgs6lyTzMvBq0aWTYMI5XCP9jZMVKOcqZLw/Wc4vDkuxhA==} + engines: {node: '>=10.0.0'} + requiresBuild: true dependencies: elliptic: 6.5.5 node-addon-api: 2.0.2 - node-gyp-build: 4.8.0 + node-gyp-build: 4.8.1 + dev: true - seedrandom@3.0.5: {} + /seedrandom@3.0.5: + resolution: {integrity: sha512-8OwmbklUNzwezjGInmZ+2clQmExQPvomqjL7LFqOYqtmuxRgQYqOD3mHaU+MvZn5FLUeVxVfQjwLZW/n/JFuqg==} + dev: true - semver@5.7.2: {} + /semver@5.7.2: + resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} + hasBin: true - semver@6.3.1: {} + /semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + dev: true - semver@7.6.0: - dependencies: - lru-cache: 6.0.0 + /semver@7.6.2: + resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} + engines: {node: '>=10'} + hasBin: true - send@0.18.0: + /send@0.18.0: + resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} + engines: {node: '>= 0.8.0'} dependencies: debug: 2.6.9 depd: 2.0.0 @@ -18943,18 +15749,25 @@ snapshots: statuses: 2.0.1 transitivePeerDependencies: - supports-color + dev: true - sentence-case@3.0.4: + /sentence-case@3.0.4: + resolution: {integrity: sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg==} dependencies: no-case: 3.0.4 tslib: 2.6.2 upper-case-first: 2.0.2 + dev: true - serialize-javascript@6.0.0: + /serialize-javascript@6.0.0: + resolution: {integrity: sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==} dependencies: randombytes: 2.1.0 + dev: true - serve-static@1.15.0: + /serve-static@1.15.0: + resolution: {integrity: sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==} + engines: {node: '>= 0.8.0'} dependencies: encodeurl: 1.0.2 escape-html: 1.0.3 @@ -18962,10 +15775,15 @@ snapshots: send: 0.18.0 transitivePeerDependencies: - supports-color + dev: true - set-blocking@2.0.0: {} + /set-blocking@2.0.0: + resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + dev: true - set-function-length@1.2.2: + /set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} dependencies: define-data-property: 1.1.4 es-errors: 1.3.0 @@ -18973,93 +15791,157 @@ snapshots: get-intrinsic: 1.2.4 gopd: 1.0.1 has-property-descriptors: 1.0.2 + dev: true - set-function-name@2.0.2: + /set-function-name@2.0.2: + resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} + engines: {node: '>= 0.4'} dependencies: define-data-property: 1.1.4 es-errors: 1.3.0 functions-have-names: 1.2.3 has-property-descriptors: 1.0.2 + dev: true - setimmediate@1.0.5: {} + /setimmediate@1.0.5: + resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==} + dev: true - setprototypeof@1.2.0: {} + /setprototypeof@1.2.0: + resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} + dev: true - sha.js@2.4.11: + /sha.js@2.4.11: + resolution: {integrity: sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==} + hasBin: true dependencies: inherits: 2.0.4 safe-buffer: 5.2.1 + dev: true - sha1@1.1.1: + /sha1@1.1.1: + resolution: {integrity: sha512-dZBS6OrMjtgVkopB1Gmo4RQCDKiZsqcpAQpkV/aaj+FCrCg8r4I4qMkDPQjBgLIxlmu9k4nUbWq6ohXahOneYA==} dependencies: charenc: 0.0.2 crypt: 0.0.2 + dev: true - shebang-command@2.0.0: + /shebang-command@2.0.0: + resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} + engines: {node: '>=8'} dependencies: shebang-regex: 3.0.0 + dev: true - shebang-regex@3.0.0: {} + /shebang-regex@3.0.0: + resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} + engines: {node: '>=8'} + dev: true - shell-quote@1.8.1: {} + /shell-quote@1.8.1: + resolution: {integrity: sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==} + dev: true - shelljs.exec@1.1.8: {} + /shelljs.exec@1.1.8: + resolution: {integrity: sha512-vFILCw+lzUtiwBAHV8/Ex8JsFjelFMdhONIsgKNLgTzeRckp2AOYRQtHJE/9LhNvdMmE27AGtzWx0+DHpwIwSw==} + engines: {node: '>= 4.0.0'} + dev: true - shelljs@0.8.5: + /shelljs@0.8.5: + resolution: {integrity: sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==} + engines: {node: '>=4'} + hasBin: true dependencies: glob: 7.2.3 interpret: 1.4.0 rechoir: 0.6.2 + dev: true - shimmer@1.2.1: {} + /shimmer@1.2.1: + resolution: {integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==} + dev: false - side-channel@1.0.6: + /side-channel@1.0.6: + resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 es-errors: 1.3.0 get-intrinsic: 1.2.4 object-inspect: 1.13.1 + dev: true - signal-exit@3.0.7: {} + /signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + dev: true - signal-exit@4.1.0: {} + /signal-exit@4.1.0: + resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} + engines: {node: '>=14'} - signedsource@1.0.0: {} + /signedsource@1.0.0: + resolution: {integrity: sha512-6+eerH9fEnNmi/hyM1DXcRK3pWdoMQtlkQ+ns0ntzunjKqp5i3sKCc80ym8Fib3iaYhdJUOPdhlJWj1tvge2Ww==} + dev: true - sisteransi@1.0.5: {} + /sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + dev: true - slash@3.0.0: {} + /slash@3.0.0: + resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} + engines: {node: '>=8'} + dev: true - slash@4.0.0: {} + /slash@4.0.0: + resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} + engines: {node: '>=12'} + dev: true - slice-ansi@3.0.0: + /slice-ansi@3.0.0: + resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} + engines: {node: '>=8'} dependencies: ansi-styles: 4.3.0 astral-regex: 2.0.0 is-fullwidth-code-point: 3.0.0 + dev: true - slice-ansi@4.0.0: + /slice-ansi@4.0.0: + resolution: {integrity: sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==} + engines: {node: '>=10'} dependencies: ansi-styles: 4.3.0 astral-regex: 2.0.0 is-fullwidth-code-point: 3.0.0 + dev: true - slice-ansi@5.0.0: + /slice-ansi@5.0.0: + resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} + engines: {node: '>=12'} dependencies: ansi-styles: 6.2.1 is-fullwidth-code-point: 4.0.0 + dev: true - slice-ansi@6.0.0: + /slice-ansi@6.0.0: + resolution: {integrity: sha512-6bn4hRfkTvDfUoEQYkERg0BVF1D0vrX9HEkMl08uDiNWvVvjylLHvZFZWkDo6wjT8tUctbYl1nCOuE66ZTaUtA==} + engines: {node: '>=14.16'} dependencies: ansi-styles: 6.2.1 is-fullwidth-code-point: 4.0.0 + dev: true - snake-case@3.0.4: + /snake-case@3.0.4: + resolution: {integrity: sha512-LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==} dependencies: dot-case: 3.0.4 tslib: 2.6.2 + dev: true - solc@0.7.3(debug@4.3.4): + /solc@0.7.3(debug@4.3.4): + resolution: {integrity: sha512-GAsWNAjGzIDg7VxzP6mPjdurby3IkGCjQcM8GFYZT6RyaoUZKmMU6Y7YwG+tFGhv7dwZ8rmR4iwFDrrD99JwqA==} + engines: {node: '>=8.0.0'} + hasBin: true dependencies: command-exists: 1.2.9 commander: 3.0.2 @@ -19072,12 +15954,19 @@ snapshots: tmp: 0.0.33 transitivePeerDependencies: - debug + dev: true - solidity-ast@0.4.56: + /solidity-ast@0.4.56: + resolution: {integrity: sha512-HgmsA/Gfklm/M8GFbCX/J1qkVH0spXHgALCNZ8fA8x5X+MFdn/8CP2gr5OVyXjXw6RZTPC/Sxl2RUDQOXyNMeA==} dependencies: array.prototype.findlast: 1.2.5 + dev: true - solidity-coverage@0.8.12(hardhat@2.22.2): + /solidity-coverage@0.8.12(hardhat@2.22.4): + resolution: {integrity: sha512-8cOB1PtjnjFRqOgwFiD8DaUsYJtVJ6+YdXQtSZDrLGf8cdhhh8xzTtGzVTGeBf15kTv0v7lYPJlV/az7zLEPJw==} + hasBin: true + peerDependencies: + hardhat: ^2.11.0 dependencies: '@ethersproject/abi': 5.7.0 '@solidity-parser/parser': 0.18.0 @@ -19088,7 +15977,7 @@ snapshots: ghost-testrpc: 0.0.2 global-modules: 2.0.0 globby: 10.0.2 - hardhat: 2.22.2(ts-node@10.9.2)(typescript@5.0.4) + hardhat: 2.22.4(ts-node@10.9.2)(typescript@5.0.4) jsonschema: 1.4.1 lodash: 4.17.21 mocha: 10.4.0 @@ -19096,19 +15985,28 @@ snapshots: pify: 4.0.1 recursive-readdir: 2.2.3 sc-istanbul: 0.4.6 - semver: 7.6.0 + semver: 7.6.2 shelljs: 0.8.5 web3-utils: 1.10.4 + dev: true - solidity-docgen@0.6.0-beta.36(hardhat@2.22.2): + /solidity-docgen@0.6.0-beta.36(hardhat@2.22.4): + resolution: {integrity: sha512-f/I5G2iJgU1h0XrrjRD0hHMr7C10u276vYvm//rw1TzFcYQ4xTOyAoi9oNAHRU0JU4mY9eTuxdVc2zahdMuhaQ==} + peerDependencies: + hardhat: ^2.8.0 dependencies: handlebars: 4.7.8 - hardhat: 2.22.2(ts-node@10.9.2)(typescript@5.0.4) + hardhat: 2.22.4(ts-node@10.9.2)(typescript@5.0.4) solidity-ast: 0.4.56 + dev: true - sort-object-keys@1.1.3: {} + /sort-object-keys@1.1.3: + resolution: {integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==} + dev: true - sort-package-json@2.10.0: + /sort-package-json@2.10.0: + resolution: {integrity: sha512-MYecfvObMwJjjJskhxYfuOADkXp1ZMMnCFC8yhp+9HDsk7HhR336hd7eiBs96lTXfiqmUNI+WQCeCMRBhl251g==} + hasBin: true dependencies: detect-indent: 7.0.1 detect-newline: 4.0.1 @@ -19116,55 +16014,89 @@ snapshots: git-hooks-list: 3.1.0 globby: 13.2.2 is-plain-obj: 4.1.0 - semver: 7.6.0 + semver: 7.6.2 sort-object-keys: 1.1.3 + dev: true - source-map-js@1.2.0: {} + /source-map-js@1.2.0: + resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} + engines: {node: '>=0.10.0'} + dev: true - source-map-support@0.5.13: + /source-map-support@0.5.13: + resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} dependencies: buffer-from: 1.1.2 source-map: 0.6.1 + dev: true - source-map-support@0.5.21: + /source-map-support@0.5.21: + resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} dependencies: buffer-from: 1.1.2 source-map: 0.6.1 + dev: true - source-map@0.2.0: + /source-map@0.2.0: + resolution: {integrity: sha512-CBdZ2oa/BHhS4xj5DlhjWNHcan57/5YuvfdLf17iVmIpd9KRm+DFLmC6nBNj+6Ua7Kt3TmOjDpQT1aTYOQtoUA==} + engines: {node: '>=0.8.0'} + requiresBuild: true dependencies: amdefine: 1.0.1 + dev: true optional: true - source-map@0.6.1: {} + /source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + dev: true - spdx-correct@3.2.0: + /spdx-correct@3.2.0: + resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.17 + spdx-license-ids: 3.0.18 + dev: true - spdx-exceptions@2.5.0: {} + /spdx-exceptions@2.5.0: + resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} + dev: true - spdx-expression-parse@3.0.1: + /spdx-expression-parse@3.0.1: + resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} dependencies: spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.17 + spdx-license-ids: 3.0.18 + dev: true - spdx-license-ids@3.0.17: {} + /spdx-license-ids@3.0.18: + resolution: {integrity: sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==} + dev: true - split2@3.2.2: + /split2@3.2.2: + resolution: {integrity: sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==} dependencies: readable-stream: 3.6.2 - split2@4.2.0: {} + /split2@4.2.0: + resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} + engines: {node: '>= 10.x'} + dev: true - sponge-case@1.0.1: + /sponge-case@1.0.1: + resolution: {integrity: sha512-dblb9Et4DAtiZ5YSUZHLl4XhH4uK80GhAZrVXdN4O2P4gQ40Wa5UIOPUHlA/nFd2PLblBZWUioLMMAVrgpoYcA==} dependencies: tslib: 2.6.2 + dev: true - sprintf-js@1.0.3: {} + /sprintf-js@1.0.3: + resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + dev: true - sst-aws-cdk@2.132.1: + /sst-aws-cdk@2.142.1: + resolution: {integrity: sha512-zrw3VpTfS6fEgpTo0J0lpkZg3nvuVsVzV3zcPswRx7EKIgBFndrAMBE38Wmvk2FBHYDp6OygdzbK8Gul/DJW+g==} + engines: {node: '>= 14.15.0'} + hasBin: true dependencies: archiver: 5.3.2 chalk: 4.1.2 @@ -19173,42 +16105,50 @@ snapshots: yaml: 1.10.2 optionalDependencies: fsevents: 2.3.2 + dev: true - sst@2.41.5: + /sst@2.42.0(@aws-sdk/client-sso-oidc@3.583.0): + resolution: {integrity: sha512-p3Wi8SS7pn0MQ+062uEiMZJX1iq2nSaJi76f+bQki2FLj9xu3l1F4x9IULv76pMFNPZKtNd8yr1/RT2RiwK95Q==} + hasBin: true + peerDependencies: + '@sls-next/lambda-at-edge': ^3.7.0 + peerDependenciesMeta: + '@sls-next/lambda-at-edge': + optional: true dependencies: - '@aws-cdk/aws-lambda-python-alpha': 2.132.1-alpha.0(aws-cdk-lib@2.132.1)(constructs@10.3.0) - '@aws-cdk/cloud-assembly-schema': 2.132.1 - '@aws-cdk/cloudformation-diff': 2.132.1 - '@aws-cdk/cx-api': 2.132.1(@aws-cdk/cloud-assembly-schema@2.132.1) + '@aws-cdk/aws-lambda-python-alpha': 2.142.1-alpha.0(aws-cdk-lib@2.142.1)(constructs@10.3.0) + '@aws-cdk/cloud-assembly-schema': 2.142.1 + '@aws-cdk/cloudformation-diff': 2.142.1 + '@aws-cdk/cx-api': 2.142.1(@aws-cdk/cloud-assembly-schema@2.142.1) '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/client-cloudformation': 3.555.0 - '@aws-sdk/client-ecs': 3.554.0 - '@aws-sdk/client-eventbridge': 3.554.0 - '@aws-sdk/client-iam': 3.554.0 - '@aws-sdk/client-iot': 3.554.0 - '@aws-sdk/client-iot-data-plane': 3.554.0 - '@aws-sdk/client-lambda': 3.554.0 - '@aws-sdk/client-rds-data': 3.569.0 - '@aws-sdk/client-s3': 3.554.0 - '@aws-sdk/client-ssm': 3.554.0 - '@aws-sdk/client-sts': 3.569.0 + '@aws-sdk/client-cloudformation': 3.583.0 + '@aws-sdk/client-ecs': 3.583.0 + '@aws-sdk/client-eventbridge': 3.583.0 + '@aws-sdk/client-iam': 3.583.0 + '@aws-sdk/client-iot': 3.583.0 + '@aws-sdk/client-iot-data-plane': 3.583.0 + '@aws-sdk/client-lambda': 3.583.0 + '@aws-sdk/client-rds-data': 3.583.0 + '@aws-sdk/client-s3': 3.583.0 + '@aws-sdk/client-ssm': 3.583.0 + '@aws-sdk/client-sts': 3.583.0 '@aws-sdk/config-resolver': 3.374.0 - '@aws-sdk/credential-providers': 3.554.0 + '@aws-sdk/credential-providers': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0) '@aws-sdk/middleware-retry': 3.374.0 - '@aws-sdk/middleware-signing': 3.552.0 - '@aws-sdk/signature-v4-crt': 3.552.0 + '@aws-sdk/middleware-signing': 3.577.0 + '@aws-sdk/signature-v4-crt': 3.582.0 '@aws-sdk/smithy-client': 3.374.0 - '@babel/core': 7.24.4 - '@babel/generator': 7.24.4 - '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.4) + '@babel/core': 7.24.5 + '@babel/generator': 7.24.5 + '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.5) '@smithy/signature-v4': 2.3.0 '@trpc/server': 9.16.0 adm-zip: 0.5.12 - aws-cdk-lib: 2.132.1(constructs@10.3.0) + aws-cdk-lib: 2.142.1(constructs@10.3.0) aws-iot-device-sdk: 2.2.13 - aws-sdk: 2.1599.0 + aws-sdk: 2.1627.0 builtin-modules: 3.2.0 - cdk-assets: 2.132.1 + cdk-assets: 2.142.1 chalk: 5.3.0 chokidar: 3.6.0 ci-info: 3.9.0 @@ -19222,28 +16162,29 @@ snapshots: express: 4.19.2 fast-jwt: 3.3.3 get-port: 6.1.2 - glob: 10.3.12 + glob: 10.4.1 graphql: 16.8.1 graphql-yoga: 3.9.1(graphql@16.8.1) immer: 9.0.21 - ink: 4.4.1(react@18.2.0) - ink-spinner: 5.0.0(ink@4.4.1)(react@18.2.0) + ink: 4.4.1(react@18.3.1) + ink-spinner: 5.0.0(ink@4.4.1)(react@18.3.1) kysely: 0.25.0 kysely-codegen: 0.10.1(kysely@0.25.0) - kysely-data-api: 0.2.1(@aws-sdk/client-rds-data@3.569.0)(kysely@0.25.0) + kysely-data-api: 0.2.1(@aws-sdk/client-rds-data@3.583.0)(kysely@0.25.0) minimatch: 6.2.0 openid-client: 5.6.5 ora: 6.3.1 - react: 18.2.0 - remeda: 1.59.0 - sst-aws-cdk: 2.132.1 + react: 18.3.1 + remeda: 1.61.0 + sst-aws-cdk: 2.142.1 tree-kill: 1.2.2 undici: 5.28.4 uuid: 9.0.1 - ws: 8.16.0 + ws: 8.17.0 yargs: 17.7.2 - zod: 3.22.4 + zod: 3.23.8 transitivePeerDependencies: + - '@aws-sdk/client-sso-oidc' - '@types/react' - aws-crt - better-sqlite3 @@ -19254,56 +16195,92 @@ snapshots: - react-devtools-core - supports-color - utf-8-validate + dev: true - stack-chain@1.3.7: {} + /stack-chain@1.3.7: + resolution: {integrity: sha512-D8cWtWVdIe/jBA7v5p5Hwl5yOSOrmZPWDPe2KxQ5UAGD+nxbxU0lKXA4h85Ta6+qgdKVL3vUxsbIZjc1kBG7ug==} + dev: false - stack-utils@2.0.6: + /stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} dependencies: escape-string-regexp: 2.0.0 + dev: true - stacktrace-parser@0.1.10: + /stacktrace-parser@0.1.10: + resolution: {integrity: sha512-KJP1OCML99+8fhOHxwwzyWrlUuVX5GQ0ZpJTd1DFXhdkrvg1szxfHhawXUZ3g9TkXORQd4/WG68jMlQZ2p8wlg==} + engines: {node: '>=6'} dependencies: type-fest: 0.7.1 + dev: true - statuses@2.0.1: {} + /statuses@2.0.1: + resolution: {integrity: sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==} + engines: {node: '>= 0.8'} + dev: true - stdin-discarder@0.1.0: + /stdin-discarder@0.1.0: + resolution: {integrity: sha512-xhV7w8S+bUwlPTb4bAOUQhv8/cSS5offJuX8GQGq32ONF0ZtDWKfkdomM3HMRA+LhX6um/FZ0COqlwsjD53LeQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} dependencies: bl: 5.1.0 + dev: true - stream-shift@1.0.3: {} + /stream-shift@1.0.3: + resolution: {integrity: sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==} - stream-to-array@2.3.0: + /stream-to-array@2.3.0: + resolution: {integrity: sha512-UsZtOYEn4tWU2RGLOXr/o/xjRBftZRlG3dEWoaHr8j4GuypJ3isitGbVyjQKAuMu+xbiop8q224TjiZWc4XTZA==} dependencies: any-promise: 1.3.0 + dev: true - streamsearch@1.1.0: {} + /streamsearch@1.1.0: + resolution: {integrity: sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==} + engines: {node: '>=10.0.0'} + dev: true - string-env-interpolation@1.0.1: {} + /string-env-interpolation@1.0.1: + resolution: {integrity: sha512-78lwMoCcn0nNu8LszbP1UA7g55OeE4v7rCeWnM5B453rnNr4aq+5it3FEYtZrSEiMvHZOZ9Jlqb0OD0M2VInqg==} + dev: true - string-length@4.0.2: + /string-length@4.0.2: + resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} + engines: {node: '>=10'} dependencies: char-regex: 1.0.2 strip-ansi: 6.0.1 + dev: true - string-width@2.1.1: + /string-width@2.1.1: + resolution: {integrity: sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==} + engines: {node: '>=4'} dependencies: is-fullwidth-code-point: 2.0.0 strip-ansi: 4.0.0 + dev: true - string-width@4.2.3: + /string-width@4.2.3: + resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} + engines: {node: '>=8'} dependencies: emoji-regex: 8.0.0 is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - string-width@5.1.2: + /string-width@5.1.2: + resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} + engines: {node: '>=12'} dependencies: eastasianwidth: 0.2.0 emoji-regex: 9.2.2 strip-ansi: 7.1.0 + dev: true - string.prototype.matchall@4.0.11: + /string.prototype.matchall@4.0.11: + resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 @@ -19317,144 +16294,233 @@ snapshots: regexp.prototype.flags: 1.5.2 set-function-name: 2.0.2 side-channel: 1.0.6 + dev: true - string.prototype.trim@1.2.9: + /string.prototype.trim@1.2.9: + resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-abstract: 1.23.3 es-object-atoms: 1.0.0 + dev: true - string.prototype.trimend@1.0.8: + /string.prototype.trimend@1.0.8: + resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-object-atoms: 1.0.0 + dev: true - string.prototype.trimstart@1.0.8: + /string.prototype.trimstart@1.0.8: + resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 define-properties: 1.2.1 es-object-atoms: 1.0.0 + dev: true - string_decoder@1.1.1: + /string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} dependencies: safe-buffer: 5.1.2 - string_decoder@1.3.0: + /string_decoder@1.3.0: + resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} dependencies: safe-buffer: 5.2.1 - stringify-object@3.3.0: + /stringify-object@3.3.0: + resolution: {integrity: sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==} + engines: {node: '>=4'} dependencies: get-own-enumerable-property-symbols: 3.0.2 is-obj: 1.0.1 is-regexp: 1.0.0 + dev: true - strip-ansi@4.0.0: + /strip-ansi@4.0.0: + resolution: {integrity: sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==} + engines: {node: '>=4'} dependencies: ansi-regex: 3.0.1 + dev: true - strip-ansi@6.0.1: + /strip-ansi@6.0.1: + resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} + engines: {node: '>=8'} dependencies: ansi-regex: 5.0.1 - strip-ansi@7.1.0: + /strip-ansi@7.1.0: + resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} + engines: {node: '>=12'} dependencies: ansi-regex: 6.0.1 + dev: true - strip-bom@3.0.0: {} + /strip-bom@3.0.0: + resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} + engines: {node: '>=4'} + dev: true - strip-bom@4.0.0: {} + /strip-bom@4.0.0: + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} + dev: true - strip-final-newline@2.0.0: {} + /strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + dev: true - strip-hex-prefix@1.0.0: + /strip-hex-prefix@1.0.0: + resolution: {integrity: sha512-q8d4ue7JGEiVcypji1bALTos+0pWtyGlivAWyPuTkHzuTCJqrK9sWxYQZUq6Nq3cuyv3bm734IhHvHtGGURU6A==} + engines: {node: '>=6.5.0', npm: '>=3'} dependencies: is-hex-prefixed: 1.0.0 + dev: true - strip-indent@3.0.0: + /strip-indent@3.0.0: + resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} + engines: {node: '>=8'} dependencies: min-indent: 1.0.1 + dev: true - strip-json-comments@2.0.1: {} + /strip-json-comments@2.0.1: + resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} + engines: {node: '>=0.10.0'} + dev: true - strip-json-comments@3.1.1: {} + /strip-json-comments@3.1.1: + resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} + engines: {node: '>=8'} + dev: true - strnum@1.0.5: {} + /strnum@1.0.5: + resolution: {integrity: sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==} - stylus-lookup@5.0.1: + /stylus-lookup@5.0.1: + resolution: {integrity: sha512-tLtJEd5AGvnVy4f9UHQMw4bkJJtaAcmo54N+ovQBjDY3DuWyK9Eltxzr5+KG0q4ew6v2EHyuWWNnHeiw/Eo7rQ==} + engines: {node: '>=14'} + hasBin: true dependencies: commander: 10.0.1 + dev: true - superjson@1.13.3: + /superjson@1.13.3: + resolution: {integrity: sha512-mJiVjfd2vokfDxsQPOwJ/PtanO87LhpYY88ubI5dUB1Ab58Txbyje3+jpm+/83R/fevaq/107NNhtYBLuoTrFg==} + engines: {node: '>=10'} dependencies: copy-anything: 3.0.5 + dev: false - supports-color@3.2.3: + /supports-color@3.2.3: + resolution: {integrity: sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==} + engines: {node: '>=0.8.0'} dependencies: has-flag: 1.0.0 + dev: true - supports-color@5.5.0: + /supports-color@5.5.0: + resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} + engines: {node: '>=4'} dependencies: has-flag: 3.0.0 + dev: true - supports-color@7.2.0: + /supports-color@7.2.0: + resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} + engines: {node: '>=8'} dependencies: has-flag: 4.0.0 - supports-color@8.1.1: + /supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} dependencies: has-flag: 4.0.0 - supports-preserve-symlinks-flag@1.0.0: {} + /supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} - swap-case@2.0.2: + /swap-case@2.0.2: + resolution: {integrity: sha512-kc6S2YS/2yXbtkSMunBtKdah4VFETZ8Oh6ONSmSd9bRxhqTrtARUCBUiWXH3xVPpvR7tz2CSnkuXVE42EcGnMw==} dependencies: tslib: 2.6.2 + dev: true - sync-request@6.1.0: + /sync-request@6.1.0: + resolution: {integrity: sha512-8fjNkrNlNCrVc/av+Jn+xxqfCjYaBoHqCsDz6mt030UMxJGr+GSfCV1dQt2gRtlL63+VPidwDVLr7V2OcTSdRw==} + engines: {node: '>=8.0.0'} dependencies: http-response-object: 3.0.2 sync-rpc: 1.3.6 then-request: 6.0.2 + dev: true - sync-rpc@1.3.6: + /sync-rpc@1.3.6: + resolution: {integrity: sha512-J8jTXuZzRlvU7HemDgHi3pGnh/rkoqR/OZSjhTyyZrEkkYQbk7Z33AXp37mkPfPpfdOuj7Ex3H/TJM1z48uPQw==} dependencies: get-port: 3.2.0 + dev: true - synckit@0.9.0: + /synckit@0.9.0: + resolution: {integrity: sha512-7RnqIMq572L8PeEzKeBINYEJDDxpcH8JEgLwUqBd3TkofhFRbkq4QLR0u+36avGAhCRbk2nnmjcW9SE531hPDg==} + engines: {node: ^14.18.0 || >=16.0.0} dependencies: '@pkgr/core': 0.1.1 tslib: 2.6.2 + dev: true - table@6.8.2: + /table@6.8.2: + resolution: {integrity: sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==} + engines: {node: '>=10.0.0'} dependencies: - ajv: 8.12.0 + ajv: 8.13.0 lodash.truncate: 4.4.2 slice-ansi: 4.0.0 string-width: 4.2.3 strip-ansi: 6.0.1 + dev: true - tapable@2.2.1: {} + /tapable@2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} + engines: {node: '>=6'} + dev: true - tar-stream@2.2.0: + /tar-stream@2.2.0: + resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} + engines: {node: '>=6'} dependencies: bl: 4.1.0 end-of-stream: 1.4.4 fs-constants: 1.0.0 inherits: 2.0.4 readable-stream: 3.6.2 + dev: true - test-exclude@6.0.0: + /test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} dependencies: '@istanbuljs/schema': 0.1.3 glob: 7.2.3 minimatch: 3.1.2 + dev: true - text-table@0.2.0: {} + /text-table@0.2.0: + resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + dev: true - then-request@6.0.2: + /then-request@6.0.2: + resolution: {integrity: sha512-3ZBiG7JvP3wbDzA9iNY5zJQcHL4jn/0BWtXIkagfz7QgOL/LqjCEOBQuJNZfu0XYnv5JhKh+cDxCPM4ILrqruA==} + engines: {node: '>=6.0.0'} dependencies: '@types/concat-stream': 1.6.1 '@types/form-data': 0.0.33 @@ -19467,64 +16533,133 @@ snapshots: http-response-object: 3.0.2 promise: 8.3.0 qs: 6.12.1 + dev: true - through@2.3.8: {} + /through@2.3.8: + resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + dev: true - tiny-emitter@2.1.0: {} + /tiny-emitter@2.1.0: + resolution: {integrity: sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==} + dev: true - title-case@3.0.3: + /title-case@3.0.3: + resolution: {integrity: sha512-e1zGYRvbffpcHIrnuqT0Dh+gEJtDaxDSoG4JAIpq4oDFyooziLBIiYQv0GBT4FUAnUop5uZ1hiIAj7oAF6sOCA==} dependencies: tslib: 2.6.2 + dev: true - tmp@0.0.33: + /tmp@0.0.33: + resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} + engines: {node: '>=0.6.0'} dependencies: os-tmpdir: 1.0.2 - tmpl@1.0.5: {} + /tmpl@1.0.5: + resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + dev: true - to-fast-properties@2.0.0: {} + /to-fast-properties@2.0.0: + resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} + engines: {node: '>=4'} + dev: true - to-regex-range@5.0.1: + /to-regex-range@5.0.1: + resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} + engines: {node: '>=8.0'} dependencies: is-number: 7.0.0 + dev: true - toidentifier@1.0.1: {} + /toidentifier@1.0.1: + resolution: {integrity: sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==} + engines: {node: '>=0.6'} + dev: true - tr46@0.0.3: {} + /tr46@0.0.3: + resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} - tree-kill@1.2.2: {} + /tree-kill@1.2.2: + resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} + hasBin: true + dev: true - ts-api-utils@1.3.0(typescript@5.4.5): + /ts-api-utils@1.3.0(typescript@5.4.5): + resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} + engines: {node: '>=16'} + peerDependencies: + typescript: '>=4.2.0' dependencies: typescript: 5.4.5 + dev: true - ts-graphviz@1.8.2: {} + /ts-graphviz@1.8.2: + resolution: {integrity: sha512-5YhbFoHmjxa7pgQLkB07MtGnGJ/yhvjmc9uhsnDBEICME6gkPf83SBwLDQqGDoCa3XzUMWLk1AU2Wn1u1naDtA==} + engines: {node: '>=14.16'} + dev: true - ts-jest@29.1.2(@babel/core@7.24.4)(esbuild@0.20.2)(jest@29.7.0)(typescript@5.4.5): + /ts-jest@29.1.3(@babel/core@7.24.5)(esbuild@0.20.2)(jest@29.7.0)(typescript@5.4.5): + resolution: {integrity: sha512-6L9qz3ginTd1NKhOxmkP0qU3FyKjj5CPoY+anszfVn6Pmv/RIKzhiMCsH7Yb7UvJR9I2A64rm4zQl531s2F1iw==} + engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@babel/core': '>=7.0.0-beta.0 <8' + '@jest/transform': ^29.0.0 + '@jest/types': ^29.0.0 + babel-jest: ^29.0.0 + esbuild: '*' + jest: ^29.0.0 + typescript: '>=4.3 <6' + peerDependenciesMeta: + '@babel/core': + optional: true + '@jest/transform': + optional: true + '@jest/types': + optional: true + babel-jest: + optional: true + esbuild: + optional: true dependencies: - '@babel/core': 7.24.4 + '@babel/core': 7.24.5 bs-logger: 0.2.6 esbuild: 0.20.2 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@20.12.7) + jest: 29.7.0(@types/node@20.12.12) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 make-error: 1.3.6 - semver: 7.6.0 + semver: 7.6.2 typescript: 5.4.5 yargs-parser: 21.1.1 + dev: true - ts-log@2.2.5: {} + /ts-log@2.2.5: + resolution: {integrity: sha512-PGcnJoTBnVGy6yYNFxWVNkdcAuAMstvutN9MgDJIV6L0oG8fB+ZNNy1T+wJzah8RPGor1mZuPQkVfXNDpy9eHA==} + dev: true - ts-node@10.9.2(@types/node@20.12.7)(typescript@5.0.4): + /ts-node@10.9.2(@types/node@20.12.12)(typescript@5.0.4): + resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} + hasBin: true + peerDependencies: + '@swc/core': '>=1.2.50' + '@swc/wasm': '>=1.2.50' + '@types/node': '*' + typescript: '>=2.7' + peerDependenciesMeta: + '@swc/core': + optional: true + '@swc/wasm': + optional: true dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.12.7 + '@types/node': 20.12.12 acorn: 8.11.3 acorn-walk: 8.3.2 arg: 4.1.3 @@ -19534,8 +16669,11 @@ snapshots: typescript: 5.0.4 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 + dev: true - tsc-alias@1.8.8: + /tsc-alias@1.8.10: + resolution: {integrity: sha512-Ibv4KAWfFkFdKJxnWfVtdOmB0Zi1RJVxcbPGiCDsFpCQSsmpWyuzHG3rQyI5YkobWwxFPEyQfu1hdo4qLG2zPw==} + hasBin: true dependencies: chokidar: 3.6.0 commander: 9.5.0 @@ -19543,120 +16681,208 @@ snapshots: mylas: 2.1.13 normalize-path: 3.0.0 plimit-lit: 1.6.1 + dev: true - tsconfig-paths@3.15.0: + /tsconfig-paths@3.15.0: + resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} dependencies: '@types/json5': 0.0.29 json5: 1.0.2 minimist: 1.2.8 strip-bom: 3.0.0 + dev: true - tsconfig-paths@4.2.0: + /tsconfig-paths@4.2.0: + resolution: {integrity: sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==} + engines: {node: '>=6'} dependencies: json5: 2.2.3 minimist: 1.2.8 strip-bom: 3.0.0 + dev: true - tslib@1.14.1: {} + /tslib@1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} - tslib@2.4.0: {} + /tslib@2.4.0: + resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} + dev: true - tslib@2.6.2: {} + /tslib@2.6.2: + resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} - tsort@0.0.1: {} + /tsort@0.0.1: + resolution: {integrity: sha512-Tyrf5mxF8Ofs1tNoxA13lFeZ2Zrbd6cKbuH3V+MQ5sb6DtBj5FjrXVsRWT8YvNAQTqNoz66dz1WsbigI22aEnw==} + dev: true - tsutils@3.21.0(typescript@5.4.5): + /tsutils@3.21.0(typescript@5.4.5): + resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} + engines: {node: '>= 6'} + peerDependencies: + typescript: '>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta' dependencies: tslib: 1.14.1 typescript: 5.4.5 + dev: true - tsx@4.7.2: - dependencies: - esbuild: 0.19.12 - get-tsconfig: 4.7.3 - optionalDependencies: - fsevents: 2.3.3 - - tsx@4.9.3: + /tsx@4.11.0: + resolution: {integrity: sha512-vzGGELOgAupsNVssAmZjbUDfdm/pWP4R+Kg8TVdsonxbXk0bEpE1qh0yV6/QxUVXaVlNemgcPajGdJJ82n3stg==} + engines: {node: '>=18.0.0'} + hasBin: true dependencies: esbuild: 0.20.2 - get-tsconfig: 4.7.3 + get-tsconfig: 4.7.5 optionalDependencies: fsevents: 2.3.3 + dev: true - turbo-darwin-64@1.13.2: + /turbo-darwin-64@1.13.3: + resolution: {integrity: sha512-glup8Qx1qEFB5jerAnXbS8WrL92OKyMmg5Hnd4PleLljAeYmx+cmmnsmLT7tpaVZIN58EAAwu8wHC6kIIqhbWA==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true optional: true - turbo-darwin-arm64@1.13.2: + /turbo-darwin-arm64@1.13.3: + resolution: {integrity: sha512-/np2xD+f/+9qY8BVtuOQXRq5f9LehCFxamiQnwdqWm5iZmdjygC5T3uVSYuagVFsZKMvX3ycySwh8dylGTl6lg==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true optional: true - turbo-linux-64@1.13.2: + /turbo-linux-64@1.13.3: + resolution: {integrity: sha512-G+HGrau54iAnbXLfl+N/PynqpDwi/uDzb6iM9hXEDG+yJnSJxaHMShhOkXYJPk9offm9prH33Khx2scXrYVW1g==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true optional: true - turbo-linux-arm64@1.13.2: + /turbo-linux-arm64@1.13.3: + resolution: {integrity: sha512-qWwEl5VR02NqRyl68/3pwp3c/olZuSp+vwlwrunuoNTm6JXGLG5pTeme4zoHNnk0qn4cCX7DFrOboArlYxv0wQ==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true optional: true - turbo-windows-64@1.13.2: + /turbo-windows-64@1.13.3: + resolution: {integrity: sha512-Nudr4bRChfJzBPzEmpVV85VwUYRCGKecwkBFpbp2a4NtrJ3+UP1VZES653ckqCu2FRyRuS0n03v9euMbAvzH+Q==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true optional: true - turbo-windows-arm64@1.13.2: + /turbo-windows-arm64@1.13.3: + resolution: {integrity: sha512-ouJCgsVLd3icjRLmRvHQDDZnmGzT64GBupM1Y+TjtYn2LVaEBoV6hicFy8x5DUpnqdLy+YpCzRMkWlwhmkX7sQ==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true optional: true - turbo@1.13.2: + /turbo@1.13.3: + resolution: {integrity: sha512-n17HJv4F4CpsYTvKzUJhLbyewbXjq1oLCi90i5tW1TiWDz16ML1eDG7wi5dHaKxzh5efIM56SITnuVbMq5dk4g==} + hasBin: true optionalDependencies: - turbo-darwin-64: 1.13.2 - turbo-darwin-arm64: 1.13.2 - turbo-linux-64: 1.13.2 - turbo-linux-arm64: 1.13.2 - turbo-windows-64: 1.13.2 - turbo-windows-arm64: 1.13.2 - - tweetnacl-util@0.15.1: {} + turbo-darwin-64: 1.13.3 + turbo-darwin-arm64: 1.13.3 + turbo-linux-64: 1.13.3 + turbo-linux-arm64: 1.13.3 + turbo-windows-64: 1.13.3 + turbo-windows-arm64: 1.13.3 + dev: true + + /tweetnacl-util@0.15.1: + resolution: {integrity: sha512-RKJBIj8lySrShN4w6i/BonWp2Z/uxwC3h4y7xsRrpP59ZboCd0GpEVsOnMDYLMmKBpYhb5TgHzZXy7wTfYFBRw==} + dev: true - tweetnacl@1.0.3: {} + /tweetnacl@1.0.3: + resolution: {integrity: sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==} + dev: true - type-check@0.3.2: + /type-check@0.3.2: + resolution: {integrity: sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==} + engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.1.2 + dev: true - type-check@0.4.0: + /type-check@0.4.0: + resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} + engines: {node: '>= 0.8.0'} dependencies: prelude-ls: 1.2.1 + dev: true - type-detect@4.0.8: {} + /type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + dev: true - type-fest@0.12.0: {} + /type-fest@0.12.0: + resolution: {integrity: sha512-53RyidyjvkGpnWPMF9bQgFtWp+Sl8O2Rp13VavmJgfAP9WWG6q6TkrKU8iyJdnwnfgHI6k2hTlgqH4aSdjoTbg==} + engines: {node: '>=10'} + dev: true - type-fest@0.20.2: {} + /type-fest@0.20.2: + resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + engines: {node: '>=10'} + dev: true - type-fest@0.21.3: {} + /type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} + engines: {node: '>=10'} - type-fest@0.6.0: {} + /type-fest@0.6.0: + resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} + engines: {node: '>=8'} + dev: true - type-fest@0.7.1: {} + /type-fest@0.7.1: + resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} + engines: {node: '>=8'} + dev: true - type-fest@0.8.1: {} + /type-fest@0.8.1: + resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} + engines: {node: '>=8'} + dev: true - type-is@1.6.18: + /type-is@1.6.18: + resolution: {integrity: sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==} + engines: {node: '>= 0.6'} dependencies: media-typer: 0.3.0 mime-types: 2.1.35 + dev: true - typed-array-buffer@1.0.2: + /typed-array-buffer@1.0.2: + resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 es-errors: 1.3.0 is-typed-array: 1.1.13 + dev: true - typed-array-byte-length@1.0.1: + /typed-array-byte-length@1.0.1: + resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 for-each: 0.3.3 gopd: 1.0.1 has-proto: 1.0.3 is-typed-array: 1.1.13 + dev: true - typed-array-byte-offset@1.0.2: + /typed-array-byte-offset@1.0.2: + resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} + engines: {node: '>= 0.4'} dependencies: available-typed-arrays: 1.0.7 call-bind: 1.0.7 @@ -19664,8 +16890,11 @@ snapshots: gopd: 1.0.1 has-proto: 1.0.3 is-typed-array: 1.1.13 + dev: true - typed-array-length@1.0.6: + /typed-array-length@1.0.6: + resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} + engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 for-each: 0.3.3 @@ -19673,119 +16902,213 @@ snapshots: has-proto: 1.0.3 is-typed-array: 1.1.13 possible-typed-array-names: 1.0.0 + dev: true - typed-function@2.1.0: {} + /typed-function@2.1.0: + resolution: {integrity: sha512-bctQIOqx2iVbWGDGPWwIm18QScpu2XRmkC19D8rQGFsjKSgteq/o1hTZvIG/wuDq8fanpBDrLkLq+aEN/6y5XQ==} + engines: {node: '>= 10'} + dev: true - typedarray@0.0.6: {} + /typedarray@0.0.6: + resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} - typescript@5.0.4: {} + /typescript@5.0.4: + resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==} + engines: {node: '>=12.20'} + hasBin: true + dev: true - typescript@5.4.5: {} + /typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} + hasBin: true - ua-parser-js@1.0.37: {} + /ua-parser-js@1.0.37: + resolution: {integrity: sha512-bhTyI94tZofjo+Dn8SN6Zv8nBDvyXTymAdM3LDI/0IboIUwTu1rEhW7v2TfiVsoYWgkQ4kOVqnI8APUFbIQIFQ==} + dev: true - uglify-js@3.17.4: + /uglify-js@3.17.4: + resolution: {integrity: sha512-T9q82TJI9e/C1TAxYvfb16xO120tMVFZrGA3f9/P4424DNu6ypK103y0GPFVa17yotwSyZW5iYXgjYHkGrJW/g==} + engines: {node: '>=0.8.0'} + hasBin: true + requiresBuild: true + dev: true optional: true - ultron@1.1.1: {} + /ultron@1.1.1: + resolution: {integrity: sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==} + dev: true - unbox-primitive@1.0.2: + /unbox-primitive@1.0.2: + resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} dependencies: call-bind: 1.0.7 has-bigints: 1.0.2 has-symbols: 1.0.3 which-boxed-primitive: 1.0.2 + dev: true - unc-path-regex@0.1.2: {} + /unc-path-regex@0.1.2: + resolution: {integrity: sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==} + engines: {node: '>=0.10.0'} + dev: true - undici-types@5.26.5: {} + /undici-types@5.26.5: + resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} - undici@5.28.4: + /undici@5.28.4: + resolution: {integrity: sha512-72RFADWFqKmUb2hmmvNODKL3p9hcB6Gt2DOQMis1SEBaV6a4MH8soBvzg+95CYhCKPFedut2JY9bMfrDl9D23g==} + engines: {node: '>=14.0'} dependencies: '@fastify/busboy': 2.1.1 + dev: true - universalify@0.1.2: {} + /universalify@0.1.2: + resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} + engines: {node: '>= 4.0.0'} + dev: true - universalify@2.0.1: {} + /universalify@2.0.1: + resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} + engines: {node: '>= 10.0.0'} + dev: true - unixify@1.0.0: + /unixify@1.0.0: + resolution: {integrity: sha512-6bc58dPYhCMHHuwxldQxO3RRNZ4eCogZ/st++0+fcC1nr0jiGUtAdBJ2qzmLQWSxbtz42pWt4QQMiZ9HvZf5cg==} + engines: {node: '>=0.10.0'} dependencies: normalize-path: 2.1.1 + dev: true - unpipe@1.0.0: {} + /unpipe@1.0.0: + resolution: {integrity: sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==} + engines: {node: '>= 0.8'} + dev: true - update-browserslist-db@1.0.13(browserslist@4.23.0): + /update-browserslist-db@1.0.16(browserslist@4.23.0): + resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' dependencies: browserslist: 4.23.0 escalade: 3.1.2 - picocolors: 1.0.0 + picocolors: 1.0.1 + dev: true - upper-case-first@2.0.2: + /upper-case-first@2.0.2: + resolution: {integrity: sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg==} dependencies: tslib: 2.6.2 + dev: true - upper-case@2.0.2: + /upper-case@2.0.2: + resolution: {integrity: sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg==} dependencies: tslib: 2.6.2 + dev: true - uri-js@4.4.1: + /uri-js@4.4.1: + resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} dependencies: punycode: 2.3.1 + dev: true - url@0.10.3: + /url@0.10.3: + resolution: {integrity: sha512-hzSUW2q06EqL1gKM/a+obYHLIO6ct2hwPuviqTTOcfFVc61UbfJ2Q32+uGL/HCPxKqrdGB5QUwIe7UqlDgwsOQ==} dependencies: punycode: 1.3.2 querystring: 0.2.0 + dev: true - urlpattern-polyfill@10.0.0: {} + /urlpattern-polyfill@10.0.0: + resolution: {integrity: sha512-H/A06tKD7sS1O1X2SshBVeA5FLycRpjqiBeqGKmBwBDBy28EnRjORxTNe269KSSr5un5qyWi1iL61wLxpd+ZOg==} + dev: true - urlpattern-polyfill@8.0.2: {} + /urlpattern-polyfill@8.0.2: + resolution: {integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==} + dev: true - utf8@3.0.0: {} + /utf8@3.0.0: + resolution: {integrity: sha512-E8VjFIQ/TyQgp+TZfS6l8yp/xWppSAHzidGiRrqe4bK4XP9pTRyKFgGJpO3SN7zdX4DeomTrwaseCHovfpFcqQ==} + dev: true - util-deprecate@1.0.2: {} + /util-deprecate@1.0.2: + resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - util@0.12.5: + /util@0.12.5: + resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} dependencies: inherits: 2.0.4 is-arguments: 1.1.1 is-generator-function: 1.0.10 is-typed-array: 1.1.13 which-typed-array: 1.1.15 + dev: true - utils-merge@1.0.1: {} + /utils-merge@1.0.1: + resolution: {integrity: sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==} + engines: {node: '>= 0.4.0'} + dev: true - uuid@8.0.0: {} + /uuid@8.0.0: + resolution: {integrity: sha512-jOXGuXZAWdsTH7eZLtyXMqUb9EcWMGZNbL9YcGBJl4MH4nrxHmZJhEHvyLFrkxo+28uLb/NYRcStH48fnD0Vzw==} + hasBin: true + dev: true - uuid@8.3.2: {} + /uuid@8.3.2: + resolution: {integrity: sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==} + hasBin: true + dev: true - uuid@9.0.1: {} + /uuid@9.0.1: + resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} + hasBin: true - v8-compile-cache-lib@3.0.1: {} + /v8-compile-cache-lib@3.0.1: + resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + dev: true - v8-to-istanbul@9.2.0: + /v8-to-istanbul@9.2.0: + resolution: {integrity: sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==} + engines: {node: '>=10.12.0'} dependencies: '@jridgewell/trace-mapping': 0.3.25 '@types/istanbul-lib-coverage': 2.0.6 convert-source-map: 2.0.0 + dev: true - validate-npm-package-license@3.0.4: + /validate-npm-package-license@3.0.4: + resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} dependencies: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 + dev: true - value-or-promise@1.0.12: {} + /value-or-promise@1.0.12: + resolution: {integrity: sha512-Z6Uz+TYwEqE7ZN50gwn+1LCVo9ZVrpxRPOhOLnncYkY1ZzOYtrX8Fwf/rFktZ8R5mJms6EZf5TqNOMeZmnPq9Q==} + engines: {node: '>=12'} + dev: true - vary@1.1.2: {} + /vary@1.1.2: + resolution: {integrity: sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==} + engines: {node: '>= 0.8'} + dev: true - viem@1.21.4(typescript@5.0.4)(zod@3.22.4): + /viem@1.21.4(typescript@5.0.4)(zod@3.23.8): + resolution: {integrity: sha512-BNVYdSaUjeS2zKQgPs+49e5JKocfo60Ib2yiXOWBT6LuVxY1I/6fFX3waEtpXvL1Xn4qu+BVitVtMh9lyThyhQ==} + peerDependencies: + typescript: '>=5.0.4' + peerDependenciesMeta: + typescript: + optional: true dependencies: '@adraffy/ens-normalize': 1.10.0 '@noble/curves': 1.2.0 '@noble/hashes': 1.3.2 '@scure/bip32': 1.3.2 '@scure/bip39': 1.2.1 - abitype: 0.9.8(typescript@5.0.4)(zod@3.22.4) + abitype: 0.9.8(typescript@5.0.4)(zod@3.23.8) isows: 1.0.3(ws@8.13.0) typescript: 5.0.4 ws: 8.13.0 @@ -19793,15 +17116,22 @@ snapshots: - bufferutil - utf-8-validate - zod + dev: true - viem@1.21.4(typescript@5.4.5)(zod@3.22.4): + /viem@1.21.4(typescript@5.4.5)(zod@3.23.8): + resolution: {integrity: sha512-BNVYdSaUjeS2zKQgPs+49e5JKocfo60Ib2yiXOWBT6LuVxY1I/6fFX3waEtpXvL1Xn4qu+BVitVtMh9lyThyhQ==} + peerDependencies: + typescript: '>=5.0.4' + peerDependenciesMeta: + typescript: + optional: true dependencies: '@adraffy/ens-normalize': 1.10.0 '@noble/curves': 1.2.0 '@noble/hashes': 1.3.2 '@scure/bip32': 1.3.2 '@scure/bip39': 1.2.1 - abitype: 0.9.8(typescript@5.4.5)(zod@3.22.4) + abitype: 0.9.8(typescript@5.4.5)(zod@3.23.8) isows: 1.0.3(ws@8.13.0) typescript: 5.4.5 ws: 8.13.0 @@ -19809,36 +17139,55 @@ snapshots: - bufferutil - utf-8-validate - zod + dev: false - viem@2.9.19(typescript@5.4.5)(zod@3.22.4): + /viem@2.12.1(typescript@5.4.5)(zod@3.23.8): + resolution: {integrity: sha512-71gxcGCXdNXQuBhpqXblVRH1F3hP/wONCptVOCW4r6VrCEXL/9vfNyCdQKtK/0WGyXm04Zs9Jf/AOAxKqf6FmQ==} + peerDependencies: + typescript: '>=5.0.4' + peerDependenciesMeta: + typescript: + optional: true dependencies: '@adraffy/ens-normalize': 1.10.0 '@noble/curves': 1.2.0 '@noble/hashes': 1.3.2 '@scure/bip32': 1.3.2 '@scure/bip39': 1.2.1 - abitype: 1.0.0(typescript@5.4.5)(zod@3.22.4) - isows: 1.0.3(ws@8.13.0) + abitype: 1.0.0(typescript@5.4.5)(zod@3.23.8) + isows: 1.0.4(ws@8.13.0) typescript: 5.4.5 ws: 8.13.0 transitivePeerDependencies: - bufferutil - utf-8-validate - zod + dev: false - walkdir@0.4.1: {} + /walkdir@0.4.1: + resolution: {integrity: sha512-3eBwRyEln6E1MSzcxcVpQIhRG8Q1jLvEqRmCZqS3dsfXEDR/AhOF4d+jHg1qvDCpYaVRZjENPQyrVxAkQqxPgQ==} + engines: {node: '>=6.0.0'} + dev: true - walker@1.0.8: + /walker@1.0.8: + resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} dependencies: makeerror: 1.0.12 + dev: true - wcwidth@1.0.1: + /wcwidth@1.0.1: + resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} dependencies: defaults: 1.0.4 + dev: true - web-streams-polyfill@3.3.3: {} + /web-streams-polyfill@3.3.3: + resolution: {integrity: sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==} + engines: {node: '>= 8'} - web3-utils@1.10.4: + /web3-utils@1.10.4: + resolution: {integrity: sha512-tsu8FiKJLk2PzhDl9fXbGUWTkkVXYhtTA+SmEFkKft+9BgwLxfCRpU96sWv7ICC8zixBNd3JURVoiR3dUXgP8A==} + engines: {node: '>=8.0.0'} dependencies: '@ethereumjs/util': 8.1.0 bn.js: 5.2.1 @@ -19848,18 +17197,23 @@ snapshots: number-to-bn: 1.7.0 randombytes: 2.1.0 utf8: 3.0.0 + dev: true - webcrypto-core@1.7.9: + /webcrypto-core@1.7.9: + resolution: {integrity: sha512-FE+a4PPkOmBbgNDIyRmcHhgXn+2ClRl3JzJdDu/P4+B8y81LqKe6RAsI9b3lAOHe1T1BMkSjsRHTYRikImZnVA==} dependencies: '@peculiar/asn1-schema': 2.3.8 '@peculiar/json-schema': 1.1.12 asn1js: 3.0.5 pvtsutils: 1.3.5 tslib: 2.6.2 + dev: true - webidl-conversions@3.0.1: {} + /webidl-conversions@3.0.1: + resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} - websocket-stream@5.5.2: + /websocket-stream@5.5.2: + resolution: {integrity: sha512-8z49MKIHbGk3C4HtuHWDtYX8mYej1wWabjthC/RupM9ngeukU4IWoM46dgth1UOS/T4/IqgEdCDJuMe2039OQQ==} dependencies: duplexify: 3.7.1 inherits: 2.0.4 @@ -19870,21 +17224,27 @@ snapshots: transitivePeerDependencies: - bufferutil - utf-8-validate + dev: true - whatwg-url@5.0.0: + /whatwg-url@5.0.0: + resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} dependencies: tr46: 0.0.3 webidl-conversions: 3.0.1 - which-boxed-primitive@1.0.2: + /which-boxed-primitive@1.0.2: + resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} dependencies: is-bigint: 1.0.4 is-boolean-object: 1.1.2 is-number-object: 1.0.7 is-string: 1.0.7 is-symbol: 1.0.4 + dev: true - which-builtin-type@1.1.3: + /which-builtin-type@1.1.3: + resolution: {integrity: sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw==} + engines: {node: '>= 0.4'} dependencies: function.prototype.name: 1.1.6 has-tostringtag: 1.0.2 @@ -19898,127 +17258,268 @@ snapshots: which-boxed-primitive: 1.0.2 which-collection: 1.0.2 which-typed-array: 1.1.15 + dev: true - which-collection@1.0.2: + /which-collection@1.0.2: + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} dependencies: is-map: 2.0.3 is-set: 2.0.3 is-weakmap: 2.0.2 is-weakset: 2.0.3 + dev: true - which-module@2.0.1: {} + /which-module@2.0.1: + resolution: {integrity: sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==} + dev: true - which-typed-array@1.1.15: + /which-typed-array@1.1.15: + resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} + engines: {node: '>= 0.4'} dependencies: available-typed-arrays: 1.0.7 call-bind: 1.0.7 for-each: 0.3.3 gopd: 1.0.1 has-tostringtag: 1.0.2 + dev: true - which@1.3.1: + /which@1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true dependencies: isexe: 2.0.0 + dev: true - which@2.0.2: + /which@2.0.2: + resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} + engines: {node: '>= 8'} + hasBin: true dependencies: isexe: 2.0.0 + dev: true - widest-line@3.1.0: + /widest-line@3.1.0: + resolution: {integrity: sha512-NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==} + engines: {node: '>=8'} dependencies: string-width: 4.2.3 + dev: true - widest-line@4.0.1: + /widest-line@4.0.1: + resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} + engines: {node: '>=12'} dependencies: string-width: 5.1.2 + dev: true - word-wrap@1.2.5: {} + /word-wrap@1.2.5: + resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} + engines: {node: '>=0.10.0'} + dev: true - wordwrap@1.0.0: {} + /wordwrap@1.0.0: + resolution: {integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==} + dev: true - workerpool@6.2.1: {} + /workerpool@6.2.1: + resolution: {integrity: sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==} + dev: true - wrap-ansi@6.2.0: + /wrap-ansi@6.2.0: + resolution: {integrity: sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==} + engines: {node: '>=8'} dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 - wrap-ansi@7.0.0: + /wrap-ansi@7.0.0: + resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} + engines: {node: '>=10'} dependencies: ansi-styles: 4.3.0 string-width: 4.2.3 strip-ansi: 6.0.1 + dev: true - wrap-ansi@8.1.0: + /wrap-ansi@8.1.0: + resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} + engines: {node: '>=12'} dependencies: ansi-styles: 6.2.1 string-width: 5.1.2 strip-ansi: 7.1.0 + dev: true - wrappy@1.0.2: {} + /wrappy@1.0.2: + resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - write-file-atomic@4.0.2: + /write-file-atomic@4.0.2: + resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} + engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} dependencies: imurmurhash: 0.1.4 signal-exit: 3.0.7 + dev: true - ws@3.3.3: + /ws@3.3.3: + resolution: {integrity: sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true dependencies: async-limiter: 1.0.1 safe-buffer: 5.1.2 ultron: 1.1.1 + dev: true - ws@7.4.6: {} + /ws@7.4.6: + resolution: {integrity: sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true - ws@7.5.9: {} + /ws@7.5.9: + resolution: {integrity: sha512-F+P9Jil7UiSKSkppIiD94dN07AwvFixvLIj1Og1Rl9GGMuNipJnV9JzjD6XuqmAeiswGvUmNLjr5cFuXwNS77Q==} + engines: {node: '>=8.3.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true - ws@8.13.0: {} + /ws@8.13.0: + resolution: {integrity: sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true - ws@8.16.0: {} + /ws@8.17.0: + resolution: {integrity: sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: '>=5.0.2' + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true - ws@8.5.0: {} + /ws@8.5.0: + resolution: {integrity: sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==} + engines: {node: '>=10.0.0'} + peerDependencies: + bufferutil: ^4.0.1 + utf-8-validate: ^5.0.2 + peerDependenciesMeta: + bufferutil: + optional: true + utf-8-validate: + optional: true + dev: true - xml2js@0.6.2: + /xml2js@0.6.2: + resolution: {integrity: sha512-T4rieHaC1EXcES0Kxxj4JWgaUQHDk+qwHcYOCFHfiwKz7tOVPLq7Hjq9dM1WCMhylqMEfP7hMcOIChvotiZegA==} + engines: {node: '>=4.0.0'} dependencies: sax: 1.2.1 xmlbuilder: 11.0.1 + dev: true - xmlbuilder@11.0.1: {} + /xmlbuilder@11.0.1: + resolution: {integrity: sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==} + engines: {node: '>=4.0'} + dev: true - xtend@4.0.2: {} + /xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} - y18n@4.0.3: {} + /y18n@4.0.3: + resolution: {integrity: sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==} + dev: true - y18n@5.0.8: {} + /y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + dev: true - yallist@3.1.1: {} + /yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + dev: true - yallist@4.0.0: {} + /yallist@4.0.0: + resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - yaml-ast-parser@0.0.43: {} + /yaml-ast-parser@0.0.43: + resolution: {integrity: sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==} + dev: true - yaml@1.10.2: {} + /yaml@1.10.2: + resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} + engines: {node: '>= 6'} + dev: true - yaml@2.4.1: {} + /yaml@2.4.2: + resolution: {integrity: sha512-B3VqDZ+JAg1nZpaEmWtTXUlBneoGx6CPM9b0TENK6aoSu5t73dItudwdgmi6tHlIZZId4dZ9skcAQ2UbcyAeVA==} + engines: {node: '>= 14'} + hasBin: true + dev: true - yargs-parser@18.1.3: + /yargs-parser@18.1.3: + resolution: {integrity: sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==} + engines: {node: '>=6'} dependencies: camelcase: 5.3.1 decamelize: 1.2.0 + dev: true - yargs-parser@20.2.4: {} + /yargs-parser@20.2.4: + resolution: {integrity: sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==} + engines: {node: '>=10'} + dev: true - yargs-parser@21.1.1: {} + /yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + dev: true - yargs-unparser@2.0.0: + /yargs-unparser@2.0.0: + resolution: {integrity: sha512-7pRTIA9Qc1caZ0bZ6RYRGbHJthJWuakf+WmHK0rVeLkNrrGhfoabBNdue6kdINI6r4if7ocq9aD/n7xwKOdzOA==} + engines: {node: '>=10'} dependencies: camelcase: 6.3.0 decamelize: 4.0.0 flat: 5.0.2 is-plain-obj: 2.1.0 + dev: true - yargs@15.4.1: + /yargs@15.4.1: + resolution: {integrity: sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==} + engines: {node: '>=8'} dependencies: cliui: 6.0.0 decamelize: 1.2.0 @@ -20031,8 +17532,11 @@ snapshots: which-module: 2.0.1 y18n: 4.0.3 yargs-parser: 18.1.3 + dev: true - yargs@16.2.0: + /yargs@16.2.0: + resolution: {integrity: sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==} + engines: {node: '>=10'} dependencies: cliui: 7.0.4 escalade: 3.1.2 @@ -20041,8 +17545,11 @@ snapshots: string-width: 4.2.3 y18n: 5.0.8 yargs-parser: 20.2.4 + dev: true - yargs@17.7.2: + /yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} dependencies: cliui: 8.0.1 escalade: 3.1.2 @@ -20051,22 +17558,39 @@ snapshots: string-width: 4.2.3 y18n: 5.0.8 yargs-parser: 21.1.1 + dev: true - yn@3.1.1: {} + /yn@3.1.1: + resolution: {integrity: sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==} + engines: {node: '>=6'} + dev: true - yocto-queue@0.1.0: {} + /yocto-queue@0.1.0: + resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} + engines: {node: '>=10'} + dev: true - yoga-wasm-web@0.3.3: {} + /yoga-wasm-web@0.3.3: + resolution: {integrity: sha512-N+d4UJSJbt/R3wqY7Coqs5pcV0aUj2j9IaQ3rNj9bVCLld8tTGKRa2USARjnvZJWVx1NDmQev8EknoczaOQDOA==} + dev: true - zip-stream@4.1.1: + /zip-stream@4.1.1: + resolution: {integrity: sha512-9qv4rlDiopXg4E69k+vMHjNN63YFMe9sZMrdlvKnCjlCRWeCBswPPMPUfx+ipsAWq1LXHe70RcbaHdJJpS6hyQ==} + engines: {node: '>= 10'} dependencies: archiver-utils: 3.0.4 compress-commons: 4.1.2 readable-stream: 3.6.2 + dev: true - zod@3.22.4: {} + /zod@3.23.8: + resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} - zx@8.0.1: + /zx@8.1.1: + resolution: {integrity: sha512-JYAyM06wK+KLy07MkipBTghtd3zsYBxTH44Fh3p932ntDKdT5jxziEK51siPG+rqT+MWV1yK9mCM1/CB92PV7Q==} + engines: {node: '>= 12.17.0'} + hasBin: true optionalDependencies: '@types/fs-extra': 11.0.4 - '@types/node': 20.12.7 + '@types/node': 20.12.12 + dev: true diff --git a/sdk/protocol-plugins/src/plugins/ProtocolPluginsRecord.ts b/sdk/protocol-plugins/src/plugins/ProtocolPluginsRecord.ts index 0349df4e96..bb8bf3a4f3 100644 --- a/sdk/protocol-plugins/src/plugins/ProtocolPluginsRecord.ts +++ b/sdk/protocol-plugins/src/plugins/ProtocolPluginsRecord.ts @@ -13,6 +13,6 @@ import { SparkProtocolPlugin } from './spark/implementation/SparkProtocolPlugin' export const ProtocolPluginsRecord: ProtocolPluginsRecordType = { [ProtocolName.Maker]: MakerProtocolPlugin, [ProtocolName.Spark]: SparkProtocolPlugin, - [ProtocolName.AAVEv3]: AaveV3ProtocolPlugin, - [ProtocolName.Morpho]: MorphoProtocolPlugin, + [ProtocolName.AaveV3]: AaveV3ProtocolPlugin, + [ProtocolName.MorphoBlue]: MorphoProtocolPlugin, } diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AAVEv3ProtocolPlugin.ts b/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AAVEv3ProtocolPlugin.ts index d6e19724bb..dd15bab9a9 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AAVEv3ProtocolPlugin.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AAVEv3ProtocolPlugin.ts @@ -37,7 +37,7 @@ export class AaveV3ProtocolPlugin extends AAVEv3LikeBaseProtocolPlugin< AaveV3ContractNames, AaveV3AbiMapType > { - readonly protocolName = ProtocolName.AAVEv3 + readonly protocolName = ProtocolName.AaveV3 readonly supportedChains = valuesOfChainFamilyMap([ ChainFamilyName.Ethereum, ChainFamilyName.Base, diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3Protocol.ts b/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3Protocol.ts index 28005df5a0..79ae6b3ec9 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3Protocol.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/implementation/AaveV3Protocol.ts @@ -7,7 +7,7 @@ import { IAaveV3Protocol, IAaveV3ProtocolData } from '../interfaces/IAaveV3Proto * @see IAaveV3ProtocolData */ export class AaveV3Protocol extends Protocol implements IAaveV3Protocol { - readonly name: ProtocolName.AAVEv3 + readonly name: ProtocolName.AaveV3 /** Factory method */ static createFrom(params: IAaveV3ProtocolData): AaveV3Protocol { diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3Protocol.ts b/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3Protocol.ts index bca24a9d8b..73a97f5435 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3Protocol.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/interfaces/IAaveV3Protocol.ts @@ -16,7 +16,7 @@ import { z } from 'zod' */ export interface IAaveV3Protocol extends IProtocol, IAaveV3ProtocolData { /** AaveV3 protocol name */ - readonly name: ProtocolName.AAVEv3 + readonly name: ProtocolName.AaveV3 // Re-declaring the properties with the correct types readonly chainInfo: IChainInfo @@ -27,7 +27,7 @@ export interface IAaveV3Protocol extends IProtocol, IAaveV3ProtocolData { */ export const AaveV3ProtocolDataSchema = z.object({ ...ProtocolDataSchema.shape, - name: z.literal(ProtocolName.AAVEv3), + name: z.literal(ProtocolName.AaveV3), chainInfo: ChainInfoDataSchema, }) diff --git a/sdk/protocol-plugins/src/plugins/common/helpers/aaveV3Like/AAVEv3LikeBuilderTypes.ts b/sdk/protocol-plugins/src/plugins/common/helpers/aaveV3Like/AAVEv3LikeBuilderTypes.ts index 5d30e2b713..7a9c0a1fb5 100644 --- a/sdk/protocol-plugins/src/plugins/common/helpers/aaveV3Like/AAVEv3LikeBuilderTypes.ts +++ b/sdk/protocol-plugins/src/plugins/common/helpers/aaveV3Like/AAVEv3LikeBuilderTypes.ts @@ -34,7 +34,7 @@ type ReservesData = { export type EmodeCategory = bigint type OraclePrice = bigint -export type AllowedProtocolNames = ProtocolName.Spark | ProtocolName.AAVEv3 +export type AllowedProtocolNames = ProtocolName.Spark | ProtocolName.AaveV3 export type WithToken = T & { token: Token } export type WithReservesCaps = T & { caps: ReservesCap } export type WithReservesConfig = T & { config: ReservesConfigData } diff --git a/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoProtocol.ts b/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoProtocol.ts index 6e5c9c9b00..e37ae920d2 100644 --- a/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoProtocol.ts +++ b/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoProtocol.ts @@ -7,7 +7,7 @@ import { SerializationService } from '@summerfi/sdk-common/services' * @see IMorphoProtocol */ export class MorphoProtocol extends Protocol implements IMorphoProtocol { - readonly name: ProtocolName.Morpho + readonly name: ProtocolName.MorphoBlue /** Factory method */ static createFrom(params: IMorphoProtocolData): MorphoProtocol { diff --git a/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoProtocolPlugin.ts b/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoProtocolPlugin.ts index 0a55b1b44b..02dfcf3d6b 100644 --- a/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoProtocolPlugin.ts +++ b/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoProtocolPlugin.ts @@ -49,7 +49,7 @@ import { MorphoMarketParameters } from '../types' export class MorphoProtocolPlugin extends BaseProtocolPlugin { static readonly MorphoBlueContractName = 'MorphoBlue' - readonly protocolName: ProtocolName.Morpho = ProtocolName.Morpho + readonly protocolName: ProtocolName.MorphoBlue = ProtocolName.MorphoBlue readonly supportedChains = valuesOfChainFamilyMap([ChainFamilyName.Ethereum]) readonly stepBuilders: Partial = MorphoStepBuilders diff --git a/sdk/protocol-plugins/src/plugins/morphoblue/interfaces/IMorphoProtocol.ts b/sdk/protocol-plugins/src/plugins/morphoblue/interfaces/IMorphoProtocol.ts index 93996a9390..e395622197 100644 --- a/sdk/protocol-plugins/src/plugins/morphoblue/interfaces/IMorphoProtocol.ts +++ b/sdk/protocol-plugins/src/plugins/morphoblue/interfaces/IMorphoProtocol.ts @@ -13,7 +13,7 @@ import { z } from 'zod' */ export interface IMorphoProtocol extends IMorphoProtocolData, IProtocol { /** Morpho protocol name */ - readonly name: ProtocolName.Morpho + readonly name: ProtocolName.MorphoBlue // Re-declare the properties with the correct types readonly chainInfo: IChainInfo @@ -24,7 +24,7 @@ export interface IMorphoProtocol extends IMorphoProtocolData, IProtocol { */ export const MorphoProtocolDataSchema = z.object({ ...ProtocolDataSchema.shape, - name: z.literal(ProtocolName.Morpho), + name: z.literal(ProtocolName.MorphoBlue), }) /** diff --git a/sdk/protocol-plugins/tests/mocks/AAVEv3PoolIdMock.ts b/sdk/protocol-plugins/tests/mocks/AAVEv3PoolIdMock.ts index af1e16f156..a14bf38c86 100644 --- a/sdk/protocol-plugins/tests/mocks/AAVEv3PoolIdMock.ts +++ b/sdk/protocol-plugins/tests/mocks/AAVEv3PoolIdMock.ts @@ -21,7 +21,7 @@ export async function getAaveV3PoolIdMock(): Promise { return AaveV3LendingPoolId.createFrom({ protocol: AaveV3Protocol.createFrom({ - name: ProtocolName.AAVEv3, + name: ProtocolName.AaveV3, chainInfo, }), debtToken: DAI, diff --git a/sdk/protocol-plugins/tests/mocks/MorphoPoolIdMock.ts b/sdk/protocol-plugins/tests/mocks/MorphoPoolIdMock.ts index 91c9f33a45..0a5ffbbf1a 100644 --- a/sdk/protocol-plugins/tests/mocks/MorphoPoolIdMock.ts +++ b/sdk/protocol-plugins/tests/mocks/MorphoPoolIdMock.ts @@ -16,7 +16,7 @@ import { export const morphoPoolIdMock: IMorphoLendingPoolId = MorphoLendingPoolId.createFrom({ protocol: MorphoProtocol.createFrom({ - name: ProtocolName.Morpho, + name: ProtocolName.MorphoBlue, chainInfo: ChainFamilyMap.Ethereum.Mainnet, }), marketId: '0xc54d7acf14de29e0e5527cabd7a576506870346a78a11a6762e2cca66322ec41', diff --git a/sdk/protocol-plugins/tests/unit/builders/aaveV3/AaveV3DepositBorrowActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/aaveV3/AaveV3DepositBorrowActionBuilder.spec.ts index 08dc7152c1..37591bff59 100644 --- a/sdk/protocol-plugins/tests/unit/builders/aaveV3/AaveV3DepositBorrowActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/aaveV3/AaveV3DepositBorrowActionBuilder.spec.ts @@ -59,7 +59,7 @@ describe('AaveV3 Deposit Borrow Action Builder', () => { }) const protocol = AaveV3Protocol.createFrom({ - name: ProtocolName.AAVEv3, + name: ProtocolName.AaveV3, chainInfo: ChainFamilyMap.Ethereum.Mainnet, }) diff --git a/sdk/protocol-plugins/tests/unit/builders/aaveV3/AaveV3OpenPositionActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/aaveV3/AaveV3OpenPositionActionBuilder.spec.ts index daa6b6247e..c84c41ed38 100644 --- a/sdk/protocol-plugins/tests/unit/builders/aaveV3/AaveV3OpenPositionActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/aaveV3/AaveV3OpenPositionActionBuilder.spec.ts @@ -58,7 +58,7 @@ describe('AaveV3 Open Position Action Builder', () => { }) const protocol = AaveV3Protocol.createFrom({ - name: ProtocolName.AAVEv3, + name: ProtocolName.AaveV3, chainInfo: ChainFamilyMap.Ethereum.Mainnet, }) diff --git a/sdk/protocol-plugins/tests/unit/builders/aaveV3/AaveV3PaybackWithdrawActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/aaveV3/AaveV3PaybackWithdrawActionBuilder.spec.ts index 1311d7b5b6..8c31b47a36 100644 --- a/sdk/protocol-plugins/tests/unit/builders/aaveV3/AaveV3PaybackWithdrawActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/aaveV3/AaveV3PaybackWithdrawActionBuilder.spec.ts @@ -59,7 +59,7 @@ describe('AaveV3 Payback Withdraw Action Builder', () => { }) const protocol = AaveV3Protocol.createFrom({ - name: ProtocolName.AAVEv3, + name: ProtocolName.AaveV3, chainInfo: ChainFamilyMap.Ethereum.Mainnet, }) diff --git a/sdk/protocol-plugins/tests/unit/builders/maker/MakerImportPositionActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/maker/MakerImportPositionActionBuilder.spec.ts index 11d1abd25a..a21734882a 100644 --- a/sdk/protocol-plugins/tests/unit/builders/maker/MakerImportPositionActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/maker/MakerImportPositionActionBuilder.spec.ts @@ -103,7 +103,7 @@ describe('Maker Import Position Action Builder', () => { id: MorphoLendingPoolId.createFrom({ marketId: '0x1234', protocol: MorphoProtocol.createFrom({ - name: ProtocolName.Morpho, + name: ProtocolName.MorphoBlue, chainInfo: ChainFamilyMap.Ethereum.Mainnet, }), }), diff --git a/sdk/protocol-plugins/tests/unit/builders/maker/MakerOpenPositionActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/maker/MakerOpenPositionActionBuilder.spec.ts index 3a51a32b20..593e2b51dd 100644 --- a/sdk/protocol-plugins/tests/unit/builders/maker/MakerOpenPositionActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/maker/MakerOpenPositionActionBuilder.spec.ts @@ -92,7 +92,7 @@ describe('Maker Open Position Action Builder', () => { id: MorphoLendingPoolId.createFrom({ marketId: '0x1234', protocol: MorphoProtocol.createFrom({ - name: ProtocolName.Morpho, + name: ProtocolName.MorphoBlue, chainInfo: ChainFamilyMap.Ethereum.Mainnet, }), }), diff --git a/sdk/protocol-plugins/tests/unit/builders/maker/MakerPaybackWithdrawActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/maker/MakerPaybackWithdrawActionBuilder.spec.ts index ce32551b32..1d7c045225 100644 --- a/sdk/protocol-plugins/tests/unit/builders/maker/MakerPaybackWithdrawActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/maker/MakerPaybackWithdrawActionBuilder.spec.ts @@ -98,7 +98,7 @@ describe('Maker Payback Withdraw Action Builder', () => { id: MorphoLendingPoolId.createFrom({ marketId: '0x1234', protocol: MorphoProtocol.createFrom({ - name: ProtocolName.Morpho, + name: ProtocolName.MorphoBlue, chainInfo: ChainFamilyMap.Ethereum.Mainnet, }), }), diff --git a/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoDepositBorrowActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoDepositBorrowActionBuilder.spec.ts index be5f917756..6d63b4a36e 100644 --- a/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoDepositBorrowActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoDepositBorrowActionBuilder.spec.ts @@ -62,7 +62,7 @@ describe('Morpho Deposit Borrow Action Builder', () => { }) const protocol = MorphoProtocol.createFrom({ - name: ProtocolName.Morpho, + name: ProtocolName.MorphoBlue, chainInfo: ChainFamilyMap.Ethereum.Mainnet, }) diff --git a/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoOpenPositionActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoOpenPositionActionBuilder.spec.ts index ce7a3fe814..e3ebd75693 100644 --- a/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoOpenPositionActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoOpenPositionActionBuilder.spec.ts @@ -60,7 +60,7 @@ describe('Morpho Open Position Action Builder', () => { }) const protocol = MorphoProtocol.createFrom({ - name: ProtocolName.Morpho, + name: ProtocolName.MorphoBlue, chainInfo: ChainFamilyMap.Ethereum.Mainnet, }) diff --git a/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoPaybackWithdrawActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoPaybackWithdrawActionBuilder.spec.ts index 78ff57b58a..0b71224781 100644 --- a/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoPaybackWithdrawActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoPaybackWithdrawActionBuilder.spec.ts @@ -60,7 +60,7 @@ describe('Morpho Payback Withdraw Action Builder', () => { }) const protocol = MorphoProtocol.createFrom({ - name: ProtocolName.Morpho, + name: ProtocolName.MorphoBlue, chainInfo: ChainFamilyMap.Ethereum.Mainnet, }) diff --git a/sdk/protocol-plugins/tests/unit/plugins/MakerProtocolPlugin.spec.ts b/sdk/protocol-plugins/tests/unit/plugins/MakerProtocolPlugin.spec.ts index d9ac190a4e..d1c0d732e5 100644 --- a/sdk/protocol-plugins/tests/unit/plugins/MakerProtocolPlugin.spec.ts +++ b/sdk/protocol-plugins/tests/unit/plugins/MakerProtocolPlugin.spec.ts @@ -34,7 +34,7 @@ describe('Maker Protocol Plugin', () => { ...makerPoolIdMock, protocol: { ...makerPoolIdMock.protocol, - name: ProtocolName.AAVEv3, + name: ProtocolName.AaveV3, }, } as unknown as IMakerLendingPoolIdData diff --git a/sdk/protocol-plugins/tests/utils/ProtocolsPluginRegistryMock.ts b/sdk/protocol-plugins/tests/utils/ProtocolsPluginRegistryMock.ts index bb76e24605..4c9a5d1d07 100644 --- a/sdk/protocol-plugins/tests/utils/ProtocolsPluginRegistryMock.ts +++ b/sdk/protocol-plugins/tests/utils/ProtocolsPluginRegistryMock.ts @@ -30,9 +30,9 @@ export function createProtocolPluginsRegistry(): IProtocolPluginsRegistry { return new ProtocolPluginsRegistry({ plugins: { [ProtocolName.Maker]: ProtocolPluginMock, - [ProtocolName.AAVEv3]: ProtocolPluginMock, + [ProtocolName.AaveV3]: ProtocolPluginMock, [ProtocolName.Spark]: ProtocolPluginMock, - [ProtocolName.Morpho]: ProtocolPluginMock, + [ProtocolName.MorphoBlue]: ProtocolPluginMock, }, context: protocolPluginContext, }) diff --git a/sdk/sdk-common/src/protocols/enums/ProtocolName.ts b/sdk/sdk-common/src/protocols/enums/ProtocolName.ts index 2823fae6f2..05005f43b7 100644 --- a/sdk/sdk-common/src/protocols/enums/ProtocolName.ts +++ b/sdk/sdk-common/src/protocols/enums/ProtocolName.ts @@ -5,10 +5,10 @@ import { z } from 'zod' * @description Enumerates the names of the protocols that are supported by the SDK */ export enum ProtocolName { - AAVEv3 = 'AAVEv3', - AAVEv2 = 'AAVEv2', + AaveV3 = 'AaveV3', + AaveV2 = 'AaveV2', Spark = 'Spark', - Morpho = 'Morpho', + MorphoBlue = 'MorphoBlue', Maker = 'Maker', Ajna = 'Ajna', } diff --git a/sdk/tools/genStrategyDefinitions/package.json b/sdk/tools/genStrategyDefinitions/package.json index 4d345ec732..607360c08d 100644 --- a/sdk/tools/genStrategyDefinitions/package.json +++ b/sdk/tools/genStrategyDefinitions/package.json @@ -13,13 +13,14 @@ "strategy:gen": "pnpm bundle:npm; node ./bundle/dist/index.js" }, "dependencies": { - "@summerfi/sdk-common": "workspace:*", - "@summerfi/simulator-service": "workspace:*", "@summerfi/order-planner-service": "workspace:*", "@summerfi/protocol-plugins": "workspace:*", - "@summerfi/protocol-plugins-common": "workspace:*" + "@summerfi/protocol-plugins-common": "workspace:*", + "@summerfi/sdk-common": "workspace:*", + "@summerfi/simulator-service": "workspace:*" }, "devDependencies": { + "@morpho-labs/gnosis-tx-builder": "^2.0.0", "@summerfi/eslint-config": "workspace:*", "@summerfi/jest-config": "workspace:*", "@summerfi/typescript-config": "workspace:*", diff --git a/sdk/tools/genStrategyDefinitions/src/Helpers.ts b/sdk/tools/genStrategyDefinitions/src/Helpers.ts index 0dafdbcf30..3dea8fa865 100644 --- a/sdk/tools/genStrategyDefinitions/src/Helpers.ts +++ b/sdk/tools/genStrategyDefinitions/src/Helpers.ts @@ -1,15 +1,89 @@ import { ActionBuildersConfig } from '@summerfi/order-planner-service/config/Config' import { ProtocolPluginsRecord } from '@summerfi/protocol-plugins' import { ActionBuilderUsedAction } from '@summerfi/protocol-plugins-common' -import { SimulationSteps, SimulationStrategy, StrategyStep } from '@summerfi/sdk-common/simulation' -import { StrategyDefinitions } from './Types' +import { SimulationStrategy, StrategyStep } from '@summerfi/sdk-common/simulation' +import { + OperationDefinition, + OperationDefinitions, + StrategyDefinitions, + Transactions, +} from './Types' +import { TxBuilder } from '@morpho-labs/gnosis-tx-builder' +import { AddressValue, HexData } from '@summerfi/sdk-common' +import { encodeFunctionData, parseAbi } from 'viem' +import { BatchFile } from '@morpho-labs/gnosis-tx-builder/lib/src/types' + +const DISABLE_OPTIONALS = true + +export function generateSafeMultisendJSON( + safeAddress: AddressValue, + operationsRegistryAddress: AddressValue, + operationDefinitions: OperationDefinitions, +): BatchFile { + const transactions = generateTransactions(operationsRegistryAddress, operationDefinitions) + + return TxBuilder.batch(safeAddress, transactions) +} + +export function generateTransactions( + safeAddress: AddressValue, + operationDefinitions: OperationDefinitions, +): Transactions { + return operationDefinitions.map((operationDefinition) => { + return { + to: safeAddress, + value: '0', + data: encodeOpRegistryParameters(operationDefinition), + } + }) +} + +export function encodeOpRegistryParameters(operationDefinition: OperationDefinition): HexData { + const opRegistryAbi = parseAbi(['function addOperation((bytes32[],bool[], string))']) + + return encodeFunctionData({ + abi: opRegistryAbi, + functionName: 'addOperation', + args: [[operationDefinition.actions, operationDefinition.optional, operationDefinition.name]], + }) +} + +export function generateOperationDefinitions( + strategyName: string, + strategyDefinitions: StrategyDefinitions, +): OperationDefinitions { + return strategyDefinitions.map((strategy) => { + const paybackAction = strategy.find((action) => { + return action.name.includes('Payback') + }) + + const depositAction = strategy.find((action) => { + return action.name.includes('Deposit') + }) + + if (!paybackAction || !depositAction) { + throw new Error('Cannot find payback or deposit action') + } + + const fromProtocol = paybackAction.name.split('Payback')[0] + const toProtocol = depositAction.name.split('Deposit')[0] + + return { + actions: strategy.map((action) => action.hash), + optional: strategy.map((action) => action.optional), + name: `${strategyName}${fromProtocol}${toProtocol}`, + } + }) +} export function processStrategies(strategyConfigs: SimulationStrategy[]): StrategyDefinitions { - return strategyConfigs.reduce((acc, strategy) => { + const strategyDefinitions = strategyConfigs.reduce((acc, strategy) => { acc.push(...processStrategy(strategy)) return acc }, [] as StrategyDefinitions) + + return filterDuplicateStrategies(strategyDefinitions) } export function processStrategy(strategyConfig: SimulationStrategy): StrategyDefinitions { @@ -25,12 +99,12 @@ export function processStrategy(strategyConfig: SimulationStrategy): StrategyDef } export function processActionsList( - stepType: SimulationSteps, + stepConfig: StrategyStep, actionsList: ActionBuilderUsedAction[], ): StrategyDefinitions { return actionsList.reduce( (acc, actionConfig) => { - const suffixes = processAction(stepType, actionConfig) + const suffixes = processAction(stepConfig, actionConfig) return combinePrefixesAndSuffixes(acc, suffixes) }, [[]] as StrategyDefinitions, @@ -39,11 +113,11 @@ export function processActionsList( export function processStep(stepConfig: StrategyStep): StrategyDefinitions { const stepDefinitions = processActionsList( - stepConfig.step, + stepConfig, new ActionBuildersConfig[stepConfig.step]().actions, ) - if (stepConfig.optional) { + if (!DISABLE_OPTIONALS && stepConfig.optional) { return [...stepDefinitions, []] } else { return stepDefinitions @@ -51,32 +125,41 @@ export function processStep(stepConfig: StrategyStep): StrategyDefinitions { } export function processAction( - stepType: SimulationSteps, + stepConfig: StrategyStep, actionConfig: ActionBuilderUsedAction, ): StrategyDefinitions { if (actionConfig.action === 'DelegatedToProtocol') { - return processDelegateToProtocol(stepType) + return processDelegateToProtocol(stepConfig) } const action = new actionConfig.action() - const definition = [[{ name: action.config.name, hash: action.getActionHash() }]] - - if (actionConfig.isOptionalTags !== undefined) { + const definition = [ + [ + { + name: action.config.name, + hash: action.getActionHash(), + optional: + DISABLE_OPTIONALS || stepConfig.optional || actionConfig.isOptionalTags !== undefined, + }, + ], + ] + + if (!DISABLE_OPTIONALS && actionConfig.isOptionalTags !== undefined) { definition.push([]) } return definition } -export function processDelegateToProtocol(stepType: SimulationSteps): StrategyDefinitions { +export function processDelegateToProtocol(stepConfig: StrategyStep): StrategyDefinitions { return Object.values(ProtocolPluginsRecord).reduce((acc, pluginClass) => { const plugin = new pluginClass() - const pluginBuilder = plugin.getActionBuilder(stepType) + const pluginBuilder = plugin.getActionBuilder(stepConfig.step) if (!pluginBuilder) { return acc } - const suffixes = processActionsList(stepType, pluginBuilder.actions) + const suffixes = processActionsList(stepConfig, pluginBuilder.actions) acc.push(...suffixes) return acc }, [] as StrategyDefinitions) @@ -100,29 +183,25 @@ export function filterIncompatibleStrategies(strategies: StrategyDefinitions): S return action.includes('setemode') }) - if (!setEmodeAction) { - return true - } - const depositAction = strategyLowercase.find((action) => { return action.includes('deposit') }) - if (!depositAction) { - return true + if (setEmodeAction === undefined && depositAction !== undefined) { + const protocol = depositAction.split('deposit')[0] + + return protocol !== 'aavev3' && protocol !== 'spark' } const setEmodeProtocol = setEmodeAction?.split('setemode')[0] const depositProtocol = depositAction?.split('deposit')[0] - if (setEmodeProtocol === depositProtocol) { - console.log('strategy', strategy) - console.log('depositAction', depositAction) - console.log('setEmodeAction', setEmodeAction) - console.log('setEmodeProtocol', setEmodeProtocol) - console.log('depositProtocol', depositProtocol) - } - return setEmodeProtocol === depositProtocol }) } + +export function filterDuplicateStrategies(strategies: StrategyDefinitions): StrategyDefinitions { + return strategies.filter((strategy, index) => { + return strategies.findIndex((s) => JSON.stringify(s) === JSON.stringify(strategy)) === index + }) +} diff --git a/sdk/tools/genStrategyDefinitions/src/Types.ts b/sdk/tools/genStrategyDefinitions/src/Types.ts index 364701380b..223124ec68 100644 --- a/sdk/tools/genStrategyDefinitions/src/Types.ts +++ b/sdk/tools/genStrategyDefinitions/src/Types.ts @@ -1,5 +1,15 @@ -import { HexData } from '@summerfi/sdk-common' +import { AddressValue, HexData } from '@summerfi/sdk-common' -export type ActionDefinition = { name: string; hash: HexData } +export type ActionDefinition = { name: string; hash: HexData; optional: boolean } export type StrategyDefinition = ActionDefinition[] export type StrategyDefinitions = StrategyDefinition[] + +export type OperationDefinition = { actions: HexData[]; optional: boolean[]; name: string } +export type OperationDefinitions = OperationDefinition[] + +export type Transaction = { + to: AddressValue + value: string + data: HexData +} +export type Transactions = Transaction[] diff --git a/sdk/tools/genStrategyDefinitions/src/index.ts b/sdk/tools/genStrategyDefinitions/src/index.ts index 6015ecce16..54b1fafecd 100644 --- a/sdk/tools/genStrategyDefinitions/src/index.ts +++ b/sdk/tools/genStrategyDefinitions/src/index.ts @@ -1,8 +1,12 @@ -import { processStrategies, processStrategy } from './Helpers' -import { StrategyIndex } from '@summerfi/simulator-service/strategies/StrategyIndex' -import { StrategyDefinitions } from './Types' +import { + generateOperationDefinitions, + generateSafeMultisendJSON, + processStrategies, +} from './Helpers' import yargs from 'yargs' import fs from 'fs' +import { refinanceLendingToLendingAnyPairStrategy } from '@summerfi/simulator-service/strategies' +import { AddressValue } from '@summerfi/sdk-common' async function main() { const args = await yargs(process.argv.slice(2)) @@ -11,22 +15,42 @@ async function main() { description: 'Output file path', type: 'string', }) + .option('safe', { + alias: 's', + description: 'Address of the Safe multisig', + type: 'string', + }) + .option('registry', { + alias: 'r', + description: 'Address of the Operations Registry', + type: 'string', + }) + .demandOption(['output', 'safe', 'registry']) .help() .alias('help', 'h').argv - const strategyDefinitions = processStrategies(StrategyIndex) + const strategyDefinitions = processStrategies([refinanceLendingToLendingAnyPairStrategy]) + + const operationDefinitions = generateOperationDefinitions('Refinance', strategyDefinitions) + + const safeBatch = generateSafeMultisendJSON( + args.safe as AddressValue, + args.registry as AddressValue, + operationDefinitions, + ) if (args.output) { console.log(`Writing to ${args.output}`) // Write to file - fs.writeFileSync(args.output, JSON.stringify(strategyDefinitions, null, 2)) + fs.writeFileSync(args.output, JSON.stringify(safeBatch, null, 2)) } else { console.log('--------------------') console.log(JSON.stringify(strategyDefinitions, null, 2)) console.log('--------------------') - console.log(`Strategy Definitions (${strategyDefinitions.length})`) } + + console.log(`Strategy Definitions (${operationDefinitions.length})`) } main() diff --git a/sdk/tools/genStrategyDefinitions/test.json b/sdk/tools/genStrategyDefinitions/test.json index fe7c20330c..819d3acbbd 100644 --- a/sdk/tools/genStrategyDefinitions/test.json +++ b/sdk/tools/genStrategyDefinitions/test.json @@ -1,49898 +1,75 @@ -[ - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "ReturnFunds", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SwapAction", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "TakeFlashloan", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "MakerWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SparkPayback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "AaveV3Payback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SparkPayback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "MakerWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SparkWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SparkPayback", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "AaveV3Withdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "AaveV3Payback", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "MorphoBlueWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "MakerPayback", - "MakerWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "MakerWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SparkPayback", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SparkPayback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "AaveV3Payback", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "AaveV3Payback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "MakerWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SparkPayback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "AaveV3Payback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SparkPayback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "SparkBorrow", - "PositionCreated" - ], - [ - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "MakerWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SparkPayback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SwapAction", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SwapAction", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "AaveV3Payback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SwapAction", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SwapAction", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SparkPayback", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "MakerWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SparkWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SparkPayback", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "AaveV3Withdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "AaveV3Payback", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "MorphoBlueWithdraw", - "SwapAction", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "MakerPayback", - "MakerWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "MakerWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SparkPayback", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SparkWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SparkPayback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "AaveV3Payback", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "AaveV3Withdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "AaveV3Payback", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "MorphoBlueWithdraw", - "SparkSetEMode", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "MakerWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SparkWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SparkPayback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SwapAction", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SwapAction", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "AaveV3Payback", - "SwapAction", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SwapAction", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SwapAction", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "MakerWithdraw", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SparkWithdraw", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SparkPayback", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "AaveV3Withdraw", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "AaveV3Payback", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "MorphoBlueWithdraw", - "SetApproval", - "SparkDeposit", - "PositionCreated" - ], - [ - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "MakerWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SparkPayback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "AaveV3Payback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "MakerWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SparkWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SparkPayback", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "AaveV3Withdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "AaveV3Payback", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "MorphoBlueWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "MakerPayback", - "MakerWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "MakerWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SparkPayback", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SparkPayback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "AaveV3Payback", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "AaveV3Payback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "MorphoBluePayback", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "MakerWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SparkPayback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "AaveV3Payback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "AaveV3Borrow", - "PositionCreated" - ], - [ - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "MakerWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SparkPayback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "AaveV3Payback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "MakerWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SparkWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SparkPayback", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "AaveV3Withdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "AaveV3Payback", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "MorphoBlueWithdraw", - "SwapAction", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "MakerPayback", - "MakerWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "MakerWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SparkPayback", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SparkWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SparkPayback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "AaveV3Payback", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "AaveV3Withdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "AaveV3Payback", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "MorphoBluePayback", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "MorphoBlueWithdraw", - "AaveV3SetEMode", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "MakerWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SparkWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SparkPayback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "AaveV3Payback", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "MakerWithdraw", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SparkWithdraw", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SparkPayback", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "AaveV3Withdraw", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "AaveV3Payback", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "MorphoBlueWithdraw", - "SetApproval", - "AaveV3Deposit", - "PositionCreated" - ], - [ - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "SendToken", - "PositionCreated" - ], - [ - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "SendToken", - "PositionCreated" - ], - [ - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "MorphoBlueBorrow", - "PositionCreated" - ], - [ - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "MakerPayback", - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "MakerWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SparkPayback", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SparkWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SparkPayback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "AaveV3Payback", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "AaveV3Withdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "AaveV3Payback", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "MorphoBlueWithdraw", - "SwapAction", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "MakerPayback", - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "MakerWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SparkPayback", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SparkWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SparkPayback", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "AaveV3Payback", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "AaveV3Withdraw", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "AaveV3Payback", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "MorphoBluePayback", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "SetApproval", - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" - ], - [ - "MorphoBlueWithdraw", - "SetApproval", - "MorphoBlueDeposit", - "PositionCreated" +{ + "version": "1.0", + "chainId": "1", + "createdAt": 1716536096875, + "meta": { + "name": "Transactions Batch", + "description": "Created from @morpho-labs/gnosis-tx-builder", + "txBuilderVersion": "1.10.0", + "createdFromSafeAddress": "0x85f9b7408afE6CEb5E46223451f5d4b832B522dc", + "createdFromOwnerAddress": "", + "checksum": "0xf6df011f5a18b79b81eeee570661ef56f8d5d17aacef9ef4a610e7627e0f552e" + }, + "transactions": [ + { + "to": "0x563d2689fE89c78259dD7F694146BB93f6388A55", + "value": "0", + "data": "0xa1ae33b500000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000000000000000000000000000000000000000000c659de0ea7426ebf3658481941708805f7ecc3f3743ffe9b690fb9bda9420e1f27c7fc43481c9c7bbaadc7550fc793b2149008f6e3edd3c92e7c0a9a057d7e9dce0b0065173cf061160a47479778e68dbcc60e1fa16ab74ce5cc262ab202ec2159f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc262fa361c3bf9435212c5927ef44ded540885359b6fe29f956caf057cc437763a036303c18db5a95d0dd17b9bac9bc1dbd0130264cd8a04fb5e9b427a3a03ad49e2e5a52747552066d9a632214937a8417ea69760062f4039987cfe8d956646f2e65cd19ae3299f6b487d3a50d8982beaadf479209df9404651ca1fa71abfc3beb9f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc2699a01a03a55f29ec20c6bf18507e20b640f963fe896c06188dfa3bf5a753ddc4166438e3cb190ad4e896f7b4bd36c98f5b7dc3f5eb885f019521b3b819bc0de829732f3b4202acea9e682f5fafacfe4172f3140412e66931b5d00a4dda200962000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000013526566696e616e63654d616b6572537061726b00000000000000000000000000" + }, + { + "to": "0x563d2689fE89c78259dD7F694146BB93f6388A55", + "value": "0", + "data": "0xa1ae33b500000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000000d659de0ea7426ebf3658481941708805f7ecc3f3743ffe9b690fb9bda9420e1f236303c18db5a95d0dd17b9bac9bc1dbd0130264cd8a04fb5e9b427a3a03ad49ea82753128c61d3e49e07a5bedd82a74b6e5dde3788c57b7c00376460d84c1702e9d31142cdbec0d106307ad1fe20066bd1ddc092d93c02f7f4131ec0d16c15f39f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc262fa361c3bf9435212c5927ef44ded540885359b6fe29f956caf057cc437763a036303c18db5a95d0dd17b9bac9bc1dbd0130264cd8a04fb5e9b427a3a03ad49e2e5a52747552066d9a632214937a8417ea69760062f4039987cfe8d956646f2e65cd19ae3299f6b487d3a50d8982beaadf479209df9404651ca1fa71abfc3beb9f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc2699a01a03a55f29ec20c6bf18507e20b640f963fe896c06188dfa3bf5a753ddc4166438e3cb190ad4e896f7b4bd36c98f5b7dc3f5eb885f019521b3b819bc0de829732f3b4202acea9e682f5fafacfe4172f3140412e66931b5d00a4dda200962000000000000000000000000000000000000000000000000000000000000000d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000013526566696e616e6365537061726b537061726b00000000000000000000000000" + }, + { + "to": "0x563d2689fE89c78259dD7F694146BB93f6388A55", + "value": "0", + "data": "0xa1ae33b500000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000000d659de0ea7426ebf3658481941708805f7ecc3f3743ffe9b690fb9bda9420e1f236303c18db5a95d0dd17b9bac9bc1dbd0130264cd8a04fb5e9b427a3a03ad49e2b0e9e3241b34c5f10a27cae26ccc5cf8c93e29e3f03e91f7a56e78705d1160d72a6498a855e180d09372bedc02d1aeea49544d6695158bdee46b57d74df89fa9f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc262fa361c3bf9435212c5927ef44ded540885359b6fe29f956caf057cc437763a036303c18db5a95d0dd17b9bac9bc1dbd0130264cd8a04fb5e9b427a3a03ad49e2e5a52747552066d9a632214937a8417ea69760062f4039987cfe8d956646f2e65cd19ae3299f6b487d3a50d8982beaadf479209df9404651ca1fa71abfc3beb9f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc2699a01a03a55f29ec20c6bf18507e20b640f963fe896c06188dfa3bf5a753ddc4166438e3cb190ad4e896f7b4bd36c98f5b7dc3f5eb885f019521b3b819bc0de829732f3b4202acea9e682f5fafacfe4172f3140412e66931b5d00a4dda200962000000000000000000000000000000000000000000000000000000000000000d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000014526566696e616e6365416176655633537061726b000000000000000000000000" + }, + { + "to": "0x563d2689fE89c78259dD7F694146BB93f6388A55", + "value": "0", + "data": "0xa1ae33b500000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000000d659de0ea7426ebf3658481941708805f7ecc3f3743ffe9b690fb9bda9420e1f236303c18db5a95d0dd17b9bac9bc1dbd0130264cd8a04fb5e9b427a3a03ad49ea237df8c6e23705c95c501eb902cb1a3f4d8e49058d21d0fb4b7b38bac9d8c965e8a8984847bce562c1ded2e66d858deb4fc1e1078bd8052d7ac568bb85704ea9f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc262fa361c3bf9435212c5927ef44ded540885359b6fe29f956caf057cc437763a036303c18db5a95d0dd17b9bac9bc1dbd0130264cd8a04fb5e9b427a3a03ad49e2e5a52747552066d9a632214937a8417ea69760062f4039987cfe8d956646f2e65cd19ae3299f6b487d3a50d8982beaadf479209df9404651ca1fa71abfc3beb9f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc2699a01a03a55f29ec20c6bf18507e20b640f963fe896c06188dfa3bf5a753ddc4166438e3cb190ad4e896f7b4bd36c98f5b7dc3f5eb885f019521b3b819bc0de829732f3b4202acea9e682f5fafacfe4172f3140412e66931b5d00a4dda200962000000000000000000000000000000000000000000000000000000000000000d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000018526566696e616e63654d6f7270686f426c7565537061726b0000000000000000" + }, + { + "to": "0x563d2689fE89c78259dD7F694146BB93f6388A55", + "value": "0", + "data": "0xa1ae33b500000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000000000000000000000000000000000000000000c659de0ea7426ebf3658481941708805f7ecc3f3743ffe9b690fb9bda9420e1f27c7fc43481c9c7bbaadc7550fc793b2149008f6e3edd3c92e7c0a9a057d7e9dce0b0065173cf061160a47479778e68dbcc60e1fa16ab74ce5cc262ab202ec2159f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc263d35d2541933af4a823c65a68dd1c9ef013aec338d1232de2f36d28ffec2338336303c18db5a95d0dd17b9bac9bc1dbd0130264cd8a04fb5e9b427a3a03ad49e7ab6efcb5eb9fe95b9269699947601395deb8a357a1e9fb4f68be7da89ce29ab649fdbe67806b0dab4bfcfc81ac30d33b08774a695fa3f4373137cc19ae4d2ac9f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc2699a01a03a55f29ec20c6bf18507e20b640f963fe896c06188dfa3bf5a753ddc4166438e3cb190ad4e896f7b4bd36c98f5b7dc3f5eb885f019521b3b819bc0de829732f3b4202acea9e682f5fafacfe4172f3140412e66931b5d00a4dda200962000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000014526566696e616e63654d616b6572416176655633000000000000000000000000" + }, + { + "to": "0x563d2689fE89c78259dD7F694146BB93f6388A55", + "value": "0", + "data": "0xa1ae33b500000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000000d659de0ea7426ebf3658481941708805f7ecc3f3743ffe9b690fb9bda9420e1f236303c18db5a95d0dd17b9bac9bc1dbd0130264cd8a04fb5e9b427a3a03ad49ea82753128c61d3e49e07a5bedd82a74b6e5dde3788c57b7c00376460d84c1702e9d31142cdbec0d106307ad1fe20066bd1ddc092d93c02f7f4131ec0d16c15f39f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc263d35d2541933af4a823c65a68dd1c9ef013aec338d1232de2f36d28ffec2338336303c18db5a95d0dd17b9bac9bc1dbd0130264cd8a04fb5e9b427a3a03ad49e7ab6efcb5eb9fe95b9269699947601395deb8a357a1e9fb4f68be7da89ce29ab649fdbe67806b0dab4bfcfc81ac30d33b08774a695fa3f4373137cc19ae4d2ac9f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc2699a01a03a55f29ec20c6bf18507e20b640f963fe896c06188dfa3bf5a753ddc4166438e3cb190ad4e896f7b4bd36c98f5b7dc3f5eb885f019521b3b819bc0de829732f3b4202acea9e682f5fafacfe4172f3140412e66931b5d00a4dda200962000000000000000000000000000000000000000000000000000000000000000d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000014526566696e616e6365537061726b416176655633000000000000000000000000" + }, + { + "to": "0x563d2689fE89c78259dD7F694146BB93f6388A55", + "value": "0", + "data": "0xa1ae33b500000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000000d659de0ea7426ebf3658481941708805f7ecc3f3743ffe9b690fb9bda9420e1f236303c18db5a95d0dd17b9bac9bc1dbd0130264cd8a04fb5e9b427a3a03ad49e2b0e9e3241b34c5f10a27cae26ccc5cf8c93e29e3f03e91f7a56e78705d1160d72a6498a855e180d09372bedc02d1aeea49544d6695158bdee46b57d74df89fa9f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc263d35d2541933af4a823c65a68dd1c9ef013aec338d1232de2f36d28ffec2338336303c18db5a95d0dd17b9bac9bc1dbd0130264cd8a04fb5e9b427a3a03ad49e7ab6efcb5eb9fe95b9269699947601395deb8a357a1e9fb4f68be7da89ce29ab649fdbe67806b0dab4bfcfc81ac30d33b08774a695fa3f4373137cc19ae4d2ac9f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc2699a01a03a55f29ec20c6bf18507e20b640f963fe896c06188dfa3bf5a753ddc4166438e3cb190ad4e896f7b4bd36c98f5b7dc3f5eb885f019521b3b819bc0de829732f3b4202acea9e682f5fafacfe4172f3140412e66931b5d00a4dda200962000000000000000000000000000000000000000000000000000000000000000d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000015526566696e616e63654161766556334161766556330000000000000000000000" + }, + { + "to": "0x563d2689fE89c78259dD7F694146BB93f6388A55", + "value": "0", + "data": "0xa1ae33b500000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000000d659de0ea7426ebf3658481941708805f7ecc3f3743ffe9b690fb9bda9420e1f236303c18db5a95d0dd17b9bac9bc1dbd0130264cd8a04fb5e9b427a3a03ad49ea237df8c6e23705c95c501eb902cb1a3f4d8e49058d21d0fb4b7b38bac9d8c965e8a8984847bce562c1ded2e66d858deb4fc1e1078bd8052d7ac568bb85704ea9f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc263d35d2541933af4a823c65a68dd1c9ef013aec338d1232de2f36d28ffec2338336303c18db5a95d0dd17b9bac9bc1dbd0130264cd8a04fb5e9b427a3a03ad49e7ab6efcb5eb9fe95b9269699947601395deb8a357a1e9fb4f68be7da89ce29ab649fdbe67806b0dab4bfcfc81ac30d33b08774a695fa3f4373137cc19ae4d2ac9f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc2699a01a03a55f29ec20c6bf18507e20b640f963fe896c06188dfa3bf5a753ddc4166438e3cb190ad4e896f7b4bd36c98f5b7dc3f5eb885f019521b3b819bc0de829732f3b4202acea9e682f5fafacfe4172f3140412e66931b5d00a4dda200962000000000000000000000000000000000000000000000000000000000000000d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000019526566696e616e63654d6f7270686f426c756541617665563300000000000000" + }, + { + "to": "0x563d2689fE89c78259dD7F694146BB93f6388A55", + "value": "0", + "data": "0xa1ae33b500000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000000000000000000000000000000000000000000c659de0ea7426ebf3658481941708805f7ecc3f3743ffe9b690fb9bda9420e1f27c7fc43481c9c7bbaadc7550fc793b2149008f6e3edd3c92e7c0a9a057d7e9dce0b0065173cf061160a47479778e68dbcc60e1fa16ab74ce5cc262ab202ec2159f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc2636303c18db5a95d0dd17b9bac9bc1dbd0130264cd8a04fb5e9b427a3a03ad49ea7ca04e3228ce773056f80652929b26e21e87ea1073b0c8f7ece6f517123c09ff82d881490cc1119646529baaa6e2624c5d5ce860f60eda238f10a963f75ebdd99a01a03a55f29ec20c6bf18507e20b640f963fe896c06188dfa3bf5a753ddc49f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc2699a01a03a55f29ec20c6bf18507e20b640f963fe896c06188dfa3bf5a753ddc4166438e3cb190ad4e896f7b4bd36c98f5b7dc3f5eb885f019521b3b819bc0de829732f3b4202acea9e682f5fafacfe4172f3140412e66931b5d00a4dda200962000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000018526566696e616e63654d616b65724d6f7270686f426c75650000000000000000" + }, + { + "to": "0x563d2689fE89c78259dD7F694146BB93f6388A55", + "value": "0", + "data": "0xa1ae33b500000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000000d659de0ea7426ebf3658481941708805f7ecc3f3743ffe9b690fb9bda9420e1f236303c18db5a95d0dd17b9bac9bc1dbd0130264cd8a04fb5e9b427a3a03ad49ea82753128c61d3e49e07a5bedd82a74b6e5dde3788c57b7c00376460d84c1702e9d31142cdbec0d106307ad1fe20066bd1ddc092d93c02f7f4131ec0d16c15f39f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc2636303c18db5a95d0dd17b9bac9bc1dbd0130264cd8a04fb5e9b427a3a03ad49ea7ca04e3228ce773056f80652929b26e21e87ea1073b0c8f7ece6f517123c09ff82d881490cc1119646529baaa6e2624c5d5ce860f60eda238f10a963f75ebdd99a01a03a55f29ec20c6bf18507e20b640f963fe896c06188dfa3bf5a753ddc49f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc2699a01a03a55f29ec20c6bf18507e20b640f963fe896c06188dfa3bf5a753ddc4166438e3cb190ad4e896f7b4bd36c98f5b7dc3f5eb885f019521b3b819bc0de829732f3b4202acea9e682f5fafacfe4172f3140412e66931b5d00a4dda200962000000000000000000000000000000000000000000000000000000000000000d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000018526566696e616e6365537061726b4d6f7270686f426c75650000000000000000" + }, + { + "to": "0x563d2689fE89c78259dD7F694146BB93f6388A55", + "value": "0", + "data": "0xa1ae33b500000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000000d659de0ea7426ebf3658481941708805f7ecc3f3743ffe9b690fb9bda9420e1f236303c18db5a95d0dd17b9bac9bc1dbd0130264cd8a04fb5e9b427a3a03ad49e2b0e9e3241b34c5f10a27cae26ccc5cf8c93e29e3f03e91f7a56e78705d1160d72a6498a855e180d09372bedc02d1aeea49544d6695158bdee46b57d74df89fa9f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc2636303c18db5a95d0dd17b9bac9bc1dbd0130264cd8a04fb5e9b427a3a03ad49ea7ca04e3228ce773056f80652929b26e21e87ea1073b0c8f7ece6f517123c09ff82d881490cc1119646529baaa6e2624c5d5ce860f60eda238f10a963f75ebdd99a01a03a55f29ec20c6bf18507e20b640f963fe896c06188dfa3bf5a753ddc49f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc2699a01a03a55f29ec20c6bf18507e20b640f963fe896c06188dfa3bf5a753ddc4166438e3cb190ad4e896f7b4bd36c98f5b7dc3f5eb885f019521b3b819bc0de829732f3b4202acea9e682f5fafacfe4172f3140412e66931b5d00a4dda200962000000000000000000000000000000000000000000000000000000000000000d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000019526566696e616e63654161766556334d6f7270686f426c756500000000000000" + }, + { + "to": "0x563d2689fE89c78259dD7F694146BB93f6388A55", + "value": "0", + "data": "0xa1ae33b500000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000000d659de0ea7426ebf3658481941708805f7ecc3f3743ffe9b690fb9bda9420e1f236303c18db5a95d0dd17b9bac9bc1dbd0130264cd8a04fb5e9b427a3a03ad49ea237df8c6e23705c95c501eb902cb1a3f4d8e49058d21d0fb4b7b38bac9d8c965e8a8984847bce562c1ded2e66d858deb4fc1e1078bd8052d7ac568bb85704ea9f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc2636303c18db5a95d0dd17b9bac9bc1dbd0130264cd8a04fb5e9b427a3a03ad49ea7ca04e3228ce773056f80652929b26e21e87ea1073b0c8f7ece6f517123c09ff82d881490cc1119646529baaa6e2624c5d5ce860f60eda238f10a963f75ebdd99a01a03a55f29ec20c6bf18507e20b640f963fe896c06188dfa3bf5a753ddc49f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc2699a01a03a55f29ec20c6bf18507e20b640f963fe896c06188dfa3bf5a753ddc4166438e3cb190ad4e896f7b4bd36c98f5b7dc3f5eb885f019521b3b819bc0de829732f3b4202acea9e682f5fafacfe4172f3140412e66931b5d00a4dda200962000000000000000000000000000000000000000000000000000000000000000d0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000001d526566696e616e63654d6f7270686f426c75654d6f7270686f426c7565000000" + } ] -] \ No newline at end of file +} \ No newline at end of file From 8b405f0171d4ce42d4fb5c955851cb44357aa27e Mon Sep 17 00:00:00 2001 From: Roberto Cano <3525807+robercano@users.noreply.github.com> Date: Fri, 24 May 2024 10:29:56 +0200 Subject: [PATCH 30/45] fix: cicheck --- .../tests/ProtocolManager.spec.ts | 30 +++++++++---------- .../integration/AAVEv3ProtocolPlugin.spec.ts | 3 +- .../integration/MakerProtocolPlugin.spec.ts | 3 +- .../integration/MorphoProtocolPlugin.spec.ts | 3 +- .../integration/SparkProtocolPlugin.spec.ts | 3 +- .../actions/morpho/MorphoBorrowAction.spec.ts | 2 +- .../morpho/MorphoDepositAction.spec.ts | 2 +- .../morpho/MorphoPaybackAction.spec.ts | 2 +- .../morpho/MorphoWithdrawAction.spec.ts | 2 +- .../unit/plugins/AAVEv3ProtocolPlugin.spec.ts | 15 +++++----- .../unit/plugins/MakerProtocolPlugin.spec.ts | 15 +++++----- .../unit/plugins/MorphoProtocolPlugin.spec.ts | 15 +++++----- .../unit/plugins/SparkProtocolPlugin.spec.ts | 15 +++++----- .../tests/refinanceAaveV3SparkAnyPair.test.ts | 2 +- .../tests/refinanceMorphoSparkAnyPair.test.ts | 2 +- .../implementation/static/StaticTokensList.ts | 9 ------ sdk/tools/genStrategyDefinitions/package.json | 2 -- 17 files changed, 61 insertions(+), 64 deletions(-) diff --git a/sdk/protocol-manager-service/tests/ProtocolManager.spec.ts b/sdk/protocol-manager-service/tests/ProtocolManager.spec.ts index 511db74d12..3c8756c0af 100644 --- a/sdk/protocol-manager-service/tests/ProtocolManager.spec.ts +++ b/sdk/protocol-manager-service/tests/ProtocolManager.spec.ts @@ -10,7 +10,10 @@ import { AddressType, ChainInfo } from '@summerfi/sdk-common/common' import { createPublicClient, http, PublicClient } from 'viem' import { mainnet } from 'viem/chains' import { ProtocolManager } from '../src' -import { ProtocolPluginsRegistry } from '@summerfi/protocol-plugins/implementation' +import { + ProtocolPluginConstructor, + ProtocolPluginsRegistry, +} from '@summerfi/protocol-plugins/implementation' import { EmodeType, ISparkLendingPoolIdData } from '@summerfi/protocol-plugins' describe('Protocol Manager', () => { @@ -50,13 +53,12 @@ describe('Protocol Manager', () => { const ctx = await createProtocolManagerContext() class TestMockPlugin extends MockPlugin { - constructor(params: { - protocolName: ProtocolName - context: IProtocolPluginContext - __overrides?: { schema?: any; supportedChains?: any[] } - }) { - super(params) - this.protocolName = ProtocolName.Spark + constructor(params: { __overrides?: { schema?: any; supportedChains?: any[] } }) { + super({ + ...params, + protocolName: ProtocolName.Spark, + }) + this.getLendingPool = jest.fn().mockResolvedValue('mockPoolData') } } @@ -108,29 +110,27 @@ describe('Protocol Manager', () => { }) }) -export type ProtocolPluginConstructor = new (params: { - context: IProtocolPluginContext -}) => IProtocolPlugin - class MockPlugin implements IProtocolPlugin { protocolName: ProtocolName schema: any supportedChains: any[] stepBuilders: object - readonly context: IProtocolPluginContext + context?: IProtocolPluginContext constructor(params: { protocolName: ProtocolName - context: IProtocolPluginContext __overrides?: { schema?: any; supportedChains?: any[] } }) { this.protocolName = params.protocolName - this.context = params.context this.schema = params.__overrides?.schema ?? {} this.supportedChains = params.__overrides?.supportedChains ?? [] this.stepBuilders = {} } + initialize(params: { context: IProtocolPluginContext }): void { + this.context = params.context + } + getLendingPool = jest.fn() getLendingPoolInfo = jest.fn() getPosition = jest.fn() diff --git a/sdk/protocol-plugins/tests/integration/AAVEv3ProtocolPlugin.spec.ts b/sdk/protocol-plugins/tests/integration/AAVEv3ProtocolPlugin.spec.ts index 31f578c625..ad31d5d1df 100644 --- a/sdk/protocol-plugins/tests/integration/AAVEv3ProtocolPlugin.spec.ts +++ b/sdk/protocol-plugins/tests/integration/AAVEv3ProtocolPlugin.spec.ts @@ -13,7 +13,8 @@ describe('AAVEv3 Protocol Plugin (Integration)', () => { beforeAll(async () => { ctx = await createProtocolPluginContext(ChainFamilyMap.Ethereum.Mainnet) validAaveV3PoolId = await getAaveV3PoolIdMock() - aaveV3ProtocolPlugin = new AaveV3ProtocolPlugin({ + aaveV3ProtocolPlugin = new AaveV3ProtocolPlugin() + aaveV3ProtocolPlugin.initialize({ context: ctx, }) }) diff --git a/sdk/protocol-plugins/tests/integration/MakerProtocolPlugin.spec.ts b/sdk/protocol-plugins/tests/integration/MakerProtocolPlugin.spec.ts index b008433f41..10a65ac137 100644 --- a/sdk/protocol-plugins/tests/integration/MakerProtocolPlugin.spec.ts +++ b/sdk/protocol-plugins/tests/integration/MakerProtocolPlugin.spec.ts @@ -29,7 +29,8 @@ describe('Maker Protocol Plugin (Integration)', () => { beforeAll(async () => { ctx = await createProtocolPluginContext(ChainFamilyMap.Ethereum.Mainnet) validMakerPoolId = await getMakerPoolIdMock() - makerProtocolPlugin = new MakerProtocolPlugin({ + makerProtocolPlugin = new MakerProtocolPlugin() + makerProtocolPlugin.initialize({ context: ctx, }) ;(ctx.oracleManager as OracleManagerMock).setSpotPrice({ diff --git a/sdk/protocol-plugins/tests/integration/MorphoProtocolPlugin.spec.ts b/sdk/protocol-plugins/tests/integration/MorphoProtocolPlugin.spec.ts index 73be85798a..3ad597b191 100644 --- a/sdk/protocol-plugins/tests/integration/MorphoProtocolPlugin.spec.ts +++ b/sdk/protocol-plugins/tests/integration/MorphoProtocolPlugin.spec.ts @@ -14,7 +14,8 @@ describe.only('Protocol Plugin | Integration | Morpho', () => { beforeAll(async () => { ctx = await createProtocolPluginContext(ChainFamilyMap.Ethereum.Mainnet) - morphoProtocolPlugin = new MorphoProtocolPlugin({ + morphoProtocolPlugin = new MorphoProtocolPlugin() + morphoProtocolPlugin.initialize({ context: ctx, }) }) diff --git a/sdk/protocol-plugins/tests/integration/SparkProtocolPlugin.spec.ts b/sdk/protocol-plugins/tests/integration/SparkProtocolPlugin.spec.ts index a80318084a..f29964656b 100644 --- a/sdk/protocol-plugins/tests/integration/SparkProtocolPlugin.spec.ts +++ b/sdk/protocol-plugins/tests/integration/SparkProtocolPlugin.spec.ts @@ -21,7 +21,8 @@ describe.only('Spark Protocol Plugin (Integration)', () => { beforeAll(async () => { ctx = await createProtocolPluginContext(ChainFamilyMap.Ethereum.Mainnet) validSparkPoolId = await getSparkPoolIdMock() - sparkProtocolPlugin = new SparkProtocolPlugin({ + sparkProtocolPlugin = new SparkProtocolPlugin() + sparkProtocolPlugin.initialize({ context: ctx, }) }) diff --git a/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoBorrowAction.spec.ts b/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoBorrowAction.spec.ts index eeaebf1e3f..7a899859c1 100644 --- a/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoBorrowAction.spec.ts +++ b/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoBorrowAction.spec.ts @@ -39,7 +39,7 @@ describe('MorphoBorrowAction Action', () => { const tokenAmount = TokenAmount.createFrom({ token: DAI, amount: '578' }) const morphoProtocol = MorphoProtocol.createFrom({ - name: ProtocolName.Morpho, + name: ProtocolName.MorphoBlue, chainInfo: ChainFamilyMap.Ethereum.Mainnet, }) diff --git a/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoDepositAction.spec.ts b/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoDepositAction.spec.ts index 0743a0a74e..31b8b0914c 100644 --- a/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoDepositAction.spec.ts +++ b/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoDepositAction.spec.ts @@ -39,7 +39,7 @@ describe('MorphoDepositAction Action', () => { const tokenAmount = TokenAmount.createFrom({ token: DAI, amount: '578' }) const morphoProtocol = MorphoProtocol.createFrom({ - name: ProtocolName.Morpho, + name: ProtocolName.MorphoBlue, chainInfo: ChainFamilyMap.Ethereum.Mainnet, }) diff --git a/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoPaybackAction.spec.ts b/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoPaybackAction.spec.ts index c4b0cbe58c..71e68be6de 100644 --- a/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoPaybackAction.spec.ts +++ b/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoPaybackAction.spec.ts @@ -43,7 +43,7 @@ describe('MorphoPaybackAction Action', () => { const tokenAmount = TokenAmount.createFrom({ token: DAI, amount: '578' }) const morphoProtocol = MorphoProtocol.createFrom({ - name: ProtocolName.Morpho, + name: ProtocolName.MorphoBlue, chainInfo: ChainFamilyMap.Ethereum.Mainnet, }) diff --git a/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoWithdrawAction.spec.ts b/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoWithdrawAction.spec.ts index 45545d2b4d..13a8c693c1 100644 --- a/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoWithdrawAction.spec.ts +++ b/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoWithdrawAction.spec.ts @@ -43,7 +43,7 @@ describe('MorphoWithdrawAction Action', () => { const tokenAmount = TokenAmount.createFrom({ token: DAI, amount: '578' }) const morphoProtocol = MorphoProtocol.createFrom({ - name: ProtocolName.Morpho, + name: ProtocolName.MorphoBlue, chainInfo: ChainFamilyMap.Ethereum.Mainnet, }) diff --git a/sdk/protocol-plugins/tests/unit/plugins/AAVEv3ProtocolPlugin.spec.ts b/sdk/protocol-plugins/tests/unit/plugins/AAVEv3ProtocolPlugin.spec.ts index 118d88c718..e7db08fc58 100644 --- a/sdk/protocol-plugins/tests/unit/plugins/AAVEv3ProtocolPlugin.spec.ts +++ b/sdk/protocol-plugins/tests/unit/plugins/AAVEv3ProtocolPlugin.spec.ts @@ -19,7 +19,8 @@ describe('AAVEv3 Protocol Plugin', () => { beforeAll(async () => { ctx = await createProtocolPluginContext(ChainFamilyMap.Ethereum.Mainnet) aaveV3PoolIdMock = await getAaveV3PoolIdMock() - aaveV3ProtocolPlugin = new AaveV3ProtocolPlugin({ + aaveV3ProtocolPlugin = new AaveV3ProtocolPlugin() + aaveV3ProtocolPlugin.initialize({ context: ctx, }) }) @@ -70,13 +71,13 @@ describe('AAVEv3 Protocol Plugin', () => { it('should throw an error when calling getLendingPool with chain id missing from ctx', async () => { try { - new AaveV3ProtocolPlugin({ + new AaveV3ProtocolPlugin().initialize({ context: { ...ctx, provider: { - ...context.provider, + ...ctx.provider, chain: { - ...context.provider.chain!, + ...ctx.provider.chain!, id: undefined as unknown as number, }, }, @@ -93,13 +94,13 @@ describe('AAVEv3 Protocol Plugin', () => { const wrongChainId = 2 try { - new AaveV3ProtocolPlugin({ + new AaveV3ProtocolPlugin().initialize({ context: { ...ctx, provider: { - ...context.provider, + ...ctx.provider, chain: { - ...context.provider.chain!, + ...ctx.provider.chain!, id: wrongChainId, }, }, diff --git a/sdk/protocol-plugins/tests/unit/plugins/MakerProtocolPlugin.spec.ts b/sdk/protocol-plugins/tests/unit/plugins/MakerProtocolPlugin.spec.ts index d1c0d732e5..68846c84fc 100644 --- a/sdk/protocol-plugins/tests/unit/plugins/MakerProtocolPlugin.spec.ts +++ b/sdk/protocol-plugins/tests/unit/plugins/MakerProtocolPlugin.spec.ts @@ -19,7 +19,8 @@ describe('Maker Protocol Plugin', () => { beforeAll(async () => { ctx = await createProtocolPluginContext(ChainFamilyMap.Ethereum.Mainnet) makerPoolIdMock = await getMakerPoolIdMock() - makerProtocolPlugin = new MakerProtocolPlugin({ + makerProtocolPlugin = new MakerProtocolPlugin() + makerProtocolPlugin.initialize({ context: ctx, }) }) @@ -68,13 +69,13 @@ describe('Maker Protocol Plugin', () => { it('should throw an error when calling getPool with chain id missing from ctx', async () => { try { - new MakerProtocolPlugin({ + new MakerProtocolPlugin().initialize({ context: { ...ctx, provider: { - ...context.provider, + ...ctx.provider, chain: { - ...context.provider.chain!, + ...ctx.provider.chain!, id: undefined as unknown as number, }, }, @@ -89,13 +90,13 @@ describe('Maker Protocol Plugin', () => { it('should throw an error when calling getPool with an unsupported chain ID', async () => { const wrongChainId = 2 try { - new MakerProtocolPlugin({ + new MakerProtocolPlugin().initialize({ context: { ...ctx, provider: { - ...context.provider, + ...ctx.provider, chain: { - ...context.provider.chain!, + ...ctx.provider.chain!, id: wrongChainId, }, }, diff --git a/sdk/protocol-plugins/tests/unit/plugins/MorphoProtocolPlugin.spec.ts b/sdk/protocol-plugins/tests/unit/plugins/MorphoProtocolPlugin.spec.ts index 5164edcc2b..b6c69d50a3 100644 --- a/sdk/protocol-plugins/tests/unit/plugins/MorphoProtocolPlugin.spec.ts +++ b/sdk/protocol-plugins/tests/unit/plugins/MorphoProtocolPlugin.spec.ts @@ -16,7 +16,8 @@ describe('Protocol Plugin | Unit | Morpho', () => { let morphoProtocolPlugin: MorphoProtocolPlugin beforeAll(async () => { ctx = await createProtocolPluginContext(ChainFamilyMap.Ethereum.Mainnet) - morphoProtocolPlugin = new MorphoProtocolPlugin({ + morphoProtocolPlugin = new MorphoProtocolPlugin() + morphoProtocolPlugin.initialize({ context: ctx, }) }) @@ -64,13 +65,13 @@ describe('Protocol Plugin | Unit | Morpho', () => { it('should throw an error when calling getPool with chain id missing from ctx', async () => { try { - new MorphoProtocolPlugin({ + new MorphoProtocolPlugin().initialize({ context: { ...ctx, provider: { - ...context.provider, + ...ctx.provider, chain: { - ...context.provider.chain!, + ...ctx.provider.chain!, id: undefined as unknown as number, }, }, @@ -85,13 +86,13 @@ describe('Protocol Plugin | Unit | Morpho', () => { it('should throw an error when calling getPool with an unsupported chain ID', async () => { const wrongChainId = 2 try { - new MorphoProtocolPlugin({ + new MorphoProtocolPlugin().initialize({ context: { ...ctx, provider: { - ...context.provider, + ...ctx.provider, chain: { - ...context.provider.chain!, + ...ctx.provider.chain!, id: wrongChainId, }, }, diff --git a/sdk/protocol-plugins/tests/unit/plugins/SparkProtocolPlugin.spec.ts b/sdk/protocol-plugins/tests/unit/plugins/SparkProtocolPlugin.spec.ts index 500e46d6cd..ffb141304a 100644 --- a/sdk/protocol-plugins/tests/unit/plugins/SparkProtocolPlugin.spec.ts +++ b/sdk/protocol-plugins/tests/unit/plugins/SparkProtocolPlugin.spec.ts @@ -19,7 +19,8 @@ describe('Spark Protocol Plugin', () => { beforeAll(async () => { ctx = await createProtocolPluginContext(ChainFamilyMap.Ethereum.Mainnet) sparkPoolIdMock = await getSparkPoolIdMock() - sparkProtocolPlugin = new SparkProtocolPlugin({ + sparkProtocolPlugin = new SparkProtocolPlugin() + sparkProtocolPlugin.initialize({ context: ctx, }) }) @@ -70,13 +71,13 @@ describe('Spark Protocol Plugin', () => { it('should throw an error when calling getPool with chain id missing from ctx', async () => { try { - new SparkProtocolPlugin({ + new SparkProtocolPlugin().initialize({ context: { ...ctx, provider: { - ...context.provider, + ...ctx.provider, chain: { - ...context.provider.chain!, + ...ctx.provider.chain!, id: undefined as unknown as number, }, }, @@ -91,13 +92,13 @@ describe('Spark Protocol Plugin', () => { it('should throw an error when calling getPool with an unsupported chain ID', async () => { const wrongChainId = 2 try { - new SparkProtocolPlugin({ + new SparkProtocolPlugin().initialize({ context: { ...ctx, provider: { - ...context.provider, + ...ctx.provider, chain: { - ...context.provider.chain!, + ...ctx.provider.chain!, id: wrongChainId, }, }, diff --git a/sdk/sdk-e2e/tests/refinanceAaveV3SparkAnyPair.test.ts b/sdk/sdk-e2e/tests/refinanceAaveV3SparkAnyPair.test.ts index 53b6aa0112..40a9d85d3b 100644 --- a/sdk/sdk-e2e/tests/refinanceAaveV3SparkAnyPair.test.ts +++ b/sdk/sdk-e2e/tests/refinanceAaveV3SparkAnyPair.test.ts @@ -89,7 +89,7 @@ describe.skip('Refinance AaveV3 Spark | SDK', () => { }) assert(collateralToken, `${config.collateralTokenSymbol} not found`) - const aaveV3 = await chain.protocols.getProtocol({ name: ProtocolName.AAVEv3 }) + const aaveV3 = await chain.protocols.getProtocol({ name: ProtocolName.AaveV3 }) assert(aaveV3, 'AaveV3 protocol not found') if (!isAaveV3Protocol(aaveV3)) { diff --git a/sdk/sdk-e2e/tests/refinanceMorphoSparkAnyPair.test.ts b/sdk/sdk-e2e/tests/refinanceMorphoSparkAnyPair.test.ts index 6c5042b384..f45914dcde 100644 --- a/sdk/sdk-e2e/tests/refinanceMorphoSparkAnyPair.test.ts +++ b/sdk/sdk-e2e/tests/refinanceMorphoSparkAnyPair.test.ts @@ -89,7 +89,7 @@ describe.skip('Refinance Morpho Spark | SDK', () => { }) assert(collateralToken, `${config.collateralTokenSymbol} not found`) - const morpho = await chain.protocols.getProtocol({ name: ProtocolName.Morpho }) + const morpho = await chain.protocols.getProtocol({ name: ProtocolName.MorphoBlue }) assert(morpho, 'Maker protocol not found') if (!isMorphoProtocol(morpho)) { diff --git a/sdk/tokens-service/src/implementation/static/StaticTokensList.ts b/sdk/tokens-service/src/implementation/static/StaticTokensList.ts index 47df24b912..13fc60c9cd 100644 --- a/sdk/tokens-service/src/implementation/static/StaticTokensList.ts +++ b/sdk/tokens-service/src/implementation/static/StaticTokensList.ts @@ -12,15 +12,6 @@ export const StaticTokensData: TokenListData = { logoURI: 'https://summer.fi/static/img/logos/logo_dark.svg', keywords: ['Summer.fi', 'MakerDAO'], tokens: [ - { - name: 'Savings Dai', - address: '0x83F20F44975D03b1b09e64809B757c47f942BEeA', - symbol: 'sDAI', - decimals: 18, - chainId: 1, - logoURI: - 'https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/assets/0x83F20F44975D03b1b09e64809B757c47f942BEeA/logo.png', - }, { name: 'Dai Stablecoin', address: '0x6B175474E89094C44Da98b954EedeAC495271d0F', diff --git a/sdk/tools/genStrategyDefinitions/package.json b/sdk/tools/genStrategyDefinitions/package.json index 607360c08d..384cf264d9 100644 --- a/sdk/tools/genStrategyDefinitions/package.json +++ b/sdk/tools/genStrategyDefinitions/package.json @@ -4,8 +4,6 @@ "scripts": { "tsc": "tsc", "watch": "tsc -w", - "test": "jest --coverage=true --silent=false", - "testw": "jest --watch", "lint": "eslint .", "lint:fix": "eslint . --fix", "build": "tsc -b tsconfig.build.json", From 89821302b3a52f375b171760d53dee8fc71f2cdc Mon Sep 17 00:00:00 2001 From: Roberto Cano <3525807+robercano@users.noreply.github.com> Date: Fri, 24 May 2024 11:12:25 +0200 Subject: [PATCH 31/45] chore: rename Morpho to MorphoBlue --- .../src/plugins/ProtocolPluginsRecord.ts | 4 +- ...rowAction.ts => MorphoBlueBorrowAction.ts} | 16 ++-- ...itAction.ts => MorphoBlueDepositAction.ts} | 16 ++-- ...ckAction.ts => MorphoBluePaybackAction.ts} | 16 ++-- ...wAction.ts => MorphoBlueWithdrawAction.ts} | 16 ++-- .../src/plugins/morphoblue/actions/index.ts | 8 +- ...> MorphoBlueDepositBorrowActionBuilder.ts} | 18 ++-- ...=> MorphoBlueOpenPositionActionBuilder.ts} | 6 +- ...MorphoBluePaybackWithdrawActionBuilder.ts} | 16 ++-- .../builders/MorphoBlueStepBuilders.ts | 11 +++ .../morphoblue/builders/MorphoStepBuilders.ts | 11 --- .../src/plugins/morphoblue/builders/index.ts | 8 +- ...phoConstants.ts => MorphoBlueConstants.ts} | 4 +- .../implementation/MorphoBlueLendingPool.ts | 35 ++++++++ .../implementation/MorphoBlueLendingPoolId.ts | 40 +++++++++ .../MorphoBlueLendingPoolInfo.ts | 30 +++++++ .../implementation/MorphoBluePosition.ts | 29 +++++++ .../implementation/MorphoBluePositionId.ts | 24 ++++++ .../implementation/MorphoBlueProtocol.ts | 25 ++++++ ...lPlugin.ts => MorphoBlueProtocolPlugin.ts} | 85 ++++++++++--------- .../implementation/MorphoLendingPool.ts | 32 ------- .../implementation/MorphoLendingPoolId.ts | 34 -------- .../implementation/MorphoLendingPoolInfo.ts | 27 ------ .../implementation/MorphoPosition.ts | 29 ------- .../implementation/MorphoPositionId.ts | 21 ----- .../implementation/MorphoProtocol.ts | 25 ------ .../morphoblue/implementation/index.ts | 14 +-- ...ndingPool.ts => IMorphoBlueLendingPool.ts} | 23 ++--- ...gPoolId.ts => IMorphoBlueLendingPoolId.ts} | 22 ++--- ...lInfo.ts => IMorphoBlueLendingPoolInfo.ts} | 27 +++--- ...rphoPosition.ts => IMorphoBluePosition.ts} | 24 +++--- ...PositionId.ts => IMorphoBluePositionId.ts} | 14 +-- ...rphoProtocol.ts => IMorphoBlueProtocol.ts} | 12 +-- .../plugins/morphoblue/interfaces/index.ts | 12 +-- ...ssAbiMap.ts => MorphoBlueAddressAbiMap.ts} | 6 +- ...oMarketInfo.ts => MorphoBlueMarketInfo.ts} | 2 +- ...eters.ts => MorphoBlueMarketParameters.ts} | 4 +- .../src/plugins/morphoblue/types/index.ts | 6 +- .../integration/MorphoProtocolPlugin.spec.ts | 12 +-- .../tests/mocks/MorphoPoolIdMock.ts | 14 +-- .../actions/morpho/MorphoBorrowAction.spec.ts | 20 ++--- .../morpho/MorphoDepositAction.spec.ts | 20 ++--- .../morpho/MorphoPaybackAction.spec.ts | 20 ++--- .../morpho/MorphoWithdrawAction.spec.ts | 20 ++--- .../MakerImportPositionActionBuilder.spec.ts | 16 ++-- .../MakerOpenPositionActionBuilder.spec.ts | 12 +-- .../MakerPaybackWithdrawActionBuilder.spec.ts | 16 ++-- .../MorphoDepositBorrowActionBuilder.spec.ts | 30 +++---- .../MorphoOpenPositionActionBuilder.spec.ts | 26 +++--- ...MorphoPaybackWithdrawActionBuilder.spec.ts | 24 +++--- .../unit/plugins/MorphoProtocolPlugin.spec.ts | 20 ++--- 51 files changed, 520 insertions(+), 482 deletions(-) rename sdk/protocol-plugins/src/plugins/morphoblue/actions/{MorphoBorrowAction.ts => MorphoBlueBorrowAction.ts} (67%) rename sdk/protocol-plugins/src/plugins/morphoblue/actions/{MorphoDepositAction.ts => MorphoBlueDepositAction.ts} (72%) rename sdk/protocol-plugins/src/plugins/morphoblue/actions/{MorphoPaybackAction.ts => MorphoBluePaybackAction.ts} (73%) rename sdk/protocol-plugins/src/plugins/morphoblue/actions/{MorphoWithdrawAction.ts => MorphoBlueWithdrawAction.ts} (72%) rename sdk/protocol-plugins/src/plugins/morphoblue/builders/{MorphoDepositBorrowActionBuilder.ts => MorphoBlueDepositBorrowActionBuilder.ts} (81%) rename sdk/protocol-plugins/src/plugins/morphoblue/builders/{MorphoOpenPositionActionBuilder.ts => MorphoBlueOpenPositionActionBuilder.ts} (71%) rename sdk/protocol-plugins/src/plugins/morphoblue/builders/{MorphoPaybackWithdrawActionBuilder.ts => MorphoBluePaybackWithdrawActionBuilder.ts} (80%) create mode 100644 sdk/protocol-plugins/src/plugins/morphoblue/builders/MorphoBlueStepBuilders.ts delete mode 100644 sdk/protocol-plugins/src/plugins/morphoblue/builders/MorphoStepBuilders.ts rename sdk/protocol-plugins/src/plugins/morphoblue/constants/{MorphoConstants.ts => MorphoBlueConstants.ts} (59%) create mode 100644 sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoBlueLendingPool.ts create mode 100644 sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoBlueLendingPoolId.ts create mode 100644 sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoBlueLendingPoolInfo.ts create mode 100644 sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoBluePosition.ts create mode 100644 sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoBluePositionId.ts create mode 100644 sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoBlueProtocol.ts rename sdk/protocol-plugins/src/plugins/morphoblue/implementation/{MorphoProtocolPlugin.ts => MorphoBlueProtocolPlugin.ts} (82%) delete mode 100644 sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoLendingPool.ts delete mode 100644 sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoLendingPoolId.ts delete mode 100644 sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoLendingPoolInfo.ts delete mode 100644 sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoPosition.ts delete mode 100644 sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoPositionId.ts delete mode 100644 sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoProtocol.ts rename sdk/protocol-plugins/src/plugins/morphoblue/interfaces/{IMorphoLendingPool.ts => IMorphoBlueLendingPool.ts} (69%) rename sdk/protocol-plugins/src/plugins/morphoblue/interfaces/{IMorphoLendingPoolId.ts => IMorphoBlueLendingPoolId.ts} (60%) rename sdk/protocol-plugins/src/plugins/morphoblue/interfaces/{IMorphoLendingPoolInfo.ts => IMorphoBlueLendingPoolInfo.ts} (59%) rename sdk/protocol-plugins/src/plugins/morphoblue/interfaces/{IMorphoPosition.ts => IMorphoBluePosition.ts} (55%) rename sdk/protocol-plugins/src/plugins/morphoblue/interfaces/{IMorphoPositionId.ts => IMorphoBluePositionId.ts} (55%) rename sdk/protocol-plugins/src/plugins/morphoblue/interfaces/{IMorphoProtocol.ts => IMorphoBlueProtocol.ts} (70%) rename sdk/protocol-plugins/src/plugins/morphoblue/types/{MorphoAddressAbiMap.ts => MorphoBlueAddressAbiMap.ts} (76%) rename sdk/protocol-plugins/src/plugins/morphoblue/types/{MorphoMarketInfo.ts => MorphoBlueMarketInfo.ts} (95%) rename sdk/protocol-plugins/src/plugins/morphoblue/types/{MorphoMarketParameters.ts => MorphoBlueMarketParameters.ts} (89%) diff --git a/sdk/protocol-plugins/src/plugins/ProtocolPluginsRecord.ts b/sdk/protocol-plugins/src/plugins/ProtocolPluginsRecord.ts index bb8bf3a4f3..9fbcae1013 100644 --- a/sdk/protocol-plugins/src/plugins/ProtocolPluginsRecord.ts +++ b/sdk/protocol-plugins/src/plugins/ProtocolPluginsRecord.ts @@ -2,7 +2,7 @@ import { ProtocolName } from '@summerfi/sdk-common/protocols' import { ProtocolPluginsRecordType } from '../implementation/ProtocolPluginsRegistry' import { AaveV3ProtocolPlugin } from './aave-v3/implementation/AAVEv3ProtocolPlugin' import { MakerProtocolPlugin } from './maker/implementation/MakerProtocolPlugin' -import { MorphoProtocolPlugin } from './morphoblue/implementation/MorphoProtocolPlugin' +import { MorphoBlueProtocolPlugin } from './morphoblue/implementation/MorphoBlueProtocolPlugin' import { SparkProtocolPlugin } from './spark/implementation/SparkProtocolPlugin' /** @@ -14,5 +14,5 @@ export const ProtocolPluginsRecord: ProtocolPluginsRecordType = { [ProtocolName.Maker]: MakerProtocolPlugin, [ProtocolName.Spark]: SparkProtocolPlugin, [ProtocolName.AaveV3]: AaveV3ProtocolPlugin, - [ProtocolName.MorphoBlue]: MorphoProtocolPlugin, + [ProtocolName.MorphoBlue]: MorphoBlueProtocolPlugin, } diff --git a/sdk/protocol-plugins/src/plugins/morphoblue/actions/MorphoBorrowAction.ts b/sdk/protocol-plugins/src/plugins/morphoblue/actions/MorphoBlueBorrowAction.ts similarity index 67% rename from sdk/protocol-plugins/src/plugins/morphoblue/actions/MorphoBorrowAction.ts rename to sdk/protocol-plugins/src/plugins/morphoblue/actions/MorphoBlueBorrowAction.ts index fca5c14e50..9f5b98411a 100644 --- a/sdk/protocol-plugins/src/plugins/morphoblue/actions/MorphoBorrowAction.ts +++ b/sdk/protocol-plugins/src/plugins/morphoblue/actions/MorphoBlueBorrowAction.ts @@ -1,20 +1,20 @@ import { ActionCall, BaseAction, InputSlotsMapping } from '@summerfi/protocol-plugins-common' import { ITokenAmount } from '@summerfi/sdk-common/common' -import { IMorphoLendingPool } from '../interfaces/IMorphoLendingPool' -import { MorphoLLTVPrecision } from '../constants/MorphoConstants' -import { MorphoMarketParametersAbi } from '../types/MorphoMarketParameters' +import { IMorphoBlueLendingPool } from '../interfaces/IMorphoBlueLendingPool' +import { MorphoBlueLLTVPrecision } from '../constants/MorphoBlueConstants' +import { MorphoBlueMarketParametersAbi } from '../types/MorphoBlueMarketParameters' -export class MorphoBorrowAction extends BaseAction { +export class MorphoBlueBorrowAction extends BaseAction { public static readonly Config = { name: 'MorphoBlueBorrow', version: 0, - parametersAbi: ['(MarketParams marketParams, uint256 amount)', MorphoMarketParametersAbi], + parametersAbi: ['(MarketParams marketParams, uint256 amount)', MorphoBlueMarketParametersAbi], storageInputs: [], storageOutputs: ['borrowedAmount'], } as const public encodeCall( - params: { morphoLendingPool: IMorphoLendingPool; amount: ITokenAmount }, + params: { morphoLendingPool: IMorphoBlueLendingPool; amount: ITokenAmount }, paramsMapping?: InputSlotsMapping, ): ActionCall { const { morphoLendingPool, amount } = params @@ -28,7 +28,7 @@ export class MorphoBorrowAction extends BaseAction { +export class MorphoBlueDepositAction extends BaseAction { public static readonly Config = { name: 'MorphoBlueDeposit', version: 0, parametersAbi: [ '(MarketParams marketParams, uint256 amount, bool sumAmounts)', - MorphoMarketParametersAbi, + MorphoBlueMarketParametersAbi, ], storageInputs: ['marketParams', 'amount', 'sumAmounts'], storageOutputs: ['depositedAmount'], @@ -18,7 +18,7 @@ export class MorphoDepositAction extends BaseAction { +export class MorphoBluePaybackAction extends BaseAction { public static readonly Config = { name: 'MorphoBluePayback', version: 2, parametersAbi: [ '(MarketParams marketParams, uint256 amount, address onBehalf, bool paybackAll)', - MorphoMarketParametersAbi, + MorphoBlueMarketParametersAbi, ], storageInputs: ['amount'], storageOutputs: ['paybackedAmount'], @@ -19,7 +19,7 @@ export class MorphoPaybackAction extends BaseAction { +export class MorphoBlueWithdrawAction extends BaseAction { public static readonly Config = { name: 'MorphoBlueWithdraw', version: 0, parametersAbi: [ '(MarketParams marketParams, uint256 amount, address to)', - MorphoMarketParametersAbi, + MorphoBlueMarketParametersAbi, ], storageInputs: ['marketParams', 'amount', 'to'], storageOutputs: ['withdrawnAmount'], @@ -19,7 +19,7 @@ export class MorphoWithdrawAction extends BaseAction { +export class MorphoBlueDepositBorrowActionBuilder extends BaseActionBuilder { readonly actions: ActionBuilderUsedAction[] = [ { action: SetApprovalAction }, - { action: MorphoDepositAction }, - { action: MorphoBorrowAction, isOptionalTags: ['borrowAmount'] }, + { action: MorphoBlueDepositAction }, + { action: MorphoBlueBorrowAction, isOptionalTags: ['borrowAmount'] }, { action: SendTokenAction, isOptionalTags: ['borrowAmount', 'borrowTargetType'] }, ] async build(params: ActionBuilderParams): Promise { const { context, user, step, addressBookManager } = params - if (!isMorphoLendingPool(step.inputs.position.pool)) { + if (!isMorphoBlueLendingPool(step.inputs.position.pool)) { throw new Error('Invalid Morpho lending pool id') } @@ -47,7 +47,7 @@ export class MorphoDepositBorrowActionBuilder extends BaseActionBuilder { +export class MorphoBlueOpenPositionActionBuilder extends BaseActionBuilder { readonly actions: ActionBuilderUsedAction[] = [ // Empty on purpose, no definition needs to be generated for this builder ] @@ -11,7 +11,7 @@ export class MorphoOpenPositionActionBuilder extends BaseActionBuilder): Promise { const { step } = params - if (!isMorphoLendingPool(step.inputs.pool)) { + if (!isMorphoBlueLendingPool(step.inputs.pool)) { throw new Error('Invalid Morpho lending pool id') } diff --git a/sdk/protocol-plugins/src/plugins/morphoblue/builders/MorphoPaybackWithdrawActionBuilder.ts b/sdk/protocol-plugins/src/plugins/morphoblue/builders/MorphoBluePaybackWithdrawActionBuilder.ts similarity index 80% rename from sdk/protocol-plugins/src/plugins/morphoblue/builders/MorphoPaybackWithdrawActionBuilder.ts rename to sdk/protocol-plugins/src/plugins/morphoblue/builders/MorphoBluePaybackWithdrawActionBuilder.ts index 6da70bc675..659a6edd30 100644 --- a/sdk/protocol-plugins/src/plugins/morphoblue/builders/MorphoPaybackWithdrawActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/morphoblue/builders/MorphoBluePaybackWithdrawActionBuilder.ts @@ -1,21 +1,21 @@ import { getValueFromReference, steps } from '@summerfi/sdk-common/simulation' import { ActionBuilderParams, ActionBuilderUsedAction } from '@summerfi/protocol-plugins-common' -import { isMorphoLendingPool } from '../interfaces/IMorphoLendingPool' -import { MorphoPaybackAction, MorphoWithdrawAction } from '../actions' +import { isMorphoBlueLendingPool } from '../interfaces/IMorphoBlueLendingPool' +import { MorphoBluePaybackAction, MorphoBlueWithdrawAction } from '../actions' import { SetApprovalAction } from '../../common' import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' -export class MorphoPaybackWithdrawActionBuilder extends BaseActionBuilder { +export class MorphoBluePaybackWithdrawActionBuilder extends BaseActionBuilder { readonly actions: ActionBuilderUsedAction[] = [ { action: SetApprovalAction, isOptionalTags: ['paybackAmount'] }, - { action: MorphoPaybackAction, isOptionalTags: ['paybackAmount'] }, - { action: MorphoWithdrawAction }, + { action: MorphoBluePaybackAction, isOptionalTags: ['paybackAmount'] }, + { action: MorphoBlueWithdrawAction }, ] async build(params: ActionBuilderParams): Promise { const { context, positionsManager, step, addressBookManager, user } = params - if (!isMorphoLendingPool(step.inputs.position.pool)) { + if (!isMorphoBlueLendingPool(step.inputs.position.pool)) { throw new Error('Invalid Morpho lending pool id') } @@ -44,7 +44,7 @@ export class MorphoPaybackWithdrawActionBuilder extends BaseActionBuilder = { + [SimulationSteps.DepositBorrow]: MorphoBlueDepositBorrowActionBuilder, + [SimulationSteps.PaybackWithdraw]: MorphoBluePaybackWithdrawActionBuilder, + [SimulationSteps.OpenPosition]: MorphoBlueOpenPositionActionBuilder, +} diff --git a/sdk/protocol-plugins/src/plugins/morphoblue/builders/MorphoStepBuilders.ts b/sdk/protocol-plugins/src/plugins/morphoblue/builders/MorphoStepBuilders.ts deleted file mode 100644 index 5e63d99562..0000000000 --- a/sdk/protocol-plugins/src/plugins/morphoblue/builders/MorphoStepBuilders.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { ActionBuildersMap } from '@summerfi/protocol-plugins-common' -import { MorphoDepositBorrowActionBuilder } from './MorphoDepositBorrowActionBuilder' -import { SimulationSteps } from '@summerfi/sdk-common/simulation' -import { MorphoPaybackWithdrawActionBuilder } from './MorphoPaybackWithdrawActionBuilder' -import { MorphoOpenPositionActionBuilder } from './MorphoOpenPositionActionBuilder' - -export const MorphoStepBuilders: Partial = { - [SimulationSteps.DepositBorrow]: MorphoDepositBorrowActionBuilder, - [SimulationSteps.PaybackWithdraw]: MorphoPaybackWithdrawActionBuilder, - [SimulationSteps.OpenPosition]: MorphoOpenPositionActionBuilder, -} diff --git a/sdk/protocol-plugins/src/plugins/morphoblue/builders/index.ts b/sdk/protocol-plugins/src/plugins/morphoblue/builders/index.ts index c272629560..1e5effda94 100644 --- a/sdk/protocol-plugins/src/plugins/morphoblue/builders/index.ts +++ b/sdk/protocol-plugins/src/plugins/morphoblue/builders/index.ts @@ -1,4 +1,4 @@ -export * from './MorphoDepositBorrowActionBuilder' -export * from './MorphoPaybackWithdrawActionBuilder' -export * from './MorphoOpenPositionActionBuilder' -export * from './MorphoStepBuilders' +export * from './MorphoBlueDepositBorrowActionBuilder' +export * from './MorphoBluePaybackWithdrawActionBuilder' +export * from './MorphoBlueOpenPositionActionBuilder' +export * from './MorphoBlueStepBuilders' diff --git a/sdk/protocol-plugins/src/plugins/morphoblue/constants/MorphoConstants.ts b/sdk/protocol-plugins/src/plugins/morphoblue/constants/MorphoBlueConstants.ts similarity index 59% rename from sdk/protocol-plugins/src/plugins/morphoblue/constants/MorphoConstants.ts rename to sdk/protocol-plugins/src/plugins/morphoblue/constants/MorphoBlueConstants.ts index 50e802b70e..0497e6ffe8 100644 --- a/sdk/protocol-plugins/src/plugins/morphoblue/constants/MorphoConstants.ts +++ b/sdk/protocol-plugins/src/plugins/morphoblue/constants/MorphoBlueConstants.ts @@ -1,9 +1,9 @@ /** * Precision for the LLTV value in MarketParams */ -export const MorphoLLTVPrecision = 18 +export const MorphoBlueLLTVPrecision = 18 /** * Precision for the price coming from the oracle in MarketParams */ -export const MorphoOraclePricePrecision = 36 +export const MorphoBlueOraclePricePrecision = 36 diff --git a/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoBlueLendingPool.ts b/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoBlueLendingPool.ts new file mode 100644 index 0000000000..ab1b1fa0e1 --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoBlueLendingPool.ts @@ -0,0 +1,35 @@ +import { LendingPool } from '@summerfi/sdk-common/protocols' +import { + IMorphoBlueLendingPool, + IMorphoBlueLendingPoolData, +} from '../interfaces/IMorphoBlueLendingPool' +import { SerializationService } from '@summerfi/sdk-common/services' +import { MorphoBlueLendingPoolId } from './MorphoBlueLendingPoolId' +import { Address } from '@summerfi/sdk-common/common' +import { RiskRatio } from '@summerfi/sdk-common' + +/** + * @class MorphoBlueLendingPool + * @see IMorphoBlueLendingPool + */ +export class MorphoBlueLendingPool extends LendingPool implements IMorphoBlueLendingPool { + readonly id: MorphoBlueLendingPoolId + readonly oracle: Address + readonly irm: Address + readonly lltv: RiskRatio + + private constructor(params: IMorphoBlueLendingPoolData) { + super(params) + + this.id = MorphoBlueLendingPoolId.createFrom(params.id) + this.oracle = Address.createFrom(params.oracle) + this.irm = Address.createFrom(params.irm) + this.lltv = RiskRatio.createFrom(params.lltv) + } + + public static createFrom(params: IMorphoBlueLendingPoolData): MorphoBlueLendingPool { + return new MorphoBlueLendingPool(params) + } +} + +SerializationService.registerClass(MorphoBlueLendingPool) diff --git a/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoBlueLendingPoolId.ts b/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoBlueLendingPoolId.ts new file mode 100644 index 0000000000..68a34752cd --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoBlueLendingPoolId.ts @@ -0,0 +1,40 @@ +import { SerializationService } from '@summerfi/sdk-common/services' +import { + IMorphoBlueLendingPoolId, + IMorphoBlueLendingPoolIdData, +} from '../interfaces/IMorphoBlueLendingPoolId' +import { MorphoBlueProtocol } from './MorphoBlueProtocol' +import { IPrintable } from '@summerfi/sdk-common/common' +import { LendingPoolId } from '@summerfi/sdk-common/protocols' +import { HexData } from '@summerfi/sdk-common' + +/** + * @class MorphoBlueLendingPoolId + * @see IMorphoBlueLendingPoolIdData + */ +export class MorphoBlueLendingPoolId + extends LendingPoolId + implements IMorphoBlueLendingPoolId, IPrintable +{ + readonly protocol: MorphoBlueProtocol + readonly marketId: HexData + + /** Factory method */ + static createFrom(params: IMorphoBlueLendingPoolIdData): MorphoBlueLendingPoolId { + return new MorphoBlueLendingPoolId(params) + } + + /** Sealed constructor */ + private constructor(params: IMorphoBlueLendingPoolIdData) { + super(params) + + this.protocol = MorphoBlueProtocol.createFrom(params.protocol) + this.marketId = params.marketId + } + + toString(): string { + return `${LendingPoolId.toString()} [marketId=${this.marketId}]` + } +} + +SerializationService.registerClass(MorphoBlueLendingPoolId) diff --git a/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoBlueLendingPoolInfo.ts b/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoBlueLendingPoolInfo.ts new file mode 100644 index 0000000000..dfe0e1e8fb --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoBlueLendingPoolInfo.ts @@ -0,0 +1,30 @@ +import { LendingPoolInfo } from '@summerfi/sdk-common/protocols' +import { SerializationService } from '@summerfi/sdk-common/services' +import { MorphoBlueLendingPoolId } from './MorphoBlueLendingPoolId' +import { + IMorphoBlueLendingPoolInfo, + IMorphoBlueLendingPoolInfoData, +} from '../interfaces/IMorphoBlueLendingPoolInfo' + +/** + * @class MorphoBlueLendingPoolInfo + * @see IMorphoBlueLendingPoolInfo + */ +export class MorphoBlueLendingPoolInfo + extends LendingPoolInfo + implements IMorphoBlueLendingPoolInfo +{ + readonly id: MorphoBlueLendingPoolId + + private constructor(params: IMorphoBlueLendingPoolInfoData) { + super(params) + + this.id = MorphoBlueLendingPoolId.createFrom(params.id) + } + + public static createFrom(params: IMorphoBlueLendingPoolInfoData): MorphoBlueLendingPoolInfo { + return new MorphoBlueLendingPoolInfo(params) + } +} + +SerializationService.registerClass(MorphoBlueLendingPoolInfo) diff --git a/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoBluePosition.ts b/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoBluePosition.ts new file mode 100644 index 0000000000..fdabe8c8f1 --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoBluePosition.ts @@ -0,0 +1,29 @@ +import { SerializationService } from '@summerfi/sdk-common/services' +import { IMorphoBluePosition, IMorphoBluePositionData } from '../interfaces/IMorphoBluePosition' +import { Position } from '@summerfi/sdk-common' +import { MorphoBlueLendingPool } from './MorphoBlueLendingPool' +import { MorphoBluePositionId } from './MorphoBluePositionId' + +/** + * @class MorphoBluePosition + * @see IMorphoBluePosition + */ +export class MorphoBluePosition extends Position implements IMorphoBluePosition { + readonly id: MorphoBluePositionId + readonly pool: MorphoBlueLendingPool + + /** Factory method */ + static createFrom(params: IMorphoBluePositionData): MorphoBluePosition { + return new MorphoBluePosition(params) + } + + /** Sealed constructor */ + private constructor(params: IMorphoBluePositionData) { + super(params) + + this.id = MorphoBluePositionId.createFrom(params.id) + this.pool = MorphoBlueLendingPool.createFrom(params.pool) + } +} + +SerializationService.registerClass(MorphoBluePosition) diff --git a/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoBluePositionId.ts b/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoBluePositionId.ts new file mode 100644 index 0000000000..72ae9bed26 --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoBluePositionId.ts @@ -0,0 +1,24 @@ +import { PositionId } from '@summerfi/sdk-common' +import { SerializationService } from '@summerfi/sdk-common/services' +import { + IMorphoBluePositionId, + IMorphoBluePositionIdData, +} from '../interfaces/IMorphoBluePositionId' + +/** + * @class MorphoBluePositionId + * @see IMorphoBluePositionId + */ +export class MorphoBluePositionId extends PositionId implements IMorphoBluePositionId { + /** Factory method */ + static createFrom(params: IMorphoBluePositionIdData): MorphoBluePositionId { + return new MorphoBluePositionId(params) + } + + /** Sealed constructor */ + private constructor(params: IMorphoBluePositionIdData) { + super(params) + } +} + +SerializationService.registerClass(MorphoBluePositionId) diff --git a/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoBlueProtocol.ts b/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoBlueProtocol.ts new file mode 100644 index 0000000000..c4e9fac2be --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoBlueProtocol.ts @@ -0,0 +1,25 @@ +import { Protocol, ProtocolName } from '@summerfi/sdk-common/protocols' +import { IMorphoBlueProtocol, IMorphoBlueProtocolData } from '../interfaces/IMorphoBlueProtocol' +import { SerializationService } from '@summerfi/sdk-common/services' + +/** + * @class MorphoBlueProtocol + * @see IMorphoBlueProtocol + */ +export class MorphoBlueProtocol extends Protocol implements IMorphoBlueProtocol { + readonly name: ProtocolName.MorphoBlue + + /** Factory method */ + static createFrom(params: IMorphoBlueProtocolData): MorphoBlueProtocol { + return new MorphoBlueProtocol(params) + } + + /** Sealed constructor */ + private constructor(params: IMorphoBlueProtocolData) { + super(params) + + this.name = params.name + } +} + +SerializationService.registerClass(MorphoBlueProtocol) diff --git a/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoProtocolPlugin.ts b/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoBlueProtocolPlugin.ts similarity index 82% rename from sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoProtocolPlugin.ts rename to sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoBlueProtocolPlugin.ts index 02dfcf3d6b..754e7401a5 100644 --- a/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoProtocolPlugin.ts +++ b/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoBlueProtocolPlugin.ts @@ -11,19 +11,23 @@ import { PoolType, ProtocolName, } from '@summerfi/sdk-common/protocols' -import { MorphoLendingPool } from './MorphoLendingPool' +import { MorphoBlueLendingPool } from './MorphoBlueLendingPool' import { morphoBlueAbi, morphoBlueOracleAbi } from '@summerfi/abis' import { ActionBuildersMap, IProtocolPluginContext } from '@summerfi/protocol-plugins-common' import { IUser } from '@summerfi/sdk-common/user' import { IExternalPosition, IPositionsManager, TransactionInfo } from '@summerfi/sdk-common/orders' import { - IMorphoLendingPoolId, - IMorphoLendingPoolIdData, - isMorphoLendingPoolId, -} from '../interfaces/IMorphoLendingPoolId' -import { MorphoStepBuilders } from '../builders/MorphoStepBuilders' -import { IMorphoLendingPool, IMorphoPositionIdData, isMorphoPositionId } from '../interfaces' -import { MorphoLendingPoolInfo } from './MorphoLendingPoolInfo' + IMorphoBlueLendingPoolId, + IMorphoBlueLendingPoolIdData, + isMorphoBlueLendingPoolId, +} from '../interfaces/IMorphoBlueLendingPoolId' +import { MorphoBlueStepBuilders } from '../builders/MorphoBlueStepBuilders' +import { + IMorphoBlueLendingPool, + IMorphoBluePositionIdData, + isMorphoBluePositionId, +} from '../interfaces' +import { MorphoBlueLendingPoolInfo } from './MorphoBlueLendingPoolInfo' import { Address, DebtInfo, @@ -36,22 +40,25 @@ import { TokenAmount, } from '@summerfi/sdk-common' import { BaseProtocolPlugin } from '../../../implementation' -import { MorphoLLTVPrecision, MorphoOraclePricePrecision } from '../constants/MorphoConstants' -import { MorphoMarketInfo } from '../types/MorphoMarketInfo' +import { + MorphoBlueLLTVPrecision, + MorphoBlueOraclePricePrecision, +} from '../constants/MorphoBlueConstants' +import { MorphoBlueMarketInfo } from '../types/MorphoBlueMarketInfo' import { BigNumber } from 'bignumber.js' -import { MorphoMarketParameters } from '../types' +import { MorphoBlueMarketParameters } from '../types' /** - * @class MorphoProtocolPlugin + * @class MorphoPBluerotocolPlugin * @description Protocol plugin for the Morpho protocol * @see BaseProtocolPlugin */ -export class MorphoProtocolPlugin extends BaseProtocolPlugin { +export class MorphoBlueProtocolPlugin extends BaseProtocolPlugin { static readonly MorphoBlueContractName = 'MorphoBlue' readonly protocolName: ProtocolName.MorphoBlue = ProtocolName.MorphoBlue readonly supportedChains = valuesOfChainFamilyMap([ChainFamilyName.Ethereum]) - readonly stepBuilders: Partial = MorphoStepBuilders + readonly stepBuilders: Partial = MorphoBlueStepBuilders initialize(params: { context: IProtocolPluginContext }) { super.initialize(params) @@ -70,8 +77,8 @@ export class MorphoProtocolPlugin extends BaseProtocolPlugin { /** @see BaseProtocolPlugin._validateLendingPoolId */ protected _validateLendingPoolId( candidate: ILendingPoolIdData, - ): asserts candidate is IMorphoLendingPoolIdData { - if (!isMorphoLendingPoolId(candidate)) { + ): asserts candidate is IMorphoBlueLendingPoolIdData { + if (!isMorphoBlueLendingPoolId(candidate)) { throw new Error(`Invalid Morpho pool ID: ${JSON.stringify(candidate)}`) } } @@ -79,8 +86,8 @@ export class MorphoProtocolPlugin extends BaseProtocolPlugin { /** @see BaseProtocolPlugin._validatePositionId */ protected _validatePositionId( candidate: IPositionIdData, - ): asserts candidate is IMorphoPositionIdData { - if (!isMorphoPositionId(candidate)) { + ): asserts candidate is IMorphoBluePositionIdData { + if (!isMorphoBluePositionId(candidate)) { throw new Error(`Invalid Morpho position ID: ${JSON.stringify(candidate)}`) } } @@ -89,11 +96,11 @@ export class MorphoProtocolPlugin extends BaseProtocolPlugin { /** @see BaseProtocolPlugin._getLendingPoolImpl */ protected async _getLendingPoolImpl( - morphoLendingPoolId: IMorphoLendingPoolId, - ): Promise { + morphoLendingPoolId: IMorphoBlueLendingPoolId, + ): Promise { const marketParams = await this._getMarketParams(morphoLendingPoolId) - return MorphoLendingPool.createFrom({ + return MorphoBlueLendingPool.createFrom({ type: PoolType.Lending, id: morphoLendingPoolId, collateralToken: marketParams.collateralToken, @@ -106,8 +113,8 @@ export class MorphoProtocolPlugin extends BaseProtocolPlugin { /** @see BaseProtocolPlugin._getLendingPoolInfoImpl */ protected async _getLendingPoolInfoImpl( - morphoLendingPoolId: IMorphoLendingPoolId, - ): Promise { + morphoLendingPoolId: IMorphoBlueLendingPoolId, + ): Promise { const morphoLendingPool = await this._getLendingPoolImpl(morphoLendingPoolId) const marketInfo = await this._getMarketInfo(morphoLendingPool) const marketCollateralPriceInDebt = await this._getMarketOraclePrice(morphoLendingPool) @@ -124,7 +131,7 @@ export class MorphoProtocolPlugin extends BaseProtocolPlugin { marketCollateralPriceInDebt, }) - return MorphoLendingPoolInfo.createFrom({ + return MorphoBlueLendingPoolInfo.createFrom({ type: PoolType.Lending, id: morphoLendingPoolId, collateral: collateralInfo, @@ -136,7 +143,7 @@ export class MorphoProtocolPlugin extends BaseProtocolPlugin { /** @see BaseProtocolPlugin.getPosition */ // eslint-disable-next-line @typescript-eslint/no-unused-vars - async getPosition(positionId: IMorphoPositionIdData): Promise { + async getPosition(positionId: IMorphoBluePositionIdData): Promise { this._validatePositionId(positionId) throw new Error(`Not implemented ${positionId}`) @@ -162,8 +169,8 @@ export class MorphoProtocolPlugin extends BaseProtocolPlugin { * @returns The collateral info */ private async _getCollateralInfo(params: { - morphoLendingPool: IMorphoLendingPool - marketInfo: MorphoMarketInfo + morphoLendingPool: IMorphoBlueLendingPool + marketInfo: MorphoBlueMarketInfo marketCollateralPriceInDebt: IPrice }): Promise { const { morphoLendingPool, marketInfo, marketCollateralPriceInDebt } = params @@ -198,8 +205,8 @@ export class MorphoProtocolPlugin extends BaseProtocolPlugin { * @returns The debt info */ private async _getDebtInfo(params: { - morphoLendingPool: IMorphoLendingPool - marketInfo: MorphoMarketInfo + morphoLendingPool: IMorphoBlueLendingPool + marketInfo: MorphoBlueMarketInfo marketCollateralPriceInDebt: IPrice }) { const { morphoLendingPool, marketInfo, marketCollateralPriceInDebt } = params @@ -237,7 +244,7 @@ export class MorphoProtocolPlugin extends BaseProtocolPlugin { * @param morphoLendingPoolId The lending pool ID * @returns The market oracle price */ - private async _getMarketOraclePrice(morphoLendingPool: IMorphoLendingPool): Promise { + private async _getMarketOraclePrice(morphoLendingPool: IMorphoBlueLendingPool): Promise { const [price] = await this.context.provider.multicall({ contracts: [ { @@ -251,7 +258,7 @@ export class MorphoProtocolPlugin extends BaseProtocolPlugin { }) const descaledPrice = new BigNumber(price.toString()) - .div(new BigNumber(10).pow(MorphoOraclePricePrecision)) + .div(new BigNumber(10).pow(MorphoBlueOraclePricePrecision)) .toString() return Price.createFrom({ @@ -267,10 +274,12 @@ export class MorphoProtocolPlugin extends BaseProtocolPlugin { * @param morphoLendingPoolId The lending pool ID * @returns The market info */ - private async _getMarketInfo(morphoLendingPool: IMorphoLendingPool): Promise { + private async _getMarketInfo( + morphoLendingPool: IMorphoBlueLendingPool, + ): Promise { const morphoBlueAddress = await this._getContractAddress({ chainInfo: morphoLendingPool.id.protocol.chainInfo, - contractName: MorphoProtocolPlugin.MorphoBlueContractName, + contractName: MorphoBlueProtocolPlugin.MorphoBlueContractName, }) const marketParamsId = morphoLendingPool.id.marketId @@ -311,11 +320,11 @@ export class MorphoProtocolPlugin extends BaseProtocolPlugin { * @returns The market parameters */ private async _getMarketParams( - morphoLendingPoolId: IMorphoLendingPoolId, - ): Promise { + morphoLendingPoolId: IMorphoBlueLendingPoolId, + ): Promise { const morphoBlueAddress = await this._getContractAddress({ chainInfo: morphoLendingPoolId.protocol.chainInfo, - contractName: MorphoProtocolPlugin.MorphoBlueContractName, + contractName: MorphoBlueProtocolPlugin.MorphoBlueContractName, }) const marketParamsId = morphoLendingPoolId.marketId @@ -354,7 +363,7 @@ export class MorphoProtocolPlugin extends BaseProtocolPlugin { } const lltv = new BigNumber(String(marketParameters[4])) - .div(new BigNumber(10).pow(MorphoLLTVPrecision)) + .div(new BigNumber(10).pow(MorphoBlueLLTVPrecision)) .multipliedBy(100) .toNumber() @@ -375,7 +384,7 @@ export class MorphoProtocolPlugin extends BaseProtocolPlugin { * @param morphoLendingPoolId * @returns The liquidation incentive factor */ - private _getLiquidationPenalty(morphoLendingPool: IMorphoLendingPool): IPercentage { + private _getLiquidationPenalty(morphoLendingPool: IMorphoBlueLendingPool): IPercentage { const ONE = new BigNumber(1) const MAX_LIF = new BigNumber(1.15) const BETA = new BigNumber(0.3) diff --git a/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoLendingPool.ts b/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoLendingPool.ts deleted file mode 100644 index 7f7ed9fead..0000000000 --- a/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoLendingPool.ts +++ /dev/null @@ -1,32 +0,0 @@ -import { LendingPool } from '@summerfi/sdk-common/protocols' -import { IMorphoLendingPool, IMorphoLendingPoolData } from '../interfaces/IMorphoLendingPool' -import { SerializationService } from '@summerfi/sdk-common/services' -import { MorphoLendingPoolId } from './MorphoLendingPoolId' -import { Address } from '@summerfi/sdk-common/common' -import { RiskRatio } from '@summerfi/sdk-common' - -/** - * @class MorphoLendingPool - * @see IMorphoLendingPool - */ -export class MorphoLendingPool extends LendingPool implements IMorphoLendingPool { - readonly id: MorphoLendingPoolId - readonly oracle: Address - readonly irm: Address - readonly lltv: RiskRatio - - private constructor(params: IMorphoLendingPoolData) { - super(params) - - this.id = MorphoLendingPoolId.createFrom(params.id) - this.oracle = Address.createFrom(params.oracle) - this.irm = Address.createFrom(params.irm) - this.lltv = RiskRatio.createFrom(params.lltv) - } - - public static createFrom(params: IMorphoLendingPoolData): MorphoLendingPool { - return new MorphoLendingPool(params) - } -} - -SerializationService.registerClass(MorphoLendingPool) diff --git a/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoLendingPoolId.ts b/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoLendingPoolId.ts deleted file mode 100644 index 4cf1b3e770..0000000000 --- a/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoLendingPoolId.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { SerializationService } from '@summerfi/sdk-common/services' -import { IMorphoLendingPoolId, IMorphoLendingPoolIdData } from '../interfaces/IMorphoLendingPoolId' -import { MorphoProtocol } from './MorphoProtocol' -import { IPrintable } from '@summerfi/sdk-common/common' -import { LendingPoolId } from '@summerfi/sdk-common/protocols' -import { HexData } from '@summerfi/sdk-common' - -/** - * @class MorphoLendingPoolId - * @see IMorphoLendingPoolIdData - */ -export class MorphoLendingPoolId extends LendingPoolId implements IMorphoLendingPoolId, IPrintable { - readonly protocol: MorphoProtocol - readonly marketId: HexData - - /** Factory method */ - static createFrom(params: IMorphoLendingPoolIdData): MorphoLendingPoolId { - return new MorphoLendingPoolId(params) - } - - /** Sealed constructor */ - private constructor(params: IMorphoLendingPoolIdData) { - super(params) - - this.protocol = MorphoProtocol.createFrom(params.protocol) - this.marketId = params.marketId - } - - toString(): string { - return `${LendingPoolId.toString()} [marketId=${this.marketId}]` - } -} - -SerializationService.registerClass(MorphoLendingPoolId) diff --git a/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoLendingPoolInfo.ts b/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoLendingPoolInfo.ts deleted file mode 100644 index 48379a1c19..0000000000 --- a/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoLendingPoolInfo.ts +++ /dev/null @@ -1,27 +0,0 @@ -import { LendingPoolInfo } from '@summerfi/sdk-common/protocols' -import { SerializationService } from '@summerfi/sdk-common/services' -import { MorphoLendingPoolId } from './MorphoLendingPoolId' -import { - IMorphoLendingPoolInfo, - IMorphoLendingPoolInfoData, -} from '../interfaces/IMorphoLendingPoolInfo' - -/** - * @class MorphoLendingPoolInfo - * @see IMorphoLendingPoolInfo - */ -export class MorphoLendingPoolInfo extends LendingPoolInfo implements IMorphoLendingPoolInfo { - readonly id: MorphoLendingPoolId - - private constructor(params: IMorphoLendingPoolInfoData) { - super(params) - - this.id = MorphoLendingPoolId.createFrom(params.id) - } - - public static createFrom(params: IMorphoLendingPoolInfoData): MorphoLendingPoolInfo { - return new MorphoLendingPoolInfo(params) - } -} - -SerializationService.registerClass(MorphoLendingPoolInfo) diff --git a/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoPosition.ts b/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoPosition.ts deleted file mode 100644 index 70e5539e0b..0000000000 --- a/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoPosition.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { SerializationService } from '@summerfi/sdk-common/services' -import { IMorphoPosition, IMorphoPositionData } from '../interfaces/IMorphoPosition' -import { Position } from '@summerfi/sdk-common' -import { MorphoLendingPool } from './MorphoLendingPool' -import { MorphoPositionId } from './MorphoPositionId' - -/** - * @class MorphoPosition - * @see IMorphoPosition - */ -export class MorphoPosition extends Position implements IMorphoPosition { - readonly id: MorphoPositionId - readonly pool: MorphoLendingPool - - /** Factory method */ - static createFrom(params: IMorphoPositionData): MorphoPosition { - return new MorphoPosition(params) - } - - /** Sealed constructor */ - private constructor(params: IMorphoPositionData) { - super(params) - - this.id = MorphoPositionId.createFrom(params.id) - this.pool = MorphoLendingPool.createFrom(params.pool) - } -} - -SerializationService.registerClass(MorphoPosition) diff --git a/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoPositionId.ts b/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoPositionId.ts deleted file mode 100644 index 1ff02f3f1a..0000000000 --- a/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoPositionId.ts +++ /dev/null @@ -1,21 +0,0 @@ -import { PositionId } from '@summerfi/sdk-common' -import { SerializationService } from '@summerfi/sdk-common/services' -import { IMorphoPositionId, IMorphoPositionIdData } from '../interfaces/IMorphoPositionId' - -/** - * @class MorphoPositionId - * @see IMorphoPositionId - */ -export class MorphoPositionId extends PositionId implements IMorphoPositionId { - /** Factory method */ - static createFrom(params: IMorphoPositionIdData): MorphoPositionId { - return new MorphoPositionId(params) - } - - /** Sealed constructor */ - private constructor(params: IMorphoPositionIdData) { - super(params) - } -} - -SerializationService.registerClass(MorphoPositionId) diff --git a/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoProtocol.ts b/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoProtocol.ts deleted file mode 100644 index e37ae920d2..0000000000 --- a/sdk/protocol-plugins/src/plugins/morphoblue/implementation/MorphoProtocol.ts +++ /dev/null @@ -1,25 +0,0 @@ -import { Protocol, ProtocolName } from '@summerfi/sdk-common/protocols' -import { IMorphoProtocol, IMorphoProtocolData } from '../interfaces/IMorphoProtocol' -import { SerializationService } from '@summerfi/sdk-common/services' - -/** - * @class MorphoProtocol - * @see IMorphoProtocol - */ -export class MorphoProtocol extends Protocol implements IMorphoProtocol { - readonly name: ProtocolName.MorphoBlue - - /** Factory method */ - static createFrom(params: IMorphoProtocolData): MorphoProtocol { - return new MorphoProtocol(params) - } - - /** Sealed constructor */ - private constructor(params: IMorphoProtocolData) { - super(params) - - this.name = params.name - } -} - -SerializationService.registerClass(MorphoProtocol) diff --git a/sdk/protocol-plugins/src/plugins/morphoblue/implementation/index.ts b/sdk/protocol-plugins/src/plugins/morphoblue/implementation/index.ts index 437e4e995a..3a41949e9c 100644 --- a/sdk/protocol-plugins/src/plugins/morphoblue/implementation/index.ts +++ b/sdk/protocol-plugins/src/plugins/morphoblue/implementation/index.ts @@ -1,7 +1,7 @@ -export * from './MorphoLendingPool' -export * from './MorphoLendingPoolInfo' -export * from './MorphoProtocolPlugin' -export * from './MorphoLendingPoolId' -export * from './MorphoPositionId' -export * from './MorphoPosition' -export * from './MorphoProtocol' +export * from './MorphoBlueLendingPool' +export * from './MorphoBlueLendingPoolInfo' +export * from './MorphoBlueProtocolPlugin' +export * from './MorphoBlueLendingPoolId' +export * from './MorphoBluePositionId' +export * from './MorphoBluePosition' +export * from './MorphoBlueProtocol' diff --git a/sdk/protocol-plugins/src/plugins/morphoblue/interfaces/IMorphoLendingPool.ts b/sdk/protocol-plugins/src/plugins/morphoblue/interfaces/IMorphoBlueLendingPool.ts similarity index 69% rename from sdk/protocol-plugins/src/plugins/morphoblue/interfaces/IMorphoLendingPool.ts rename to sdk/protocol-plugins/src/plugins/morphoblue/interfaces/IMorphoBlueLendingPool.ts index 8ef4d803c7..6d19dc0e03 100644 --- a/sdk/protocol-plugins/src/plugins/morphoblue/interfaces/IMorphoLendingPool.ts +++ b/sdk/protocol-plugins/src/plugins/morphoblue/interfaces/IMorphoBlueLendingPool.ts @@ -1,5 +1,8 @@ import { LendingPoolDataSchema } from '@summerfi/sdk-common/protocols' -import { IMorphoLendingPoolId, MorphoLendingPoolIdDataSchema } from './IMorphoLendingPoolId' +import { + IMorphoBlueLendingPoolId, + MorphoBlueLendingPoolIdDataSchema, +} from './IMorphoBlueLendingPoolId' import { ILendingPool, IRiskRatio, @@ -11,15 +14,15 @@ import { z } from 'zod' import { AddressDataSchema, IAddress } from '@summerfi/sdk-common/common' /** - * @interface IMorphoLendingPool + * @interface IMorphoBlueLendingPool * @description Represents a lending pool in the Morpho protocol * * Typescript forces the interface to re-declare any properties that have different BUT compatible types. * This may be fixed eventually, there is a discussion on the topic here: https://github.com/microsoft/TypeScript/issues/16936 */ -export interface IMorphoLendingPool extends IMorphoLendingPoolData, ILendingPool { +export interface IMorphoBlueLendingPool extends IMorphoBlueLendingPoolData, ILendingPool { /** The id of the lending pool */ - readonly id: IMorphoLendingPoolId + readonly id: IMorphoBlueLendingPoolId /** The oracle used in the Morpho market */ readonly oracle: IAddress /** The interest rate module used in the Morpho market */ @@ -36,9 +39,9 @@ export interface IMorphoLendingPool extends IMorphoLendingPoolData, ILendingPool /** * @description Zod schema for IMorphoLendingPool */ -export const MorphoLendingPoolDataSchema = z.object({ +export const MorphoBlueLendingPoolDataSchema = z.object({ ...LendingPoolDataSchema.shape, - id: MorphoLendingPoolIdDataSchema, + id: MorphoBlueLendingPoolIdDataSchema, oracle: AddressDataSchema, irm: AddressDataSchema, lltv: RiskRatioDataSchema, @@ -47,15 +50,15 @@ export const MorphoLendingPoolDataSchema = z.object({ /** * Type for the data part of the IMorphoLendingPool interface */ -export type IMorphoLendingPoolData = Readonly> +export type IMorphoBlueLendingPoolData = Readonly> /** * @description Type guard for IMorphoLendingPool * @param maybeLendingPool * @returns true if the object is an IMorphoLendingPool */ -export function isMorphoLendingPool( +export function isMorphoBlueLendingPool( maybeLendingPool: unknown, -): maybeLendingPool is IMorphoLendingPool { - return MorphoLendingPoolDataSchema.safeParse(maybeLendingPool).success +): maybeLendingPool is IMorphoBlueLendingPool { + return MorphoBlueLendingPoolDataSchema.safeParse(maybeLendingPool).success } diff --git a/sdk/protocol-plugins/src/plugins/morphoblue/interfaces/IMorphoLendingPoolId.ts b/sdk/protocol-plugins/src/plugins/morphoblue/interfaces/IMorphoBlueLendingPoolId.ts similarity index 60% rename from sdk/protocol-plugins/src/plugins/morphoblue/interfaces/IMorphoLendingPoolId.ts rename to sdk/protocol-plugins/src/plugins/morphoblue/interfaces/IMorphoBlueLendingPoolId.ts index bd8ddbe84b..5a5a075028 100644 --- a/sdk/protocol-plugins/src/plugins/morphoblue/interfaces/IMorphoLendingPoolId.ts +++ b/sdk/protocol-plugins/src/plugins/morphoblue/interfaces/IMorphoBlueLendingPoolId.ts @@ -1,18 +1,18 @@ import { ILendingPoolId, LendingPoolIdDataSchema } from '@summerfi/sdk-common/protocols' -import { IMorphoProtocol, MorphoProtocolDataSchema } from './IMorphoProtocol' +import { IMorphoBlueProtocol, MorphoBlueProtocolDataSchema } from './IMorphoBlueProtocol' import { HexData } from '@summerfi/sdk-common' import { z } from 'zod' /** - * @interface IMorphoLendingPoolId + * @interface IMorphoBlueLendingPoolId * @description Identifier of a lending pool in the Morpho protocol * * Typescript forces the interface to re-declare any properties that have different BUT compatible types. * This may be fixed eventually, there is a discussion on the topic here: https://github.com/microsoft/TypeScript/issues/16936 */ -export interface IMorphoLendingPoolId extends IMorphoLendingPoolIdData, ILendingPoolId { +export interface IMorphoBlueLendingPoolId extends IMorphoBlueLendingPoolIdData, ILendingPoolId { /** The protocol to which the pool belongs */ - readonly protocol: IMorphoProtocol + readonly protocol: IMorphoBlueProtocol /** The encoded market ID used to access the market parameters */ readonly marketId: HexData } @@ -20,24 +20,26 @@ export interface IMorphoLendingPoolId extends IMorphoLendingPoolIdData, ILending /** * @description Zod schema for IMorphoLendingPoolId */ -export const MorphoLendingPoolIdDataSchema = z.object({ +export const MorphoBlueLendingPoolIdDataSchema = z.object({ ...LendingPoolIdDataSchema.shape, - protocol: MorphoProtocolDataSchema, + protocol: MorphoBlueProtocolDataSchema, marketId: z.custom(), }) /** * Type for the data part of the IMorphoLendingPoolId interface */ -export type IMorphoLendingPoolIdData = Readonly> +export type IMorphoBlueLendingPoolIdData = Readonly< + z.infer +> /** * @description Type guard for IMorphoLendingPoolId * @param poolId Object to be checked * @returns true if the object is an IMorphoLendingPoolId */ -export function isMorphoLendingPoolId( +export function isMorphoBlueLendingPoolId( maybeLendingPoolId: unknown, -): maybeLendingPoolId is IMorphoLendingPoolId { - return MorphoLendingPoolIdDataSchema.safeParse(maybeLendingPoolId).success +): maybeLendingPoolId is IMorphoBlueLendingPoolId { + return MorphoBlueLendingPoolIdDataSchema.safeParse(maybeLendingPoolId).success } diff --git a/sdk/protocol-plugins/src/plugins/morphoblue/interfaces/IMorphoLendingPoolInfo.ts b/sdk/protocol-plugins/src/plugins/morphoblue/interfaces/IMorphoBlueLendingPoolInfo.ts similarity index 59% rename from sdk/protocol-plugins/src/plugins/morphoblue/interfaces/IMorphoLendingPoolInfo.ts rename to sdk/protocol-plugins/src/plugins/morphoblue/interfaces/IMorphoBlueLendingPoolInfo.ts index 9af2692d42..0c6c74ea12 100644 --- a/sdk/protocol-plugins/src/plugins/morphoblue/interfaces/IMorphoLendingPoolInfo.ts +++ b/sdk/protocol-plugins/src/plugins/morphoblue/interfaces/IMorphoBlueLendingPoolInfo.ts @@ -1,18 +1,23 @@ import { ILendingPoolInfo, LendingPoolInfoDataSchema } from '@summerfi/sdk-common/protocols' -import { IMorphoLendingPoolId, MorphoLendingPoolIdDataSchema } from './IMorphoLendingPoolId' +import { + IMorphoBlueLendingPoolId, + MorphoBlueLendingPoolIdDataSchema, +} from './IMorphoBlueLendingPoolId' import { z } from 'zod' import { ICollateralInfo, IDebtInfo } from '@summerfi/sdk-common' /** - * @interface IMorphoLendingPoolInfo + * @interface IMorphoBlueLendingPoolInfo * @description Represents a lending pool info in the Morpho protocol * * Typescript forces the interface to re-declare any properties that have different BUT compatible types. * This may be fixed eventually, there is a discussion on the topic here: https://github.com/microsoft/TypeScript/issues/16936 */ -export interface IMorphoLendingPoolInfo extends ILendingPoolInfo, IMorphoLendingPoolInfoData { +export interface IMorphoBlueLendingPoolInfo + extends ILendingPoolInfo, + IMorphoBlueLendingPoolInfoData { /** The id of the lending pool */ - readonly id: IMorphoLendingPoolId + readonly id: IMorphoBlueLendingPoolId // Re-declaring the properties with the correct types readonly collateral: ICollateralInfo @@ -22,23 +27,25 @@ export interface IMorphoLendingPoolInfo extends ILendingPoolInfo, IMorphoLending /** * @description Zod schema for IMorphoLendingPoolInfo */ -export const MorphoLendingPoolInfoDataSchema = z.object({ +export const MorphoBlueLendingPoolInfoDataSchema = z.object({ ...LendingPoolInfoDataSchema.shape, - id: MorphoLendingPoolIdDataSchema, + id: MorphoBlueLendingPoolIdDataSchema, }) /** * Type for the data part of the IMorphoLendingPoolInfo interface */ -export type IMorphoLendingPoolInfoData = Readonly> +export type IMorphoBlueLendingPoolInfoData = Readonly< + z.infer +> /** * @description Type guard for IMorphoLendingPoolInfo * @param maybeLendingPoolInfo * @returns true if the object is an IMorphoLendingPoolInfo */ -export function isMorphoLendingPoolInfo( +export function isMorphoBlueLendingPoolInfo( maybeLendingPoolInfo: unknown, -): maybeLendingPoolInfo is IMorphoLendingPoolInfo { - return MorphoLendingPoolInfoDataSchema.safeParse(maybeLendingPoolInfo).success +): maybeLendingPoolInfo is IMorphoBlueLendingPoolInfo { + return MorphoBlueLendingPoolInfoDataSchema.safeParse(maybeLendingPoolInfo).success } diff --git a/sdk/protocol-plugins/src/plugins/morphoblue/interfaces/IMorphoPosition.ts b/sdk/protocol-plugins/src/plugins/morphoblue/interfaces/IMorphoBluePosition.ts similarity index 55% rename from sdk/protocol-plugins/src/plugins/morphoblue/interfaces/IMorphoPosition.ts rename to sdk/protocol-plugins/src/plugins/morphoblue/interfaces/IMorphoBluePosition.ts index d59a4bb5b9..59f2a9cbc5 100644 --- a/sdk/protocol-plugins/src/plugins/morphoblue/interfaces/IMorphoPosition.ts +++ b/sdk/protocol-plugins/src/plugins/morphoblue/interfaces/IMorphoBluePosition.ts @@ -1,11 +1,11 @@ import { PositionDataSchema } from '@summerfi/sdk-common' import { IPosition, ITokenAmount, PositionType } from '@summerfi/sdk-common/common' -import { IMorphoLendingPool, MorphoLendingPoolDataSchema } from './IMorphoLendingPool' +import { IMorphoBlueLendingPool, MorphoBlueLendingPoolDataSchema } from './IMorphoBlueLendingPool' import { z } from 'zod' -import { IMorphoPositionId, MorphoPositionIdDataSchema } from './IMorphoPositionId' +import { IMorphoBluePositionId, MorphoBluePositionIdDataSchema } from './IMorphoBluePositionId' /** - * @interface IMorphoPosition + * @interface IMorphoBluePosition * @description Represents a position in the Morpho protocol * * Currently empty as there are no specifics for this protocol @@ -13,9 +13,9 @@ import { IMorphoPositionId, MorphoPositionIdDataSchema } from './IMorphoPosition * Typescript forces the interface to re-declare any properties that have different BUT compatible types. * This may be fixed eventually, there is a discussion on the topic here: https://github.com/microsoft/TypeScript/issues/16936 */ -export interface IMorphoPosition extends IMorphoPositionData, IPosition { - readonly id: IMorphoPositionId - readonly pool: IMorphoLendingPool +export interface IMorphoBluePosition extends IMorphoBluePositionData, IPosition { + readonly id: IMorphoBluePositionId + readonly pool: IMorphoBlueLendingPool // Re-declaring the properties with the correct types readonly type: PositionType @@ -26,22 +26,22 @@ export interface IMorphoPosition extends IMorphoPositionData, IPosition { /** * @description Zod schema for IMorphoPositionId */ -export const MorphoPositionDataSchema = z.object({ +export const MorphoBluePositionDataSchema = z.object({ ...PositionDataSchema.shape, - id: MorphoPositionIdDataSchema, - pool: MorphoLendingPoolDataSchema, + id: MorphoBluePositionIdDataSchema, + pool: MorphoBlueLendingPoolDataSchema, }) /** * Type for the data part of the IMorphoPosition interface */ -export type IMorphoPositionData = Readonly> +export type IMorphoBluePositionData = Readonly> /** * @description Type guard for IMorphoPosition * @param maybePosition * @returns true if the object is an IMorphoPosition */ -export function isMorphoPosition(maybePosition: unknown): maybePosition is IMorphoPosition { - return MorphoPositionDataSchema.safeParse(maybePosition).success +export function isMorphoBluePosition(maybePosition: unknown): maybePosition is IMorphoBluePosition { + return MorphoBluePositionDataSchema.safeParse(maybePosition).success } diff --git a/sdk/protocol-plugins/src/plugins/morphoblue/interfaces/IMorphoPositionId.ts b/sdk/protocol-plugins/src/plugins/morphoblue/interfaces/IMorphoBluePositionId.ts similarity index 55% rename from sdk/protocol-plugins/src/plugins/morphoblue/interfaces/IMorphoPositionId.ts rename to sdk/protocol-plugins/src/plugins/morphoblue/interfaces/IMorphoBluePositionId.ts index 20e8a6edee..55f162ee2c 100644 --- a/sdk/protocol-plugins/src/plugins/morphoblue/interfaces/IMorphoPositionId.ts +++ b/sdk/protocol-plugins/src/plugins/morphoblue/interfaces/IMorphoBluePositionId.ts @@ -2,32 +2,34 @@ import { IPositionId, PositionIdDataSchema } from '@summerfi/sdk-common/common' import { z } from 'zod' /** - * @interface IMorphoPositionId + * @interface IMorphoBluePositionId * @description Represents the ID of a position in the Morpho protocol * * Currently empty as there are no specifics for this protocol */ -export interface IMorphoPositionId extends IPositionId, IMorphoPositionIdData { +export interface IMorphoBluePositionId extends IPositionId, IMorphoBluePositionIdData { // Empty on purpose } /** * @description Zod schema for IMorphoPositionId */ -export const MorphoPositionIdDataSchema = z.object({ +export const MorphoBluePositionIdDataSchema = z.object({ ...PositionIdDataSchema.shape, }) /** * Type for the data part of the IMorphoPositionId interface */ -export type IMorphoPositionIdData = Readonly> +export type IMorphoBluePositionIdData = Readonly> /** * @description Type guard for IMorphoPositionId * @param maybePositionId * @returns true if the object is an IMorphoPositionId */ -export function isMorphoPositionId(maybePositionId: unknown): maybePositionId is IMorphoPositionId { - return MorphoPositionIdDataSchema.safeParse(maybePositionId).success +export function isMorphoBluePositionId( + maybePositionId: unknown, +): maybePositionId is IMorphoBluePositionId { + return MorphoBluePositionIdDataSchema.safeParse(maybePositionId).success } diff --git a/sdk/protocol-plugins/src/plugins/morphoblue/interfaces/IMorphoProtocol.ts b/sdk/protocol-plugins/src/plugins/morphoblue/interfaces/IMorphoBlueProtocol.ts similarity index 70% rename from sdk/protocol-plugins/src/plugins/morphoblue/interfaces/IMorphoProtocol.ts rename to sdk/protocol-plugins/src/plugins/morphoblue/interfaces/IMorphoBlueProtocol.ts index e395622197..4a0839b90e 100644 --- a/sdk/protocol-plugins/src/plugins/morphoblue/interfaces/IMorphoProtocol.ts +++ b/sdk/protocol-plugins/src/plugins/morphoblue/interfaces/IMorphoBlueProtocol.ts @@ -3,7 +3,7 @@ import { ProtocolName, ProtocolDataSchema } from '@summerfi/sdk-common/protocols import { z } from 'zod' /** - * @interface IMorphoProtocol + * @interface IMorphoBlueProtocol * @description Identifier of the Morpho protocol * * This interface is used to add all the methods that the interface supports @@ -11,7 +11,7 @@ import { z } from 'zod' * Typescript forces the interface to re-declare any properties that have different BUT compatible types. * This may be fixed eventually, there is a discussion on the topic here: https://github.com/microsoft/TypeScript/issues/16936 */ -export interface IMorphoProtocol extends IMorphoProtocolData, IProtocol { +export interface IMorphoBlueProtocol extends IMorphoBlueProtocolData, IProtocol { /** Morpho protocol name */ readonly name: ProtocolName.MorphoBlue @@ -22,7 +22,7 @@ export interface IMorphoProtocol extends IMorphoProtocolData, IProtocol { /** * @description Zod schema for IMorphoProtocol */ -export const MorphoProtocolDataSchema = z.object({ +export const MorphoBlueProtocolDataSchema = z.object({ ...ProtocolDataSchema.shape, name: z.literal(ProtocolName.MorphoBlue), }) @@ -30,13 +30,13 @@ export const MorphoProtocolDataSchema = z.object({ /** * Type for the data part of the IMorphoProtocol interface */ -export type IMorphoProtocolData = Readonly> +export type IMorphoBlueProtocolData = Readonly> /** * @description Type guard for IMorphoProtocol * @param maybeProtocol * @returns true if the object is an IMorphoProtocol */ -export function isMorphoProtocol(maybeProtocol: unknown): maybeProtocol is IMorphoProtocol { - return MorphoProtocolDataSchema.safeParse(maybeProtocol).success +export function isMorphoBlueProtocol(maybeProtocol: unknown): maybeProtocol is IMorphoBlueProtocol { + return MorphoBlueProtocolDataSchema.safeParse(maybeProtocol).success } diff --git a/sdk/protocol-plugins/src/plugins/morphoblue/interfaces/index.ts b/sdk/protocol-plugins/src/plugins/morphoblue/interfaces/index.ts index 2e1d73a0af..af81505743 100644 --- a/sdk/protocol-plugins/src/plugins/morphoblue/interfaces/index.ts +++ b/sdk/protocol-plugins/src/plugins/morphoblue/interfaces/index.ts @@ -1,6 +1,6 @@ -export * from './IMorphoLendingPool' -export * from './IMorphoLendingPoolInfo' -export * from './IMorphoPositionId' -export * from './IMorphoLendingPoolId' -export * from './IMorphoProtocol' -export * from './IMorphoPosition' +export * from './IMorphoBlueLendingPool' +export * from './IMorphoBlueLendingPoolInfo' +export * from './IMorphoBluePositionId' +export * from './IMorphoBlueLendingPoolId' +export * from './IMorphoBlueProtocol' +export * from './IMorphoBluePosition' diff --git a/sdk/protocol-plugins/src/plugins/morphoblue/types/MorphoAddressAbiMap.ts b/sdk/protocol-plugins/src/plugins/morphoblue/types/MorphoBlueAddressAbiMap.ts similarity index 76% rename from sdk/protocol-plugins/src/plugins/morphoblue/types/MorphoAddressAbiMap.ts rename to sdk/protocol-plugins/src/plugins/morphoblue/types/MorphoBlueAddressAbiMap.ts index fb0885cf44..64faa1fb32 100644 --- a/sdk/protocol-plugins/src/plugins/morphoblue/types/MorphoAddressAbiMap.ts +++ b/sdk/protocol-plugins/src/plugins/morphoblue/types/MorphoBlueAddressAbiMap.ts @@ -2,14 +2,14 @@ import { morphoBlueAbi } from '@summerfi/abis' import { MorphoBlueContractNames } from '@summerfi/deployment-types' import { AddressValue } from '@summerfi/sdk-common/common' -type MorphoAbiMap = { +type MorphoBlueAbiMap = { MorphoBlue: typeof morphoBlueAbi AdaptiveCurveIrm: undefined } -export type MorphoAddressAbiMap = { +export type MorphoBlueAddressAbiMap = { [K in MorphoBlueContractNames]: { address: AddressValue - abi: MorphoAbiMap[K] + abi: MorphoBlueAbiMap[K] } } diff --git a/sdk/protocol-plugins/src/plugins/morphoblue/types/MorphoMarketInfo.ts b/sdk/protocol-plugins/src/plugins/morphoblue/types/MorphoBlueMarketInfo.ts similarity index 95% rename from sdk/protocol-plugins/src/plugins/morphoblue/types/MorphoMarketInfo.ts rename to sdk/protocol-plugins/src/plugins/morphoblue/types/MorphoBlueMarketInfo.ts index e226380b98..af810abdc4 100644 --- a/sdk/protocol-plugins/src/plugins/morphoblue/types/MorphoMarketInfo.ts +++ b/sdk/protocol-plugins/src/plugins/morphoblue/types/MorphoBlueMarketInfo.ts @@ -3,7 +3,7 @@ import { IPercentage, ITokenAmount } from '@summerfi/sdk-common' /** * @description Morpho market info retrieved from the protocol */ -export type MorphoMarketInfo = { +export type MorphoBlueMarketInfo = { /** The total supply assets in the market, i.e. total collateral locked */ readonly totalSupplyAssets: ITokenAmount /** The total supply shares in the market having access to the supply assets */ diff --git a/sdk/protocol-plugins/src/plugins/morphoblue/types/MorphoMarketParameters.ts b/sdk/protocol-plugins/src/plugins/morphoblue/types/MorphoBlueMarketParameters.ts similarity index 89% rename from sdk/protocol-plugins/src/plugins/morphoblue/types/MorphoMarketParameters.ts rename to sdk/protocol-plugins/src/plugins/morphoblue/types/MorphoBlueMarketParameters.ts index eb8c28ec18..c66a84be85 100644 --- a/sdk/protocol-plugins/src/plugins/morphoblue/types/MorphoMarketParameters.ts +++ b/sdk/protocol-plugins/src/plugins/morphoblue/types/MorphoBlueMarketParameters.ts @@ -3,7 +3,7 @@ import { IAddress, IRiskRatio, IToken } from '@summerfi/sdk-common' /** * @description Morpho market parameters for a given market */ -export type MorphoMarketParameters = { +export type MorphoBlueMarketParameters = { /** Debt token, which can be borrowed from the pool */ readonly debtToken: IToken /** Collateral token used to collateralized the pool */ @@ -20,5 +20,5 @@ export type MorphoMarketParameters = { * Market parameters definition for Morpho, to be used in the ABI * of the action wrappers */ -export const MorphoMarketParametersAbi = +export const MorphoBlueMarketParametersAbi = 'struct MarketParams { address loanToken; address collateralToken; address oracle; address irm; uint256 lltv; }' as const diff --git a/sdk/protocol-plugins/src/plugins/morphoblue/types/index.ts b/sdk/protocol-plugins/src/plugins/morphoblue/types/index.ts index f2cd1c6555..b8fb7a7ef3 100644 --- a/sdk/protocol-plugins/src/plugins/morphoblue/types/index.ts +++ b/sdk/protocol-plugins/src/plugins/morphoblue/types/index.ts @@ -1,3 +1,3 @@ -export * from './MorphoAddressAbiMap' -export * from './MorphoMarketInfo' -export * from './MorphoMarketParameters' +export * from './MorphoBlueAddressAbiMap' +export * from './MorphoBlueMarketInfo' +export * from './MorphoBlueMarketParameters' diff --git a/sdk/protocol-plugins/tests/integration/MorphoProtocolPlugin.spec.ts b/sdk/protocol-plugins/tests/integration/MorphoProtocolPlugin.spec.ts index 3ad597b191..a00408dace 100644 --- a/sdk/protocol-plugins/tests/integration/MorphoProtocolPlugin.spec.ts +++ b/sdk/protocol-plugins/tests/integration/MorphoProtocolPlugin.spec.ts @@ -1,20 +1,20 @@ import { IProtocolPluginContext } from '@summerfi/protocol-plugins-common' import { Price, RiskRatio, TokenAmount, Percentage } from '@summerfi/sdk-common/common' import { createProtocolPluginContext } from '../utils/CreateProtocolPluginContext' -import { MorphoProtocolPlugin } from '../../src/plugins/morphoblue/implementation/MorphoProtocolPlugin' +import { MorphoBlueProtocolPlugin } from '../../src/plugins/morphoblue/implementation/MorphoBlueProtocolPlugin' import { morphoPoolIdMock, morphoPoolMarketParams } from '../mocks/MorphoPoolIdMock' import { OracleManagerMock } from '@summerfi/testing-utils' import { ChainFamilyMap, FiatCurrency, OracleProviderType } from '@summerfi/sdk-common' -import { isMorphoLendingPool, isMorphoLendingPoolId } from '../../src' +import { isMorphoBlueLendingPool, isMorphoBlueLendingPoolId } from '../../src' import { PoolType } from '@summerfi/sdk-common/protocols' describe.only('Protocol Plugin | Integration | Morpho', () => { let ctx: IProtocolPluginContext - let morphoProtocolPlugin: MorphoProtocolPlugin + let morphoProtocolPlugin: MorphoBlueProtocolPlugin beforeAll(async () => { ctx = await createProtocolPluginContext(ChainFamilyMap.Ethereum.Mainnet) - morphoProtocolPlugin = new MorphoProtocolPlugin() + morphoProtocolPlugin = new MorphoBlueProtocolPlugin() morphoProtocolPlugin.initialize({ context: ctx, }) @@ -25,11 +25,11 @@ describe.only('Protocol Plugin | Integration | Morpho', () => { expect(pool).toBeDefined() - if (!isMorphoLendingPool(pool)) { + if (!isMorphoBlueLendingPool(pool)) { fail('Expected pool to be a Morpho lending pool') } - if (!isMorphoLendingPoolId(pool.id)) { + if (!isMorphoBlueLendingPoolId(pool.id)) { fail('Expected pool id to be a Morpho lending pool id') } diff --git a/sdk/protocol-plugins/tests/mocks/MorphoPoolIdMock.ts b/sdk/protocol-plugins/tests/mocks/MorphoPoolIdMock.ts index 0a5ffbbf1a..4969166519 100644 --- a/sdk/protocol-plugins/tests/mocks/MorphoPoolIdMock.ts +++ b/sdk/protocol-plugins/tests/mocks/MorphoPoolIdMock.ts @@ -1,9 +1,9 @@ import { ProtocolName } from '@summerfi/sdk-common/protocols' import { - IMorphoLendingPoolId, - MorphoLendingPoolId, - MorphoMarketParameters, - MorphoProtocol, + IMorphoBlueLendingPoolId, + MorphoBlueLendingPoolId, + MorphoBlueMarketParameters, + MorphoBlueProtocol, } from '../../src' import { Address, @@ -14,15 +14,15 @@ import { Token, } from '@summerfi/sdk-common' -export const morphoPoolIdMock: IMorphoLendingPoolId = MorphoLendingPoolId.createFrom({ - protocol: MorphoProtocol.createFrom({ +export const morphoPoolIdMock: IMorphoBlueLendingPoolId = MorphoBlueLendingPoolId.createFrom({ + protocol: MorphoBlueProtocol.createFrom({ name: ProtocolName.MorphoBlue, chainInfo: ChainFamilyMap.Ethereum.Mainnet, }), marketId: '0xc54d7acf14de29e0e5527cabd7a576506870346a78a11a6762e2cca66322ec41', }) -export const morphoPoolMarketParams: MorphoMarketParameters = { +export const morphoPoolMarketParams: MorphoBlueMarketParameters = { collateralToken: Token.createFrom({ address: Address.createFromEthereum({ value: '0x7f39C581F595B53c5cb19bD0b3f8dA6c935E2Ca0' }), chainInfo: ChainFamilyMap.Ethereum.Mainnet, diff --git a/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoBorrowAction.spec.ts b/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoBorrowAction.spec.ts index 7a899859c1..7c2bb7a0f8 100644 --- a/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoBorrowAction.spec.ts +++ b/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoBorrowAction.spec.ts @@ -1,10 +1,10 @@ import { Address, Token, TokenAmount } from '@summerfi/sdk-common/common' import { decodeActionCalldata, getTargetHash } from '@summerfi/testing-utils' import { - MorphoBorrowAction, - MorphoLendingPool, - MorphoLendingPoolId, - MorphoProtocol, + MorphoBlueBorrowAction, + MorphoBlueLendingPool, + MorphoBlueLendingPoolId, + MorphoBlueProtocol, } from '../../../../src' import { ChainFamilyMap, @@ -14,10 +14,10 @@ import { RiskRatioType, } from '@summerfi/sdk-common' import { PoolType } from '@summerfi/sdk-common/protocols' -import { MorphoLLTVPrecision } from '../../../../src/plugins/morphoblue/constants/MorphoConstants' +import { MorphoBlueLLTVPrecision } from '../../../../src/plugins/morphoblue/constants/MorphoBlueConstants' describe('MorphoBorrowAction Action', () => { - const action = new MorphoBorrowAction() + const action = new MorphoBlueBorrowAction() const contractNameWithVersion = `${action.config.name}` const DAI = Token.createFrom({ @@ -38,17 +38,17 @@ describe('MorphoBorrowAction Action', () => { const tokenAmount = TokenAmount.createFrom({ token: DAI, amount: '578' }) - const morphoProtocol = MorphoProtocol.createFrom({ + const morphoProtocol = MorphoBlueProtocol.createFrom({ name: ProtocolName.MorphoBlue, chainInfo: ChainFamilyMap.Ethereum.Mainnet, }) - const morphoLendingPoolId = MorphoLendingPoolId.createFrom({ + const morphoLendingPoolId = MorphoBlueLendingPoolId.createFrom({ marketId: '0x1234', protocol: morphoProtocol, }) - const morphoLendingPool = MorphoLendingPool.createFrom({ + const morphoLendingPool = MorphoBlueLendingPool.createFrom({ collateralToken: WETH, debtToken: DAI, id: morphoLendingPoolId, @@ -91,7 +91,7 @@ describe('MorphoBorrowAction Action', () => { oracle: morphoLendingPool.oracle.value, irm: morphoLendingPool.irm.value, lltv: BigInt( - morphoLendingPool.lltv.toLTV().toBaseUnit({ decimals: MorphoLLTVPrecision }), + morphoLendingPool.lltv.toLTV().toBaseUnit({ decimals: MorphoBlueLLTVPrecision }), ), }, }, diff --git a/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoDepositAction.spec.ts b/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoDepositAction.spec.ts index 31b8b0914c..a5c2aabbb8 100644 --- a/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoDepositAction.spec.ts +++ b/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoDepositAction.spec.ts @@ -1,10 +1,10 @@ import { Address, Token, TokenAmount } from '@summerfi/sdk-common/common' import { decodeActionCalldata, getTargetHash } from '@summerfi/testing-utils' import { - MorphoDepositAction, - MorphoLendingPool, - MorphoLendingPoolId, - MorphoProtocol, + MorphoBlueDepositAction, + MorphoBlueLendingPool, + MorphoBlueLendingPoolId, + MorphoBlueProtocol, } from '../../../../src' import { ChainFamilyMap, @@ -14,10 +14,10 @@ import { RiskRatioType, } from '@summerfi/sdk-common' import { PoolType } from '@summerfi/sdk-common/protocols' -import { MorphoLLTVPrecision } from '../../../../src/plugins/morphoblue/constants/MorphoConstants' +import { MorphoBlueLLTVPrecision } from '../../../../src/plugins/morphoblue/constants/MorphoBlueConstants' describe('MorphoDepositAction Action', () => { - const action = new MorphoDepositAction() + const action = new MorphoBlueDepositAction() const contractNameWithVersion = `${action.config.name}` const DAI = Token.createFrom({ @@ -38,17 +38,17 @@ describe('MorphoDepositAction Action', () => { const tokenAmount = TokenAmount.createFrom({ token: DAI, amount: '578' }) - const morphoProtocol = MorphoProtocol.createFrom({ + const morphoProtocol = MorphoBlueProtocol.createFrom({ name: ProtocolName.MorphoBlue, chainInfo: ChainFamilyMap.Ethereum.Mainnet, }) - const morphoLendingPoolId = MorphoLendingPoolId.createFrom({ + const morphoLendingPoolId = MorphoBlueLendingPoolId.createFrom({ marketId: '0x1234', protocol: morphoProtocol, }) - const morphoLendingPool = MorphoLendingPool.createFrom({ + const morphoLendingPool = MorphoBlueLendingPool.createFrom({ collateralToken: WETH, debtToken: DAI, id: morphoLendingPoolId, @@ -92,7 +92,7 @@ describe('MorphoDepositAction Action', () => { oracle: morphoLendingPool.oracle.value, irm: morphoLendingPool.irm.value, lltv: BigInt( - morphoLendingPool.lltv.toLTV().toBaseUnit({ decimals: MorphoLLTVPrecision }), + morphoLendingPool.lltv.toLTV().toBaseUnit({ decimals: MorphoBlueLLTVPrecision }), ), }, sumAmounts: false, diff --git a/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoPaybackAction.spec.ts b/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoPaybackAction.spec.ts index 71e68be6de..e4cb256edd 100644 --- a/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoPaybackAction.spec.ts +++ b/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoPaybackAction.spec.ts @@ -1,10 +1,10 @@ import { Address, Token, TokenAmount } from '@summerfi/sdk-common/common' import { decodeActionCalldata, getTargetHash } from '@summerfi/testing-utils' import { - MorphoLendingPool, - MorphoLendingPoolId, - MorphoPaybackAction, - MorphoProtocol, + MorphoBlueLendingPool, + MorphoBlueLendingPoolId, + MorphoBluePaybackAction, + MorphoBlueProtocol, } from '../../../../src' import { ChainFamilyMap, @@ -14,10 +14,10 @@ import { RiskRatioType, } from '@summerfi/sdk-common' import { PoolType } from '@summerfi/sdk-common/protocols' -import { MorphoLLTVPrecision } from '../../../../src/plugins/morphoblue/constants/MorphoConstants' +import { MorphoBlueLLTVPrecision } from '../../../../src/plugins/morphoblue/constants/MorphoBlueConstants' describe('MorphoPaybackAction Action', () => { - const action = new MorphoPaybackAction() + const action = new MorphoBluePaybackAction() const contractNameWithVersion = `${action.config.name}_${action.config.version}` const DAI = Token.createFrom({ @@ -42,17 +42,17 @@ describe('MorphoPaybackAction Action', () => { const tokenAmount = TokenAmount.createFrom({ token: DAI, amount: '578' }) - const morphoProtocol = MorphoProtocol.createFrom({ + const morphoProtocol = MorphoBlueProtocol.createFrom({ name: ProtocolName.MorphoBlue, chainInfo: ChainFamilyMap.Ethereum.Mainnet, }) - const morphoLendingPoolId = MorphoLendingPoolId.createFrom({ + const morphoLendingPoolId = MorphoBlueLendingPoolId.createFrom({ marketId: '0x1234', protocol: morphoProtocol, }) - const morphoLendingPool = MorphoLendingPool.createFrom({ + const morphoLendingPool = MorphoBlueLendingPool.createFrom({ collateralToken: WETH, debtToken: DAI, id: morphoLendingPoolId, @@ -97,7 +97,7 @@ describe('MorphoPaybackAction Action', () => { oracle: morphoLendingPool.oracle.value, irm: morphoLendingPool.irm.value, lltv: BigInt( - morphoLendingPool.lltv.toLTV().toBaseUnit({ decimals: MorphoLLTVPrecision }), + morphoLendingPool.lltv.toLTV().toBaseUnit({ decimals: MorphoBlueLLTVPrecision }), ), }, onBehalf: onBehalf.value, diff --git a/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoWithdrawAction.spec.ts b/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoWithdrawAction.spec.ts index 13a8c693c1..f843608f6d 100644 --- a/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoWithdrawAction.spec.ts +++ b/sdk/protocol-plugins/tests/unit/actions/morpho/MorphoWithdrawAction.spec.ts @@ -1,10 +1,10 @@ import { Address, Token, TokenAmount } from '@summerfi/sdk-common/common' import { decodeActionCalldata, getTargetHash } from '@summerfi/testing-utils' import { - MorphoLendingPool, - MorphoLendingPoolId, - MorphoProtocol, - MorphoWithdrawAction, + MorphoBlueLendingPool, + MorphoBlueLendingPoolId, + MorphoBlueProtocol, + MorphoBlueWithdrawAction, } from '../../../../src' import { ChainFamilyMap, @@ -14,10 +14,10 @@ import { RiskRatioType, } from '@summerfi/sdk-common' import { PoolType } from '@summerfi/sdk-common/protocols' -import { MorphoLLTVPrecision } from '../../../../src/plugins/morphoblue/constants/MorphoConstants' +import { MorphoBlueLLTVPrecision } from '../../../../src/plugins/morphoblue/constants/MorphoBlueConstants' describe('MorphoWithdrawAction Action', () => { - const action = new MorphoWithdrawAction() + const action = new MorphoBlueWithdrawAction() const contractNameWithVersion = `${action.config.name}` const DAI = Token.createFrom({ @@ -42,17 +42,17 @@ describe('MorphoWithdrawAction Action', () => { const tokenAmount = TokenAmount.createFrom({ token: DAI, amount: '578' }) - const morphoProtocol = MorphoProtocol.createFrom({ + const morphoProtocol = MorphoBlueProtocol.createFrom({ name: ProtocolName.MorphoBlue, chainInfo: ChainFamilyMap.Ethereum.Mainnet, }) - const morphoLendingPoolId = MorphoLendingPoolId.createFrom({ + const morphoLendingPoolId = MorphoBlueLendingPoolId.createFrom({ marketId: '0x1234', protocol: morphoProtocol, }) - const morphoLendingPool = MorphoLendingPool.createFrom({ + const morphoLendingPool = MorphoBlueLendingPool.createFrom({ collateralToken: WETH, debtToken: DAI, id: morphoLendingPoolId, @@ -96,7 +96,7 @@ describe('MorphoWithdrawAction Action', () => { oracle: morphoLendingPool.oracle.value, irm: morphoLendingPool.irm.value, lltv: BigInt( - morphoLendingPool.lltv.toLTV().toBaseUnit({ decimals: MorphoLLTVPrecision }), + morphoLendingPool.lltv.toLTV().toBaseUnit({ decimals: MorphoBlueLLTVPrecision }), ), }, to: recipient.value, diff --git a/sdk/protocol-plugins/tests/unit/builders/maker/MakerImportPositionActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/maker/MakerImportPositionActionBuilder.spec.ts index a21734882a..d40cb1ceed 100644 --- a/sdk/protocol-plugins/tests/unit/builders/maker/MakerImportPositionActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/maker/MakerImportPositionActionBuilder.spec.ts @@ -22,10 +22,10 @@ import { MakerPosition, MakerProtocol, MakerImportPositionActionBuilder, - MorphoPosition, - MorphoLendingPool, - MorphoLendingPoolId, - MorphoProtocol, + MorphoBluePosition, + MorphoBlueLendingPool, + MorphoBlueLendingPoolId, + MorphoBlueProtocol, } from '../../../../src' import { ExternalPositionType } from '@summerfi/sdk-common' @@ -92,17 +92,17 @@ describe('Maker Import Position Action Builder', () => { pool: pool, }) - const wrongPosition = MorphoPosition.createFrom({ + const wrongPosition = MorphoBluePosition.createFrom({ type: PositionType.Multiply, id: MakerPositionId.createFrom({ id: 'someposition', vaultId: '123' }), debtAmount: borrowAmount, collateralAmount: depositAmount, - pool: MorphoLendingPool.createFrom({ + pool: MorphoBlueLendingPool.createFrom({ collateralToken: WETH, debtToken: DAI, - id: MorphoLendingPoolId.createFrom({ + id: MorphoBlueLendingPoolId.createFrom({ marketId: '0x1234', - protocol: MorphoProtocol.createFrom({ + protocol: MorphoBlueProtocol.createFrom({ name: ProtocolName.MorphoBlue, chainInfo: ChainFamilyMap.Ethereum.Mainnet, }), diff --git a/sdk/protocol-plugins/tests/unit/builders/maker/MakerOpenPositionActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/maker/MakerOpenPositionActionBuilder.spec.ts index 593e2b51dd..0dc8c09a28 100644 --- a/sdk/protocol-plugins/tests/unit/builders/maker/MakerOpenPositionActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/maker/MakerOpenPositionActionBuilder.spec.ts @@ -22,9 +22,9 @@ import { MakerOpenPositionActionBuilder, MakerPosition, MakerProtocol, - MorphoLendingPool, - MorphoLendingPoolId, - MorphoProtocol, + MorphoBlueLendingPool, + MorphoBlueLendingPoolId, + MorphoBlueProtocol, } from '../../../../src' describe('Maker Open Position Action Builder', () => { @@ -86,12 +86,12 @@ describe('Maker Open Position Action Builder', () => { pool: pool, }) - const wrongPool = MorphoLendingPool.createFrom({ + const wrongPool = MorphoBlueLendingPool.createFrom({ collateralToken: WETH, debtToken: DAI, - id: MorphoLendingPoolId.createFrom({ + id: MorphoBlueLendingPoolId.createFrom({ marketId: '0x1234', - protocol: MorphoProtocol.createFrom({ + protocol: MorphoBlueProtocol.createFrom({ name: ProtocolName.MorphoBlue, chainInfo: ChainFamilyMap.Ethereum.Mainnet, }), diff --git a/sdk/protocol-plugins/tests/unit/builders/maker/MakerPaybackWithdrawActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/maker/MakerPaybackWithdrawActionBuilder.spec.ts index 1d7c045225..6a73124e27 100644 --- a/sdk/protocol-plugins/tests/unit/builders/maker/MakerPaybackWithdrawActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/maker/MakerPaybackWithdrawActionBuilder.spec.ts @@ -19,10 +19,10 @@ import { MakerLendingPoolId, MakerPosition, MakerProtocol, - MorphoPosition, - MorphoLendingPool, - MorphoLendingPoolId, - MorphoProtocol, + MorphoBluePosition, + MorphoBlueLendingPool, + MorphoBlueLendingPoolId, + MorphoBlueProtocol, MakerPaybackWithdrawActionBuilder, } from '../../../../src' @@ -87,17 +87,17 @@ describe('Maker Payback Withdraw Action Builder', () => { pool: pool, }) - const wrongPosition = MorphoPosition.createFrom({ + const wrongPosition = MorphoBluePosition.createFrom({ type: PositionType.Multiply, id: MakerPositionId.createFrom({ id: 'someposition', vaultId: '123' }), debtAmount: debtAmount, collateralAmount: collateralAmount, - pool: MorphoLendingPool.createFrom({ + pool: MorphoBlueLendingPool.createFrom({ collateralToken: WETH, debtToken: DAI, - id: MorphoLendingPoolId.createFrom({ + id: MorphoBlueLendingPoolId.createFrom({ marketId: '0x1234', - protocol: MorphoProtocol.createFrom({ + protocol: MorphoBlueProtocol.createFrom({ name: ProtocolName.MorphoBlue, chainInfo: ChainFamilyMap.Ethereum.Mainnet, }), diff --git a/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoDepositBorrowActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoDepositBorrowActionBuilder.spec.ts index 6d63b4a36e..856ebb4c21 100644 --- a/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoDepositBorrowActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoDepositBorrowActionBuilder.spec.ts @@ -21,12 +21,12 @@ import { MakerPosition, MakerPositionId, MakerProtocol, - MorphoDepositBorrowActionBuilder, - MorphoLendingPool, - MorphoLendingPoolId, - MorphoPosition, - MorphoPositionId, - MorphoProtocol, + MorphoBlueDepositBorrowActionBuilder, + MorphoBlueLendingPool, + MorphoBlueLendingPoolId, + MorphoBluePosition, + MorphoBluePositionId, + MorphoBlueProtocol, } from '../../../../src' describe('Morpho Deposit Borrow Action Builder', () => { @@ -61,17 +61,17 @@ describe('Morpho Deposit Borrow Action Builder', () => { amount: '1000', }) - const protocol = MorphoProtocol.createFrom({ + const protocol = MorphoBlueProtocol.createFrom({ name: ProtocolName.MorphoBlue, chainInfo: ChainFamilyMap.Ethereum.Mainnet, }) - const poolId = MorphoLendingPoolId.createFrom({ + const poolId = MorphoBlueLendingPoolId.createFrom({ marketId: '0x1234', protocol: protocol, }) - const pool = MorphoLendingPool.createFrom({ + const pool = MorphoBlueLendingPool.createFrom({ collateralToken: WETH, debtToken: DAI, id: poolId, @@ -84,9 +84,9 @@ describe('Morpho Deposit Borrow Action Builder', () => { type: PoolType.Lending, }) - const position = MorphoPosition.createFrom({ + const position = MorphoBluePosition.createFrom({ type: PositionType.Multiply, - id: MorphoPositionId.createFrom({ id: 'someposition' }), + id: MorphoBluePositionId.createFrom({ id: 'someposition' }), debtAmount: borrowAmount, collateralAmount: depositAmount, pool: pool, @@ -134,7 +134,7 @@ describe('Morpho Deposit Borrow Action Builder', () => { it('should fail the position is not a Morpho one', async () => { try { - await new MorphoDepositBorrowActionBuilder().build({ + await new MorphoBlueDepositBorrowActionBuilder().build({ ...builderParams, step: { ...derivedStep, @@ -154,7 +154,7 @@ describe('Morpho Deposit Borrow Action Builder', () => { it('should add all the action calls', async () => { builderParams.context.startSubContext() - await new MorphoDepositBorrowActionBuilder().build({ + await new MorphoBlueDepositBorrowActionBuilder().build({ ...builderParams, step: derivedStep, protocolsRegistry: builderParams.emptyProtocolsRegistry, @@ -173,7 +173,7 @@ describe('Morpho Deposit Borrow Action Builder', () => { it('should not add borrow nor send token when borrow amount is 0', async () => { builderParams.context.startSubContext() - await new MorphoDepositBorrowActionBuilder().build({ + await new MorphoBlueDepositBorrowActionBuilder().build({ ...builderParams, step: { ...derivedStep, @@ -199,7 +199,7 @@ describe('Morpho Deposit Borrow Action Builder', () => { it('should add borrow but not send token when borrow target is positions manager', async () => { builderParams.context.startSubContext() - await new MorphoDepositBorrowActionBuilder().build({ + await new MorphoBlueDepositBorrowActionBuilder().build({ ...builderParams, step: { ...derivedStep, diff --git a/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoOpenPositionActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoOpenPositionActionBuilder.spec.ts index 76913c2708..b2fdb7940f 100644 --- a/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoOpenPositionActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoOpenPositionActionBuilder.spec.ts @@ -16,15 +16,15 @@ import { getErrorMessage } from '@summerfi/testing-utils' import assert from 'assert' import { ILKType, - MorphoPositionId, - MorphoPosition, - MorphoLendingPool, - MorphoLendingPoolId, - MorphoProtocol, + MorphoBluePositionId, + MorphoBluePosition, + MorphoBlueLendingPool, + MorphoBlueLendingPoolId, + MorphoBlueProtocol, MakerLendingPool, MakerLendingPoolId, MakerProtocol, - MorphoOpenPositionActionBuilder, + MorphoBlueOpenPositionActionBuilder, } from '../../../../src' describe('Morpho Open Position Action Builder', () => { @@ -59,17 +59,17 @@ describe('Morpho Open Position Action Builder', () => { amount: '1000', }) - const protocol = MorphoProtocol.createFrom({ + const protocol = MorphoBlueProtocol.createFrom({ name: ProtocolName.MorphoBlue, chainInfo: ChainFamilyMap.Ethereum.Mainnet, }) - const poolId = MorphoLendingPoolId.createFrom({ + const poolId = MorphoBlueLendingPoolId.createFrom({ marketId: '0x1234', protocol: protocol, }) - const pool = MorphoLendingPool.createFrom({ + const pool = MorphoBlueLendingPool.createFrom({ collateralToken: WETH, debtToken: DAI, id: poolId, @@ -82,9 +82,9 @@ describe('Morpho Open Position Action Builder', () => { type: PoolType.Lending, }) - const position = MorphoPosition.createFrom({ + const position = MorphoBluePosition.createFrom({ type: PositionType.Multiply, - id: MorphoPositionId.createFrom({ id: 'someposition' }), + id: MorphoBluePositionId.createFrom({ id: 'someposition' }), debtAmount: borrowAmount, collateralAmount: depositAmount, pool: pool, @@ -122,7 +122,7 @@ describe('Morpho Open Position Action Builder', () => { it('should fail the position is not a Morpho one', async () => { try { - await new MorphoOpenPositionActionBuilder().build({ + await new MorphoBlueOpenPositionActionBuilder().build({ ...builderParams, step: { ...derivedStep, @@ -142,7 +142,7 @@ describe('Morpho Open Position Action Builder', () => { it('should not add a transaction to the context', async () => { builderParams.context.startSubContext() - await new MorphoOpenPositionActionBuilder().build({ + await new MorphoBlueOpenPositionActionBuilder().build({ ...builderParams, step: derivedStep, protocolsRegistry: builderParams.emptyProtocolsRegistry, diff --git a/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoPaybackWithdrawActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoPaybackWithdrawActionBuilder.spec.ts index 0b71224781..9dedeaa611 100644 --- a/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoPaybackWithdrawActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoPaybackWithdrawActionBuilder.spec.ts @@ -19,12 +19,12 @@ import { MakerPosition, MakerPositionId, MakerProtocol, - MorphoLendingPool, - MorphoLendingPoolId, - MorphoPosition, - MorphoProtocol, + MorphoBlueLendingPool, + MorphoBlueLendingPoolId, + MorphoBluePosition, + MorphoBlueProtocol, } from '../../../../src' -import { MorphoPaybackWithdrawActionBuilder } from '../../../../src/plugins/morphoblue/builders/MorphoPaybackWithdrawActionBuilder' +import { MorphoBluePaybackWithdrawActionBuilder } from '../../../../src/plugins/morphoblue/builders/MorphoBluePaybackWithdrawActionBuilder' import { RiskRatio, RiskRatioType } from '@summerfi/sdk-common' describe('Morpho Payback Withdraw Action Builder', () => { @@ -59,17 +59,17 @@ describe('Morpho Payback Withdraw Action Builder', () => { amount: '1000', }) - const protocol = MorphoProtocol.createFrom({ + const protocol = MorphoBlueProtocol.createFrom({ name: ProtocolName.MorphoBlue, chainInfo: ChainFamilyMap.Ethereum.Mainnet, }) - const poolId = MorphoLendingPoolId.createFrom({ + const poolId = MorphoBlueLendingPoolId.createFrom({ marketId: '0x1234', protocol: protocol, }) - const pool = MorphoLendingPool.createFrom({ + const pool = MorphoBlueLendingPool.createFrom({ collateralToken: WETH, debtToken: DAI, id: poolId, @@ -82,7 +82,7 @@ describe('Morpho Payback Withdraw Action Builder', () => { type: PoolType.Lending, }) - const position = MorphoPosition.createFrom({ + const position = MorphoBluePosition.createFrom({ type: PositionType.Multiply, id: MakerPositionId.createFrom({ id: 'someposition', vaultId: '123' }), debtAmount: withdrawAmount, @@ -132,7 +132,7 @@ describe('Morpho Payback Withdraw Action Builder', () => { it('should fail the position is not a Morpho one', async () => { try { - await new MorphoPaybackWithdrawActionBuilder().build({ + await new MorphoBluePaybackWithdrawActionBuilder().build({ ...builderParams, step: { ...derivedStep, @@ -152,7 +152,7 @@ describe('Morpho Payback Withdraw Action Builder', () => { it('should add all the action calls', async () => { builderParams.context.startSubContext() - await new MorphoPaybackWithdrawActionBuilder().build({ + await new MorphoBluePaybackWithdrawActionBuilder().build({ ...builderParams, step: derivedStep, protocolsRegistry: builderParams.emptyProtocolsRegistry, @@ -170,7 +170,7 @@ describe('Morpho Payback Withdraw Action Builder', () => { it('should not add payback when payback amount is 0', async () => { builderParams.context.startSubContext() - await new MorphoPaybackWithdrawActionBuilder().build({ + await new MorphoBluePaybackWithdrawActionBuilder().build({ ...builderParams, step: { ...derivedStep, diff --git a/sdk/protocol-plugins/tests/unit/plugins/MorphoProtocolPlugin.spec.ts b/sdk/protocol-plugins/tests/unit/plugins/MorphoProtocolPlugin.spec.ts index b6c69d50a3..b1d6da1957 100644 --- a/sdk/protocol-plugins/tests/unit/plugins/MorphoProtocolPlugin.spec.ts +++ b/sdk/protocol-plugins/tests/unit/plugins/MorphoProtocolPlugin.spec.ts @@ -3,27 +3,27 @@ import { ChainFamilyMap, ChainInfo, IPositionId } from '@summerfi/sdk-common/com import { ProtocolName } from '@summerfi/sdk-common/protocols' import { createProtocolPluginContext } from '../../utils/CreateProtocolPluginContext' import { getErrorMessage } from '../../utils/ErrorMessage' -import { MorphoProtocolPlugin } from '../../../src/plugins/morphoblue/implementation/MorphoProtocolPlugin' +import { MorphoBlueProtocolPlugin } from '../../../src/plugins/morphoblue/implementation/MorphoBlueProtocolPlugin' import { - IMorphoLendingPoolIdData, - isMorphoLendingPoolId, -} from '../../../src/plugins/morphoblue/interfaces/IMorphoLendingPoolId' + IMorphoBlueLendingPoolIdData, + isMorphoBlueLendingPoolId, +} from '../../../src/plugins/morphoblue/interfaces/IMorphoBlueLendingPoolId' import assert from 'assert' import { morphoPoolIdMock } from '../../mocks/MorphoPoolIdMock' describe('Protocol Plugin | Unit | Morpho', () => { let ctx: IProtocolPluginContext - let morphoProtocolPlugin: MorphoProtocolPlugin + let morphoProtocolPlugin: MorphoBlueProtocolPlugin beforeAll(async () => { ctx = await createProtocolPluginContext(ChainFamilyMap.Ethereum.Mainnet) - morphoProtocolPlugin = new MorphoProtocolPlugin() + morphoProtocolPlugin = new MorphoBlueProtocolPlugin() morphoProtocolPlugin.initialize({ context: ctx, }) }) it('should verify that a given poolId is recognised as a valid format', () => { - expect(isMorphoLendingPoolId(morphoPoolIdMock)).toBe(true) + expect(isMorphoBlueLendingPoolId(morphoPoolIdMock)).toBe(true) }) it('should throw a specific error when provided with a poolId not matching the MorphoPoolId format', async () => { @@ -34,7 +34,7 @@ describe('Protocol Plugin | Unit | Morpho', () => { ...morphoPoolIdMock.protocol, name: ProtocolName.Maker, }, - } as unknown as IMorphoLendingPoolIdData + } as unknown as IMorphoBlueLendingPoolIdData expect(await morphoProtocolPlugin.getLendingPool(invalidMorphoPoolIdMock)).toBeDefined() assert.fail('Should throw error') @@ -65,7 +65,7 @@ describe('Protocol Plugin | Unit | Morpho', () => { it('should throw an error when calling getPool with chain id missing from ctx', async () => { try { - new MorphoProtocolPlugin().initialize({ + new MorphoBlueProtocolPlugin().initialize({ context: { ...ctx, provider: { @@ -86,7 +86,7 @@ describe('Protocol Plugin | Unit | Morpho', () => { it('should throw an error when calling getPool with an unsupported chain ID', async () => { const wrongChainId = 2 try { - new MorphoProtocolPlugin().initialize({ + new MorphoBlueProtocolPlugin().initialize({ context: { ...ctx, provider: { From d30d0c2a43938096ede6783f98a190d464069846 Mon Sep 17 00:00:00 2001 From: Roberto Cano <3525807+robercano@users.noreply.github.com> Date: Fri, 24 May 2024 11:24:25 +0200 Subject: [PATCH 32/45] fix: change how strategy name is generated --- .../src/utils/GenerateStrategyName.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/sdk/order-planner-common/src/utils/GenerateStrategyName.ts b/sdk/order-planner-common/src/utils/GenerateStrategyName.ts index 6cd3715765..1006abf536 100644 --- a/sdk/order-planner-common/src/utils/GenerateStrategyName.ts +++ b/sdk/order-planner-common/src/utils/GenerateStrategyName.ts @@ -1,5 +1,17 @@ import { ISimulation, SimulationType } from '@summerfi/sdk-common/simulation' export function generateStrategyName(simulation: ISimulation): string { + // TODO: temporary workaround to use the right simulation name + if ( + simulation.simulationType === SimulationType.Refinance || + simulation.simulationType === SimulationType.RefinanceDifferentPair || + simulation.simulationType === SimulationType.RefinanceDifferentCollateral || + simulation.simulationType === SimulationType.RefinanceDifferentDebt || + simulation.simulationType === SimulationType.RefinanceNoDebt || + simulation.simulationType === SimulationType.RefinanceNoDebtDifferentCollateral + ) { + return `Refinance${simulation.sourcePosition?.pool.id.protocol.name}${simulation.targetPosition.pool.id.protocol.name}` + } + return `${simulation.simulationType}${simulation.sourcePosition?.pool.id.protocol.name}${simulation.targetPosition?.pool.id.protocol.name}` } From b8b4b12b199ba8b04804f81fba4979fc94aae713 Mon Sep 17 00:00:00 2001 From: Roberto Cano <3525807+robercano@users.noreply.github.com> Date: Fri, 24 May 2024 11:44:46 +0200 Subject: [PATCH 33/45] fix: build --- package.json | 2 +- pnpm-lock.yaml | 28 ++-------------------------- 2 files changed, 3 insertions(+), 27 deletions(-) diff --git a/package.json b/package.json index b1da9a687f..79994326bf 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "@types/aws-lambda": "^8.10.137", "@types/jest": "^29.5.12", "@types/node": "^20.12.7", - "aws-cdk-lib": "2.132.1", + "aws-cdk-lib": "2.142.1", "constructs": "10.3.0", "dotenv": "^16.4.5", "esbuild": "^0.20.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index ddb39efe15..34a837573e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -58,8 +58,8 @@ importers: specifier: ^20.12.7 version: 20.12.12 aws-cdk-lib: - specifier: 2.132.1 - version: 2.132.1(constructs@10.3.0) + specifier: 2.142.1 + version: 2.142.1(constructs@10.3.0) constructs: specifier: 10.3.0 version: 10.3.0 @@ -8955,30 +8955,6 @@ packages: possible-typed-array-names: 1.0.0 dev: true - /aws-cdk-lib@2.132.1(constructs@10.3.0): - resolution: {integrity: sha512-VheC7WcvmxiteNaZPucS9J9haGQZwbUtwNiNqsbTaEiru6ETUhf/yIOIamLto1kOKEPxCw2bfLkgYrWoCzwOpw==} - engines: {node: '>= 14.15.0'} - peerDependencies: - constructs: ^10.0.0 - dependencies: - '@aws-cdk/asset-awscli-v1': 2.2.202 - '@aws-cdk/asset-kubectl-v20': 2.1.2 - '@aws-cdk/asset-node-proxy-agent-v6': 2.0.3 - constructs: 10.3.0 - dev: true - bundledDependencies: - - '@balena/dockerignore' - - case - - fs-extra - - ignore - - jsonschema - - minimatch - - punycode - - semver - - table - - yaml - - mime-types - /aws-cdk-lib@2.142.1(constructs@10.3.0): resolution: {integrity: sha512-xs4NRoml5/Zh30YHSk/Wwmr7VcZOZHyIInuBye3gC/BYwCh1lsUe9/ChWIeLUCRhUrELd5npyoBOJiHb3ql7Rg==} engines: {node: '>= 14.15.0'} From 44b1e0d530f2ed77fda511ebabcb86cd5143c528 Mon Sep 17 00:00:00 2001 From: Roberto Cano <3525807+robercano@users.noreply.github.com> Date: Fri, 24 May 2024 11:49:33 +0200 Subject: [PATCH 34/45] fix: aws-cdk version issue --- package.json | 2 +- pnpm-lock.yaml | 4933 +++++++++++++++++++++++++++--------------------- 2 files changed, 2760 insertions(+), 2175 deletions(-) diff --git a/package.json b/package.json index 79994326bf..b1da9a687f 100644 --- a/package.json +++ b/package.json @@ -36,7 +36,7 @@ "@types/aws-lambda": "^8.10.137", "@types/jest": "^29.5.12", "@types/node": "^20.12.7", - "aws-cdk-lib": "2.142.1", + "aws-cdk-lib": "2.132.1", "constructs": "10.3.0", "dotenv": "^16.4.5", "esbuild": "^0.20.2", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 34a837573e..e33145132c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -16,26 +16,26 @@ importers: version: 0.27.3 viem: specifier: 2.9.19 - version: 2.9.19(typescript@5.4.5)(zod@3.23.8) + version: 2.9.19(typescript@5.4.5)(zod@3.22.4) zod: specifier: ^3.22.4 - version: 3.23.8 + version: 3.22.4 devDependencies: '@graphql-codegen/add': specifier: ^5.0.2 version: 5.0.2(graphql@16.8.1) '@graphql-codegen/cli': specifier: ^5.0.2 - version: 5.0.2(@types/node@20.12.12)(graphql@16.8.1)(typescript@5.4.5) + version: 5.0.2(@types/node@20.12.7)(graphql@16.8.1)(typescript@5.4.5) '@graphql-codegen/typed-document-node': specifier: ^5.0.6 - version: 5.0.7(graphql@16.8.1) + version: 5.0.6(graphql@16.8.1) '@graphql-codegen/typescript': specifier: ^4.0.6 - version: 4.0.7(graphql@16.8.1) + version: 4.0.6(graphql@16.8.1) '@graphql-codegen/typescript-operations': specifier: ^4.2.0 - version: 4.2.1(graphql@16.8.1) + version: 4.2.0(graphql@16.8.1) '@graphql-typed-document-node/core': specifier: ^3.2.0 version: 3.2.0(graphql@16.8.1) @@ -50,16 +50,16 @@ importers: version: 20.1.4 '@types/aws-lambda': specifier: ^8.10.137 - version: 8.10.138 + version: 8.10.137 '@types/jest': specifier: ^29.5.12 version: 29.5.12 '@types/node': specifier: ^20.12.7 - version: 20.12.12 + version: 20.12.7 aws-cdk-lib: - specifier: 2.142.1 - version: 2.142.1(constructs@10.3.0) + specifier: 2.132.1 + version: 2.132.1(constructs@10.3.0) constructs: specifier: 10.3.0 version: 10.3.0 @@ -74,7 +74,7 @@ importers: version: 8.57.0 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.12.12) + version: 29.7.0(@types/node@20.12.7) jest-expect-message: specifier: ^1.1.3 version: 1.1.3 @@ -89,34 +89,34 @@ importers: version: 3.2.5 sst: specifier: ^2.41.5 - version: 2.42.0(@aws-sdk/client-sso-oidc@3.583.0) + version: 2.41.5 ts-jest: specifier: ^29.1.2 - version: 29.1.3(@babel/core@7.24.5)(esbuild@0.20.2)(jest@29.7.0)(typescript@5.4.5) + version: 29.1.2(@babel/core@7.24.4)(esbuild@0.20.2)(jest@29.7.0)(typescript@5.4.5) tsc-alias: specifier: ^1.8.8 - version: 1.8.10 + version: 1.8.8 turbo: specifier: ^1.13.2 - version: 1.13.3 + version: 1.13.2 typescript: specifier: ^5.4.5 version: 5.4.5 zx: specifier: ^8.0.1 - version: 8.1.1 + version: 8.0.1 background-jobs/update-rays-cron-function: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.0.2 - version: 2.1.1 + version: 2.0.4 '@aws-lambda-powertools/metrics': specifier: ^2.0.2 - version: 2.1.1 + version: 2.0.4 '@aws-lambda-powertools/tracer': specifier: ^2.0.2 - version: 2.1.1 + version: 2.0.4 '@summerfi/rays-db': specifier: workspace:* version: link:../../packages/rays-db @@ -131,7 +131,7 @@ importers: version: 0.27.3 zod: specifier: ^3.22.4 - version: 3.23.8 + version: 3.22.4 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -141,25 +141,25 @@ importers: version: link:../../packages/typescript-config '@types/node': specifier: ^20.11.5 - version: 20.12.12 + version: 20.12.7 eslint: specifier: ^8.56.0 version: 8.57.0 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.12.12) + version: 29.7.0(@types/node@20.12.7) external-api/get-collateral-locked-function: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.0.4 - version: 2.1.1 + version: 2.0.4 '@aws-lambda-powertools/metrics': specifier: ^2.0.4 - version: 2.1.1 + version: 2.0.4 '@aws-lambda-powertools/tracer': specifier: ^2.0.4 - version: 2.1.1 + version: 2.0.4 '@summerfi/aave-spark-subgraph': specifier: workspace:* version: link:../../packages/aave-spark-subgraph @@ -177,7 +177,7 @@ importers: version: 9.1.2 zod: specifier: ^3.22.4 - version: 3.23.8 + version: 3.22.4 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -187,19 +187,19 @@ importers: version: link:../../packages/typescript-config '@types/node': specifier: ^20.12.7 - version: 20.12.12 + version: 20.12.7 eslint: specifier: ^8.57.0 version: 8.57.0 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.12.12) + version: 29.7.0(@types/node@20.12.7) packages/aave-spark-subgraph: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.0.4 - version: 2.1.1 + version: 2.0.4 '@summerfi/serverless-shared': specifier: workspace:* version: link:../serverless-shared @@ -215,7 +215,7 @@ importers: version: link:../typescript-config '@types/node': specifier: ^20.12.7 - version: 20.12.12 + version: 20.12.7 eslint: specifier: ^8.57.0 version: 8.57.0 @@ -248,7 +248,7 @@ importers: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.0.4 - version: 2.1.1 + version: 2.0.4 '@summerfi/serverless-shared': specifier: workspace:* version: link:../serverless-shared @@ -264,7 +264,7 @@ importers: version: link:../typescript-config '@types/node': specifier: ^20.12.7 - version: 20.12.12 + version: 20.12.7 eslint: specifier: ^8.57.0 version: 8.57.0 @@ -273,7 +273,7 @@ importers: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.0.4 - version: 2.1.1 + version: 2.0.4 '@summerfi/serverless-shared': specifier: workspace:* version: link:../serverless-shared @@ -289,7 +289,7 @@ importers: version: link:../typescript-config '@types/node': specifier: ^20.12.7 - version: 20.12.12 + version: 20.12.7 eslint: specifier: ^8.57.0 version: 8.57.0 @@ -307,7 +307,7 @@ importers: devDependencies: '@nomicfoundation/hardhat-toolbox-viem': specifier: ^2.0.0 - version: 2.0.0(@nomicfoundation/hardhat-network-helpers@1.0.10)(@nomicfoundation/hardhat-verify@2.0.7)(@nomicfoundation/hardhat-viem@1.0.4)(@types/chai-as-promised@7.1.8)(@types/chai@4.3.16)(@types/mocha@10.0.6)(@types/node@20.12.12)(chai@4.4.1)(hardhat-gas-reporter@1.0.10)(hardhat@2.22.4)(solidity-coverage@0.8.12)(ts-node@10.9.2)(typescript@5.0.4)(viem@1.21.4) + version: 2.0.0(@nomicfoundation/hardhat-network-helpers@1.0.10)(@nomicfoundation/hardhat-verify@2.0.5)(@nomicfoundation/hardhat-viem@1.0.4)(@types/chai-as-promised@7.1.8)(@types/chai@4.3.14)(@types/mocha@10.0.6)(@types/node@20.12.7)(chai@4.4.1)(hardhat-gas-reporter@1.0.10)(hardhat@2.22.2)(solidity-coverage@0.8.12)(ts-node@10.9.2)(typescript@5.0.4)(viem@1.21.4) '@summerfi/eslint-config': specifier: workspace:* version: link:../eslint-config @@ -319,7 +319,7 @@ importers: version: link:../typescript-config hardhat: specifier: ^2.22.2 - version: 2.22.4(ts-node@10.9.2)(typescript@5.0.4) + version: 2.22.2(ts-node@10.9.2)(typescript@5.0.4) packages/core-contracts: devDependencies: @@ -328,7 +328,7 @@ importers: version: 5.7.0 '@nomicfoundation/hardhat-toolbox-viem': specifier: ^2.0.0 - version: 2.0.0(@nomicfoundation/hardhat-network-helpers@1.0.10)(@nomicfoundation/hardhat-verify@2.0.7)(@nomicfoundation/hardhat-viem@1.0.4)(@types/chai-as-promised@7.1.8)(@types/chai@4.3.16)(@types/mocha@10.0.6)(@types/node@20.12.12)(chai@4.4.1)(hardhat-gas-reporter@1.0.10)(hardhat@2.22.4)(solidity-coverage@0.8.12)(ts-node@10.9.2)(typescript@5.0.4)(viem@1.21.4) + version: 2.0.0(@nomicfoundation/hardhat-network-helpers@1.0.10)(@nomicfoundation/hardhat-verify@2.0.5)(@nomicfoundation/hardhat-viem@1.0.4)(@types/chai-as-promised@7.1.8)(@types/chai@4.3.14)(@types/mocha@10.0.6)(@types/node@20.12.7)(chai@4.4.1)(hardhat-gas-reporter@1.0.10)(hardhat@2.22.2)(solidity-coverage@0.8.12)(ts-node@10.9.2)(typescript@5.0.4)(viem@1.21.4) '@openzeppelin/contracts': specifier: 4.9.3 version: 4.9.3 @@ -364,7 +364,7 @@ importers: version: link:../typescript-config hardhat: specifier: ^2.22.2 - version: 2.22.4(ts-node@10.9.2)(typescript@5.0.4) + version: 2.22.2(ts-node@10.9.2)(typescript@5.0.4) packages/defi-llama-client: dependencies: @@ -419,7 +419,7 @@ importers: devDependencies: '@nomicfoundation/hardhat-toolbox-viem': specifier: ^2.0.0 - version: 2.0.0(@nomicfoundation/hardhat-network-helpers@1.0.10)(@nomicfoundation/hardhat-verify@2.0.7)(@nomicfoundation/hardhat-viem@1.0.4)(@types/chai-as-promised@7.1.8)(@types/chai@4.3.16)(@types/mocha@10.0.6)(@types/node@20.12.12)(chai@4.4.1)(hardhat-gas-reporter@1.0.10)(hardhat@2.22.4)(solidity-coverage@0.8.12)(ts-node@10.9.2)(typescript@5.0.4)(viem@1.21.4) + version: 2.0.0(@nomicfoundation/hardhat-network-helpers@1.0.10)(@nomicfoundation/hardhat-verify@2.0.5)(@nomicfoundation/hardhat-viem@1.0.4)(@types/chai-as-promised@7.1.8)(@types/chai@4.3.14)(@types/mocha@10.0.6)(@types/node@20.12.7)(chai@4.4.1)(hardhat-gas-reporter@1.0.10)(hardhat@2.22.2)(solidity-coverage@0.8.12)(ts-node@10.9.2)(typescript@5.0.4)(viem@1.21.4) '@summerfi/common': specifier: workspace:* version: link:../common @@ -437,7 +437,7 @@ importers: version: link:../typescript-config hardhat: specifier: ^2.22.2 - version: 2.22.4(ts-node@10.9.2)(typescript@5.0.4) + version: 2.22.2(ts-node@10.9.2)(typescript@5.0.4) packages/eslint-config: devDependencies: @@ -455,7 +455,7 @@ importers: version: 9.1.0(eslint@8.57.0) eslint-config-turbo: specifier: ^1.13.2 - version: 1.13.3(eslint@8.57.0) + version: 1.13.2(eslint@8.57.0) eslint-import-resolver-typescript: specifier: ^3.6.1 version: 3.6.1(@typescript-eslint/parser@6.21.0)(eslint-plugin-import@2.29.1)(eslint@8.57.0) @@ -464,7 +464,7 @@ importers: version: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) eslint-plugin-unused-imports: specifier: ^3.1.0 - version: 3.2.0(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.57.0) + version: 3.1.0(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.57.0) typescript: specifier: ^5.4.5 version: 5.4.5 @@ -473,7 +473,7 @@ importers: devDependencies: '@nomicfoundation/hardhat-toolbox-viem': specifier: ^2.0.0 - version: 2.0.0(@nomicfoundation/hardhat-network-helpers@1.0.10)(@nomicfoundation/hardhat-verify@2.0.7)(@nomicfoundation/hardhat-viem@1.0.4)(@types/chai-as-promised@7.1.8)(@types/chai@4.3.16)(@types/mocha@10.0.6)(@types/node@20.12.12)(chai@4.4.1)(hardhat-gas-reporter@1.0.10)(hardhat@2.22.4)(solidity-coverage@0.8.12)(ts-node@10.9.2)(typescript@5.0.4)(viem@1.21.4) + version: 2.0.0(@nomicfoundation/hardhat-network-helpers@1.0.10)(@nomicfoundation/hardhat-verify@2.0.5)(@nomicfoundation/hardhat-viem@1.0.4)(@types/chai-as-promised@7.1.8)(@types/chai@4.3.14)(@types/mocha@10.0.6)(@types/node@20.12.7)(chai@4.4.1)(hardhat-gas-reporter@1.0.10)(hardhat@2.22.2)(solidity-coverage@0.8.12)(ts-node@10.9.2)(typescript@5.0.4)(viem@1.21.4) '@summerfi/eslint-config': specifier: workspace:* version: link:../eslint-config @@ -482,13 +482,13 @@ importers: version: link:../typescript-config hardhat: specifier: ^2.22.2 - version: 2.22.4(ts-node@10.9.2)(typescript@5.0.4) + version: 2.22.2(ts-node@10.9.2)(typescript@5.0.4) hardhat-abi-exporter: specifier: ^2.10.1 - version: 2.10.1(hardhat@2.22.4) + version: 2.10.1(hardhat@2.22.2) solidity-docgen: specifier: 0.6.0-beta.36 - version: 0.6.0-beta.36(hardhat@2.22.4) + version: 0.6.0-beta.36(hardhat@2.22.2) packages/jest-config: dependencies: @@ -504,16 +504,16 @@ importers: version: 29.5.12 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.12.12) + version: 29.7.0(@types/node@20.12.7) ts-jest: specifier: ^29.1.2 - version: 29.1.3(@babel/core@7.24.5)(esbuild@0.20.2)(jest@29.7.0)(typescript@5.4.5) + version: 29.1.2(@babel/core@7.24.4)(esbuild@0.20.2)(jest@29.7.0)(typescript@5.4.5) packages/morpho-blue-external-api-client: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.0.4 - version: 2.1.1 + version: 2.0.4 '@summerfi/serverless-shared': specifier: workspace:* version: link:../serverless-shared @@ -529,7 +529,7 @@ importers: version: link:../typescript-config '@types/node': specifier: ^20.12.7 - version: 20.12.12 + version: 20.12.7 eslint: specifier: ^8.57.0 version: 8.57.0 @@ -538,7 +538,7 @@ importers: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.0.4 - version: 2.1.1 + version: 2.0.4 '@summerfi/serverless-shared': specifier: workspace:* version: link:../serverless-shared @@ -554,19 +554,19 @@ importers: version: link:../typescript-config '@types/node': specifier: ^20.12.7 - version: 20.12.12 + version: 20.12.7 eslint: specifier: ^8.57.0 version: 8.57.0 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.12.12) + version: 29.7.0(@types/node@20.12.7) packages/prices-subgraph: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.0.4 - version: 2.1.1 + version: 2.0.4 '@summerfi/serverless-shared': specifier: workspace:* version: link:../serverless-shared @@ -582,7 +582,7 @@ importers: version: link:../typescript-config '@types/node': specifier: ^20.12.7 - version: 20.12.12 + version: 20.12.7 eslint: specifier: ^8.57.0 version: 8.57.0 @@ -619,7 +619,7 @@ importers: version: 0.15.0(kysely@0.27.3)(pg@8.11.5) tsx: specifier: ^4.9.0 - version: 4.11.0 + version: 4.9.3 packages/redis-cache: dependencies: @@ -628,7 +628,7 @@ importers: version: link:../abstractions redis: specifier: ^4.6.13 - version: 4.6.14 + version: 4.6.13 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -644,7 +644,7 @@ importers: dependencies: zod: specifier: ^3.22.4 - version: 3.23.8 + version: 3.22.4 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -654,7 +654,7 @@ importers: version: link:../typescript-config '@types/node': specifier: ^20.12.7 - version: 20.12.12 + version: 20.12.7 eslint: specifier: ^8.57.0 version: 8.57.0 @@ -679,7 +679,7 @@ importers: version: link:../typescript-config '@types/node': specifier: ^20.12.7 - version: 20.12.12 + version: 20.12.7 eslint: specifier: ^8.57.0 version: 8.57.0 @@ -707,16 +707,16 @@ importers: version: link:../typescript-config axios: specifier: ^1.6.8 - version: 1.7.2 + version: 1.6.8 ethers: specifier: ^6.11.1 - version: 6.12.1 + version: 6.11.1 packages/triggers-calculations: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.0.4 - version: 2.1.1 + version: 2.0.4 '@summerfi/abis': specifier: workspace:* version: link:../abis @@ -731,7 +731,7 @@ importers: version: link:../triggers-shared viem: specifier: ^2.9.19 - version: 2.12.1(typescript@5.4.5)(zod@3.23.8) + version: 2.12.0(typescript@5.4.5)(zod@3.22.4) devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -741,13 +741,13 @@ importers: version: link:../typescript-config '@types/node': specifier: ^20.12.7 - version: 20.12.12 + version: 20.12.7 eslint: specifier: ^8.57.0 version: 8.57.0 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.12.12) + version: 29.7.0(@types/node@20.12.7) jest-expect-message: specifier: ^1.1.3 version: 1.1.3 @@ -762,7 +762,7 @@ importers: version: link:../serverless-shared zod: specifier: ^3.22.4 - version: 3.23.8 + version: 3.22.4 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -772,7 +772,7 @@ importers: version: link:../typescript-config '@types/node': specifier: ^20.12.7 - version: 20.12.12 + version: 20.12.7 eslint: specifier: ^8.57.0 version: 8.57.0 @@ -989,7 +989,7 @@ importers: version: 17.0.32 tsx: specifier: ^4.7.2 - version: 4.11.0 + version: 4.7.2 yargs: specifier: ^17.7.2 version: 17.7.2 @@ -1096,7 +1096,7 @@ importers: version: 9.0.1 zod: specifier: ^3.22.4 - version: 3.23.8 + version: 3.22.4 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -1133,7 +1133,7 @@ importers: version: link:../tokens-common abitype: specifier: ^1.0.2 - version: 1.0.2(typescript@5.4.5)(zod@3.23.8) + version: 1.0.2(typescript@5.4.5)(zod@3.22.4) devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -1207,7 +1207,7 @@ importers: version: 11.0.0-next-beta.264 abitype: specifier: ^1.0.2 - version: 1.0.2(typescript@5.4.5)(zod@3.23.8) + version: 1.0.2(typescript@5.4.5)(zod@3.22.4) bignumber.js: specifier: ^9.1.2 version: 9.1.2 @@ -1216,10 +1216,10 @@ importers: version: 1.13.3 viem: specifier: 2.9.19 - version: 2.9.19(typescript@5.4.5)(zod@3.23.8) + version: 2.9.19(typescript@5.4.5)(zod@3.22.4) zod: specifier: ^3.22.4 - version: 3.23.8 + version: 3.22.4 sdk/sdk-common: dependencies: @@ -1250,7 +1250,7 @@ importers: version: 1.13.3 zod: specifier: ^3.22.4 - version: 3.23.8 + version: 3.22.4 sdk/sdk-e2e: devDependencies: @@ -1550,7 +1550,7 @@ importers: version: 17.0.32 tsx: specifier: ^4.7.2 - version: 4.11.0 + version: 4.7.2 yargs: specifier: ^17.7.2 version: 17.7.2 @@ -1622,7 +1622,7 @@ importers: devDependencies: '@morpho-labs/gnosis-tx-builder': specifier: ^2.0.0 - version: 2.0.0(ethers@6.12.1) + version: 2.0.0(ethers@6.11.1) '@summerfi/eslint-config': specifier: workspace:* version: link:../../../packages/eslint-config @@ -1637,7 +1637,7 @@ importers: version: 17.0.32 tsx: specifier: ^4.7.2 - version: 4.11.0 + version: 4.9.3 yargs: specifier: ^17.7.2 version: 17.7.2 @@ -1672,19 +1672,19 @@ importers: version: 8.11.5 tsx: specifier: ^4.8.2 - version: 4.11.0 + version: 4.9.3 summerfi-api/get-apy-function: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.0.2 - version: 2.1.1 + version: 2.0.4 '@aws-lambda-powertools/metrics': specifier: ^2.0.2 - version: 2.1.1 + version: 2.0.4 '@aws-lambda-powertools/tracer': specifier: ^2.0.2 - version: 2.1.1 + version: 2.0.4 '@summerfi/aave-spark-subgraph': specifier: workspace:* version: link:../../packages/aave-spark-subgraph @@ -1708,10 +1708,10 @@ importers: version: link:../../packages/serverless-shared viem: specifier: ^1.19.11 - version: 1.21.4(typescript@5.4.5)(zod@3.23.8) + version: 1.21.4(typescript@5.4.5)(zod@3.22.4) zod: specifier: ^3.22.4 - version: 3.23.8 + version: 3.22.4 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -1721,25 +1721,25 @@ importers: version: link:../../packages/typescript-config '@types/node': specifier: ^20.11.5 - version: 20.12.12 + version: 20.12.7 eslint: specifier: ^8.56.0 version: 8.57.0 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.12.12) + version: 29.7.0(@types/node@20.12.7) summerfi-api/get-meta-morpho-details-function: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.0.4 - version: 2.1.1 + version: 2.0.4 '@aws-lambda-powertools/metrics': specifier: ^2.0.4 - version: 2.1.1 + version: 2.0.4 '@aws-lambda-powertools/tracer': specifier: ^2.0.4 - version: 2.1.1 + version: 2.0.4 '@summerfi/morpho-blue-external-api-client': specifier: workspace:* version: link:../../packages/morpho-blue-external-api-client @@ -1748,13 +1748,13 @@ importers: version: link:../../packages/serverless-shared abitype: specifier: ^1.0.2 - version: 1.0.2(typescript@5.4.5)(zod@3.23.8) + version: 1.0.2(typescript@5.4.5)(zod@3.22.4) viem: specifier: ^1.21.4 - version: 1.21.4(typescript@5.4.5)(zod@3.23.8) + version: 1.21.4(typescript@5.4.5)(zod@3.22.4) zod: specifier: ^3.22.4 - version: 3.23.8 + version: 3.22.4 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -1764,28 +1764,28 @@ importers: version: link:../../packages/typescript-config '@types/node': specifier: ^20.12.7 - version: 20.12.12 + version: 20.12.7 eslint: specifier: ^8.57.0 version: 8.57.0 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.12.12) + version: 29.7.0(@types/node@20.12.7) summerfi-api/get-migrations-function: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.0.4 - version: 2.1.1 + version: 2.0.4 '@aws-lambda-powertools/metrics': specifier: ^2.0.4 - version: 2.1.1 + version: 2.0.4 '@aws-lambda-powertools/tracer': specifier: ^2.0.4 - version: 2.1.1 + version: 2.0.4 '@oasisdex/addresses': specifier: ^0.1.60 - version: 0.1.68 + version: 0.1.60 '@summerfi/serverless-shared': specifier: workspace:* version: link:../../packages/serverless-shared @@ -1794,10 +1794,10 @@ importers: version: 1.1.0(typescript@5.4.5)(viem@1.21.4) viem: specifier: ^1.21.4 - version: 1.21.4(typescript@5.4.5)(zod@3.23.8) + version: 1.21.4(typescript@5.4.5)(zod@3.22.4) zod: specifier: ^3.22.4 - version: 3.23.8 + version: 3.22.4 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -1810,28 +1810,28 @@ importers: version: 29.5.12 '@types/node': specifier: ^20.12.7 - version: 20.12.12 + version: 20.12.7 eslint: specifier: ^8.57.0 version: 8.57.0 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.12.12) + version: 29.7.0(@types/node@20.12.7) ts-jest: specifier: ^29.1.2 - version: 29.1.3(@babel/core@7.24.5)(esbuild@0.20.2)(jest@29.7.0)(typescript@5.4.5) + version: 29.1.2(@babel/core@7.24.4)(esbuild@0.20.2)(jest@29.7.0)(typescript@5.4.5) summerfi-api/get-morpho-claims-function: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.0.4 - version: 2.1.1 + version: 2.0.4 '@aws-lambda-powertools/metrics': specifier: ^2.0.4 - version: 2.1.1 + version: 2.0.4 '@aws-lambda-powertools/tracer': specifier: ^2.0.4 - version: 2.1.1 + version: 2.0.4 '@summerfi/serverless-shared': specifier: workspace:* version: link:../../packages/serverless-shared @@ -1840,7 +1840,7 @@ importers: version: 3.3.2 zod: specifier: ^3.22.4 - version: 3.23.8 + version: 3.22.4 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -1850,25 +1850,25 @@ importers: version: link:../../packages/typescript-config '@types/node': specifier: ^20.12.7 - version: 20.12.12 + version: 20.12.7 eslint: specifier: ^8.57.0 version: 8.57.0 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.12.12) + version: 29.7.0(@types/node@20.12.7) summerfi-api/get-rays-function: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.0.2 - version: 2.1.1 + version: 2.0.4 '@aws-lambda-powertools/metrics': specifier: ^2.0.2 - version: 2.1.1 + version: 2.0.4 '@aws-lambda-powertools/tracer': specifier: ^2.0.2 - version: 2.1.1 + version: 2.0.4 '@summerfi/abstractions': specifier: workspace:* version: link:../../packages/abstractions @@ -1886,7 +1886,7 @@ importers: version: 3.3.2 zod: specifier: ^3.22.4 - version: 3.23.8 + version: 3.22.4 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -1896,25 +1896,25 @@ importers: version: link:../../packages/typescript-config '@types/node': specifier: ^20.11.5 - version: 20.12.12 + version: 20.12.7 eslint: specifier: ^8.56.0 version: 8.57.0 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.12.12) + version: 29.7.0(@types/node@20.12.7) summerfi-api/get-triggers-function: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.0.4 - version: 2.1.1 + version: 2.0.4 '@aws-lambda-powertools/metrics': specifier: ^2.0.4 - version: 2.1.1 + version: 2.0.4 '@aws-lambda-powertools/tracer': specifier: ^2.0.4 - version: 2.1.1 + version: 2.0.4 '@summerfi/automation-subgraph': specifier: workspace:* version: link:../../packages/automation-subgraph @@ -1932,10 +1932,10 @@ importers: version: link:../../packages/triggers-shared viem: specifier: ^2.9.19 - version: 2.12.1(typescript@5.4.5)(zod@3.23.8) + version: 2.12.0(typescript@5.4.5)(zod@3.22.4) zod: specifier: ^3.22.4 - version: 3.23.8 + version: 3.22.4 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -1945,13 +1945,13 @@ importers: version: link:../../packages/typescript-config '@types/node': specifier: ^20.12.7 - version: 20.12.12 + version: 20.12.7 eslint: specifier: ^8.57.0 version: 8.57.0 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.12.12) + version: 29.7.0(@types/node@20.12.7) summerfi-api/portfolio-assets-function: dependencies: @@ -1963,7 +1963,7 @@ importers: version: 3.3.2 zod: specifier: ^3.22.4 - version: 3.23.8 + version: 3.22.4 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -1973,7 +1973,7 @@ importers: version: link:../../packages/typescript-config '@types/node': specifier: ^20.12.7 - version: 20.12.12 + version: 20.12.7 eslint: specifier: ^8.57.0 version: 8.57.0 @@ -1994,7 +1994,7 @@ importers: version: 3.3.2 zod: specifier: ^3.22.4 - version: 3.23.8 + version: 3.22.4 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -2047,13 +2047,13 @@ importers: dependencies: '@aws-lambda-powertools/logger': specifier: ^2.0.4 - version: 2.1.1 + version: 2.0.4 '@aws-lambda-powertools/metrics': specifier: ^2.0.4 - version: 2.1.1 + version: 2.0.4 '@aws-lambda-powertools/tracer': specifier: ^2.0.4 - version: 2.1.1 + version: 2.0.4 '@oasisdex/automation': specifier: 1.6.5-morpho.6 version: 1.6.5-morpho.6 @@ -2086,10 +2086,10 @@ importers: version: 3.3.2 viem: specifier: ^2.9.19 - version: 2.12.1(typescript@5.4.5)(zod@3.23.8) + version: 2.12.0(typescript@5.4.5)(zod@3.22.4) zod: specifier: ^3.22.4 - version: 3.23.8 + version: 3.22.4 devDependencies: '@summerfi/eslint-config': specifier: workspace:* @@ -2102,13 +2102,13 @@ importers: version: 29.5.12 '@types/node': specifier: ^20.12.7 - version: 20.12.12 + version: 20.12.7 eslint: specifier: ^8.57.0 version: 8.57.0 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.12.12) + version: 29.7.0(@types/node@20.12.7) jest-expect-message: specifier: ^1.1.3 version: 1.1.3 @@ -2127,6 +2127,11 @@ importers: packages: + /@aashutoshrathi/word-wrap@1.2.6: + resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} + engines: {node: '>=0.10.0'} + dev: true + /@adraffy/ens-normalize@1.10.0: resolution: {integrity: sha512-nA9XHtlAkYfJxY7bce8DcN7eKxWWCWkU+1GR9d+U6MbNpfwQp8TI7vqOsBsMcHoT4mBu2kypKoSKnghEzOOq5Q==} @@ -2156,13 +2161,13 @@ packages: peerDependencies: graphql: '*' dependencies: - '@babel/core': 7.24.5 - '@babel/generator': 7.24.5 - '@babel/parser': 7.24.5 - '@babel/runtime': 7.24.5 - '@babel/traverse': 7.24.5 - '@babel/types': 7.24.5 - babel-preset-fbjs: 3.4.0(@babel/core@7.24.5) + '@babel/core': 7.24.4 + '@babel/generator': 7.24.4 + '@babel/parser': 7.24.4 + '@babel/runtime': 7.24.4 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 + babel-preset-fbjs: 3.4.0(@babel/core@7.24.4) chalk: 4.1.2 fb-watchman: 2.0.2 fbjs: 3.0.5 @@ -2200,38 +2205,41 @@ packages: resolution: {integrity: sha512-twhuEG+JPOYCYPx/xy5uH2+VUsIEhPTzDY0F1KuB+ocjWWB/KEDiOVL19nHvbPCB6fhWnkykXEMJ4HHcKvjtvg==} dev: true - /@aws-cdk/aws-lambda-python-alpha@2.142.1-alpha.0(aws-cdk-lib@2.142.1)(constructs@10.3.0): - resolution: {integrity: sha512-XknR1To5RJbMWR92h3VCOA+DaKnjLDgKSNrWVAdbqkrnlpB1zygWFSXQQeV38f8ySkCwbt8NaUw2Mhi3Z6w+Eg==} + /@aws-cdk/aws-lambda-python-alpha@2.132.1-alpha.0(aws-cdk-lib@2.132.1)(constructs@10.3.0): + resolution: {integrity: sha512-YZNLRw4Yhxt615RfC2kzuvp6/7HdU6RQZHlz3+Cb1VGMcFFdKJhKB/TrMx7xNq2NMwp9CDgasLkdxYuF8Nmd4A==} engines: {node: '>= 14.15.0'} peerDependencies: - aws-cdk-lib: ^2.142.1 + aws-cdk-lib: ^2.132.1 constructs: ^10.0.0 dependencies: - aws-cdk-lib: 2.142.1(constructs@10.3.0) + aws-cdk-lib: 2.132.1(constructs@10.3.0) constructs: 10.3.0 dev: true - /@aws-cdk/aws-service-spec@0.1.3: - resolution: {integrity: sha512-nYgOQ7M6GShdidYDy1y0hDZew3Nle+DSS86MLJ5WxmQZKv92RdtPigHoH8sBfV+3AeJZJg+cCMm8RP0+07wctQ==} + /@aws-cdk/aws-service-spec@0.0.52: + resolution: {integrity: sha512-SJA4xtG2y5NpTmtKtFNbrYh6BaFgKEcr7ye8N+S4H3KByXIa0NLOh5bPTVBjvyXiRPDJ9q39Xu433vxC3BsDhg==} dependencies: - '@aws-cdk/service-spec-types': 0.0.71 + '@aws-cdk/service-spec-types': 0.0.52 '@cdklabs/tskb': 0.0.3 dev: true - /@aws-cdk/cloud-assembly-schema@2.142.1: - resolution: {integrity: sha512-qXPblguf9+24YFZz8vECeB5NIXoghiokeQjSXYvZNS5VS+YhqvFSoN+YIu/aoJFfAiMsbamI2CW2Z8xs3qUtiQ==} + /@aws-cdk/cloud-assembly-schema@2.132.1: + resolution: {integrity: sha512-PAusB9kKT9CELzbj8x5G3BpFl6Wjwk5ULn+8/uP21MIygWmAcktzOD2CVzkxMvljT7qU4KN1GEDCZXVqLzzomg==} engines: {node: '>= 14.15.0'} + dependencies: + jsonschema: 1.4.1 + semver: 7.6.0 dev: true bundledDependencies: - jsonschema - semver - /@aws-cdk/cloudformation-diff@2.142.1: - resolution: {integrity: sha512-32tadRx2vzSLUk/5XDpHAxlXCDay0IpnrorTGk2svZDUgySSQoQjv5MA5B0P/1rQJ2ZOpurOIuneBwl6GLlUUg==} + /@aws-cdk/cloudformation-diff@2.132.1: + resolution: {integrity: sha512-h93B/VC4lujT9gjeSgUCg3XaypDyydvggbpJ0jCbl2kagDK90SHInZm5yscPNof+FpT8Igvn+5yEUOLVnfFYYg==} engines: {node: '>= 14.15.0'} dependencies: - '@aws-cdk/aws-service-spec': 0.1.3 - '@aws-cdk/service-spec-types': 0.0.69 + '@aws-cdk/aws-service-spec': 0.0.52 + '@aws-cdk/service-spec-types': 0.0.52 chalk: 4.1.2 diff: 5.2.0 fast-deep-equal: 3.1.3 @@ -2239,25 +2247,20 @@ packages: table: 6.8.2 dev: true - /@aws-cdk/cx-api@2.142.1(@aws-cdk/cloud-assembly-schema@2.142.1): - resolution: {integrity: sha512-bj9cF8dkikv0LzH+aq0yan0BYDOrUsnTTTjSorC0oCJTzTfxo2hXGNGlP6nEfZr09Ws7tUemqPoHASgItzPHUA==} + /@aws-cdk/cx-api@2.132.1(@aws-cdk/cloud-assembly-schema@2.132.1): + resolution: {integrity: sha512-JWf9Xou9vtO7wMyDKvcbigjGLY6kPS31cYc+e+dJSMsCxWEbvpEdndAJOU7y9Y8/99SnvihYxEbgbpWGwcK/Xg==} engines: {node: '>= 14.15.0'} peerDependencies: - '@aws-cdk/cloud-assembly-schema': 2.142.1 + '@aws-cdk/cloud-assembly-schema': 2.132.1 dependencies: - '@aws-cdk/cloud-assembly-schema': 2.142.1 + '@aws-cdk/cloud-assembly-schema': 2.132.1 + semver: 7.6.0 dev: true bundledDependencies: - semver - /@aws-cdk/service-spec-types@0.0.69: - resolution: {integrity: sha512-bYCdtU5ZGfYJyKsh25ILzdtXyC4poB64k9oQ1p8EeRngnh6TlxObO/J+sI1CDvOpGoa+BUzCdAhewIkdMjzl5A==} - dependencies: - '@cdklabs/tskb': 0.0.3 - dev: true - - /@aws-cdk/service-spec-types@0.0.71: - resolution: {integrity: sha512-HVs2BhcuWZNeF0CoJ8lRhHMD27h5D+dPvqjKgbF3NYWJW3lmdYueASRWTaZnLcND51c/Ar/ZXpXvv0kd6Wj5RQ==} + /@aws-cdk/service-spec-types@0.0.52: + resolution: {integrity: sha512-vVoZPgEmkUPeTVJSQ9iyXTiwnb6GiBbntJdnsWTr6I9ao66TuU9HijEcAQHxkC7CxTkian+3KSX/NTl01Klm0A==} dependencies: '@cdklabs/tskb': 0.0.3 dev: true @@ -2266,7 +2269,7 @@ packages: resolution: {integrity: sha512-IzSgsrxUcsrejQbPVilIKy16kAT52EwB6zSaI+M3xxIhKh5+aldEyvI+z6erM7TCLB2BJsFrtHjp6/4/sr+3dA==} dependencies: '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.577.0 + '@aws-sdk/types': 3.567.0 tslib: 1.14.1 dev: true @@ -2274,7 +2277,7 @@ packages: resolution: {integrity: sha512-ENNPPManmnVJ4BTXlOjAgD7URidbAznURqD0KvfREyc4o20DPYdEldU1f5cQ7Jbj0CJJSPaMIk/9ZshdB3210w==} dependencies: '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.577.0 + '@aws-sdk/types': 3.567.0 tslib: 1.14.1 dev: true @@ -2290,8 +2293,8 @@ packages: '@aws-crypto/ie11-detection': 3.0.0 '@aws-crypto/supports-web-crypto': 3.0.0 '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.577.0 - '@aws-sdk/util-locate-window': 3.568.0 + '@aws-sdk/types': 3.567.0 + '@aws-sdk/util-locate-window': 3.535.0 '@aws-sdk/util-utf8-browser': 3.259.0 tslib: 1.14.1 dev: true @@ -2303,8 +2306,8 @@ packages: '@aws-crypto/sha256-js': 3.0.0 '@aws-crypto/supports-web-crypto': 3.0.0 '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.577.0 - '@aws-sdk/util-locate-window': 3.568.0 + '@aws-sdk/types': 3.567.0 + '@aws-sdk/util-locate-window': 3.535.0 '@aws-sdk/util-utf8-browser': 3.259.0 tslib: 1.14.1 dev: true @@ -2313,7 +2316,7 @@ packages: resolution: {integrity: sha512-PnNN7os0+yd1XvXAy23CFOmTbMaDxgxXtTKHybrJ39Y8kGzBATgBFibWJKH6BhytLI/Zyszs87xCOBNyBig6vQ==} dependencies: '@aws-crypto/util': 3.0.0 - '@aws-sdk/types': 3.577.0 + '@aws-sdk/types': 3.567.0 tslib: 1.14.1 dev: true @@ -2322,7 +2325,7 @@ packages: engines: {node: '>=16.0.0'} dependencies: '@aws-crypto/util': 5.2.0 - '@aws-sdk/types': 3.577.0 + '@aws-sdk/types': 3.567.0 tslib: 2.6.2 dev: true @@ -2335,7 +2338,7 @@ packages: /@aws-crypto/util@3.0.0: resolution: {integrity: sha512-2OJlpeJpCR48CC8r+uKVChzs9Iungj9wkZrl8Z041DWEWvyIHILYKCPNzJghKsivj+S3mLo6BVc7mBNzdxA46w==} dependencies: - '@aws-sdk/types': 3.577.0 + '@aws-sdk/types': 3.567.0 '@aws-sdk/util-utf8-browser': 3.259.0 tslib: 1.14.1 dev: true @@ -2343,7 +2346,7 @@ packages: /@aws-crypto/util@5.2.0: resolution: {integrity: sha512-4RkU9EsI6ZpBve5fseQlGNUWKMa1RLPQ1dnjnQoe07ldfIzcsGb5hC5W0Dm7u423KWzawlrpbjXBrXCEv9zazQ==} dependencies: - '@aws-sdk/types': 3.577.0 + '@aws-sdk/types': 3.567.0 '@smithy/util-utf8': 2.3.0 tslib: 2.6.2 dev: true @@ -2352,8 +2355,8 @@ packages: resolution: {integrity: sha512-gFRgQ2GJDghKvf+fXvT0kQVftgOT05W+hCa7RkfZj6HSjVAO+9DZZeJL3JK1HcsLAjWRj7W9ra0/MqB3Abf+PQ==} dev: false - /@aws-lambda-powertools/commons@2.1.1: - resolution: {integrity: sha512-QlvZLVJM4yXlO6mpYlYwWGaLCZTJg8WfsIH8/eT061n4BdBljW/VHMj59sHp/IljQn8HE/VdHKYHqM6vPJjYJw==} + /@aws-lambda-powertools/commons@2.0.4: + resolution: {integrity: sha512-6tH27airGDbK+hNltrb33qdsbbrql34KcSBLmKnZYGZam7nWc5giTEtDh1Zyw2N3bQ0BnZ6SahgO9eY46WaiRA==} dev: false /@aws-lambda-powertools/logger@1.18.1: @@ -2368,15 +2371,15 @@ packages: lodash.merge: 4.6.2 dev: false - /@aws-lambda-powertools/logger@2.1.1: - resolution: {integrity: sha512-OB/ycDef8VD4OpGZcte2dxkdNWQCSxjRu8OJ2nuizh7auqZMI5LX8PYoIBEBRQC138CeJBtKKCwjSi+NOFMY1w==} + /@aws-lambda-powertools/logger@2.0.4: + resolution: {integrity: sha512-KzBw7oUtSTKxY5Ulck4ZKelr4jX3erhlcuscvihZvu4OJv5TdZ1GrIT+wkySaLp8nKidOHjhTJAlNXCFjNiINQ==} peerDependencies: '@middy/core': '>=3.x' peerDependenciesMeta: '@middy/core': optional: true dependencies: - '@aws-lambda-powertools/commons': 2.1.1 + '@aws-lambda-powertools/commons': 2.0.4 lodash.merge: 4.6.2 dev: false @@ -2391,15 +2394,15 @@ packages: '@aws-lambda-powertools/commons': 1.18.1 dev: false - /@aws-lambda-powertools/metrics@2.1.1: - resolution: {integrity: sha512-8UnM7O0G3ZJ7715uiMFIIYFFU9qa/9uzRTxaDxa1veZYU2SElxPlfkYpXzFCzvRAPkTQ8jlAEFZ/qZNNC/janA==} + /@aws-lambda-powertools/metrics@2.0.4: + resolution: {integrity: sha512-w9kaRtqH1xPe2SLny5hF1z2c2rQDlgYtbVGm0YtQ48nIxHMNh+yV8dLd4o7fdjl2p6yuhXlHCiD+HoMi5aOPCg==} peerDependencies: '@middy/core': '>=3.x' peerDependenciesMeta: '@middy/core': optional: true dependencies: - '@aws-lambda-powertools/commons': 2.1.1 + '@aws-lambda-powertools/commons': 2.0.4 dev: false /@aws-lambda-powertools/tracer@1.18.1: @@ -2414,726 +2417,861 @@ packages: aws-xray-sdk-core: 3.6.0 dev: false - /@aws-lambda-powertools/tracer@2.1.1: - resolution: {integrity: sha512-gL7w5GqMEIFl6E+UOI470Ip/1S9rqFvq4GQz5TuW4fR2vPIsWI/b+O1R5PaSy2Hfpqp1CMUJBX6qAfQOPEPwPw==} + /@aws-lambda-powertools/tracer@2.0.4: + resolution: {integrity: sha512-Alc/oy8JnEMlM33zYVuiutyYjxen10AaOdKBuwyxwzCJPpkwO5ks+6RxLBTHjFVrvCt7CwPd9G1lDvruDvcxKQ==} peerDependencies: '@middy/core': '>=3.x' peerDependenciesMeta: '@middy/core': optional: true dependencies: - '@aws-lambda-powertools/commons': 2.1.1 + '@aws-lambda-powertools/commons': 2.0.4 aws-xray-sdk-core: 3.6.0 dev: false - /@aws-sdk/client-cloudformation@3.583.0: - resolution: {integrity: sha512-jMuxCtJq85I+sXkxS07tGJvJsDb12TFjKCTaR5Q6ucMfmSng9nPSwclkOiCO2xscWUHV4OEHreIDpkB3nz4tGg==} - engines: {node: '>=16.0.0'} + /@aws-sdk/client-cloudformation@3.555.0: + resolution: {integrity: sha512-gm+qteiSwG/Y25lrIdjiP/GQkYSCdxhTAcHHUGmC85pDTLRsZbTXUm79rhvT3SfoLX3/Hh4JHoVSiFL+wxKeww==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sso-oidc': 3.583.0(@aws-sdk/client-sts@3.583.0) - '@aws-sdk/client-sts': 3.583.0 - '@aws-sdk/core': 3.582.0 - '@aws-sdk/credential-provider-node': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0)(@aws-sdk/client-sts@3.583.0) - '@aws-sdk/middleware-host-header': 3.577.0 - '@aws-sdk/middleware-logger': 3.577.0 - '@aws-sdk/middleware-recursion-detection': 3.577.0 - '@aws-sdk/middleware-user-agent': 3.583.0 - '@aws-sdk/region-config-resolver': 3.577.0 - '@aws-sdk/types': 3.577.0 - '@aws-sdk/util-endpoints': 3.583.0 - '@aws-sdk/util-user-agent-browser': 3.577.0 - '@aws-sdk/util-user-agent-node': 3.577.0(aws-crt@1.21.2) - '@smithy/config-resolver': 3.0.0 - '@smithy/core': 2.0.1 - '@smithy/fetch-http-handler': 3.0.1 - '@smithy/hash-node': 3.0.0 - '@smithy/invalid-dependency': 3.0.0 - '@smithy/middleware-content-length': 3.0.0 - '@smithy/middleware-endpoint': 3.0.0 - '@smithy/middleware-retry': 3.0.1 - '@smithy/middleware-serde': 3.0.0 - '@smithy/middleware-stack': 3.0.0 - '@smithy/node-config-provider': 3.0.0 - '@smithy/node-http-handler': 3.0.0 - '@smithy/protocol-http': 4.0.0 - '@smithy/smithy-client': 3.0.1 - '@smithy/types': 3.0.0 - '@smithy/url-parser': 3.0.0 - '@smithy/util-base64': 3.0.0 - '@smithy/util-body-length-browser': 3.0.0 - '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.1 - '@smithy/util-defaults-mode-node': 3.0.1 - '@smithy/util-endpoints': 2.0.0 - '@smithy/util-middleware': 3.0.0 - '@smithy/util-retry': 3.0.0 - '@smithy/util-utf8': 3.0.0 - '@smithy/util-waiter': 3.0.0 + '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) + '@aws-sdk/core': 3.554.0 + '@aws-sdk/credential-provider-node': 3.554.0 + '@aws-sdk/middleware-host-header': 3.535.0 + '@aws-sdk/middleware-logger': 3.535.0 + '@aws-sdk/middleware-recursion-detection': 3.535.0 + '@aws-sdk/middleware-user-agent': 3.540.0 + '@aws-sdk/region-config-resolver': 3.535.0 + '@aws-sdk/types': 3.535.0 + '@aws-sdk/util-endpoints': 3.540.0 + '@aws-sdk/util-user-agent-browser': 3.535.0 + '@aws-sdk/util-user-agent-node': 3.535.0(aws-crt@1.21.2) + '@smithy/config-resolver': 2.2.0 + '@smithy/core': 1.4.2 + '@smithy/fetch-http-handler': 2.5.0 + '@smithy/hash-node': 2.2.0 + '@smithy/invalid-dependency': 2.2.0 + '@smithy/middleware-content-length': 2.2.0 + '@smithy/middleware-endpoint': 2.5.1 + '@smithy/middleware-retry': 2.3.1 + '@smithy/middleware-serde': 2.3.0 + '@smithy/middleware-stack': 2.2.0 + '@smithy/node-config-provider': 2.3.0 + '@smithy/node-http-handler': 2.5.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/smithy-client': 2.5.1 + '@smithy/types': 2.12.0 + '@smithy/url-parser': 2.2.0 + '@smithy/util-base64': 2.3.0 + '@smithy/util-body-length-browser': 2.2.0 + '@smithy/util-body-length-node': 2.3.0 + '@smithy/util-defaults-mode-browser': 2.2.1 + '@smithy/util-defaults-mode-node': 2.3.1 + '@smithy/util-endpoints': 1.2.0 + '@smithy/util-middleware': 2.2.0 + '@smithy/util-retry': 2.2.0 + '@smithy/util-utf8': 2.3.0 + '@smithy/util-waiter': 2.2.0 tslib: 2.6.2 uuid: 9.0.1 transitivePeerDependencies: - aws-crt dev: true - /@aws-sdk/client-cognito-identity@3.583.0: - resolution: {integrity: sha512-FrkVjrDRsXofw1F/iJqR/DOKPbIakIB+Dr04l25Em4PTWBj29NcQyYW49qcCHF0CPkqQpin8ASXDWzGv7A0yxg==} - engines: {node: '>=16.0.0'} + /@aws-sdk/client-cognito-identity@3.554.0: + resolution: {integrity: sha512-/rFufn75nrCj5gTpTLIlDxjGoPeAj+gC3JLVqS2Tlpqx3YhqHiz+jYaHYJbkvrcLMEdDFqaoO3DI7y/GcD59Mg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sso-oidc': 3.583.0(@aws-sdk/client-sts@3.583.0) - '@aws-sdk/client-sts': 3.583.0 - '@aws-sdk/core': 3.582.0 - '@aws-sdk/credential-provider-node': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0)(@aws-sdk/client-sts@3.583.0) - '@aws-sdk/middleware-host-header': 3.577.0 - '@aws-sdk/middleware-logger': 3.577.0 - '@aws-sdk/middleware-recursion-detection': 3.577.0 - '@aws-sdk/middleware-user-agent': 3.583.0 - '@aws-sdk/region-config-resolver': 3.577.0 - '@aws-sdk/types': 3.577.0 - '@aws-sdk/util-endpoints': 3.583.0 - '@aws-sdk/util-user-agent-browser': 3.577.0 - '@aws-sdk/util-user-agent-node': 3.577.0(aws-crt@1.21.2) - '@smithy/config-resolver': 3.0.0 - '@smithy/core': 2.0.1 - '@smithy/fetch-http-handler': 3.0.1 - '@smithy/hash-node': 3.0.0 - '@smithy/invalid-dependency': 3.0.0 - '@smithy/middleware-content-length': 3.0.0 - '@smithy/middleware-endpoint': 3.0.0 - '@smithy/middleware-retry': 3.0.1 - '@smithy/middleware-serde': 3.0.0 - '@smithy/middleware-stack': 3.0.0 - '@smithy/node-config-provider': 3.0.0 - '@smithy/node-http-handler': 3.0.0 - '@smithy/protocol-http': 4.0.0 - '@smithy/smithy-client': 3.0.1 - '@smithy/types': 3.0.0 - '@smithy/url-parser': 3.0.0 - '@smithy/util-base64': 3.0.0 - '@smithy/util-body-length-browser': 3.0.0 - '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.1 - '@smithy/util-defaults-mode-node': 3.0.1 - '@smithy/util-endpoints': 2.0.0 - '@smithy/util-middleware': 3.0.0 - '@smithy/util-retry': 3.0.0 - '@smithy/util-utf8': 3.0.0 + '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) + '@aws-sdk/core': 3.554.0 + '@aws-sdk/credential-provider-node': 3.554.0 + '@aws-sdk/middleware-host-header': 3.535.0 + '@aws-sdk/middleware-logger': 3.535.0 + '@aws-sdk/middleware-recursion-detection': 3.535.0 + '@aws-sdk/middleware-user-agent': 3.540.0 + '@aws-sdk/region-config-resolver': 3.535.0 + '@aws-sdk/types': 3.535.0 + '@aws-sdk/util-endpoints': 3.540.0 + '@aws-sdk/util-user-agent-browser': 3.535.0 + '@aws-sdk/util-user-agent-node': 3.535.0(aws-crt@1.21.2) + '@smithy/config-resolver': 2.2.0 + '@smithy/core': 1.4.2 + '@smithy/fetch-http-handler': 2.5.0 + '@smithy/hash-node': 2.2.0 + '@smithy/invalid-dependency': 2.2.0 + '@smithy/middleware-content-length': 2.2.0 + '@smithy/middleware-endpoint': 2.5.1 + '@smithy/middleware-retry': 2.3.1 + '@smithy/middleware-serde': 2.3.0 + '@smithy/middleware-stack': 2.2.0 + '@smithy/node-config-provider': 2.3.0 + '@smithy/node-http-handler': 2.5.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/smithy-client': 2.5.1 + '@smithy/types': 2.12.0 + '@smithy/url-parser': 2.2.0 + '@smithy/util-base64': 2.3.0 + '@smithy/util-body-length-browser': 2.2.0 + '@smithy/util-body-length-node': 2.3.0 + '@smithy/util-defaults-mode-browser': 2.2.1 + '@smithy/util-defaults-mode-node': 2.3.1 + '@smithy/util-endpoints': 1.2.0 + '@smithy/util-middleware': 2.2.0 + '@smithy/util-retry': 2.2.0 + '@smithy/util-utf8': 2.3.0 tslib: 2.6.2 transitivePeerDependencies: - aws-crt dev: true - /@aws-sdk/client-ecs@3.583.0: - resolution: {integrity: sha512-+5cqkD2xyLe+WdE4Vfy4XdTqdMF5UWyYijufJpN6tq6Cg/UpYOCcxWUERmn7kTtBuYW8YYquihQsjsxukivxtQ==} - engines: {node: '>=16.0.0'} + /@aws-sdk/client-ecs@3.554.0: + resolution: {integrity: sha512-JyGbk0ulTtz8rjvVCWKqf+1Lobk6TDB+bPpfhMa3Z+ACyNsS+qU3W+XcDUXkgn+VGFd+nMfFoJOotSsT03ilFw==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sso-oidc': 3.583.0(@aws-sdk/client-sts@3.583.0) - '@aws-sdk/client-sts': 3.583.0 - '@aws-sdk/core': 3.582.0 - '@aws-sdk/credential-provider-node': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0)(@aws-sdk/client-sts@3.583.0) - '@aws-sdk/middleware-host-header': 3.577.0 - '@aws-sdk/middleware-logger': 3.577.0 - '@aws-sdk/middleware-recursion-detection': 3.577.0 - '@aws-sdk/middleware-user-agent': 3.583.0 - '@aws-sdk/region-config-resolver': 3.577.0 - '@aws-sdk/types': 3.577.0 - '@aws-sdk/util-endpoints': 3.583.0 - '@aws-sdk/util-user-agent-browser': 3.577.0 - '@aws-sdk/util-user-agent-node': 3.577.0(aws-crt@1.21.2) - '@smithy/config-resolver': 3.0.0 - '@smithy/core': 2.0.1 - '@smithy/fetch-http-handler': 3.0.1 - '@smithy/hash-node': 3.0.0 - '@smithy/invalid-dependency': 3.0.0 - '@smithy/middleware-content-length': 3.0.0 - '@smithy/middleware-endpoint': 3.0.0 - '@smithy/middleware-retry': 3.0.1 - '@smithy/middleware-serde': 3.0.0 - '@smithy/middleware-stack': 3.0.0 - '@smithy/node-config-provider': 3.0.0 - '@smithy/node-http-handler': 3.0.0 - '@smithy/protocol-http': 4.0.0 - '@smithy/smithy-client': 3.0.1 - '@smithy/types': 3.0.0 - '@smithy/url-parser': 3.0.0 - '@smithy/util-base64': 3.0.0 - '@smithy/util-body-length-browser': 3.0.0 - '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.1 - '@smithy/util-defaults-mode-node': 3.0.1 - '@smithy/util-endpoints': 2.0.0 - '@smithy/util-middleware': 3.0.0 - '@smithy/util-retry': 3.0.0 - '@smithy/util-utf8': 3.0.0 - '@smithy/util-waiter': 3.0.0 + '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) + '@aws-sdk/core': 3.554.0 + '@aws-sdk/credential-provider-node': 3.554.0 + '@aws-sdk/middleware-host-header': 3.535.0 + '@aws-sdk/middleware-logger': 3.535.0 + '@aws-sdk/middleware-recursion-detection': 3.535.0 + '@aws-sdk/middleware-user-agent': 3.540.0 + '@aws-sdk/region-config-resolver': 3.535.0 + '@aws-sdk/types': 3.535.0 + '@aws-sdk/util-endpoints': 3.540.0 + '@aws-sdk/util-user-agent-browser': 3.535.0 + '@aws-sdk/util-user-agent-node': 3.535.0(aws-crt@1.21.2) + '@smithy/config-resolver': 2.2.0 + '@smithy/core': 1.4.2 + '@smithy/fetch-http-handler': 2.5.0 + '@smithy/hash-node': 2.2.0 + '@smithy/invalid-dependency': 2.2.0 + '@smithy/middleware-content-length': 2.2.0 + '@smithy/middleware-endpoint': 2.5.1 + '@smithy/middleware-retry': 2.3.1 + '@smithy/middleware-serde': 2.3.0 + '@smithy/middleware-stack': 2.2.0 + '@smithy/node-config-provider': 2.3.0 + '@smithy/node-http-handler': 2.5.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/smithy-client': 2.5.1 + '@smithy/types': 2.12.0 + '@smithy/url-parser': 2.2.0 + '@smithy/util-base64': 2.3.0 + '@smithy/util-body-length-browser': 2.2.0 + '@smithy/util-body-length-node': 2.3.0 + '@smithy/util-defaults-mode-browser': 2.2.1 + '@smithy/util-defaults-mode-node': 2.3.1 + '@smithy/util-endpoints': 1.2.0 + '@smithy/util-middleware': 2.2.0 + '@smithy/util-retry': 2.2.0 + '@smithy/util-utf8': 2.3.0 + '@smithy/util-waiter': 2.2.0 tslib: 2.6.2 uuid: 9.0.1 transitivePeerDependencies: - aws-crt dev: true - /@aws-sdk/client-eventbridge@3.583.0: - resolution: {integrity: sha512-gapotdKrfVN6r4muSEXk+oqThVJuAssDDarMoAY7gg78knQPaGPm3S5/+5r31IULZsp7jSIwV9N8O8QagLow6Q==} - engines: {node: '>=16.0.0'} + /@aws-sdk/client-eventbridge@3.554.0: + resolution: {integrity: sha512-rO5jYUaYsHFmjfXkgtCN1Tb3O9Or0ro61f6vzZB/+XLZvgTSP8OLJcH+1BHMj26L2ntuTkZ4zPikO+2Bg4urDg==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sso-oidc': 3.583.0(@aws-sdk/client-sts@3.583.0) - '@aws-sdk/client-sts': 3.583.0 - '@aws-sdk/core': 3.582.0 - '@aws-sdk/credential-provider-node': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0)(@aws-sdk/client-sts@3.583.0) - '@aws-sdk/middleware-host-header': 3.577.0 - '@aws-sdk/middleware-logger': 3.577.0 - '@aws-sdk/middleware-recursion-detection': 3.577.0 - '@aws-sdk/middleware-signing': 3.577.0 - '@aws-sdk/middleware-user-agent': 3.583.0 - '@aws-sdk/region-config-resolver': 3.577.0 - '@aws-sdk/signature-v4-multi-region': 3.582.0 - '@aws-sdk/types': 3.577.0 - '@aws-sdk/util-endpoints': 3.583.0 - '@aws-sdk/util-user-agent-browser': 3.577.0 - '@aws-sdk/util-user-agent-node': 3.577.0(aws-crt@1.21.2) - '@smithy/config-resolver': 3.0.0 - '@smithy/fetch-http-handler': 3.0.1 - '@smithy/hash-node': 3.0.0 - '@smithy/invalid-dependency': 3.0.0 - '@smithy/middleware-content-length': 3.0.0 - '@smithy/middleware-endpoint': 3.0.0 - '@smithy/middleware-retry': 3.0.1 - '@smithy/middleware-serde': 3.0.0 - '@smithy/middleware-stack': 3.0.0 - '@smithy/node-config-provider': 3.0.0 - '@smithy/node-http-handler': 3.0.0 - '@smithy/protocol-http': 4.0.0 - '@smithy/smithy-client': 3.0.1 - '@smithy/types': 3.0.0 - '@smithy/url-parser': 3.0.0 - '@smithy/util-base64': 3.0.0 - '@smithy/util-body-length-browser': 3.0.0 - '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.1 - '@smithy/util-defaults-mode-node': 3.0.1 - '@smithy/util-endpoints': 2.0.0 - '@smithy/util-retry': 3.0.0 - '@smithy/util-utf8': 3.0.0 + '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) + '@aws-sdk/core': 3.554.0 + '@aws-sdk/credential-provider-node': 3.554.0 + '@aws-sdk/middleware-host-header': 3.535.0 + '@aws-sdk/middleware-logger': 3.535.0 + '@aws-sdk/middleware-recursion-detection': 3.535.0 + '@aws-sdk/middleware-signing': 3.552.0 + '@aws-sdk/middleware-user-agent': 3.540.0 + '@aws-sdk/region-config-resolver': 3.535.0 + '@aws-sdk/signature-v4-multi-region': 3.552.0 + '@aws-sdk/types': 3.535.0 + '@aws-sdk/util-endpoints': 3.540.0 + '@aws-sdk/util-user-agent-browser': 3.535.0 + '@aws-sdk/util-user-agent-node': 3.535.0(aws-crt@1.21.2) + '@smithy/config-resolver': 2.2.0 + '@smithy/fetch-http-handler': 2.5.0 + '@smithy/hash-node': 2.2.0 + '@smithy/invalid-dependency': 2.2.0 + '@smithy/middleware-content-length': 2.2.0 + '@smithy/middleware-endpoint': 2.5.1 + '@smithy/middleware-retry': 2.3.1 + '@smithy/middleware-serde': 2.3.0 + '@smithy/middleware-stack': 2.2.0 + '@smithy/node-config-provider': 2.3.0 + '@smithy/node-http-handler': 2.5.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/smithy-client': 2.5.1 + '@smithy/types': 2.12.0 + '@smithy/url-parser': 2.2.0 + '@smithy/util-base64': 2.3.0 + '@smithy/util-body-length-browser': 2.2.0 + '@smithy/util-body-length-node': 2.3.0 + '@smithy/util-defaults-mode-browser': 2.2.1 + '@smithy/util-defaults-mode-node': 2.3.1 + '@smithy/util-endpoints': 1.2.0 + '@smithy/util-retry': 2.2.0 + '@smithy/util-utf8': 2.3.0 tslib: 2.6.2 transitivePeerDependencies: - aws-crt dev: true - /@aws-sdk/client-iam@3.583.0: - resolution: {integrity: sha512-EA6TTpN3Tkn7C16afyJpKvUrqmz0rJQKEBc/Baf3JMWfFkDYbM7DSW7WbDneebAAHucxIra1UKvzcHlJcwIHng==} - engines: {node: '>=16.0.0'} + /@aws-sdk/client-iam@3.554.0: + resolution: {integrity: sha512-Q+8PTBdZ1e3hzWRZGnIE5P+7jbxQx9Gas3ayOfzdHx538apqk4z8+Q4PoymECttPSPwv1KoYphFZvRyH7lrDKA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sso-oidc': 3.583.0(@aws-sdk/client-sts@3.583.0) - '@aws-sdk/client-sts': 3.583.0 - '@aws-sdk/core': 3.582.0 - '@aws-sdk/credential-provider-node': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0)(@aws-sdk/client-sts@3.583.0) - '@aws-sdk/middleware-host-header': 3.577.0 - '@aws-sdk/middleware-logger': 3.577.0 - '@aws-sdk/middleware-recursion-detection': 3.577.0 - '@aws-sdk/middleware-user-agent': 3.583.0 - '@aws-sdk/region-config-resolver': 3.577.0 - '@aws-sdk/types': 3.577.0 - '@aws-sdk/util-endpoints': 3.583.0 - '@aws-sdk/util-user-agent-browser': 3.577.0 - '@aws-sdk/util-user-agent-node': 3.577.0(aws-crt@1.21.2) - '@smithy/config-resolver': 3.0.0 - '@smithy/core': 2.0.1 - '@smithy/fetch-http-handler': 3.0.1 - '@smithy/hash-node': 3.0.0 - '@smithy/invalid-dependency': 3.0.0 - '@smithy/middleware-content-length': 3.0.0 - '@smithy/middleware-endpoint': 3.0.0 - '@smithy/middleware-retry': 3.0.1 - '@smithy/middleware-serde': 3.0.0 - '@smithy/middleware-stack': 3.0.0 - '@smithy/node-config-provider': 3.0.0 - '@smithy/node-http-handler': 3.0.0 - '@smithy/protocol-http': 4.0.0 - '@smithy/smithy-client': 3.0.1 - '@smithy/types': 3.0.0 - '@smithy/url-parser': 3.0.0 - '@smithy/util-base64': 3.0.0 - '@smithy/util-body-length-browser': 3.0.0 - '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.1 - '@smithy/util-defaults-mode-node': 3.0.1 - '@smithy/util-endpoints': 2.0.0 - '@smithy/util-middleware': 3.0.0 - '@smithy/util-retry': 3.0.0 - '@smithy/util-utf8': 3.0.0 - '@smithy/util-waiter': 3.0.0 + '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) + '@aws-sdk/core': 3.554.0 + '@aws-sdk/credential-provider-node': 3.554.0 + '@aws-sdk/middleware-host-header': 3.535.0 + '@aws-sdk/middleware-logger': 3.535.0 + '@aws-sdk/middleware-recursion-detection': 3.535.0 + '@aws-sdk/middleware-user-agent': 3.540.0 + '@aws-sdk/region-config-resolver': 3.535.0 + '@aws-sdk/types': 3.535.0 + '@aws-sdk/util-endpoints': 3.540.0 + '@aws-sdk/util-user-agent-browser': 3.535.0 + '@aws-sdk/util-user-agent-node': 3.535.0(aws-crt@1.21.2) + '@smithy/config-resolver': 2.2.0 + '@smithy/core': 1.4.2 + '@smithy/fetch-http-handler': 2.5.0 + '@smithy/hash-node': 2.2.0 + '@smithy/invalid-dependency': 2.2.0 + '@smithy/middleware-content-length': 2.2.0 + '@smithy/middleware-endpoint': 2.5.1 + '@smithy/middleware-retry': 2.3.1 + '@smithy/middleware-serde': 2.3.0 + '@smithy/middleware-stack': 2.2.0 + '@smithy/node-config-provider': 2.3.0 + '@smithy/node-http-handler': 2.5.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/smithy-client': 2.5.1 + '@smithy/types': 2.12.0 + '@smithy/url-parser': 2.2.0 + '@smithy/util-base64': 2.3.0 + '@smithy/util-body-length-browser': 2.2.0 + '@smithy/util-body-length-node': 2.3.0 + '@smithy/util-defaults-mode-browser': 2.2.1 + '@smithy/util-defaults-mode-node': 2.3.1 + '@smithy/util-endpoints': 1.2.0 + '@smithy/util-middleware': 2.2.0 + '@smithy/util-retry': 2.2.0 + '@smithy/util-utf8': 2.3.0 + '@smithy/util-waiter': 2.2.0 tslib: 2.6.2 transitivePeerDependencies: - aws-crt dev: true - /@aws-sdk/client-iot-data-plane@3.583.0: - resolution: {integrity: sha512-zV0hyvHE/VVmr0uDqc6KltjYmeMnf6ZasNC1/2SFviZDSS5uQUEZQScjdKTlaJQSXA4dVnCpbAdHCPdJr9dOqA==} - engines: {node: '>=16.0.0'} + /@aws-sdk/client-iot-data-plane@3.554.0: + resolution: {integrity: sha512-2xtMWKlJ1wOq+8mQe1XddfqOkskfIV/AgkGTueZUqO7FvVxHtWOlXpafN7naRZUBtzzu9/oeK8gfvYhpW+kqGw==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sso-oidc': 3.583.0(@aws-sdk/client-sts@3.583.0) - '@aws-sdk/client-sts': 3.583.0 - '@aws-sdk/core': 3.582.0 - '@aws-sdk/credential-provider-node': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0)(@aws-sdk/client-sts@3.583.0) - '@aws-sdk/middleware-host-header': 3.577.0 - '@aws-sdk/middleware-logger': 3.577.0 - '@aws-sdk/middleware-recursion-detection': 3.577.0 - '@aws-sdk/middleware-user-agent': 3.583.0 - '@aws-sdk/region-config-resolver': 3.577.0 - '@aws-sdk/types': 3.577.0 - '@aws-sdk/util-endpoints': 3.583.0 - '@aws-sdk/util-user-agent-browser': 3.577.0 - '@aws-sdk/util-user-agent-node': 3.577.0(aws-crt@1.21.2) - '@smithy/config-resolver': 3.0.0 - '@smithy/core': 2.0.1 - '@smithy/fetch-http-handler': 3.0.1 - '@smithy/hash-node': 3.0.0 - '@smithy/invalid-dependency': 3.0.0 - '@smithy/middleware-content-length': 3.0.0 - '@smithy/middleware-endpoint': 3.0.0 - '@smithy/middleware-retry': 3.0.1 - '@smithy/middleware-serde': 3.0.0 - '@smithy/middleware-stack': 3.0.0 - '@smithy/node-config-provider': 3.0.0 - '@smithy/node-http-handler': 3.0.0 - '@smithy/protocol-http': 4.0.0 - '@smithy/smithy-client': 3.0.1 - '@smithy/types': 3.0.0 - '@smithy/url-parser': 3.0.0 - '@smithy/util-base64': 3.0.0 - '@smithy/util-body-length-browser': 3.0.0 - '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.1 - '@smithy/util-defaults-mode-node': 3.0.1 - '@smithy/util-endpoints': 2.0.0 - '@smithy/util-middleware': 3.0.0 - '@smithy/util-retry': 3.0.0 - '@smithy/util-stream': 3.0.1 - '@smithy/util-utf8': 3.0.0 + '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) + '@aws-sdk/core': 3.554.0 + '@aws-sdk/credential-provider-node': 3.554.0 + '@aws-sdk/middleware-host-header': 3.535.0 + '@aws-sdk/middleware-logger': 3.535.0 + '@aws-sdk/middleware-recursion-detection': 3.535.0 + '@aws-sdk/middleware-user-agent': 3.540.0 + '@aws-sdk/region-config-resolver': 3.535.0 + '@aws-sdk/types': 3.535.0 + '@aws-sdk/util-endpoints': 3.540.0 + '@aws-sdk/util-user-agent-browser': 3.535.0 + '@aws-sdk/util-user-agent-node': 3.535.0(aws-crt@1.21.2) + '@smithy/config-resolver': 2.2.0 + '@smithy/core': 1.4.2 + '@smithy/fetch-http-handler': 2.5.0 + '@smithy/hash-node': 2.2.0 + '@smithy/invalid-dependency': 2.2.0 + '@smithy/middleware-content-length': 2.2.0 + '@smithy/middleware-endpoint': 2.5.1 + '@smithy/middleware-retry': 2.3.1 + '@smithy/middleware-serde': 2.3.0 + '@smithy/middleware-stack': 2.2.0 + '@smithy/node-config-provider': 2.3.0 + '@smithy/node-http-handler': 2.5.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/smithy-client': 2.5.1 + '@smithy/types': 2.12.0 + '@smithy/url-parser': 2.2.0 + '@smithy/util-base64': 2.3.0 + '@smithy/util-body-length-browser': 2.2.0 + '@smithy/util-body-length-node': 2.3.0 + '@smithy/util-defaults-mode-browser': 2.2.1 + '@smithy/util-defaults-mode-node': 2.3.1 + '@smithy/util-endpoints': 1.2.0 + '@smithy/util-middleware': 2.2.0 + '@smithy/util-retry': 2.2.0 + '@smithy/util-stream': 2.2.0 + '@smithy/util-utf8': 2.3.0 tslib: 2.6.2 transitivePeerDependencies: - aws-crt dev: true - /@aws-sdk/client-iot@3.583.0: - resolution: {integrity: sha512-pxD7Ze4dEoqYMZ1i/j6ddLwOgf+Xmu8ShC4HS/2AhEMrAOz6cHK3KfUK8g8RldICJPivCyAKkBbii9aqMoWJVQ==} - engines: {node: '>=16.0.0'} + /@aws-sdk/client-iot@3.554.0: + resolution: {integrity: sha512-3mr5Ik3hVa3WS0F2N88sSKAwOVdRtoRN8xY1bqpT+I/tjAgt+07uItHrkJErEh4Xq3EnhJfKiPR/KbcRK2oQuQ==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sso-oidc': 3.583.0(@aws-sdk/client-sts@3.583.0) - '@aws-sdk/client-sts': 3.583.0 - '@aws-sdk/core': 3.582.0 - '@aws-sdk/credential-provider-node': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0)(@aws-sdk/client-sts@3.583.0) - '@aws-sdk/middleware-host-header': 3.577.0 - '@aws-sdk/middleware-logger': 3.577.0 - '@aws-sdk/middleware-recursion-detection': 3.577.0 - '@aws-sdk/middleware-user-agent': 3.583.0 - '@aws-sdk/region-config-resolver': 3.577.0 - '@aws-sdk/types': 3.577.0 - '@aws-sdk/util-endpoints': 3.583.0 - '@aws-sdk/util-user-agent-browser': 3.577.0 - '@aws-sdk/util-user-agent-node': 3.577.0(aws-crt@1.21.2) - '@smithy/config-resolver': 3.0.0 - '@smithy/core': 2.0.1 - '@smithy/fetch-http-handler': 3.0.1 - '@smithy/hash-node': 3.0.0 - '@smithy/invalid-dependency': 3.0.0 - '@smithy/middleware-content-length': 3.0.0 - '@smithy/middleware-endpoint': 3.0.0 - '@smithy/middleware-retry': 3.0.1 - '@smithy/middleware-serde': 3.0.0 - '@smithy/middleware-stack': 3.0.0 - '@smithy/node-config-provider': 3.0.0 - '@smithy/node-http-handler': 3.0.0 - '@smithy/protocol-http': 4.0.0 - '@smithy/smithy-client': 3.0.1 - '@smithy/types': 3.0.0 - '@smithy/url-parser': 3.0.0 - '@smithy/util-base64': 3.0.0 - '@smithy/util-body-length-browser': 3.0.0 - '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.1 - '@smithy/util-defaults-mode-node': 3.0.1 - '@smithy/util-endpoints': 2.0.0 - '@smithy/util-middleware': 3.0.0 - '@smithy/util-retry': 3.0.0 - '@smithy/util-utf8': 3.0.0 + '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) + '@aws-sdk/core': 3.554.0 + '@aws-sdk/credential-provider-node': 3.554.0 + '@aws-sdk/middleware-host-header': 3.535.0 + '@aws-sdk/middleware-logger': 3.535.0 + '@aws-sdk/middleware-recursion-detection': 3.535.0 + '@aws-sdk/middleware-user-agent': 3.540.0 + '@aws-sdk/region-config-resolver': 3.535.0 + '@aws-sdk/types': 3.535.0 + '@aws-sdk/util-endpoints': 3.540.0 + '@aws-sdk/util-user-agent-browser': 3.535.0 + '@aws-sdk/util-user-agent-node': 3.535.0(aws-crt@1.21.2) + '@smithy/config-resolver': 2.2.0 + '@smithy/core': 1.4.2 + '@smithy/fetch-http-handler': 2.5.0 + '@smithy/hash-node': 2.2.0 + '@smithy/invalid-dependency': 2.2.0 + '@smithy/middleware-content-length': 2.2.0 + '@smithy/middleware-endpoint': 2.5.1 + '@smithy/middleware-retry': 2.3.1 + '@smithy/middleware-serde': 2.3.0 + '@smithy/middleware-stack': 2.2.0 + '@smithy/node-config-provider': 2.3.0 + '@smithy/node-http-handler': 2.5.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/smithy-client': 2.5.1 + '@smithy/types': 2.12.0 + '@smithy/url-parser': 2.2.0 + '@smithy/util-base64': 2.3.0 + '@smithy/util-body-length-browser': 2.2.0 + '@smithy/util-body-length-node': 2.3.0 + '@smithy/util-defaults-mode-browser': 2.2.1 + '@smithy/util-defaults-mode-node': 2.3.1 + '@smithy/util-endpoints': 1.2.0 + '@smithy/util-middleware': 2.2.0 + '@smithy/util-retry': 2.2.0 + '@smithy/util-utf8': 2.3.0 tslib: 2.6.2 uuid: 9.0.1 transitivePeerDependencies: - aws-crt dev: true - /@aws-sdk/client-lambda@3.583.0: - resolution: {integrity: sha512-d8rFjAA3UE+K7rTbp7XuMo2FVkr+S9IztkwyUo9hgWZDbdbUl7vhKSX220byJK/BZOnnIY4IXGNkbGoAT+aKyw==} - engines: {node: '>=16.0.0'} + /@aws-sdk/client-lambda@3.554.0: + resolution: {integrity: sha512-KNUAAZKcsCdUOB2/rbWpc96jsSM/ahw3hK5/Ru4RTLfNP27GitxqF0v+mzrVk9lTuj2ChJ3JDV+UfdGsqvZgpw==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sso-oidc': 3.583.0(@aws-sdk/client-sts@3.583.0) - '@aws-sdk/client-sts': 3.583.0 - '@aws-sdk/core': 3.582.0 - '@aws-sdk/credential-provider-node': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0)(@aws-sdk/client-sts@3.583.0) - '@aws-sdk/middleware-host-header': 3.577.0 - '@aws-sdk/middleware-logger': 3.577.0 - '@aws-sdk/middleware-recursion-detection': 3.577.0 - '@aws-sdk/middleware-user-agent': 3.583.0 - '@aws-sdk/region-config-resolver': 3.577.0 - '@aws-sdk/types': 3.577.0 - '@aws-sdk/util-endpoints': 3.583.0 - '@aws-sdk/util-user-agent-browser': 3.577.0 - '@aws-sdk/util-user-agent-node': 3.577.0(aws-crt@1.21.2) - '@smithy/config-resolver': 3.0.0 - '@smithy/core': 2.0.1 - '@smithy/eventstream-serde-browser': 3.0.0 - '@smithy/eventstream-serde-config-resolver': 3.0.0 - '@smithy/eventstream-serde-node': 3.0.0 - '@smithy/fetch-http-handler': 3.0.1 - '@smithy/hash-node': 3.0.0 - '@smithy/invalid-dependency': 3.0.0 - '@smithy/middleware-content-length': 3.0.0 - '@smithy/middleware-endpoint': 3.0.0 - '@smithy/middleware-retry': 3.0.1 - '@smithy/middleware-serde': 3.0.0 - '@smithy/middleware-stack': 3.0.0 - '@smithy/node-config-provider': 3.0.0 - '@smithy/node-http-handler': 3.0.0 - '@smithy/protocol-http': 4.0.0 - '@smithy/smithy-client': 3.0.1 - '@smithy/types': 3.0.0 - '@smithy/url-parser': 3.0.0 - '@smithy/util-base64': 3.0.0 - '@smithy/util-body-length-browser': 3.0.0 - '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.1 - '@smithy/util-defaults-mode-node': 3.0.1 - '@smithy/util-endpoints': 2.0.0 - '@smithy/util-middleware': 3.0.0 - '@smithy/util-retry': 3.0.0 - '@smithy/util-stream': 3.0.1 - '@smithy/util-utf8': 3.0.0 - '@smithy/util-waiter': 3.0.0 + '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) + '@aws-sdk/core': 3.554.0 + '@aws-sdk/credential-provider-node': 3.554.0 + '@aws-sdk/middleware-host-header': 3.535.0 + '@aws-sdk/middleware-logger': 3.535.0 + '@aws-sdk/middleware-recursion-detection': 3.535.0 + '@aws-sdk/middleware-user-agent': 3.540.0 + '@aws-sdk/region-config-resolver': 3.535.0 + '@aws-sdk/types': 3.535.0 + '@aws-sdk/util-endpoints': 3.540.0 + '@aws-sdk/util-user-agent-browser': 3.535.0 + '@aws-sdk/util-user-agent-node': 3.535.0(aws-crt@1.21.2) + '@smithy/config-resolver': 2.2.0 + '@smithy/core': 1.4.2 + '@smithy/eventstream-serde-browser': 2.2.0 + '@smithy/eventstream-serde-config-resolver': 2.2.0 + '@smithy/eventstream-serde-node': 2.2.0 + '@smithy/fetch-http-handler': 2.5.0 + '@smithy/hash-node': 2.2.0 + '@smithy/invalid-dependency': 2.2.0 + '@smithy/middleware-content-length': 2.2.0 + '@smithy/middleware-endpoint': 2.5.1 + '@smithy/middleware-retry': 2.3.1 + '@smithy/middleware-serde': 2.3.0 + '@smithy/middleware-stack': 2.2.0 + '@smithy/node-config-provider': 2.3.0 + '@smithy/node-http-handler': 2.5.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/smithy-client': 2.5.1 + '@smithy/types': 2.12.0 + '@smithy/url-parser': 2.2.0 + '@smithy/util-base64': 2.3.0 + '@smithy/util-body-length-browser': 2.2.0 + '@smithy/util-body-length-node': 2.3.0 + '@smithy/util-defaults-mode-browser': 2.2.1 + '@smithy/util-defaults-mode-node': 2.3.1 + '@smithy/util-endpoints': 1.2.0 + '@smithy/util-middleware': 2.2.0 + '@smithy/util-retry': 2.2.0 + '@smithy/util-stream': 2.2.0 + '@smithy/util-utf8': 2.3.0 + '@smithy/util-waiter': 2.2.0 tslib: 2.6.2 transitivePeerDependencies: - aws-crt dev: true - /@aws-sdk/client-rds-data@3.583.0: - resolution: {integrity: sha512-xBnrVGNmMsTafzlaeZiFUahr3TP4zF2yRnsWzibylbXXIjaGdcLoiskNizo62syCh/8LbgpY6EN34EeYWsfMiw==} + /@aws-sdk/client-rds-data@3.569.0: + resolution: {integrity: sha512-avid47WL0ylvMnRVchiURyrimksajoia6Mp5qyo00/2+sOC+/1VmA32OH0lltEC+O7AFEbPLWFf9gQEG9qM1oQ==} engines: {node: '>=16.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sso-oidc': 3.583.0(@aws-sdk/client-sts@3.583.0) - '@aws-sdk/client-sts': 3.583.0 - '@aws-sdk/core': 3.582.0 - '@aws-sdk/credential-provider-node': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0)(@aws-sdk/client-sts@3.583.0) - '@aws-sdk/middleware-host-header': 3.577.0 - '@aws-sdk/middleware-logger': 3.577.0 - '@aws-sdk/middleware-recursion-detection': 3.577.0 - '@aws-sdk/middleware-user-agent': 3.583.0 - '@aws-sdk/region-config-resolver': 3.577.0 - '@aws-sdk/types': 3.577.0 - '@aws-sdk/util-endpoints': 3.583.0 - '@aws-sdk/util-user-agent-browser': 3.577.0 - '@aws-sdk/util-user-agent-node': 3.577.0(aws-crt@1.21.2) - '@smithy/config-resolver': 3.0.0 - '@smithy/core': 2.0.1 - '@smithy/fetch-http-handler': 3.0.1 - '@smithy/hash-node': 3.0.0 - '@smithy/invalid-dependency': 3.0.0 - '@smithy/middleware-content-length': 3.0.0 - '@smithy/middleware-endpoint': 3.0.0 - '@smithy/middleware-retry': 3.0.1 - '@smithy/middleware-serde': 3.0.0 - '@smithy/middleware-stack': 3.0.0 - '@smithy/node-config-provider': 3.0.0 - '@smithy/node-http-handler': 3.0.0 - '@smithy/protocol-http': 4.0.0 - '@smithy/smithy-client': 3.0.1 - '@smithy/types': 3.0.0 - '@smithy/url-parser': 3.0.0 - '@smithy/util-base64': 3.0.0 - '@smithy/util-body-length-browser': 3.0.0 - '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.1 - '@smithy/util-defaults-mode-node': 3.0.1 - '@smithy/util-endpoints': 2.0.0 - '@smithy/util-middleware': 3.0.0 - '@smithy/util-retry': 3.0.0 - '@smithy/util-utf8': 3.0.0 + '@aws-sdk/client-sso-oidc': 3.569.0(@aws-sdk/client-sts@3.569.0) + '@aws-sdk/client-sts': 3.569.0 + '@aws-sdk/core': 3.567.0 + '@aws-sdk/credential-provider-node': 3.569.0(@aws-sdk/client-sso-oidc@3.569.0)(@aws-sdk/client-sts@3.569.0) + '@aws-sdk/middleware-host-header': 3.567.0 + '@aws-sdk/middleware-logger': 3.568.0 + '@aws-sdk/middleware-recursion-detection': 3.567.0 + '@aws-sdk/middleware-user-agent': 3.567.0 + '@aws-sdk/region-config-resolver': 3.567.0 + '@aws-sdk/types': 3.567.0 + '@aws-sdk/util-endpoints': 3.567.0 + '@aws-sdk/util-user-agent-browser': 3.567.0 + '@aws-sdk/util-user-agent-node': 3.568.0 + '@smithy/config-resolver': 2.2.0 + '@smithy/core': 1.4.2 + '@smithy/fetch-http-handler': 2.5.0 + '@smithy/hash-node': 2.2.0 + '@smithy/invalid-dependency': 2.2.0 + '@smithy/middleware-content-length': 2.2.0 + '@smithy/middleware-endpoint': 2.5.1 + '@smithy/middleware-retry': 2.3.1 + '@smithy/middleware-serde': 2.3.0 + '@smithy/middleware-stack': 2.2.0 + '@smithy/node-config-provider': 2.3.0 + '@smithy/node-http-handler': 2.5.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/smithy-client': 2.5.1 + '@smithy/types': 2.12.0 + '@smithy/url-parser': 2.2.0 + '@smithy/util-base64': 2.3.0 + '@smithy/util-body-length-browser': 2.2.0 + '@smithy/util-body-length-node': 2.3.0 + '@smithy/util-defaults-mode-browser': 2.2.1 + '@smithy/util-defaults-mode-node': 2.3.1 + '@smithy/util-endpoints': 1.2.0 + '@smithy/util-middleware': 2.2.0 + '@smithy/util-retry': 2.2.0 + '@smithy/util-utf8': 2.3.0 tslib: 2.6.2 transitivePeerDependencies: - aws-crt dev: true - /@aws-sdk/client-s3@3.583.0: - resolution: {integrity: sha512-pS7wncugSuIQ8RgtRIE9Dystdmd3mMnjfjiO1iA1UhGXkyAgoJzQ4jH0r+5X+eWmYHYQcfy9fUQXT2gqV3t9GA==} - engines: {node: '>=16.0.0'} + /@aws-sdk/client-s3@3.554.0: + resolution: {integrity: sha512-d5TKKtGWhN0vl9QovUFrf3UsM7jgFQkowDPx1O+E/yeQUj1FBDOoRfDCcQOKW/9ghloI6k7f0bBpNxdd+x0oKA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha1-browser': 3.0.0 '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sso-oidc': 3.583.0(@aws-sdk/client-sts@3.583.0) - '@aws-sdk/client-sts': 3.583.0 - '@aws-sdk/core': 3.582.0 - '@aws-sdk/credential-provider-node': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0)(@aws-sdk/client-sts@3.583.0) - '@aws-sdk/middleware-bucket-endpoint': 3.577.0 - '@aws-sdk/middleware-expect-continue': 3.577.0 - '@aws-sdk/middleware-flexible-checksums': 3.577.0 - '@aws-sdk/middleware-host-header': 3.577.0 - '@aws-sdk/middleware-location-constraint': 3.577.0 - '@aws-sdk/middleware-logger': 3.577.0 - '@aws-sdk/middleware-recursion-detection': 3.577.0 - '@aws-sdk/middleware-sdk-s3': 3.582.0 - '@aws-sdk/middleware-signing': 3.577.0 - '@aws-sdk/middleware-ssec': 3.577.0 - '@aws-sdk/middleware-user-agent': 3.583.0 - '@aws-sdk/region-config-resolver': 3.577.0 - '@aws-sdk/signature-v4-multi-region': 3.582.0 - '@aws-sdk/types': 3.577.0 - '@aws-sdk/util-endpoints': 3.583.0 - '@aws-sdk/util-user-agent-browser': 3.577.0 - '@aws-sdk/util-user-agent-node': 3.577.0(aws-crt@1.21.2) - '@aws-sdk/xml-builder': 3.575.0 - '@smithy/config-resolver': 3.0.0 - '@smithy/core': 2.0.1 - '@smithy/eventstream-serde-browser': 3.0.0 - '@smithy/eventstream-serde-config-resolver': 3.0.0 - '@smithy/eventstream-serde-node': 3.0.0 - '@smithy/fetch-http-handler': 3.0.1 - '@smithy/hash-blob-browser': 3.0.0 - '@smithy/hash-node': 3.0.0 - '@smithy/hash-stream-node': 3.0.0 - '@smithy/invalid-dependency': 3.0.0 - '@smithy/md5-js': 3.0.0 - '@smithy/middleware-content-length': 3.0.0 - '@smithy/middleware-endpoint': 3.0.0 - '@smithy/middleware-retry': 3.0.1 - '@smithy/middleware-serde': 3.0.0 - '@smithy/middleware-stack': 3.0.0 - '@smithy/node-config-provider': 3.0.0 - '@smithy/node-http-handler': 3.0.0 - '@smithy/protocol-http': 4.0.0 - '@smithy/smithy-client': 3.0.1 - '@smithy/types': 3.0.0 - '@smithy/url-parser': 3.0.0 - '@smithy/util-base64': 3.0.0 - '@smithy/util-body-length-browser': 3.0.0 - '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.1 - '@smithy/util-defaults-mode-node': 3.0.1 - '@smithy/util-endpoints': 2.0.0 - '@smithy/util-retry': 3.0.0 - '@smithy/util-stream': 3.0.1 - '@smithy/util-utf8': 3.0.0 - '@smithy/util-waiter': 3.0.0 + '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) + '@aws-sdk/core': 3.554.0 + '@aws-sdk/credential-provider-node': 3.554.0 + '@aws-sdk/middleware-bucket-endpoint': 3.535.0 + '@aws-sdk/middleware-expect-continue': 3.535.0 + '@aws-sdk/middleware-flexible-checksums': 3.535.0 + '@aws-sdk/middleware-host-header': 3.535.0 + '@aws-sdk/middleware-location-constraint': 3.535.0 + '@aws-sdk/middleware-logger': 3.535.0 + '@aws-sdk/middleware-recursion-detection': 3.535.0 + '@aws-sdk/middleware-sdk-s3': 3.552.0 + '@aws-sdk/middleware-signing': 3.552.0 + '@aws-sdk/middleware-ssec': 3.537.0 + '@aws-sdk/middleware-user-agent': 3.540.0 + '@aws-sdk/region-config-resolver': 3.535.0 + '@aws-sdk/signature-v4-multi-region': 3.552.0 + '@aws-sdk/types': 3.535.0 + '@aws-sdk/util-endpoints': 3.540.0 + '@aws-sdk/util-user-agent-browser': 3.535.0 + '@aws-sdk/util-user-agent-node': 3.535.0(aws-crt@1.21.2) + '@aws-sdk/xml-builder': 3.535.0 + '@smithy/config-resolver': 2.2.0 + '@smithy/core': 1.4.2 + '@smithy/eventstream-serde-browser': 2.2.0 + '@smithy/eventstream-serde-config-resolver': 2.2.0 + '@smithy/eventstream-serde-node': 2.2.0 + '@smithy/fetch-http-handler': 2.5.0 + '@smithy/hash-blob-browser': 2.2.0 + '@smithy/hash-node': 2.2.0 + '@smithy/hash-stream-node': 2.2.0 + '@smithy/invalid-dependency': 2.2.0 + '@smithy/md5-js': 2.2.0 + '@smithy/middleware-content-length': 2.2.0 + '@smithy/middleware-endpoint': 2.5.1 + '@smithy/middleware-retry': 2.3.1 + '@smithy/middleware-serde': 2.3.0 + '@smithy/middleware-stack': 2.2.0 + '@smithy/node-config-provider': 2.3.0 + '@smithy/node-http-handler': 2.5.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/smithy-client': 2.5.1 + '@smithy/types': 2.12.0 + '@smithy/url-parser': 2.2.0 + '@smithy/util-base64': 2.3.0 + '@smithy/util-body-length-browser': 2.2.0 + '@smithy/util-body-length-node': 2.3.0 + '@smithy/util-defaults-mode-browser': 2.2.1 + '@smithy/util-defaults-mode-node': 2.3.1 + '@smithy/util-endpoints': 1.2.0 + '@smithy/util-retry': 2.2.0 + '@smithy/util-stream': 2.2.0 + '@smithy/util-utf8': 2.3.0 + '@smithy/util-waiter': 2.2.0 tslib: 2.6.2 transitivePeerDependencies: - aws-crt dev: true - /@aws-sdk/client-ssm@3.583.0: - resolution: {integrity: sha512-qdbFmU50EXKIIGvU0KVkgOTlzm6bN92LAJnizDo8Fz0nQUYKLF3GdNBXpD8FIu6Y5JqO6yAvl0mEch0PvyyejA==} - engines: {node: '>=16.0.0'} + /@aws-sdk/client-ssm@3.554.0: + resolution: {integrity: sha512-zqc5Pyb0agJ3erp1x2ILoll7mG6atQTD2AFWA5UBFhNa7R0+w+TLvSNnX813X4bv4OySqBYYEtAokoTvV66UZw==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sso-oidc': 3.583.0(@aws-sdk/client-sts@3.583.0) - '@aws-sdk/client-sts': 3.583.0 - '@aws-sdk/core': 3.582.0 - '@aws-sdk/credential-provider-node': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0)(@aws-sdk/client-sts@3.583.0) - '@aws-sdk/middleware-host-header': 3.577.0 - '@aws-sdk/middleware-logger': 3.577.0 - '@aws-sdk/middleware-recursion-detection': 3.577.0 - '@aws-sdk/middleware-user-agent': 3.583.0 - '@aws-sdk/region-config-resolver': 3.577.0 - '@aws-sdk/types': 3.577.0 - '@aws-sdk/util-endpoints': 3.583.0 - '@aws-sdk/util-user-agent-browser': 3.577.0 - '@aws-sdk/util-user-agent-node': 3.577.0(aws-crt@1.21.2) - '@smithy/config-resolver': 3.0.0 - '@smithy/core': 2.0.1 - '@smithy/fetch-http-handler': 3.0.1 - '@smithy/hash-node': 3.0.0 - '@smithy/invalid-dependency': 3.0.0 - '@smithy/middleware-content-length': 3.0.0 - '@smithy/middleware-endpoint': 3.0.0 - '@smithy/middleware-retry': 3.0.1 - '@smithy/middleware-serde': 3.0.0 - '@smithy/middleware-stack': 3.0.0 - '@smithy/node-config-provider': 3.0.0 - '@smithy/node-http-handler': 3.0.0 - '@smithy/protocol-http': 4.0.0 - '@smithy/smithy-client': 3.0.1 - '@smithy/types': 3.0.0 - '@smithy/url-parser': 3.0.0 - '@smithy/util-base64': 3.0.0 - '@smithy/util-body-length-browser': 3.0.0 - '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.1 - '@smithy/util-defaults-mode-node': 3.0.1 - '@smithy/util-endpoints': 2.0.0 - '@smithy/util-middleware': 3.0.0 - '@smithy/util-retry': 3.0.0 - '@smithy/util-utf8': 3.0.0 - '@smithy/util-waiter': 3.0.0 + '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) + '@aws-sdk/core': 3.554.0 + '@aws-sdk/credential-provider-node': 3.554.0 + '@aws-sdk/middleware-host-header': 3.535.0 + '@aws-sdk/middleware-logger': 3.535.0 + '@aws-sdk/middleware-recursion-detection': 3.535.0 + '@aws-sdk/middleware-user-agent': 3.540.0 + '@aws-sdk/region-config-resolver': 3.535.0 + '@aws-sdk/types': 3.535.0 + '@aws-sdk/util-endpoints': 3.540.0 + '@aws-sdk/util-user-agent-browser': 3.535.0 + '@aws-sdk/util-user-agent-node': 3.535.0(aws-crt@1.21.2) + '@smithy/config-resolver': 2.2.0 + '@smithy/core': 1.4.2 + '@smithy/fetch-http-handler': 2.5.0 + '@smithy/hash-node': 2.2.0 + '@smithy/invalid-dependency': 2.2.0 + '@smithy/middleware-content-length': 2.2.0 + '@smithy/middleware-endpoint': 2.5.1 + '@smithy/middleware-retry': 2.3.1 + '@smithy/middleware-serde': 2.3.0 + '@smithy/middleware-stack': 2.2.0 + '@smithy/node-config-provider': 2.3.0 + '@smithy/node-http-handler': 2.5.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/smithy-client': 2.5.1 + '@smithy/types': 2.12.0 + '@smithy/url-parser': 2.2.0 + '@smithy/util-base64': 2.3.0 + '@smithy/util-body-length-browser': 2.2.0 + '@smithy/util-body-length-node': 2.3.0 + '@smithy/util-defaults-mode-browser': 2.2.1 + '@smithy/util-defaults-mode-node': 2.3.1 + '@smithy/util-endpoints': 1.2.0 + '@smithy/util-middleware': 2.2.0 + '@smithy/util-retry': 2.2.0 + '@smithy/util-utf8': 2.3.0 + '@smithy/util-waiter': 2.2.0 tslib: 2.6.2 uuid: 9.0.1 transitivePeerDependencies: - aws-crt dev: true - /@aws-sdk/client-sso-oidc@3.583.0(@aws-sdk/client-sts@3.583.0): - resolution: {integrity: sha512-LO3wmrFXPi2kNE46lD1XATfRrvdNxXd4DlTFouoWmr7lvqoUkcbmtkV2r/XChZA2z0HiDauphC1e8b8laJVeSg==} + /@aws-sdk/client-sso-oidc@3.554.0(@aws-sdk/credential-provider-node@3.554.0): + resolution: {integrity: sha512-M86rkiRqbZBF5VyfTQ/vttry9VSoQkZ1oCqYF+SAGlXmD0Of8587yRSj2M4rYe0Uj7nRQIfSnhDYp1UzsZeRfQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + '@aws-sdk/credential-provider-node': ^3.554.0 + dependencies: + '@aws-crypto/sha256-browser': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) + '@aws-sdk/core': 3.554.0 + '@aws-sdk/credential-provider-node': 3.554.0 + '@aws-sdk/middleware-host-header': 3.535.0 + '@aws-sdk/middleware-logger': 3.535.0 + '@aws-sdk/middleware-recursion-detection': 3.535.0 + '@aws-sdk/middleware-user-agent': 3.540.0 + '@aws-sdk/region-config-resolver': 3.535.0 + '@aws-sdk/types': 3.535.0 + '@aws-sdk/util-endpoints': 3.540.0 + '@aws-sdk/util-user-agent-browser': 3.535.0 + '@aws-sdk/util-user-agent-node': 3.535.0(aws-crt@1.21.2) + '@smithy/config-resolver': 2.2.0 + '@smithy/core': 1.4.2 + '@smithy/fetch-http-handler': 2.5.0 + '@smithy/hash-node': 2.2.0 + '@smithy/invalid-dependency': 2.2.0 + '@smithy/middleware-content-length': 2.2.0 + '@smithy/middleware-endpoint': 2.5.1 + '@smithy/middleware-retry': 2.3.1 + '@smithy/middleware-serde': 2.3.0 + '@smithy/middleware-stack': 2.2.0 + '@smithy/node-config-provider': 2.3.0 + '@smithy/node-http-handler': 2.5.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/smithy-client': 2.5.1 + '@smithy/types': 2.12.0 + '@smithy/url-parser': 2.2.0 + '@smithy/util-base64': 2.3.0 + '@smithy/util-body-length-browser': 2.2.0 + '@smithy/util-body-length-node': 2.3.0 + '@smithy/util-defaults-mode-browser': 2.2.1 + '@smithy/util-defaults-mode-node': 2.3.1 + '@smithy/util-endpoints': 1.2.0 + '@smithy/util-middleware': 2.2.0 + '@smithy/util-retry': 2.2.0 + '@smithy/util-utf8': 2.3.0 + tslib: 2.6.2 + transitivePeerDependencies: + - aws-crt + dev: true + + /@aws-sdk/client-sso-oidc@3.569.0(@aws-sdk/client-sts@3.569.0): + resolution: {integrity: sha512-u5DEjNEvRvlKKh1QLCDuQ8GIrx+OFvJFLfhorsp4oCxDylvORs+KfyKKnJAw4wYEEHyxyz9GzHD7p6a8+HLVHw==} engines: {node: '>=16.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sts': 3.583.0 - '@aws-sdk/core': 3.582.0 - '@aws-sdk/credential-provider-node': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0)(@aws-sdk/client-sts@3.583.0) - '@aws-sdk/middleware-host-header': 3.577.0 - '@aws-sdk/middleware-logger': 3.577.0 - '@aws-sdk/middleware-recursion-detection': 3.577.0 - '@aws-sdk/middleware-user-agent': 3.583.0 - '@aws-sdk/region-config-resolver': 3.577.0 - '@aws-sdk/types': 3.577.0 - '@aws-sdk/util-endpoints': 3.583.0 - '@aws-sdk/util-user-agent-browser': 3.577.0 - '@aws-sdk/util-user-agent-node': 3.577.0(aws-crt@1.21.2) - '@smithy/config-resolver': 3.0.0 - '@smithy/core': 2.0.1 - '@smithy/fetch-http-handler': 3.0.1 - '@smithy/hash-node': 3.0.0 - '@smithy/invalid-dependency': 3.0.0 - '@smithy/middleware-content-length': 3.0.0 - '@smithy/middleware-endpoint': 3.0.0 - '@smithy/middleware-retry': 3.0.1 - '@smithy/middleware-serde': 3.0.0 - '@smithy/middleware-stack': 3.0.0 - '@smithy/node-config-provider': 3.0.0 - '@smithy/node-http-handler': 3.0.0 - '@smithy/protocol-http': 4.0.0 - '@smithy/smithy-client': 3.0.1 - '@smithy/types': 3.0.0 - '@smithy/url-parser': 3.0.0 - '@smithy/util-base64': 3.0.0 - '@smithy/util-body-length-browser': 3.0.0 - '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.1 - '@smithy/util-defaults-mode-node': 3.0.1 - '@smithy/util-endpoints': 2.0.0 - '@smithy/util-middleware': 3.0.0 - '@smithy/util-retry': 3.0.0 - '@smithy/util-utf8': 3.0.0 + '@aws-sdk/client-sts': 3.569.0 + '@aws-sdk/core': 3.567.0 + '@aws-sdk/credential-provider-node': 3.569.0(@aws-sdk/client-sso-oidc@3.569.0)(@aws-sdk/client-sts@3.569.0) + '@aws-sdk/middleware-host-header': 3.567.0 + '@aws-sdk/middleware-logger': 3.568.0 + '@aws-sdk/middleware-recursion-detection': 3.567.0 + '@aws-sdk/middleware-user-agent': 3.567.0 + '@aws-sdk/region-config-resolver': 3.567.0 + '@aws-sdk/types': 3.567.0 + '@aws-sdk/util-endpoints': 3.567.0 + '@aws-sdk/util-user-agent-browser': 3.567.0 + '@aws-sdk/util-user-agent-node': 3.568.0 + '@smithy/config-resolver': 2.2.0 + '@smithy/core': 1.4.2 + '@smithy/fetch-http-handler': 2.5.0 + '@smithy/hash-node': 2.2.0 + '@smithy/invalid-dependency': 2.2.0 + '@smithy/middleware-content-length': 2.2.0 + '@smithy/middleware-endpoint': 2.5.1 + '@smithy/middleware-retry': 2.3.1 + '@smithy/middleware-serde': 2.3.0 + '@smithy/middleware-stack': 2.2.0 + '@smithy/node-config-provider': 2.3.0 + '@smithy/node-http-handler': 2.5.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/smithy-client': 2.5.1 + '@smithy/types': 2.12.0 + '@smithy/url-parser': 2.2.0 + '@smithy/util-base64': 2.3.0 + '@smithy/util-body-length-browser': 2.2.0 + '@smithy/util-body-length-node': 2.3.0 + '@smithy/util-defaults-mode-browser': 2.2.1 + '@smithy/util-defaults-mode-node': 2.3.1 + '@smithy/util-endpoints': 1.2.0 + '@smithy/util-middleware': 2.2.0 + '@smithy/util-retry': 2.2.0 + '@smithy/util-utf8': 2.3.0 tslib: 2.6.2 transitivePeerDependencies: - '@aws-sdk/client-sts' - aws-crt dev: true - /@aws-sdk/client-sso@3.583.0: - resolution: {integrity: sha512-FNJ2MmiBtZZwgkj4+GLVrzqwmD6D8FBptrFZk7PnGkSf7v1Q8txYNI6gY938RRhYJ4lBW4cNbhPvWoDxAl90Hw==} + /@aws-sdk/client-sso@3.554.0: + resolution: {integrity: sha512-yj6CgIxCT3UwMumEO481KH4QvwArkAPzD7Xvwe1QKgJATc9bKNEo/FxV8LfnWIJ7nOtMDxbNxYLMXH/Fs1qGaQ==} + engines: {node: '>=14.0.0'} + dependencies: + '@aws-crypto/sha256-browser': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-sdk/core': 3.554.0 + '@aws-sdk/middleware-host-header': 3.535.0 + '@aws-sdk/middleware-logger': 3.535.0 + '@aws-sdk/middleware-recursion-detection': 3.535.0 + '@aws-sdk/middleware-user-agent': 3.540.0 + '@aws-sdk/region-config-resolver': 3.535.0 + '@aws-sdk/types': 3.535.0 + '@aws-sdk/util-endpoints': 3.540.0 + '@aws-sdk/util-user-agent-browser': 3.535.0 + '@aws-sdk/util-user-agent-node': 3.535.0(aws-crt@1.21.2) + '@smithy/config-resolver': 2.2.0 + '@smithy/core': 1.4.2 + '@smithy/fetch-http-handler': 2.5.0 + '@smithy/hash-node': 2.2.0 + '@smithy/invalid-dependency': 2.2.0 + '@smithy/middleware-content-length': 2.2.0 + '@smithy/middleware-endpoint': 2.5.1 + '@smithy/middleware-retry': 2.3.1 + '@smithy/middleware-serde': 2.3.0 + '@smithy/middleware-stack': 2.2.0 + '@smithy/node-config-provider': 2.3.0 + '@smithy/node-http-handler': 2.5.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/smithy-client': 2.5.1 + '@smithy/types': 2.12.0 + '@smithy/url-parser': 2.2.0 + '@smithy/util-base64': 2.3.0 + '@smithy/util-body-length-browser': 2.2.0 + '@smithy/util-body-length-node': 2.3.0 + '@smithy/util-defaults-mode-browser': 2.2.1 + '@smithy/util-defaults-mode-node': 2.3.1 + '@smithy/util-endpoints': 1.2.0 + '@smithy/util-middleware': 2.2.0 + '@smithy/util-retry': 2.2.0 + '@smithy/util-utf8': 2.3.0 + tslib: 2.6.2 + transitivePeerDependencies: + - aws-crt + dev: true + + /@aws-sdk/client-sso@3.568.0: + resolution: {integrity: sha512-LSD7k0ZBQNWouTN5dYpUkeestoQ+r5u6cp6o+FATKeiFQET85RNA3xJ4WPnOI5rBC1PETKhQXvF44863P3hCaQ==} engines: {node: '>=16.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/core': 3.582.0 - '@aws-sdk/middleware-host-header': 3.577.0 - '@aws-sdk/middleware-logger': 3.577.0 - '@aws-sdk/middleware-recursion-detection': 3.577.0 - '@aws-sdk/middleware-user-agent': 3.583.0 - '@aws-sdk/region-config-resolver': 3.577.0 - '@aws-sdk/types': 3.577.0 - '@aws-sdk/util-endpoints': 3.583.0 - '@aws-sdk/util-user-agent-browser': 3.577.0 - '@aws-sdk/util-user-agent-node': 3.577.0(aws-crt@1.21.2) - '@smithy/config-resolver': 3.0.0 - '@smithy/core': 2.0.1 - '@smithy/fetch-http-handler': 3.0.1 - '@smithy/hash-node': 3.0.0 - '@smithy/invalid-dependency': 3.0.0 - '@smithy/middleware-content-length': 3.0.0 - '@smithy/middleware-endpoint': 3.0.0 - '@smithy/middleware-retry': 3.0.1 - '@smithy/middleware-serde': 3.0.0 - '@smithy/middleware-stack': 3.0.0 - '@smithy/node-config-provider': 3.0.0 - '@smithy/node-http-handler': 3.0.0 - '@smithy/protocol-http': 4.0.0 - '@smithy/smithy-client': 3.0.1 - '@smithy/types': 3.0.0 - '@smithy/url-parser': 3.0.0 - '@smithy/util-base64': 3.0.0 - '@smithy/util-body-length-browser': 3.0.0 - '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.1 - '@smithy/util-defaults-mode-node': 3.0.1 - '@smithy/util-endpoints': 2.0.0 - '@smithy/util-middleware': 3.0.0 - '@smithy/util-retry': 3.0.0 - '@smithy/util-utf8': 3.0.0 + '@aws-sdk/core': 3.567.0 + '@aws-sdk/middleware-host-header': 3.567.0 + '@aws-sdk/middleware-logger': 3.568.0 + '@aws-sdk/middleware-recursion-detection': 3.567.0 + '@aws-sdk/middleware-user-agent': 3.567.0 + '@aws-sdk/region-config-resolver': 3.567.0 + '@aws-sdk/types': 3.567.0 + '@aws-sdk/util-endpoints': 3.567.0 + '@aws-sdk/util-user-agent-browser': 3.567.0 + '@aws-sdk/util-user-agent-node': 3.568.0 + '@smithy/config-resolver': 2.2.0 + '@smithy/core': 1.4.2 + '@smithy/fetch-http-handler': 2.5.0 + '@smithy/hash-node': 2.2.0 + '@smithy/invalid-dependency': 2.2.0 + '@smithy/middleware-content-length': 2.2.0 + '@smithy/middleware-endpoint': 2.5.1 + '@smithy/middleware-retry': 2.3.1 + '@smithy/middleware-serde': 2.3.0 + '@smithy/middleware-stack': 2.2.0 + '@smithy/node-config-provider': 2.3.0 + '@smithy/node-http-handler': 2.5.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/smithy-client': 2.5.1 + '@smithy/types': 2.12.0 + '@smithy/url-parser': 2.2.0 + '@smithy/util-base64': 2.3.0 + '@smithy/util-body-length-browser': 2.2.0 + '@smithy/util-body-length-node': 2.3.0 + '@smithy/util-defaults-mode-browser': 2.2.1 + '@smithy/util-defaults-mode-node': 2.3.1 + '@smithy/util-endpoints': 1.2.0 + '@smithy/util-middleware': 2.2.0 + '@smithy/util-retry': 2.2.0 + '@smithy/util-utf8': 2.3.0 tslib: 2.6.2 transitivePeerDependencies: - aws-crt dev: true - /@aws-sdk/client-sts@3.583.0: - resolution: {integrity: sha512-xDMxiemPDWr9dY2Q4AyixkRnk/hvS6fs6OWxuVCz1WO47YhaAfOsEGAgQMgDLLaOfj/oLU5D14uTNBEPGh4rBA==} + /@aws-sdk/client-sts@3.554.0(@aws-sdk/credential-provider-node@3.554.0): + resolution: {integrity: sha512-EhaA6T0M0DNg5M8TCF1a7XJI5D/ZxAF3dgVIchyF98iNzjYgl/7U8K6hJay2A11aFvVu70g46xYMpz3Meky4wQ==} + engines: {node: '>=14.0.0'} + peerDependencies: + '@aws-sdk/credential-provider-node': ^3.554.0 + dependencies: + '@aws-crypto/sha256-browser': 3.0.0 + '@aws-crypto/sha256-js': 3.0.0 + '@aws-sdk/core': 3.554.0 + '@aws-sdk/credential-provider-node': 3.554.0 + '@aws-sdk/middleware-host-header': 3.535.0 + '@aws-sdk/middleware-logger': 3.535.0 + '@aws-sdk/middleware-recursion-detection': 3.535.0 + '@aws-sdk/middleware-user-agent': 3.540.0 + '@aws-sdk/region-config-resolver': 3.535.0 + '@aws-sdk/types': 3.535.0 + '@aws-sdk/util-endpoints': 3.540.0 + '@aws-sdk/util-user-agent-browser': 3.535.0 + '@aws-sdk/util-user-agent-node': 3.535.0(aws-crt@1.21.2) + '@smithy/config-resolver': 2.2.0 + '@smithy/core': 1.4.2 + '@smithy/fetch-http-handler': 2.5.0 + '@smithy/hash-node': 2.2.0 + '@smithy/invalid-dependency': 2.2.0 + '@smithy/middleware-content-length': 2.2.0 + '@smithy/middleware-endpoint': 2.5.1 + '@smithy/middleware-retry': 2.3.1 + '@smithy/middleware-serde': 2.3.0 + '@smithy/middleware-stack': 2.2.0 + '@smithy/node-config-provider': 2.3.0 + '@smithy/node-http-handler': 2.5.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/smithy-client': 2.5.1 + '@smithy/types': 2.12.0 + '@smithy/url-parser': 2.2.0 + '@smithy/util-base64': 2.3.0 + '@smithy/util-body-length-browser': 2.2.0 + '@smithy/util-body-length-node': 2.3.0 + '@smithy/util-defaults-mode-browser': 2.2.1 + '@smithy/util-defaults-mode-node': 2.3.1 + '@smithy/util-endpoints': 1.2.0 + '@smithy/util-middleware': 2.2.0 + '@smithy/util-retry': 2.2.0 + '@smithy/util-utf8': 2.3.0 + tslib: 2.6.2 + transitivePeerDependencies: + - aws-crt + dev: true + + /@aws-sdk/client-sts@3.569.0: + resolution: {integrity: sha512-3AyipQ2zHszkcTr8n1Sp7CiMUi28aMf1vOhEo0KKi0DWGo1Z1qJEpWeRP363KG0n9/8U3p1IkXGz5FRbpXZxIw==} engines: {node: '>=16.0.0'} dependencies: '@aws-crypto/sha256-browser': 3.0.0 '@aws-crypto/sha256-js': 3.0.0 - '@aws-sdk/client-sso-oidc': 3.583.0(@aws-sdk/client-sts@3.583.0) - '@aws-sdk/core': 3.582.0 - '@aws-sdk/credential-provider-node': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0)(@aws-sdk/client-sts@3.583.0) - '@aws-sdk/middleware-host-header': 3.577.0 - '@aws-sdk/middleware-logger': 3.577.0 - '@aws-sdk/middleware-recursion-detection': 3.577.0 - '@aws-sdk/middleware-user-agent': 3.583.0 - '@aws-sdk/region-config-resolver': 3.577.0 - '@aws-sdk/types': 3.577.0 - '@aws-sdk/util-endpoints': 3.583.0 - '@aws-sdk/util-user-agent-browser': 3.577.0 - '@aws-sdk/util-user-agent-node': 3.577.0(aws-crt@1.21.2) - '@smithy/config-resolver': 3.0.0 - '@smithy/core': 2.0.1 - '@smithy/fetch-http-handler': 3.0.1 - '@smithy/hash-node': 3.0.0 - '@smithy/invalid-dependency': 3.0.0 - '@smithy/middleware-content-length': 3.0.0 - '@smithy/middleware-endpoint': 3.0.0 - '@smithy/middleware-retry': 3.0.1 - '@smithy/middleware-serde': 3.0.0 - '@smithy/middleware-stack': 3.0.0 - '@smithy/node-config-provider': 3.0.0 - '@smithy/node-http-handler': 3.0.0 - '@smithy/protocol-http': 4.0.0 - '@smithy/smithy-client': 3.0.1 - '@smithy/types': 3.0.0 - '@smithy/url-parser': 3.0.0 - '@smithy/util-base64': 3.0.0 - '@smithy/util-body-length-browser': 3.0.0 - '@smithy/util-body-length-node': 3.0.0 - '@smithy/util-defaults-mode-browser': 3.0.1 - '@smithy/util-defaults-mode-node': 3.0.1 - '@smithy/util-endpoints': 2.0.0 - '@smithy/util-middleware': 3.0.0 - '@smithy/util-retry': 3.0.0 - '@smithy/util-utf8': 3.0.0 + '@aws-sdk/client-sso-oidc': 3.569.0(@aws-sdk/client-sts@3.569.0) + '@aws-sdk/core': 3.567.0 + '@aws-sdk/credential-provider-node': 3.569.0(@aws-sdk/client-sso-oidc@3.569.0)(@aws-sdk/client-sts@3.569.0) + '@aws-sdk/middleware-host-header': 3.567.0 + '@aws-sdk/middleware-logger': 3.568.0 + '@aws-sdk/middleware-recursion-detection': 3.567.0 + '@aws-sdk/middleware-user-agent': 3.567.0 + '@aws-sdk/region-config-resolver': 3.567.0 + '@aws-sdk/types': 3.567.0 + '@aws-sdk/util-endpoints': 3.567.0 + '@aws-sdk/util-user-agent-browser': 3.567.0 + '@aws-sdk/util-user-agent-node': 3.568.0 + '@smithy/config-resolver': 2.2.0 + '@smithy/core': 1.4.2 + '@smithy/fetch-http-handler': 2.5.0 + '@smithy/hash-node': 2.2.0 + '@smithy/invalid-dependency': 2.2.0 + '@smithy/middleware-content-length': 2.2.0 + '@smithy/middleware-endpoint': 2.5.1 + '@smithy/middleware-retry': 2.3.1 + '@smithy/middleware-serde': 2.3.0 + '@smithy/middleware-stack': 2.2.0 + '@smithy/node-config-provider': 2.3.0 + '@smithy/node-http-handler': 2.5.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/smithy-client': 2.5.1 + '@smithy/types': 2.12.0 + '@smithy/url-parser': 2.2.0 + '@smithy/util-base64': 2.3.0 + '@smithy/util-body-length-browser': 2.2.0 + '@smithy/util-body-length-node': 2.3.0 + '@smithy/util-defaults-mode-browser': 2.2.1 + '@smithy/util-defaults-mode-node': 2.3.1 + '@smithy/util-endpoints': 1.2.0 + '@smithy/util-middleware': 2.2.0 + '@smithy/util-retry': 2.2.0 + '@smithy/util-utf8': 2.3.0 tslib: 2.6.2 transitivePeerDependencies: - aws-crt @@ -3148,94 +3286,172 @@ packages: tslib: 2.6.2 dev: true - /@aws-sdk/core@3.582.0: - resolution: {integrity: sha512-ofmD96IQc9g1dbyqlCyxu5fCG7kIl9p1NoN5+vGBUyLdbmPCV3Pdg99nRHYEJuv2MgGx5AUFGDPMHcqbJpnZIw==} - engines: {node: '>=16.0.0'} + /@aws-sdk/core@3.554.0: + resolution: {integrity: sha512-JrG7ToTLeNf+/S3IiCUPVw9jEDB0DXl5ho8n/HwOa946mv+QyCepCuV2U/8f/1KAX0mD8Ufm/E4/cbCbFHgbSg==} + engines: {node: '>=14.0.0'} dependencies: - '@smithy/core': 2.0.1 - '@smithy/protocol-http': 4.0.0 - '@smithy/signature-v4': 3.0.0 - '@smithy/smithy-client': 3.0.1 - '@smithy/types': 3.0.0 + '@smithy/core': 1.4.2 + '@smithy/protocol-http': 3.3.0 + '@smithy/signature-v4': 2.3.0 + '@smithy/smithy-client': 2.5.1 + '@smithy/types': 2.12.0 fast-xml-parser: 4.2.5 tslib: 2.6.2 dev: true - /@aws-sdk/credential-provider-cognito-identity@3.583.0: - resolution: {integrity: sha512-Z6VdDZApTxeI/n8qXBz3IkAdC0tL/mw+cz6EprqpkZG8bejHw78fVjeaVOBBkuskUikjwN4puv0SEJzoEMIqpA==} + /@aws-sdk/core@3.567.0: + resolution: {integrity: sha512-zUDEQhC7blOx6sxhHdT75x98+SXQVdUIMu8z8AjqMWiYK2v4WkOS8i6dOS4E5OjL5J1Ac+ruy8op/Bk4AFqSIw==} engines: {node: '>=16.0.0'} dependencies: - '@aws-sdk/client-cognito-identity': 3.583.0 - '@aws-sdk/types': 3.577.0 - '@smithy/property-provider': 3.0.0 - '@smithy/types': 3.0.0 + '@smithy/core': 1.4.2 + '@smithy/protocol-http': 3.3.0 + '@smithy/signature-v4': 2.3.0 + '@smithy/smithy-client': 2.5.1 + '@smithy/types': 2.12.0 + fast-xml-parser: 4.2.5 + tslib: 2.6.2 + dev: true + + /@aws-sdk/credential-provider-cognito-identity@3.554.0: + resolution: {integrity: sha512-soF84soy9rTAfzsH1ODP0AnJt5JlsJI8k1aWtC08/Al0CZjLkxDRHzaB1wxubFyT2Ql6bpxbDfU6KDFXsQIpdA==} + engines: {node: '>=14.0.0'} + dependencies: + '@aws-sdk/client-cognito-identity': 3.554.0 + '@aws-sdk/types': 3.535.0 + '@smithy/property-provider': 2.2.0 + '@smithy/types': 2.12.0 tslib: 2.6.2 transitivePeerDependencies: - aws-crt dev: true - /@aws-sdk/credential-provider-env@3.577.0: - resolution: {integrity: sha512-Jxu255j0gToMGEiqufP8ZtKI8HW90lOLjwJ3LrdlD/NLsAY0tOQf1fWc53u28hWmmNGMxmCrL2p66IOgMDhDUw==} + /@aws-sdk/credential-provider-env@3.535.0: + resolution: {integrity: sha512-XppwO8c0GCGSAvdzyJOhbtktSEaShg14VJKg8mpMa1XcgqzmcqqHQjtDWbx5rZheY1VdpXZhpEzJkB6LpQejpA==} + engines: {node: '>=14.0.0'} + dependencies: + '@aws-sdk/types': 3.535.0 + '@smithy/property-provider': 2.2.0 + '@smithy/types': 2.12.0 + tslib: 2.6.2 + dev: true + + /@aws-sdk/credential-provider-env@3.568.0: + resolution: {integrity: sha512-MVTQoZwPnP1Ev5A7LG+KzeU6sCB8BcGkZeDT1z1V5Wt7GPq0MgFQTSSjhImnB9jqRSZkl1079Bt3PbO6lfIS8g==} engines: {node: '>=16.0.0'} dependencies: - '@aws-sdk/types': 3.577.0 - '@smithy/property-provider': 3.0.0 - '@smithy/types': 3.0.0 + '@aws-sdk/types': 3.567.0 + '@smithy/property-provider': 2.2.0 + '@smithy/types': 2.12.0 + tslib: 2.6.2 + dev: true + + /@aws-sdk/credential-provider-http@3.552.0: + resolution: {integrity: sha512-vsmu7Cz1i45pFEqzVb4JcFmAmVnWFNLsGheZc8SCptlqCO5voETrZZILHYIl4cjKkSDk3pblBOf0PhyjqWW6WQ==} + engines: {node: '>=14.0.0'} + dependencies: + '@aws-sdk/types': 3.535.0 + '@smithy/fetch-http-handler': 2.5.0 + '@smithy/node-http-handler': 2.5.0 + '@smithy/property-provider': 2.2.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/smithy-client': 2.5.1 + '@smithy/types': 2.12.0 + '@smithy/util-stream': 2.2.0 tslib: 2.6.2 dev: true - /@aws-sdk/credential-provider-http@3.582.0: - resolution: {integrity: sha512-kGOUKw5ryPkDIYB69PjK3SicVLTbWB06ouFN2W1EvqUJpkQGPAUGzYcomKtt3mJaCTf/1kfoaHwARAl6KKSP8Q==} + /@aws-sdk/credential-provider-http@3.568.0: + resolution: {integrity: sha512-gL0NlyI2eW17hnCrh45hZV+qjtBquB+Bckiip9R6DIVRKqYcoILyiFhuOgf2bXeF23gVh6j18pvUvIoTaFWs5w==} engines: {node: '>=16.0.0'} dependencies: - '@aws-sdk/types': 3.577.0 - '@smithy/fetch-http-handler': 3.0.1 - '@smithy/node-http-handler': 3.0.0 - '@smithy/property-provider': 3.0.0 - '@smithy/protocol-http': 4.0.0 - '@smithy/smithy-client': 3.0.1 - '@smithy/types': 3.0.0 - '@smithy/util-stream': 3.0.1 + '@aws-sdk/types': 3.567.0 + '@smithy/fetch-http-handler': 2.5.0 + '@smithy/node-http-handler': 2.5.0 + '@smithy/property-provider': 2.2.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/smithy-client': 2.5.1 + '@smithy/types': 2.12.0 + '@smithy/util-stream': 2.2.0 tslib: 2.6.2 dev: true - /@aws-sdk/credential-provider-ini@3.583.0(@aws-sdk/client-sso-oidc@3.583.0)(@aws-sdk/client-sts@3.583.0): - resolution: {integrity: sha512-8I0oWNg/yps6ctjhEeL/qJ9BIa/+xXP7RPDQqFKZ2zBkWbmLLOoMWXRvl8uKUBD6qCe+DGmcu9skfVXeXSesEQ==} + /@aws-sdk/credential-provider-ini@3.554.0(@aws-sdk/credential-provider-node@3.554.0): + resolution: {integrity: sha512-BQenhg43S6TMJHxrdjDVdVF+HH5tA1op9ZYLyJrvV5nn7CCO4kyAkkOuSAv1NkL+RZsIkW0/vHTXwQOQw3cUsg==} + engines: {node: '>=14.0.0'} + dependencies: + '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) + '@aws-sdk/credential-provider-env': 3.535.0 + '@aws-sdk/credential-provider-process': 3.535.0 + '@aws-sdk/credential-provider-sso': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) + '@aws-sdk/credential-provider-web-identity': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) + '@aws-sdk/types': 3.535.0 + '@smithy/credential-provider-imds': 2.3.0 + '@smithy/property-provider': 2.2.0 + '@smithy/shared-ini-file-loader': 2.4.0 + '@smithy/types': 2.12.0 + tslib: 2.6.2 + transitivePeerDependencies: + - '@aws-sdk/credential-provider-node' + - aws-crt + dev: true + + /@aws-sdk/credential-provider-ini@3.568.0(@aws-sdk/client-sso-oidc@3.569.0)(@aws-sdk/client-sts@3.569.0): + resolution: {integrity: sha512-m5DUN9mpto5DhEvo6w3+8SS6q932ja37rTNvpPqWJIaWhj7OorAwVirSaJQAQB/M8+XCUIrUonxytphZB28qGQ==} engines: {node: '>=16.0.0'} peerDependencies: - '@aws-sdk/client-sts': ^3.583.0 - dependencies: - '@aws-sdk/client-sts': 3.583.0 - '@aws-sdk/credential-provider-env': 3.577.0 - '@aws-sdk/credential-provider-process': 3.577.0 - '@aws-sdk/credential-provider-sso': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0) - '@aws-sdk/credential-provider-web-identity': 3.577.0(@aws-sdk/client-sts@3.583.0) - '@aws-sdk/types': 3.577.0 - '@smithy/credential-provider-imds': 3.0.0 - '@smithy/property-provider': 3.0.0 - '@smithy/shared-ini-file-loader': 3.0.0 - '@smithy/types': 3.0.0 + '@aws-sdk/client-sts': ^3.568.0 + dependencies: + '@aws-sdk/client-sts': 3.569.0 + '@aws-sdk/credential-provider-env': 3.568.0 + '@aws-sdk/credential-provider-process': 3.568.0 + '@aws-sdk/credential-provider-sso': 3.568.0(@aws-sdk/client-sso-oidc@3.569.0) + '@aws-sdk/credential-provider-web-identity': 3.568.0(@aws-sdk/client-sts@3.569.0) + '@aws-sdk/types': 3.567.0 + '@smithy/credential-provider-imds': 2.3.0 + '@smithy/property-provider': 2.2.0 + '@smithy/shared-ini-file-loader': 2.4.0 + '@smithy/types': 2.12.0 tslib: 2.6.2 transitivePeerDependencies: - '@aws-sdk/client-sso-oidc' - aws-crt dev: true - /@aws-sdk/credential-provider-node@3.583.0(@aws-sdk/client-sso-oidc@3.583.0)(@aws-sdk/client-sts@3.583.0): - resolution: {integrity: sha512-yBNypBXny7zJH85SzxDj8s1mbLXv9c/Vbq0qR3R3POj2idZ6ywB/qlIRC1XwBuv49Wvg8kA1wKXk3K3jrpcVIw==} + /@aws-sdk/credential-provider-node@3.554.0: + resolution: {integrity: sha512-poX/+2OE3oxqp4f5MiaJh251p8l+bzcFwgcDBwz0e2rcpvMSYl9jw4AvGnCiG2bmf9yhNJdftBiS1A+KjxV0qA==} + engines: {node: '>=14.0.0'} + dependencies: + '@aws-sdk/credential-provider-env': 3.535.0 + '@aws-sdk/credential-provider-http': 3.552.0 + '@aws-sdk/credential-provider-ini': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) + '@aws-sdk/credential-provider-process': 3.535.0 + '@aws-sdk/credential-provider-sso': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) + '@aws-sdk/credential-provider-web-identity': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) + '@aws-sdk/types': 3.535.0 + '@smithy/credential-provider-imds': 2.3.0 + '@smithy/property-provider': 2.2.0 + '@smithy/shared-ini-file-loader': 2.4.0 + '@smithy/types': 2.12.0 + tslib: 2.6.2 + transitivePeerDependencies: + - aws-crt + dev: true + + /@aws-sdk/credential-provider-node@3.569.0(@aws-sdk/client-sso-oidc@3.569.0)(@aws-sdk/client-sts@3.569.0): + resolution: {integrity: sha512-7jH4X2qlPU3PszZP1zvHJorhLARbU1tXvp8ngBe8ArXBrkFpl/dQ2Y/IRAICPm/pyC1IEt8L/CvKp+dz7v/eRw==} engines: {node: '>=16.0.0'} dependencies: - '@aws-sdk/credential-provider-env': 3.577.0 - '@aws-sdk/credential-provider-http': 3.582.0 - '@aws-sdk/credential-provider-ini': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0)(@aws-sdk/client-sts@3.583.0) - '@aws-sdk/credential-provider-process': 3.577.0 - '@aws-sdk/credential-provider-sso': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0) - '@aws-sdk/credential-provider-web-identity': 3.577.0(@aws-sdk/client-sts@3.583.0) - '@aws-sdk/types': 3.577.0 - '@smithy/credential-provider-imds': 3.0.0 - '@smithy/property-provider': 3.0.0 - '@smithy/shared-ini-file-loader': 3.0.0 - '@smithy/types': 3.0.0 + '@aws-sdk/credential-provider-env': 3.568.0 + '@aws-sdk/credential-provider-http': 3.568.0 + '@aws-sdk/credential-provider-ini': 3.568.0(@aws-sdk/client-sso-oidc@3.569.0)(@aws-sdk/client-sts@3.569.0) + '@aws-sdk/credential-provider-process': 3.568.0 + '@aws-sdk/credential-provider-sso': 3.568.0(@aws-sdk/client-sso-oidc@3.569.0) + '@aws-sdk/credential-provider-web-identity': 3.568.0(@aws-sdk/client-sts@3.569.0) + '@aws-sdk/types': 3.567.0 + '@smithy/credential-provider-imds': 2.3.0 + '@smithy/property-provider': 2.2.0 + '@smithy/shared-ini-file-loader': 2.4.0 + '@smithy/types': 2.12.0 tslib: 2.6.2 transitivePeerDependencies: - '@aws-sdk/client-sso-oidc' @@ -3243,143 +3459,212 @@ packages: - aws-crt dev: true - /@aws-sdk/credential-provider-process@3.577.0: - resolution: {integrity: sha512-Gin6BWtOiXxIgITrJ3Nwc+Y2P1uVT6huYR4EcbA/DJUPWyO0n9y5UFLewPvVbLkRn15JeEqErBLUrHclkiOKtw==} + /@aws-sdk/credential-provider-process@3.535.0: + resolution: {integrity: sha512-9O1OaprGCnlb/kYl8RwmH7Mlg8JREZctB8r9sa1KhSsWFq/SWO0AuJTyowxD7zL5PkeS4eTvzFFHWCa3OO5epA==} + engines: {node: '>=14.0.0'} + dependencies: + '@aws-sdk/types': 3.535.0 + '@smithy/property-provider': 2.2.0 + '@smithy/shared-ini-file-loader': 2.4.0 + '@smithy/types': 2.12.0 + tslib: 2.6.2 + dev: true + + /@aws-sdk/credential-provider-process@3.568.0: + resolution: {integrity: sha512-r01zbXbanP17D+bQUb7mD8Iu2SuayrrYZ0Slgvx32qgz47msocV9EPCSwI4Hkw2ZtEPCeLQR4XCqFJB1D9P50w==} engines: {node: '>=16.0.0'} dependencies: - '@aws-sdk/types': 3.577.0 - '@smithy/property-provider': 3.0.0 - '@smithy/shared-ini-file-loader': 3.0.0 - '@smithy/types': 3.0.0 + '@aws-sdk/types': 3.567.0 + '@smithy/property-provider': 2.2.0 + '@smithy/shared-ini-file-loader': 2.4.0 + '@smithy/types': 2.12.0 + tslib: 2.6.2 + dev: true + + /@aws-sdk/credential-provider-sso@3.554.0(@aws-sdk/credential-provider-node@3.554.0): + resolution: {integrity: sha512-8QPpwBA31i/fZ7lDZJC4FA9EdxLg5SJ8sPB2qLSjp5UTGTYL2HRl0Eznkb7DXyp/wImsR/HFR1NxuFCCVotLCg==} + engines: {node: '>=14.0.0'} + dependencies: + '@aws-sdk/client-sso': 3.554.0 + '@aws-sdk/token-providers': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) + '@aws-sdk/types': 3.535.0 + '@smithy/property-provider': 2.2.0 + '@smithy/shared-ini-file-loader': 2.4.0 + '@smithy/types': 2.12.0 tslib: 2.6.2 + transitivePeerDependencies: + - '@aws-sdk/credential-provider-node' + - aws-crt dev: true - /@aws-sdk/credential-provider-sso@3.583.0(@aws-sdk/client-sso-oidc@3.583.0): - resolution: {integrity: sha512-G/1EvL9tBezSiU+06tG4K/kOvFfPjnheT4JSXqjPM7+vjKzgp2jxp1J9MMd69zs4jVWon932zMeGgjrCplzMEg==} + /@aws-sdk/credential-provider-sso@3.568.0(@aws-sdk/client-sso-oidc@3.569.0): + resolution: {integrity: sha512-+TA77NWOEXMUcfLoOuim6xiyXFg1GqHj55ggI1goTKGVvdHYZ+rhxZbwjI29+ewzPt/qcItDJcvhrjOrg9lCag==} engines: {node: '>=16.0.0'} dependencies: - '@aws-sdk/client-sso': 3.583.0 - '@aws-sdk/token-providers': 3.577.0(@aws-sdk/client-sso-oidc@3.583.0) - '@aws-sdk/types': 3.577.0 - '@smithy/property-provider': 3.0.0 - '@smithy/shared-ini-file-loader': 3.0.0 - '@smithy/types': 3.0.0 + '@aws-sdk/client-sso': 3.568.0 + '@aws-sdk/token-providers': 3.568.0(@aws-sdk/client-sso-oidc@3.569.0) + '@aws-sdk/types': 3.567.0 + '@smithy/property-provider': 2.2.0 + '@smithy/shared-ini-file-loader': 2.4.0 + '@smithy/types': 2.12.0 tslib: 2.6.2 transitivePeerDependencies: - '@aws-sdk/client-sso-oidc' - aws-crt dev: true - /@aws-sdk/credential-provider-web-identity@3.577.0(@aws-sdk/client-sts@3.583.0): - resolution: {integrity: sha512-ZGHGNRaCtJJmszb9UTnC7izNCtRUttdPlLdMkh41KPS32vfdrBDHs1JrpbZijItRj1xKuOXsiYSXLAaHGcLh8Q==} + /@aws-sdk/credential-provider-web-identity@3.554.0(@aws-sdk/credential-provider-node@3.554.0): + resolution: {integrity: sha512-HN54DzLjepw5ZWSF9ycGevhFTyg6pjLuLKy5Y8t/f1jFDComzYdGEDe0cdV9YO653W3+PQwZZGz09YVygGYBLg==} + engines: {node: '>=14.0.0'} + dependencies: + '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) + '@aws-sdk/types': 3.535.0 + '@smithy/property-provider': 2.2.0 + '@smithy/types': 2.12.0 + tslib: 2.6.2 + transitivePeerDependencies: + - '@aws-sdk/credential-provider-node' + - aws-crt + dev: true + + /@aws-sdk/credential-provider-web-identity@3.568.0(@aws-sdk/client-sts@3.569.0): + resolution: {integrity: sha512-ZJSmTmoIdg6WqAULjYzaJ3XcbgBzVy36lir6Y0UBMRGaxDgos1AARuX6EcYzXOl+ksLvxt/xMQ+3aYh1LWfKSw==} engines: {node: '>=16.0.0'} peerDependencies: - '@aws-sdk/client-sts': ^3.577.0 + '@aws-sdk/client-sts': ^3.568.0 dependencies: - '@aws-sdk/client-sts': 3.583.0 - '@aws-sdk/types': 3.577.0 - '@smithy/property-provider': 3.0.0 - '@smithy/types': 3.0.0 + '@aws-sdk/client-sts': 3.569.0 + '@aws-sdk/types': 3.567.0 + '@smithy/property-provider': 2.2.0 + '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true - /@aws-sdk/credential-providers@3.583.0(@aws-sdk/client-sso-oidc@3.583.0): - resolution: {integrity: sha512-aD/lw6LJW51f+LgdR54UxyGvXqWZs4HCT310Qf794qFItDWXqhHK4EgS1x41BgAvXPUx0+HSO8OI4eb+AklckA==} - engines: {node: '>=16.0.0'} + /@aws-sdk/credential-providers@3.554.0: + resolution: {integrity: sha512-UMmJ4M7RknSz1p0981t57QUw6DibPEo/GG8+env6Q8dHrEc3pnRL206f1zxLcqzT5RI50XstH/bDtnyC7uRYiw==} + engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/client-cognito-identity': 3.583.0 - '@aws-sdk/client-sso': 3.583.0 - '@aws-sdk/client-sts': 3.583.0 - '@aws-sdk/credential-provider-cognito-identity': 3.583.0 - '@aws-sdk/credential-provider-env': 3.577.0 - '@aws-sdk/credential-provider-http': 3.582.0 - '@aws-sdk/credential-provider-ini': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0)(@aws-sdk/client-sts@3.583.0) - '@aws-sdk/credential-provider-node': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0)(@aws-sdk/client-sts@3.583.0) - '@aws-sdk/credential-provider-process': 3.577.0 - '@aws-sdk/credential-provider-sso': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0) - '@aws-sdk/credential-provider-web-identity': 3.577.0(@aws-sdk/client-sts@3.583.0) - '@aws-sdk/types': 3.577.0 - '@smithy/credential-provider-imds': 3.0.0 - '@smithy/property-provider': 3.0.0 - '@smithy/types': 3.0.0 + '@aws-sdk/client-cognito-identity': 3.554.0 + '@aws-sdk/client-sso': 3.554.0 + '@aws-sdk/client-sts': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) + '@aws-sdk/credential-provider-cognito-identity': 3.554.0 + '@aws-sdk/credential-provider-env': 3.535.0 + '@aws-sdk/credential-provider-http': 3.552.0 + '@aws-sdk/credential-provider-ini': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) + '@aws-sdk/credential-provider-node': 3.554.0 + '@aws-sdk/credential-provider-process': 3.535.0 + '@aws-sdk/credential-provider-sso': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) + '@aws-sdk/credential-provider-web-identity': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) + '@aws-sdk/types': 3.535.0 + '@smithy/credential-provider-imds': 2.3.0 + '@smithy/property-provider': 2.2.0 + '@smithy/types': 2.12.0 tslib: 2.6.2 transitivePeerDependencies: - - '@aws-sdk/client-sso-oidc' - aws-crt dev: true - /@aws-sdk/middleware-bucket-endpoint@3.577.0: - resolution: {integrity: sha512-twlkNX2VofM6kHXzDEiJOiYCc9tVABe5cbyxMArRWscIsCWG9mamPhC77ezG4XsN9dFEwVdxEYD5Crpm/5EUiw==} - engines: {node: '>=16.0.0'} + /@aws-sdk/middleware-bucket-endpoint@3.535.0: + resolution: {integrity: sha512-7sijlfQsc4UO9Fsl11mU26Y5f9E7g6UoNg/iJUBpC5pgvvmdBRO5UEhbB/gnqvOEPsBXyhmfzbstebq23Qdz7A==} + engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.577.0 - '@aws-sdk/util-arn-parser': 3.568.0 - '@smithy/node-config-provider': 3.0.0 - '@smithy/protocol-http': 4.0.0 - '@smithy/types': 3.0.0 - '@smithy/util-config-provider': 3.0.0 + '@aws-sdk/types': 3.535.0 + '@aws-sdk/util-arn-parser': 3.535.0 + '@smithy/node-config-provider': 2.3.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/types': 2.12.0 + '@smithy/util-config-provider': 2.3.0 tslib: 2.6.2 dev: true - /@aws-sdk/middleware-expect-continue@3.577.0: - resolution: {integrity: sha512-6dPp8Tv4F0of4un5IAyG6q++GrRrNQQ4P2NAMB1W0VO4JoEu1C8GievbbDLi88TFIFmtKpnHB0ODCzwnoe8JsA==} - engines: {node: '>=16.0.0'} + /@aws-sdk/middleware-expect-continue@3.535.0: + resolution: {integrity: sha512-hFKyqUBky0NWCVku8iZ9+PACehx0p6vuMw5YnZf8FVgHP0fode0b/NwQY6UY7oor/GftvRsAlRUAWGNFEGUpwA==} + engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.577.0 - '@smithy/protocol-http': 4.0.0 - '@smithy/types': 3.0.0 + '@aws-sdk/types': 3.535.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true - /@aws-sdk/middleware-flexible-checksums@3.577.0: - resolution: {integrity: sha512-IHAUEipIfagjw92LV8SOSBiCF7ZnqfHcw14IkcZW2/mfrCy1Fh/k40MoS/t3Tro2tQ91rgQPwUoSgB/QCi2Org==} - engines: {node: '>=16.0.0'} + /@aws-sdk/middleware-flexible-checksums@3.535.0: + resolution: {integrity: sha512-rBIzldY9jjRATxICDX7t77aW6ctqmVDgnuAOgbVT5xgHftt4o7PGWKoMvl/45hYqoQgxVFnCBof9bxkqSBebVA==} + engines: {node: '>=14.0.0'} dependencies: '@aws-crypto/crc32': 3.0.0 '@aws-crypto/crc32c': 3.0.0 - '@aws-sdk/types': 3.577.0 - '@smithy/is-array-buffer': 3.0.0 - '@smithy/protocol-http': 4.0.0 - '@smithy/types': 3.0.0 - '@smithy/util-utf8': 3.0.0 + '@aws-sdk/types': 3.535.0 + '@smithy/is-array-buffer': 2.2.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/types': 2.12.0 + '@smithy/util-utf8': 2.3.0 tslib: 2.6.2 dev: true - /@aws-sdk/middleware-host-header@3.577.0: - resolution: {integrity: sha512-9ca5MJz455CODIVXs0/sWmJm7t3QO4EUa1zf8pE8grLpzf0J94bz/skDWm37Pli13T3WaAQBHCTiH2gUVfCsWg==} - engines: {node: '>=16.0.0'} + /@aws-sdk/middleware-host-header@3.535.0: + resolution: {integrity: sha512-0h6TWjBWtDaYwHMQJI9ulafeS4lLaw1vIxRjbpH0svFRt6Eve+Sy8NlVhECfTU2hNz/fLubvrUxsXoThaLBIew==} + engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.577.0 - '@smithy/protocol-http': 4.0.0 - '@smithy/types': 3.0.0 + '@aws-sdk/types': 3.535.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true - /@aws-sdk/middleware-location-constraint@3.577.0: - resolution: {integrity: sha512-DKPTD2D2s+t2QUo/IXYtVa/6Un8GZ+phSTBkyBNx2kfZz4Kwavhl/JJzSqTV3GfCXkVdFu7CrjoX7BZ6qWeTUA==} + /@aws-sdk/middleware-host-header@3.567.0: + resolution: {integrity: sha512-zQHHj2N3in9duKghH7AuRNrOMLnKhW6lnmb7dznou068DJtDr76w475sHp2TF0XELsOGENbbBsOlN/S5QBFBVQ==} engines: {node: '>=16.0.0'} dependencies: - '@aws-sdk/types': 3.577.0 - '@smithy/types': 3.0.0 + '@aws-sdk/types': 3.567.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/types': 2.12.0 + tslib: 2.6.2 + dev: true + + /@aws-sdk/middleware-location-constraint@3.535.0: + resolution: {integrity: sha512-SxfS9wfidUZZ+WnlKRTCRn3h+XTsymXRXPJj8VV6hNRNeOwzNweoG3YhQbTowuuNfXf89m9v6meYkBBtkdacKw==} + engines: {node: '>=14.0.0'} + dependencies: + '@aws-sdk/types': 3.535.0 + '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true - /@aws-sdk/middleware-logger@3.577.0: - resolution: {integrity: sha512-aPFGpGjTZcJYk+24bg7jT4XdIp42mFXSuPt49lw5KygefLyJM/sB0bKKqPYYivW0rcuZ9brQ58eZUNthrzYAvg==} + /@aws-sdk/middleware-logger@3.535.0: + resolution: {integrity: sha512-huNHpONOrEDrdRTvSQr1cJiRMNf0S52NDXtaPzdxiubTkP+vni2MohmZANMOai/qT0olmEVX01LhZ0ZAOgmg6A==} + engines: {node: '>=14.0.0'} + dependencies: + '@aws-sdk/types': 3.535.0 + '@smithy/types': 2.12.0 + tslib: 2.6.2 + dev: true + + /@aws-sdk/middleware-logger@3.568.0: + resolution: {integrity: sha512-BinH72RG7K3DHHC1/tCulocFv+ZlQ9SrPF9zYT0T1OT95JXuHhB7fH8gEABrc6DAtOdJJh2fgxQjPy5tzPtsrA==} engines: {node: '>=16.0.0'} dependencies: - '@aws-sdk/types': 3.577.0 - '@smithy/types': 3.0.0 + '@aws-sdk/types': 3.567.0 + '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true - /@aws-sdk/middleware-recursion-detection@3.577.0: - resolution: {integrity: sha512-pn3ZVEd2iobKJlR3H+bDilHjgRnNrQ6HMmK9ZzZw89Ckn3Dcbv48xOv4RJvu0aU8SDLl/SNCxppKjeLDTPGBNA==} + /@aws-sdk/middleware-recursion-detection@3.535.0: + resolution: {integrity: sha512-am2qgGs+gwqmR4wHLWpzlZ8PWhm4ktj5bYSgDrsOfjhdBlWNxvPoID9/pDAz5RWL48+oH7I6SQzMqxXsFDikrw==} + engines: {node: '>=14.0.0'} + dependencies: + '@aws-sdk/types': 3.535.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/types': 2.12.0 + tslib: 2.6.2 + dev: true + + /@aws-sdk/middleware-recursion-detection@3.567.0: + resolution: {integrity: sha512-rFk3QhdT4IL6O/UWHmNdjJiURutBCy+ogGqaNHf/RELxgXH3KmYorLwCe0eFb5hq8f6vr3zl4/iH7YtsUOuo1w==} engines: {node: '>=16.0.0'} dependencies: - '@aws-sdk/types': 3.577.0 - '@smithy/protocol-http': 4.0.0 - '@smithy/types': 3.0.0 + '@aws-sdk/types': 3.567.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true @@ -3393,77 +3678,100 @@ packages: uuid: 8.3.2 dev: true - /@aws-sdk/middleware-sdk-s3@3.582.0: - resolution: {integrity: sha512-PJqQpLoLaZPRI4L/XZUeHkd9UVK8VAr9R38wv0osGeMTvzD9iwzzk0I2TtBqFda/5xEB1YgVYZwyqvmStXmttg==} - engines: {node: '>=16.0.0'} + /@aws-sdk/middleware-sdk-s3@3.552.0: + resolution: {integrity: sha512-9KzOqsbwJJuQcpmrpkkIftjPahB1bsrcWalYzcVqKCgHCylhkSHW2tX+uGHRnvAl9iobQD5D7LUrS+cv0NeQ/Q==} + engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.577.0 - '@aws-sdk/util-arn-parser': 3.568.0 - '@smithy/node-config-provider': 3.0.0 - '@smithy/protocol-http': 4.0.0 - '@smithy/signature-v4': 3.0.0 - '@smithy/smithy-client': 3.0.1 - '@smithy/types': 3.0.0 - '@smithy/util-config-provider': 3.0.0 + '@aws-sdk/types': 3.535.0 + '@aws-sdk/util-arn-parser': 3.535.0 + '@smithy/node-config-provider': 2.3.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/signature-v4': 2.3.0 + '@smithy/smithy-client': 2.5.1 + '@smithy/types': 2.12.0 + '@smithy/util-config-provider': 2.3.0 tslib: 2.6.2 dev: true - /@aws-sdk/middleware-signing@3.577.0: - resolution: {integrity: sha512-QS/dh3+NqZbXtY0j/DZ867ogP413pG5cFGqBy9OeOhDMsolcwLrQbi0S0c621dc1QNq+er9ffaMhZ/aPkyXXIg==} - engines: {node: '>=16.0.0'} + /@aws-sdk/middleware-signing@3.552.0: + resolution: {integrity: sha512-ZjOrlEmwjhbmkINa4Zx9LJh+xb/kgEiUrcfud2kq/r8ath1Nv1/4zalI9jHnou1J+R+yS+FQlXLXHSZ7vqyFbA==} + engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.577.0 - '@smithy/property-provider': 3.0.0 - '@smithy/protocol-http': 4.0.0 - '@smithy/signature-v4': 3.0.0 - '@smithy/types': 3.0.0 - '@smithy/util-middleware': 3.0.0 + '@aws-sdk/types': 3.535.0 + '@smithy/property-provider': 2.2.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/signature-v4': 2.3.0 + '@smithy/types': 2.12.0 + '@smithy/util-middleware': 2.2.0 tslib: 2.6.2 dev: true - /@aws-sdk/middleware-ssec@3.577.0: - resolution: {integrity: sha512-i2BPJR+rp8xmRVIGc0h1kDRFcM2J9GnClqqpc+NLSjmYadlcg4mPklisz9HzwFVcRPJ5XcGf3U4BYs5G8+iTyg==} - engines: {node: '>=16.0.0'} + /@aws-sdk/middleware-ssec@3.537.0: + resolution: {integrity: sha512-2QWMrbwd5eBy5KCYn9a15JEWBgrK2qFEKQN2lqb/6z0bhtevIOxIRfC99tzvRuPt6nixFQ+ynKuBjcfT4ZFrdQ==} + engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.577.0 - '@smithy/types': 3.0.0 + '@aws-sdk/types': 3.535.0 + '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true - /@aws-sdk/middleware-user-agent@3.583.0: - resolution: {integrity: sha512-xVNXXXDWvBVI/AeVtSdA9SVumqxiZaESk/JpUn9GMkmtTKfter0Cweap+1iQ9j8bRAO0vNhmIkbcvdB1S4WVUw==} - engines: {node: '>=16.0.0'} + /@aws-sdk/middleware-user-agent@3.540.0: + resolution: {integrity: sha512-8Rd6wPeXDnOYzWj1XCmOKcx/Q87L0K1/EHqOBocGjLVbN3gmRxBvpmR1pRTjf7IsWfnnzN5btqtcAkfDPYQUMQ==} + engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.577.0 - '@aws-sdk/util-endpoints': 3.583.0 - '@smithy/protocol-http': 4.0.0 - '@smithy/types': 3.0.0 + '@aws-sdk/types': 3.535.0 + '@aws-sdk/util-endpoints': 3.540.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true - /@aws-sdk/region-config-resolver@3.577.0: - resolution: {integrity: sha512-4ChCFACNwzqx/xjg3zgFcW8Ali6R9C95cFECKWT/7CUM1D0MGvkclSH2cLarmHCmJgU6onKkJroFtWp0kHhgyg==} + /@aws-sdk/middleware-user-agent@3.567.0: + resolution: {integrity: sha512-a7DBGMRBLWJU3BqrQjOtKS4/RcCh/BhhKqwjCE0FEhhm6A/GGuAs/DcBGOl6Y8Wfsby3vejSlppTLH/qtV1E9w==} engines: {node: '>=16.0.0'} dependencies: - '@aws-sdk/types': 3.577.0 - '@smithy/node-config-provider': 3.0.0 - '@smithy/types': 3.0.0 - '@smithy/util-config-provider': 3.0.0 - '@smithy/util-middleware': 3.0.0 + '@aws-sdk/types': 3.567.0 + '@aws-sdk/util-endpoints': 3.567.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/types': 2.12.0 + tslib: 2.6.2 + dev: true + + /@aws-sdk/region-config-resolver@3.535.0: + resolution: {integrity: sha512-IXOznDiaItBjsQy4Fil0kzX/J3HxIOknEphqHbOfUf+LpA5ugcsxuQQONrbEQusCBnfJyymrldBvBhFmtlU9Wg==} + engines: {node: '>=14.0.0'} + dependencies: + '@aws-sdk/types': 3.535.0 + '@smithy/node-config-provider': 2.3.0 + '@smithy/types': 2.12.0 + '@smithy/util-config-provider': 2.3.0 + '@smithy/util-middleware': 2.2.0 tslib: 2.6.2 dev: true - /@aws-sdk/signature-v4-crt@3.582.0: - resolution: {integrity: sha512-FhMUIRl1UTLU+MBXffZ/TzlT2s6nQO9vbj9eLuOP0TalU6cAuxLXPOTSu2QbSPL5vEl25bwOL/qECAf5tveBzg==} + /@aws-sdk/region-config-resolver@3.567.0: + resolution: {integrity: sha512-VMDyYi5Dh2NydDiIARZ19DwMfbyq0llS736cp47qopmO6wzdeul7WRTx8NKfEYN0/AwEaqmTW0ohx58jSB1lYg==} engines: {node: '>=16.0.0'} dependencies: - '@aws-sdk/signature-v4-multi-region': 3.582.0 - '@aws-sdk/types': 3.577.0 - '@aws-sdk/util-user-agent-node': 3.577.0(aws-crt@1.21.2) - '@smithy/querystring-parser': 3.0.0 - '@smithy/signature-v4': 3.0.0 - '@smithy/types': 3.0.0 - '@smithy/util-middleware': 3.0.0 + '@aws-sdk/types': 3.567.0 + '@smithy/node-config-provider': 2.3.0 + '@smithy/types': 2.12.0 + '@smithy/util-config-provider': 2.3.0 + '@smithy/util-middleware': 2.2.0 + tslib: 2.6.2 + dev: true + + /@aws-sdk/signature-v4-crt@3.552.0: + resolution: {integrity: sha512-5Dy4E2RtHw3hFCx5L+OsRN2n1OW3yoX06xDPqJ5xe38Pd9H8ZPYxiCEOdyw/TIJUwRjDMgsa2uPKyM/Nwr9cMg==} + engines: {node: '>=14.0.0'} + dependencies: + '@aws-sdk/signature-v4-multi-region': 3.552.0 + '@aws-sdk/types': 3.535.0 + '@aws-sdk/util-user-agent-node': 3.535.0(aws-crt@1.21.2) + '@smithy/querystring-parser': 2.2.0 + '@smithy/signature-v4': 2.3.0 + '@smithy/types': 2.12.0 + '@smithy/util-middleware': 2.2.0 aws-crt: 1.21.2 tslib: 2.6.2 transitivePeerDependencies: @@ -3473,15 +3781,15 @@ packages: - utf-8-validate dev: true - /@aws-sdk/signature-v4-multi-region@3.582.0: - resolution: {integrity: sha512-aFCOjjNqEX2l+V8QjOWy5F7CtHIC/RlYdBuv3No6yxn+pMvVUUe6zdMk2yHWcudVpHWsyvcZzAUBliAPeFLPsQ==} - engines: {node: '>=16.0.0'} + /@aws-sdk/signature-v4-multi-region@3.552.0: + resolution: {integrity: sha512-cC11/5ahp+LaBCq7cR+51AM2ftf6m9diRd2oWkbEpjSiEKQzZRAltUPZAJM6NXGypmDODQDJphLGt45tvS+8kg==} + engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/middleware-sdk-s3': 3.582.0 - '@aws-sdk/types': 3.577.0 - '@smithy/protocol-http': 4.0.0 - '@smithy/signature-v4': 3.0.0 - '@smithy/types': 3.0.0 + '@aws-sdk/middleware-sdk-s3': 3.552.0 + '@aws-sdk/types': 3.535.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/signature-v4': 2.3.0 + '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true @@ -3494,87 +3802,144 @@ packages: tslib: 2.6.2 dev: true - /@aws-sdk/token-providers@3.577.0(@aws-sdk/client-sso-oidc@3.583.0): - resolution: {integrity: sha512-0CkIZpcC3DNQJQ1hDjm2bdSy/Xjs7Ny5YvSsacasGOkNfk+FdkiQy6N67bZX3Zbc9KIx+Nz4bu3iDeNSNplnnQ==} + /@aws-sdk/token-providers@3.554.0(@aws-sdk/credential-provider-node@3.554.0): + resolution: {integrity: sha512-KMMQ5Cw0FUPL9H8g69Lp08xtzRo7r/MK+lBV6LznWBbCP/NwtZ8awVHaPy2P31z00cWtu9MYkUTviWPqJTaBvg==} + engines: {node: '>=14.0.0'} + dependencies: + '@aws-sdk/client-sso-oidc': 3.554.0(@aws-sdk/credential-provider-node@3.554.0) + '@aws-sdk/types': 3.535.0 + '@smithy/property-provider': 2.2.0 + '@smithy/shared-ini-file-loader': 2.4.0 + '@smithy/types': 2.12.0 + tslib: 2.6.2 + transitivePeerDependencies: + - '@aws-sdk/credential-provider-node' + - aws-crt + dev: true + + /@aws-sdk/token-providers@3.568.0(@aws-sdk/client-sso-oidc@3.569.0): + resolution: {integrity: sha512-mCQElYzY5N2JlXB7LyjOoLvRN/JiSV+E9szLwhYN3dleTUCMbGqWb7RiAR2V3fO+mz8f9kR7DThTExKJbKogKw==} engines: {node: '>=16.0.0'} peerDependencies: - '@aws-sdk/client-sso-oidc': ^3.577.0 + '@aws-sdk/client-sso-oidc': ^3.568.0 dependencies: - '@aws-sdk/client-sso-oidc': 3.583.0(@aws-sdk/client-sts@3.583.0) - '@aws-sdk/types': 3.577.0 - '@smithy/property-provider': 3.0.0 - '@smithy/shared-ini-file-loader': 3.0.0 - '@smithy/types': 3.0.0 + '@aws-sdk/client-sso-oidc': 3.569.0(@aws-sdk/client-sts@3.569.0) + '@aws-sdk/types': 3.567.0 + '@smithy/property-provider': 2.2.0 + '@smithy/shared-ini-file-loader': 2.4.0 + '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true - /@aws-sdk/types@3.577.0: - resolution: {integrity: sha512-FT2JZES3wBKN/alfmhlo+3ZOq/XJ0C7QOZcDNrpKjB0kqYoKjhVKZ/Hx6ArR0czkKfHzBBEs6y40ebIHx2nSmA==} - engines: {node: '>=16.0.0'} + /@aws-sdk/types@3.535.0: + resolution: {integrity: sha512-aY4MYfduNj+sRR37U7XxYR8wemfbKP6lx00ze2M2uubn7mZotuVrWYAafbMSXrdEMSToE5JDhr28vArSOoLcSg==} + engines: {node: '>=14.0.0'} dependencies: - '@smithy/types': 3.0.0 + '@smithy/types': 2.12.0 tslib: 2.6.2 - /@aws-sdk/util-arn-parser@3.568.0: - resolution: {integrity: sha512-XUKJWWo+KOB7fbnPP0+g/o5Ulku/X53t7i/h+sPHr5xxYTJJ9CYnbToo95mzxe7xWvkLrsNtJ8L+MnNn9INs2w==} + /@aws-sdk/types@3.567.0: + resolution: {integrity: sha512-JBznu45cdgQb8+T/Zab7WpBmfEAh77gsk99xuF4biIb2Sw1mdseONdoGDjEJX57a25TzIv/WUJ2oABWumckz1A==} engines: {node: '>=16.0.0'} dependencies: + '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true - /@aws-sdk/util-endpoints@3.583.0: - resolution: {integrity: sha512-ZC9mb2jq6BFXPYsUsD2tmYcnlmd+9PGNwnFNn8jk4abna5Jjk2wDknN81ybktmBR5ttN9W8ugmktuKtvAMIDCQ==} - engines: {node: '>=16.0.0'} + /@aws-sdk/util-arn-parser@3.535.0: + resolution: {integrity: sha512-smVo29nUPAOprp8Z5Y3GHuhiOtw6c8/EtLCm5AVMtRsTPw4V414ZXL2H66tzmb5kEeSzQlbfBSBEdIFZoxO9kg==} + engines: {node: '>=14.0.0'} dependencies: - '@aws-sdk/types': 3.577.0 - '@smithy/types': 3.0.0 - '@smithy/util-endpoints': 2.0.0 tslib: 2.6.2 dev: true - /@aws-sdk/util-locate-window@3.568.0: - resolution: {integrity: sha512-3nh4TINkXYr+H41QaPelCceEB2FXP3fxp93YZXB/kqJvX0U9j0N0Uk45gvsjmEPzG8XxkPEeLIfT2I1M7A6Lig==} + /@aws-sdk/util-endpoints@3.540.0: + resolution: {integrity: sha512-1kMyQFAWx6f8alaI6UT65/5YW/7pDWAKAdNwL6vuJLea03KrZRX3PMoONOSJpAS5m3Ot7HlWZvf3wZDNTLELZw==} + engines: {node: '>=14.0.0'} + dependencies: + '@aws-sdk/types': 3.535.0 + '@smithy/types': 2.12.0 + '@smithy/util-endpoints': 1.2.0 + tslib: 2.6.2 + dev: true + + /@aws-sdk/util-endpoints@3.567.0: + resolution: {integrity: sha512-WVhot3qmi0BKL9ZKnUqsvCd++4RF2DsJIG32NlRaml1FT9KaqSzNv0RXeA6k/kYwiiNT7y3YWu3Lbzy7c6vG9g==} engines: {node: '>=16.0.0'} + dependencies: + '@aws-sdk/types': 3.567.0 + '@smithy/types': 2.12.0 + '@smithy/util-endpoints': 1.2.0 + tslib: 2.6.2 + dev: true + + /@aws-sdk/util-locate-window@3.535.0: + resolution: {integrity: sha512-PHJ3SL6d2jpcgbqdgiPxkXpu7Drc2PYViwxSIqvvMKhDwzSB1W3mMvtpzwKM4IE7zLFodZo0GKjJ9AsoXndXhA==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true - /@aws-sdk/util-user-agent-browser@3.577.0: - resolution: {integrity: sha512-zEAzHgR6HWpZOH7xFgeJLc6/CzMcx4nxeQolZxVZoB5pPaJd3CjyRhZN0xXeZB0XIRCWmb4yJBgyiugXLNMkLA==} + /@aws-sdk/util-user-agent-browser@3.535.0: + resolution: {integrity: sha512-RWMcF/xV5n+nhaA/Ff5P3yNP3Kur/I+VNZngog4TEs92oB/nwOdAg/2JL8bVAhUbMrjTjpwm7PItziYFQoqyig==} dependencies: - '@aws-sdk/types': 3.577.0 - '@smithy/types': 3.0.0 + '@aws-sdk/types': 3.535.0 + '@smithy/types': 2.12.0 bowser: 2.11.0 tslib: 2.6.2 dev: true - /@aws-sdk/util-user-agent-node@3.577.0(aws-crt@1.21.2): - resolution: {integrity: sha512-XqvtFjbSMtycZTWVwDe8DRWovuoMbA54nhUoZwVU6rW9OSD6NZWGR512BUGHFaWzW0Wg8++Dj10FrKTG2XtqfA==} - engines: {node: '>=16.0.0'} + /@aws-sdk/util-user-agent-browser@3.567.0: + resolution: {integrity: sha512-cqP0uXtZ7m7hRysf3fRyJwcY1jCgQTpJy7BHB5VpsE7DXlXHD5+Ur5L42CY7UrRPrB6lc6YGFqaAOs5ghMcLyA==} + dependencies: + '@aws-sdk/types': 3.567.0 + '@smithy/types': 2.12.0 + bowser: 2.11.0 + tslib: 2.6.2 + dev: true + + /@aws-sdk/util-user-agent-node@3.535.0(aws-crt@1.21.2): + resolution: {integrity: sha512-dRek0zUuIT25wOWJlsRm97nTkUlh1NDcLsQZIN2Y8KxhwoXXWtJs5vaDPT+qAg+OpcNj80i1zLR/CirqlFg/TQ==} + engines: {node: '>=14.0.0'} peerDependencies: aws-crt: '>=1.0.0' peerDependenciesMeta: aws-crt: optional: true dependencies: - '@aws-sdk/types': 3.577.0 - '@smithy/node-config-provider': 3.0.0 - '@smithy/types': 3.0.0 + '@aws-sdk/types': 3.535.0 + '@smithy/node-config-provider': 2.3.0 + '@smithy/types': 2.12.0 aws-crt: 1.21.2 tslib: 2.6.2 dev: true + /@aws-sdk/util-user-agent-node@3.568.0: + resolution: {integrity: sha512-NVoZoLnKF+eXPBvXg+KqixgJkPSrerR6Gqmbjwqbv14Ini+0KNKB0/MXas1mDGvvEgtNkHI/Cb9zlJ3KXpti2A==} + engines: {node: '>=16.0.0'} + peerDependencies: + aws-crt: '>=1.0.0' + peerDependenciesMeta: + aws-crt: + optional: true + dependencies: + '@aws-sdk/types': 3.567.0 + '@smithy/node-config-provider': 2.3.0 + '@smithy/types': 2.12.0 + tslib: 2.6.2 + dev: true + /@aws-sdk/util-utf8-browser@3.259.0: resolution: {integrity: sha512-UvFa/vR+e19XookZF8RzFZBrw2EUkQWxiBW0yYQAhvk3C+QVGl0H3ouca8LDBlBfQKXwmW3huo/59H8rwb1wJw==} dependencies: tslib: 2.6.2 dev: true - /@aws-sdk/xml-builder@3.575.0: - resolution: {integrity: sha512-cWgAwmbFYNCFzPwxL705+lWps0F3ZvOckufd2KKoEZUmtpVw9/txUXNrPySUXSmRTSRhoatIMABNfStWR043bQ==} - engines: {node: '>=16.0.0'} + /@aws-sdk/xml-builder@3.535.0: + resolution: {integrity: sha512-VXAq/Jz8KIrU84+HqsOJhIKZqG0PNTdi6n6PFQ4xJf44ZQHD/5C7ouH4qCFX5XgZXcgbRIcMVVYGC6Jye0dRng==} + engines: {node: '>=14.0.0'} dependencies: - '@smithy/types': 3.0.0 + '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true @@ -3582,8 +3947,8 @@ packages: resolution: {integrity: sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/highlight': 7.24.5 - picocolors: 1.0.1 + '@babel/highlight': 7.24.2 + picocolors: 1.0.0 dev: true /@babel/compat-data@7.24.4: @@ -3591,20 +3956,20 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/core@7.24.5: - resolution: {integrity: sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA==} + /@babel/core@7.24.4: + resolution: {integrity: sha512-MBVlMXP+kkl5394RBLSxxk/iLTeVGuXTV3cIDXavPpMMqnSnt6apKgan/U8O3USWZCWZT/TbgfEpKa4uMgN4Dg==} engines: {node: '>=6.9.0'} dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.24.2 - '@babel/generator': 7.24.5 + '@babel/generator': 7.24.4 '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5) - '@babel/helpers': 7.24.5 - '@babel/parser': 7.24.5 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) + '@babel/helpers': 7.24.4 + '@babel/parser': 7.24.4 '@babel/template': 7.24.0 - '@babel/traverse': 7.24.5 - '@babel/types': 7.24.5 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 convert-source-map: 2.0.0 debug: 4.3.4(supports-color@8.1.1) gensync: 1.0.0-beta.2 @@ -3614,25 +3979,25 @@ packages: - supports-color dev: true - /@babel/eslint-parser@7.24.5(@babel/core@7.24.5)(eslint@8.57.0): - resolution: {integrity: sha512-gsUcqS/fPlgAw1kOtpss7uhY6E9SFFANQ6EFX5GTvzUwaV0+sGaZWk6xq22MOdeT9wfxyokW3ceCUvOiRtZciQ==} + /@babel/eslint-parser@7.24.1(@babel/core@7.24.4)(eslint@8.57.0): + resolution: {integrity: sha512-d5guuzMlPeDfZIbpQ8+g1NaCNuAGBBGNECh0HVqz1sjOeVLh2CEaifuOysCH18URW6R7pqXINvf5PaR/dC6jLQ==} engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} peerDependencies: '@babel/core': ^7.11.0 - eslint: ^7.5.0 || ^8.0.0 || ^9.0.0 + eslint: ^7.5.0 || ^8.0.0 dependencies: - '@babel/core': 7.24.5 + '@babel/core': 7.24.4 '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 eslint: 8.57.0 eslint-visitor-keys: 2.1.0 semver: 6.3.1 dev: true - /@babel/generator@7.24.5: - resolution: {integrity: sha512-x32i4hEXvr+iI0NEoEfDKzlemF8AmtOP8CcrRaEcpzysWuoEb1KknpcvMsHKPONoKZiDuItklgWhB18xEhr9PA==} + /@babel/generator@7.24.4: + resolution: {integrity: sha512-Xd6+v6SnjWVx/nus+y0l1sxMOTOMBkyL4+BIdbALyatQnAe/SRVjANeDPSCYaX+i1iJmuGSKf3Z+E+V/va1Hvw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.24.5 + '@babel/types': 7.24.0 '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 @@ -3642,7 +4007,7 @@ packages: resolution: {integrity: sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.24.5 + '@babel/types': 7.24.0 dev: true /@babel/helper-compilation-targets@7.23.6: @@ -3656,21 +4021,21 @@ packages: semver: 6.3.1 dev: true - /@babel/helper-create-class-features-plugin@7.24.5(@babel/core@7.24.5): - resolution: {integrity: sha512-uRc4Cv8UQWnE4NXlYTIIdM7wfFkOqlFztcC/gVXDKohKoVB3OyonfelUBaJzSwpBntZ2KYGF/9S7asCHsXwW6g==} + /@babel/helper-create-class-features-plugin@7.24.4(@babel/core@7.24.4): + resolution: {integrity: sha512-lG75yeuUSVu0pIcbhiYMXBXANHrpUPaOfu7ryAzskCgKUHuAxRQI5ssrtmF0X9UXldPlvT0XM/A4F44OXRt6iQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.5 + '@babel/core': 7.24.4 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 - '@babel/helper-member-expression-to-functions': 7.24.5 + '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 - '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.5) + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4) '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 - '@babel/helper-split-export-declaration': 7.24.5 + '@babel/helper-split-export-declaration': 7.22.6 semver: 6.3.1 dev: true @@ -3684,87 +4049,87 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.24.0 - '@babel/types': 7.24.5 + '@babel/types': 7.24.0 dev: true /@babel/helper-hoist-variables@7.22.5: resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.24.5 + '@babel/types': 7.24.0 dev: true - /@babel/helper-member-expression-to-functions@7.24.5: - resolution: {integrity: sha512-4owRteeihKWKamtqg4JmWSsEZU445xpFRXPEwp44HbgbxdWlUV1b4Agg4lkA806Lil5XM/e+FJyS0vj5T6vmcA==} + /@babel/helper-member-expression-to-functions@7.23.0: + resolution: {integrity: sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.24.5 + '@babel/types': 7.24.0 dev: true /@babel/helper-module-imports@7.24.3: resolution: {integrity: sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.24.5 + '@babel/types': 7.24.0 dev: true - /@babel/helper-module-transforms@7.24.5(@babel/core@7.24.5): - resolution: {integrity: sha512-9GxeY8c2d2mdQUP1Dye0ks3VDyIMS98kt/llQ2nUId8IsWqTF0l1LkSX0/uP7l7MCDrzXS009Hyhe2gzTiGW8A==} + /@babel/helper-module-transforms@7.23.3(@babel/core@7.24.4): + resolution: {integrity: sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.5 + '@babel/core': 7.24.4 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-module-imports': 7.24.3 - '@babel/helper-simple-access': 7.24.5 - '@babel/helper-split-export-declaration': 7.24.5 - '@babel/helper-validator-identifier': 7.24.5 + '@babel/helper-simple-access': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/helper-validator-identifier': 7.22.20 dev: true /@babel/helper-optimise-call-expression@7.22.5: resolution: {integrity: sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.24.5 + '@babel/types': 7.24.0 dev: true - /@babel/helper-plugin-utils@7.24.5: - resolution: {integrity: sha512-xjNLDopRzW2o6ba0gKbkZq5YWEBaK3PCyTOY1K2P/O07LGMhMqlMXPxwN4S5/RhWuCobT8z0jrlKGlYmeR1OhQ==} + /@babel/helper-plugin-utils@7.24.0: + resolution: {integrity: sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==} engines: {node: '>=6.9.0'} dev: true - /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.5): + /@babel/helper-replace-supers@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.5 + '@babel/core': 7.24.4 '@babel/helper-environment-visitor': 7.22.20 - '@babel/helper-member-expression-to-functions': 7.24.5 + '@babel/helper-member-expression-to-functions': 7.23.0 '@babel/helper-optimise-call-expression': 7.22.5 dev: true - /@babel/helper-simple-access@7.24.5: - resolution: {integrity: sha512-uH3Hmf5q5n7n8mz7arjUlDOCbttY/DW4DYhE6FUsjKJ/oYC1kQQUvwEQWxRwUpX9qQKRXeqLwWxrqilMrf32sQ==} + /@babel/helper-simple-access@7.22.5: + resolution: {integrity: sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.24.5 + '@babel/types': 7.24.0 dev: true /@babel/helper-skip-transparent-expression-wrappers@7.22.5: resolution: {integrity: sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.24.5 + '@babel/types': 7.24.0 dev: true - /@babel/helper-split-export-declaration@7.24.5: - resolution: {integrity: sha512-5CHncttXohrHk8GWOFCcCl4oRD9fKosWlIRgWm4ql9VYioKm52Mk2xsmoohvm7f3JoiLSM5ZgJuRaf5QZZYd3Q==} + /@babel/helper-split-export-declaration@7.22.6: + resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.24.5 + '@babel/types': 7.24.0 dev: true /@babel/helper-string-parser@7.24.1: @@ -3772,8 +4137,8 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/helper-validator-identifier@7.24.5: - resolution: {integrity: sha512-3q93SSKX2TWCG30M2G2kwaKeTYgEUp5Snjuj8qm729SObL6nbtUldAi37qbxkD5gg3xnBio+f9nqpSepGZMvxA==} + /@babel/helper-validator-identifier@7.22.20: + resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} engines: {node: '>=6.9.0'} dev: true @@ -3782,48 +4147,48 @@ packages: engines: {node: '>=6.9.0'} dev: true - /@babel/helpers@7.24.5: - resolution: {integrity: sha512-CiQmBMMpMQHwM5m01YnrM6imUG1ebgYJ+fAIW4FZe6m4qHTPaRHti+R8cggAwkdz4oXhtO4/K9JWlh+8hIfR2Q==} + /@babel/helpers@7.24.4: + resolution: {integrity: sha512-FewdlZbSiwaVGlgT1DPANDuCHaDMiOo+D/IDYRFYjHOuv66xMSJ7fQwwODwRNAPkADIO/z1EoF/l2BCWlWABDw==} engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.24.0 - '@babel/traverse': 7.24.5 - '@babel/types': 7.24.5 + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 transitivePeerDependencies: - supports-color dev: true - /@babel/highlight@7.24.5: - resolution: {integrity: sha512-8lLmua6AVh/8SLJRRVD6V8p73Hir9w5mJrhE+IPpILG31KKlI9iz5zmBYKcWPS59qSfgP9RaSBQSHHE81WKuEw==} + /@babel/highlight@7.24.2: + resolution: {integrity: sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/helper-validator-identifier': 7.24.5 + '@babel/helper-validator-identifier': 7.22.20 chalk: 2.4.2 js-tokens: 4.0.0 - picocolors: 1.0.1 + picocolors: 1.0.0 dev: true - /@babel/parser@7.24.5: - resolution: {integrity: sha512-EOv5IK8arwh3LI47dz1b0tKUb/1uhHAnHJOrjgtQMIpu1uXd9mlFrJg9IUgGUgZ41Ch0K8REPTYpO7B76b4vJg==} + /@babel/parser@7.24.4: + resolution: {integrity: sha512-zTvEBcghmeBma9QIGunWevvBAp4/Qu9Bdq+2k0Ot4fVMD6v3dsC9WOcRSKk7tRRyBM/53yKMJko9xOatGQAwSg==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.24.5 + '@babel/types': 7.24.0 dev: true - /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.24.5): + /@babel/plugin-proposal-class-properties@7.18.6(@babel/core@7.24.4): resolution: {integrity: sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==} engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead. peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.5 - '@babel/helper-create-class-features-plugin': 7.24.5(@babel/core@7.24.5) - '@babel/helper-plugin-utils': 7.24.5 + '@babel/core': 7.24.4 + '@babel/helper-create-class-features-plugin': 7.24.4(@babel/core@7.24.4) + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.24.5): + /@babel/plugin-proposal-object-rest-spread@7.20.7(@babel/core@7.24.4): resolution: {integrity: sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==} engines: {node: '>=6.9.0'} deprecated: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-object-rest-spread instead. @@ -3831,384 +4196,384 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/compat-data': 7.24.4 - '@babel/core': 7.24.5 + '@babel/core': 7.24.4 '@babel/helper-compilation-targets': 7.23.6 - '@babel/helper-plugin-utils': 7.24.5 - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.5) - '@babel/plugin-transform-parameters': 7.24.5(@babel/core@7.24.5) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.4) dev: true - /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.5): + /@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.24.4): resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.5 - '@babel/helper-plugin-utils': 7.24.5 + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.5): + /@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.24.4): resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.5 - '@babel/helper-plugin-utils': 7.24.5 + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.5): + /@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.24.4): resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.5 - '@babel/helper-plugin-utils': 7.24.5 + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-flow@7.24.1(@babel/core@7.24.5): + /@babel/plugin-syntax-flow@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-sxi2kLTI5DeW5vDtMUsk4mTPwvlUDbjOnoWayhynCwrw4QXRld4QEYwqzY8JmQXaJUtgUuCIurtSRH5sn4c7mA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.5 - '@babel/helper-plugin-utils': 7.24.5 + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.5): + /@babel/plugin-syntax-import-assertions@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.5 - '@babel/helper-plugin-utils': 7.24.5 + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.5): + /@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.24.4): resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.5 - '@babel/helper-plugin-utils': 7.24.5 + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.5): + /@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.24.4): resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.5 - '@babel/helper-plugin-utils': 7.24.5 + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.5): + /@babel/plugin-syntax-jsx@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-2eCtxZXf+kbkMIsXS4poTvT4Yu5rXiRa+9xGVT56raghjmBTKMpFNc9R4IDiB4emao9eO22Ox7CxuJG7BgExqA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.5 - '@babel/helper-plugin-utils': 7.24.5 + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.5): + /@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.24.4): resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.5 - '@babel/helper-plugin-utils': 7.24.5 + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.5): + /@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.24.4): resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.5 - '@babel/helper-plugin-utils': 7.24.5 + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.5): + /@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.24.4): resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.5 - '@babel/helper-plugin-utils': 7.24.5 + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.5): + /@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.24.4): resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.5 - '@babel/helper-plugin-utils': 7.24.5 + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.5): + /@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.24.4): resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.5 - '@babel/helper-plugin-utils': 7.24.5 + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.5): + /@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.24.4): resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.5 - '@babel/helper-plugin-utils': 7.24.5 + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.5): + /@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.24.4): resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.5 - '@babel/helper-plugin-utils': 7.24.5 + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.5): + /@babel/plugin-syntax-typescript@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-Yhnmvy5HZEnHUty6i++gcfH1/l68AHnItFHnaCv6hn9dNh0hQvvQJsxpi4BMBFN5DLeHBuucT/0DgzXif/OyRw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.5 - '@babel/helper-plugin-utils': 7.24.5 + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.5): + /@babel/plugin-transform-arrow-functions@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.5 - '@babel/helper-plugin-utils': 7.24.5 + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.5): + /@babel/plugin-transform-block-scoped-functions@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.5 - '@babel/helper-plugin-utils': 7.24.5 + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-block-scoping@7.24.5(@babel/core@7.24.5): - resolution: {integrity: sha512-sMfBc3OxghjC95BkYrYocHL3NaOplrcaunblzwXhGmlPwpmfsxr4vK+mBBt49r+S240vahmv+kUxkeKgs+haCw==} + /@babel/plugin-transform-block-scoping@7.24.4(@babel/core@7.24.4): + resolution: {integrity: sha512-nIFUZIpGKDf9O9ttyRXpHFpKC+X3Y5mtshZONuEUYBomAKoM4y029Jr+uB1bHGPhNmK8YXHevDtKDOLmtRrp6g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.5 - '@babel/helper-plugin-utils': 7.24.5 + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-classes@7.24.5(@babel/core@7.24.5): - resolution: {integrity: sha512-gWkLP25DFj2dwe9Ck8uwMOpko4YsqyfZJrOmqqcegeDYEbp7rmn4U6UQZNj08UF6MaX39XenSpKRCvpDRBtZ7Q==} + /@babel/plugin-transform-classes@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.5 + '@babel/core': 7.24.4 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 - '@babel/helper-plugin-utils': 7.24.5 - '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.5) - '@babel/helper-split-export-declaration': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4) + '@babel/helper-split-export-declaration': 7.22.6 globals: 11.12.0 dev: true - /@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.5): + /@babel/plugin-transform-computed-properties@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.5 - '@babel/helper-plugin-utils': 7.24.5 + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 '@babel/template': 7.24.0 dev: true - /@babel/plugin-transform-destructuring@7.24.5(@babel/core@7.24.5): - resolution: {integrity: sha512-SZuuLyfxvsm+Ah57I/i1HVjveBENYK9ue8MJ7qkc7ndoNjqquJiElzA7f5yaAXjyW2hKojosOTAQQRX50bPSVg==} + /@babel/plugin-transform-destructuring@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.5 - '@babel/helper-plugin-utils': 7.24.5 + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-flow-strip-types@7.24.1(@babel/core@7.24.5): + /@babel/plugin-transform-flow-strip-types@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-iIYPIWt3dUmUKKE10s3W+jsQ3icFkw0JyRVyY1B7G4yK/nngAOHLVx8xlhA6b/Jzl/Y0nis8gjqhqKtRDQqHWQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.5 - '@babel/helper-plugin-utils': 7.24.5 - '@babel/plugin-syntax-flow': 7.24.1(@babel/core@7.24.5) + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-flow': 7.24.1(@babel/core@7.24.4) dev: true - /@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.5): + /@babel/plugin-transform-for-of@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.5 - '@babel/helper-plugin-utils': 7.24.5 + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: true - /@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.5): + /@babel/plugin-transform-function-name@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.5 + '@babel/core': 7.24.4 '@babel/helper-compilation-targets': 7.23.6 '@babel/helper-function-name': 7.23.0 - '@babel/helper-plugin-utils': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.5): + /@babel/plugin-transform-literals@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.5 - '@babel/helper-plugin-utils': 7.24.5 + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.5): + /@babel/plugin-transform-member-expression-literals@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.5 - '@babel/helper-plugin-utils': 7.24.5 + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.5): + /@babel/plugin-transform-modules-commonjs@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.5 - '@babel/helper-module-transforms': 7.24.5(@babel/core@7.24.5) - '@babel/helper-plugin-utils': 7.24.5 - '@babel/helper-simple-access': 7.24.5 + '@babel/core': 7.24.4 + '@babel/helper-module-transforms': 7.23.3(@babel/core@7.24.4) + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-simple-access': 7.22.5 dev: true - /@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.5): + /@babel/plugin-transform-object-super@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.5 - '@babel/helper-plugin-utils': 7.24.5 - '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.5) + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/helper-replace-supers': 7.24.1(@babel/core@7.24.4) dev: true - /@babel/plugin-transform-parameters@7.24.5(@babel/core@7.24.5): - resolution: {integrity: sha512-9Co00MqZ2aoky+4j2jhofErthm6QVLKbpQrvz20c3CH9KQCLHyNB+t2ya4/UrRpQGR+Wrwjg9foopoeSdnHOkA==} + /@babel/plugin-transform-parameters@7.24.1(@babel/core@7.24.4): + resolution: {integrity: sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.5 - '@babel/helper-plugin-utils': 7.24.5 + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.5): + /@babel/plugin-transform-property-literals@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.5 - '@babel/helper-plugin-utils': 7.24.5 + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-react-display-name@7.24.1(@babel/core@7.24.5): + /@babel/plugin-transform-react-display-name@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-mvoQg2f9p2qlpDQRBC7M3c3XTr0k7cp/0+kFKKO/7Gtu0LSw16eKB+Fabe2bDT/UpsyasTBBkAnbdsLrkD5XMw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.5 - '@babel/helper-plugin-utils': 7.24.5 + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.5): + /@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.4): resolution: {integrity: sha512-5xOpoPguCZCRbo/JeHlloSkTA8Bld1J/E1/kLfD1nsuiW1m8tduTA1ERCgIZokDflX/IBzKcqR3l7VlRgiIfHA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.5 + '@babel/core': 7.24.4 '@babel/helper-annotate-as-pure': 7.22.5 '@babel/helper-module-imports': 7.24.3 - '@babel/helper-plugin-utils': 7.24.5 - '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.5) - '@babel/types': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.4) + '@babel/types': 7.24.0 dev: true - /@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.5): + /@babel/plugin-transform-shorthand-properties@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.5 - '@babel/helper-plugin-utils': 7.24.5 + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.5): + /@babel/plugin-transform-spread@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.5 - '@babel/helper-plugin-utils': 7.24.5 + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 '@babel/helper-skip-transparent-expression-wrappers': 7.22.5 dev: true - /@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.5): + /@babel/plugin-transform-template-literals@7.24.1(@babel/core@7.24.4): resolution: {integrity: sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.24.5 - '@babel/helper-plugin-utils': 7.24.5 + '@babel/core': 7.24.4 + '@babel/helper-plugin-utils': 7.24.0 dev: true - /@babel/runtime@7.24.5: - resolution: {integrity: sha512-Nms86NXrsaeU9vbBJKni6gXiEXZ4CVpYVzEjDH9Sb8vmZ3UljyA1GSOJl/6LGPO8EHLuSF9H+IxNXHPX8QHJ4g==} + /@babel/runtime@7.24.4: + resolution: {integrity: sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.14.1 @@ -4219,34 +4584,34 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.24.2 - '@babel/parser': 7.24.5 - '@babel/types': 7.24.5 + '@babel/parser': 7.24.4 + '@babel/types': 7.24.0 dev: true - /@babel/traverse@7.24.5: - resolution: {integrity: sha512-7aaBLeDQ4zYcUFDUD41lJc1fG8+5IU9DaNSJAgal866FGvmD5EbWQgnEC6kO1gGLsX0esNkfnJSndbTXA3r7UA==} + /@babel/traverse@7.24.1: + resolution: {integrity: sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.24.2 - '@babel/generator': 7.24.5 + '@babel/generator': 7.24.4 '@babel/helper-environment-visitor': 7.22.20 '@babel/helper-function-name': 7.23.0 '@babel/helper-hoist-variables': 7.22.5 - '@babel/helper-split-export-declaration': 7.24.5 - '@babel/parser': 7.24.5 - '@babel/types': 7.24.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/parser': 7.24.4 + '@babel/types': 7.24.0 debug: 4.3.4(supports-color@8.1.1) globals: 11.12.0 transitivePeerDependencies: - supports-color dev: true - /@babel/types@7.24.5: - resolution: {integrity: sha512-6mQNsaLeXTw0nxYUYu+NSa4Hx4BlF1x1x8/PMFbiR+GBSr+2DkECc69b8hgy2frEodNcvPffeH8YfWd3LI6jhQ==} + /@babel/types@7.24.0: + resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.24.1 - '@babel/helper-validator-identifier': 7.24.5 + '@babel/helper-validator-identifier': 7.22.20 to-fast-properties: 2.0.0 dev: true @@ -4299,6 +4664,15 @@ packages: tslib: 2.6.2 dev: true + /@esbuild/aix-ppc64@0.19.12: + resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: true + optional: true + /@esbuild/aix-ppc64@0.20.2: resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} engines: {node: '>=12'} @@ -4317,6 +4691,15 @@ packages: dev: true optional: true + /@esbuild/android-arm64@0.19.12: + resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/android-arm64@0.20.2: resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} engines: {node: '>=12'} @@ -4335,6 +4718,15 @@ packages: dev: true optional: true + /@esbuild/android-arm@0.19.12: + resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/android-arm@0.20.2: resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} engines: {node: '>=12'} @@ -4353,6 +4745,15 @@ packages: dev: true optional: true + /@esbuild/android-x64@0.19.12: + resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/android-x64@0.20.2: resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} engines: {node: '>=12'} @@ -4371,6 +4772,15 @@ packages: dev: true optional: true + /@esbuild/darwin-arm64@0.19.12: + resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@esbuild/darwin-arm64@0.20.2: resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} engines: {node: '>=12'} @@ -4389,6 +4799,15 @@ packages: dev: true optional: true + /@esbuild/darwin-x64@0.19.12: + resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@esbuild/darwin-x64@0.20.2: resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} engines: {node: '>=12'} @@ -4407,6 +4826,15 @@ packages: dev: true optional: true + /@esbuild/freebsd-arm64@0.19.12: + resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/freebsd-arm64@0.20.2: resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} engines: {node: '>=12'} @@ -4425,6 +4853,15 @@ packages: dev: true optional: true + /@esbuild/freebsd-x64@0.19.12: + resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/freebsd-x64@0.20.2: resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} engines: {node: '>=12'} @@ -4443,6 +4880,15 @@ packages: dev: true optional: true + /@esbuild/linux-arm64@0.19.12: + resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-arm64@0.20.2: resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} engines: {node: '>=12'} @@ -4461,6 +4907,15 @@ packages: dev: true optional: true + /@esbuild/linux-arm@0.19.12: + resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-arm@0.20.2: resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} engines: {node: '>=12'} @@ -4479,6 +4934,15 @@ packages: dev: true optional: true + /@esbuild/linux-ia32@0.19.12: + resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-ia32@0.20.2: resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} engines: {node: '>=12'} @@ -4497,6 +4961,15 @@ packages: dev: true optional: true + /@esbuild/linux-loong64@0.19.12: + resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-loong64@0.20.2: resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} engines: {node: '>=12'} @@ -4515,6 +4988,15 @@ packages: dev: true optional: true + /@esbuild/linux-mips64el@0.19.12: + resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-mips64el@0.20.2: resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} engines: {node: '>=12'} @@ -4533,6 +5015,15 @@ packages: dev: true optional: true + /@esbuild/linux-ppc64@0.19.12: + resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-ppc64@0.20.2: resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} engines: {node: '>=12'} @@ -4551,6 +5042,15 @@ packages: dev: true optional: true + /@esbuild/linux-riscv64@0.19.12: + resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-riscv64@0.20.2: resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} engines: {node: '>=12'} @@ -4569,6 +5069,15 @@ packages: dev: true optional: true + /@esbuild/linux-s390x@0.19.12: + resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-s390x@0.20.2: resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} engines: {node: '>=12'} @@ -4587,6 +5096,15 @@ packages: dev: true optional: true + /@esbuild/linux-x64@0.19.12: + resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-x64@0.20.2: resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} engines: {node: '>=12'} @@ -4605,6 +5123,15 @@ packages: dev: true optional: true + /@esbuild/netbsd-x64@0.19.12: + resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/netbsd-x64@0.20.2: resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} engines: {node: '>=12'} @@ -4623,6 +5150,15 @@ packages: dev: true optional: true + /@esbuild/openbsd-x64@0.19.12: + resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/openbsd-x64@0.20.2: resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} engines: {node: '>=12'} @@ -4641,6 +5177,15 @@ packages: dev: true optional: true + /@esbuild/sunos-x64@0.19.12: + resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + /@esbuild/sunos-x64@0.20.2: resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} engines: {node: '>=12'} @@ -4659,6 +5204,15 @@ packages: dev: true optional: true + /@esbuild/win32-arm64@0.19.12: + resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@esbuild/win32-arm64@0.20.2: resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} engines: {node: '>=12'} @@ -4677,6 +5231,15 @@ packages: dev: true optional: true + /@esbuild/win32-ia32@0.19.12: + resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@esbuild/win32-ia32@0.20.2: resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} engines: {node: '>=12'} @@ -4695,6 +5258,15 @@ packages: dev: true optional: true + /@esbuild/win32-x64@0.19.12: + resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@esbuild/win32-x64@0.20.2: resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} engines: {node: '>=12'} @@ -5364,12 +5936,12 @@ packages: peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: - '@graphql-codegen/plugin-helpers': 5.0.4(graphql@16.8.1) + '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) graphql: 16.8.1 tslib: 2.6.2 dev: true - /@graphql-codegen/cli@5.0.2(@types/node@20.12.12)(graphql@16.8.1)(typescript@5.4.5): + /@graphql-codegen/cli@5.0.2(@types/node@20.12.7)(graphql@16.8.1)(typescript@5.4.5): resolution: {integrity: sha512-MBIaFqDiLKuO4ojN6xxG9/xL9wmfD3ZjZ7RsPjwQnSHBCUXnEkdKvX+JVpx87Pq29Ycn8wTJUguXnTZ7Di0Mlw==} hasBin: true peerDependencies: @@ -5379,41 +5951,41 @@ packages: '@parcel/watcher': optional: true dependencies: - '@babel/generator': 7.24.5 + '@babel/generator': 7.24.4 '@babel/template': 7.24.0 - '@babel/types': 7.24.5 - '@graphql-codegen/client-preset': 4.2.6(graphql@16.8.1) + '@babel/types': 7.24.0 + '@graphql-codegen/client-preset': 4.2.5(graphql@16.8.1) '@graphql-codegen/core': 4.0.2(graphql@16.8.1) - '@graphql-codegen/plugin-helpers': 5.0.4(graphql@16.8.1) + '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) '@graphql-tools/apollo-engine-loader': 8.0.1(graphql@16.8.1) - '@graphql-tools/code-file-loader': 8.1.2(graphql@16.8.1) - '@graphql-tools/git-loader': 8.0.6(graphql@16.8.1) - '@graphql-tools/github-loader': 8.0.1(@types/node@20.12.12)(graphql@16.8.1) + '@graphql-tools/code-file-loader': 8.1.1(graphql@16.8.1) + '@graphql-tools/git-loader': 8.0.5(graphql@16.8.1) + '@graphql-tools/github-loader': 8.0.1(@types/node@20.12.7)(graphql@16.8.1) '@graphql-tools/graphql-file-loader': 8.0.1(graphql@16.8.1) '@graphql-tools/json-file-loader': 8.0.1(graphql@16.8.1) '@graphql-tools/load': 8.0.2(graphql@16.8.1) - '@graphql-tools/prisma-loader': 8.0.4(@types/node@20.12.12)(graphql@16.8.1) - '@graphql-tools/url-loader': 8.0.2(@types/node@20.12.12)(graphql@16.8.1) - '@graphql-tools/utils': 10.2.0(graphql@16.8.1) + '@graphql-tools/prisma-loader': 8.0.3(@types/node@20.12.7)(graphql@16.8.1) + '@graphql-tools/url-loader': 8.0.2(@types/node@20.12.7)(graphql@16.8.1) + '@graphql-tools/utils': 10.1.3(graphql@16.8.1) '@whatwg-node/fetch': 0.8.8 chalk: 4.1.2 cosmiconfig: 8.3.6(typescript@5.4.5) debounce: 1.2.1 detect-indent: 6.1.0 graphql: 16.8.1 - graphql-config: 5.0.3(@types/node@20.12.12)(graphql@16.8.1)(typescript@5.4.5) + graphql-config: 5.0.3(@types/node@20.12.7)(graphql@16.8.1)(typescript@5.4.5) inquirer: 8.2.6 is-glob: 4.0.3 jiti: 1.21.0 json-to-pretty-yaml: 1.2.2 listr2: 4.0.5 log-symbols: 4.1.0 - micromatch: 4.0.7 + micromatch: 4.0.5 shell-quote: 1.8.1 string-env-interpolation: 1.0.1 ts-log: 2.2.5 tslib: 2.6.2 - yaml: 2.4.2 + yaml: 2.4.1 yargs: 17.7.2 transitivePeerDependencies: - '@types/node' @@ -5426,22 +5998,22 @@ packages: - utf-8-validate dev: true - /@graphql-codegen/client-preset@4.2.6(graphql@16.8.1): - resolution: {integrity: sha512-e7SzPb+nxNJfsD0uG+NSyzIeTtCXTouX5VThmcCoqGMDLgF5Lo7932B3HtZCvzmzqcXxRjJ81CmkA2LhlqIbCw==} + /@graphql-codegen/client-preset@4.2.5(graphql@16.8.1): + resolution: {integrity: sha512-hAdB6HN8EDmkoBtr0bPUN/7NH6svzqbcTDMWBCRXPESXkl7y80po+IXrXUjsSrvhKG8xkNXgJNz/2mjwHzywcA==} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: - '@babel/helper-plugin-utils': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 '@babel/template': 7.24.0 '@graphql-codegen/add': 5.0.2(graphql@16.8.1) - '@graphql-codegen/gql-tag-operations': 4.0.7(graphql@16.8.1) - '@graphql-codegen/plugin-helpers': 5.0.4(graphql@16.8.1) - '@graphql-codegen/typed-document-node': 5.0.7(graphql@16.8.1) - '@graphql-codegen/typescript': 4.0.7(graphql@16.8.1) - '@graphql-codegen/typescript-operations': 4.2.1(graphql@16.8.1) - '@graphql-codegen/visitor-plugin-common': 5.2.0(graphql@16.8.1) + '@graphql-codegen/gql-tag-operations': 4.0.6(graphql@16.8.1) + '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) + '@graphql-codegen/typed-document-node': 5.0.6(graphql@16.8.1) + '@graphql-codegen/typescript': 4.0.6(graphql@16.8.1) + '@graphql-codegen/typescript-operations': 4.2.0(graphql@16.8.1) + '@graphql-codegen/visitor-plugin-common': 5.1.0(graphql@16.8.1) '@graphql-tools/documents': 1.0.0(graphql@16.8.1) - '@graphql-tools/utils': 10.2.0(graphql@16.8.1) + '@graphql-tools/utils': 10.1.3(graphql@16.8.1) '@graphql-typed-document-node/core': 3.2.0(graphql@16.8.1) graphql: 16.8.1 tslib: 2.6.2 @@ -5455,21 +6027,21 @@ packages: peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: - '@graphql-codegen/plugin-helpers': 5.0.4(graphql@16.8.1) + '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) '@graphql-tools/schema': 10.0.3(graphql@16.8.1) - '@graphql-tools/utils': 10.2.0(graphql@16.8.1) + '@graphql-tools/utils': 10.1.3(graphql@16.8.1) graphql: 16.8.1 tslib: 2.6.2 dev: true - /@graphql-codegen/gql-tag-operations@4.0.7(graphql@16.8.1): - resolution: {integrity: sha512-2I69+IDC8pqAohH6cgKse/vPfJ/4TRTJX96PkAKz8S4RD54PUHtBmzCdBInIFEP/vQuH5mFUAaIKXXjznmGOsg==} + /@graphql-codegen/gql-tag-operations@4.0.6(graphql@16.8.1): + resolution: {integrity: sha512-y6iXEDpDNjwNxJw3WZqX1/Znj0QHW7+y8O+t2V8qvbTT+3kb2lr9ntc8By7vCr6ctw9tXI4XKaJgpTstJDOwFA==} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: - '@graphql-codegen/plugin-helpers': 5.0.4(graphql@16.8.1) - '@graphql-codegen/visitor-plugin-common': 5.2.0(graphql@16.8.1) - '@graphql-tools/utils': 10.2.0(graphql@16.8.1) + '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) + '@graphql-codegen/visitor-plugin-common': 5.1.0(graphql@16.8.1) + '@graphql-tools/utils': 10.1.3(graphql@16.8.1) auto-bind: 4.0.0 graphql: 16.8.1 tslib: 2.6.2 @@ -5478,12 +6050,12 @@ packages: - supports-color dev: true - /@graphql-codegen/plugin-helpers@5.0.4(graphql@16.8.1): - resolution: {integrity: sha512-MOIuHFNWUnFnqVmiXtrI+4UziMTYrcquljaI5f/T/Bc7oO7sXcfkAvgkNWEEi9xWreYwvuer3VHCuPI/lAFWbw==} + /@graphql-codegen/plugin-helpers@5.0.3(graphql@16.8.1): + resolution: {integrity: sha512-yZ1rpULIWKBZqCDlvGIJRSyj1B2utkEdGmXZTBT/GVayP4hyRYlkd36AJV/LfEsVD8dnsKL5rLz2VTYmRNlJ5Q==} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: - '@graphql-tools/utils': 10.2.0(graphql@16.8.1) + '@graphql-tools/utils': 10.1.3(graphql@16.8.1) change-case-all: 1.0.15 common-tags: 1.8.2 graphql: 16.8.1 @@ -5497,19 +6069,19 @@ packages: peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: - '@graphql-codegen/plugin-helpers': 5.0.4(graphql@16.8.1) - '@graphql-tools/utils': 10.2.0(graphql@16.8.1) + '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) + '@graphql-tools/utils': 10.1.3(graphql@16.8.1) graphql: 16.8.1 tslib: 2.6.2 dev: true - /@graphql-codegen/typed-document-node@5.0.7(graphql@16.8.1): - resolution: {integrity: sha512-rgFh96hAbNwPUxLVlRcNhGaw2+y7ZGx7giuETtdO8XzPasTQGWGRkZ3wXQ5UUiTX4X3eLmjnuoXYKT7HoxSznQ==} + /@graphql-codegen/typed-document-node@5.0.6(graphql@16.8.1): + resolution: {integrity: sha512-US0J95hOE2/W/h42w4oiY+DFKG7IetEN1mQMgXXeat1w6FAR5PlIz4JrRrEkiVfVetZ1g7K78SOwBD8/IJnDiA==} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: - '@graphql-codegen/plugin-helpers': 5.0.4(graphql@16.8.1) - '@graphql-codegen/visitor-plugin-common': 5.2.0(graphql@16.8.1) + '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) + '@graphql-codegen/visitor-plugin-common': 5.1.0(graphql@16.8.1) auto-bind: 4.0.0 change-case-all: 1.0.15 graphql: 16.8.1 @@ -5519,14 +6091,14 @@ packages: - supports-color dev: true - /@graphql-codegen/typescript-operations@4.2.1(graphql@16.8.1): - resolution: {integrity: sha512-LhEPsaP+AI65zfK2j6CBAL4RT0bJL/rR9oRWlvwtHLX0t7YQr4CP4BXgvvej9brYdedAxHGPWeV1tPHy5/z9KQ==} + /@graphql-codegen/typescript-operations@4.2.0(graphql@16.8.1): + resolution: {integrity: sha512-lmuwYb03XC7LNRS8oo9M4/vlOrq/wOKmTLBHlltK2YJ1BO/4K/Q9Jdv/jDmJpNydHVR1fmeF4wAfsIp1f9JibA==} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: - '@graphql-codegen/plugin-helpers': 5.0.4(graphql@16.8.1) - '@graphql-codegen/typescript': 4.0.7(graphql@16.8.1) - '@graphql-codegen/visitor-plugin-common': 5.2.0(graphql@16.8.1) + '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) + '@graphql-codegen/typescript': 4.0.6(graphql@16.8.1) + '@graphql-codegen/visitor-plugin-common': 5.1.0(graphql@16.8.1) auto-bind: 4.0.0 graphql: 16.8.1 tslib: 2.6.2 @@ -5535,14 +6107,14 @@ packages: - supports-color dev: true - /@graphql-codegen/typescript@4.0.7(graphql@16.8.1): - resolution: {integrity: sha512-Gn+JNvQBJhBqH7s83piAJ6UeU/MTj9GXWFO9bdbl8PMLCAM1uFAtg04iHfkGCtDKXcUg5a3Dt/SZG85uk5KuhA==} + /@graphql-codegen/typescript@4.0.6(graphql@16.8.1): + resolution: {integrity: sha512-IBG4N+Blv7KAL27bseruIoLTjORFCT3r+QYyMC3g11uY3/9TPpaUyjSdF70yBe5GIQ6dAgDU+ENUC1v7EPi0rw==} peerDependencies: graphql: ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: - '@graphql-codegen/plugin-helpers': 5.0.4(graphql@16.8.1) + '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) '@graphql-codegen/schema-ast': 4.0.2(graphql@16.8.1) - '@graphql-codegen/visitor-plugin-common': 5.2.0(graphql@16.8.1) + '@graphql-codegen/visitor-plugin-common': 5.1.0(graphql@16.8.1) auto-bind: 4.0.0 graphql: 16.8.1 tslib: 2.6.2 @@ -5551,15 +6123,15 @@ packages: - supports-color dev: true - /@graphql-codegen/visitor-plugin-common@5.2.0(graphql@16.8.1): - resolution: {integrity: sha512-0p8AwmARaZCAlDFfQu6Sz+JV6SjbPDx3y2nNM7WAAf0au7Im/GpJ7Ke3xaIYBc1b2rTZ+DqSTJI/zomENGD9NA==} + /@graphql-codegen/visitor-plugin-common@5.1.0(graphql@16.8.1): + resolution: {integrity: sha512-eamQxtA9bjJqI2lU5eYoA1GbdMIRT2X8m8vhWYsVQVWD3qM7sx/IqJU0kx0J3Vd4/CSd36BzL6RKwksibytDIg==} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: - '@graphql-codegen/plugin-helpers': 5.0.4(graphql@16.8.1) + '@graphql-codegen/plugin-helpers': 5.0.3(graphql@16.8.1) '@graphql-tools/optimize': 2.0.0(graphql@16.8.1) '@graphql-tools/relay-operation-optimizer': 7.0.1(graphql@16.8.1) - '@graphql-tools/utils': 10.2.0(graphql@16.8.1) + '@graphql-tools/utils': 10.1.3(graphql@16.8.1) auto-bind: 4.0.0 change-case-all: 1.0.15 dependency-graph: 0.11.0 @@ -5579,7 +6151,7 @@ packages: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: '@ardatan/sync-fetch': 0.0.1 - '@graphql-tools/utils': 10.2.0(graphql@16.8.1) + '@graphql-tools/utils': 10.1.3(graphql@16.8.1) '@whatwg-node/fetch': 0.9.17 graphql: 16.8.1 tslib: 2.6.2 @@ -5593,21 +6165,21 @@ packages: peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/utils': 10.2.0(graphql@16.8.1) + '@graphql-tools/utils': 10.1.3(graphql@16.8.1) dataloader: 2.2.2 graphql: 16.8.1 tslib: 2.6.2 value-or-promise: 1.0.12 dev: true - /@graphql-tools/code-file-loader@8.1.2(graphql@16.8.1): - resolution: {integrity: sha512-GrLzwl1QV2PT4X4TEEfuTmZYzIZHLqoTGBjczdUzSqgCCcqwWzLB3qrJxFQfI8e5s1qZ1bhpsO9NoMn7tvpmyA==} + /@graphql-tools/code-file-loader@8.1.1(graphql@16.8.1): + resolution: {integrity: sha512-q4KN25EPSUztc8rA8YUU3ufh721Yk12xXDbtUA+YstczWS7a1RJlghYMFEfR1HsHSYbF7cUqkbnTKSGM3o52bQ==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/graphql-tag-pluck': 8.3.1(graphql@16.8.1) - '@graphql-tools/utils': 10.2.0(graphql@16.8.1) + '@graphql-tools/graphql-tag-pluck': 8.3.0(graphql@16.8.1) + '@graphql-tools/utils': 10.1.3(graphql@16.8.1) globby: 11.1.0 graphql: 16.8.1 tslib: 2.6.2 @@ -5616,8 +6188,8 @@ packages: - supports-color dev: true - /@graphql-tools/delegate@10.0.10(graphql@16.8.1): - resolution: {integrity: sha512-OOqsPRfGatQG0qMKG3sxtxHiRg7cA6OWMTuETDvwZCoOuxqCc17K+nt8GvaqptNJi2/wBgeH7pi7wA5QzgiG1g==} + /@graphql-tools/delegate@10.0.4(graphql@16.8.1): + resolution: {integrity: sha512-WswZRbQZMh/ebhc8zSomK9DIh6Pd5KbuiMsyiKkKz37TWTrlCOe+4C/fyrBFez30ksq6oFyCeSKMwfrCbeGo0Q==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 @@ -5625,7 +6197,7 @@ packages: '@graphql-tools/batch-execute': 9.0.4(graphql@16.8.1) '@graphql-tools/executor': 1.2.6(graphql@16.8.1) '@graphql-tools/schema': 10.0.3(graphql@16.8.1) - '@graphql-tools/utils': 10.2.0(graphql@16.8.1) + '@graphql-tools/utils': 10.1.3(graphql@16.8.1) dataloader: 2.2.2 graphql: 16.8.1 tslib: 2.6.2 @@ -5648,30 +6220,30 @@ packages: peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/utils': 10.2.0(graphql@16.8.1) + '@graphql-tools/utils': 10.1.3(graphql@16.8.1) '@types/ws': 8.5.10 graphql: 16.8.1 graphql-ws: 5.16.0(graphql@16.8.1) - isomorphic-ws: 5.0.0(ws@8.17.0) + isomorphic-ws: 5.0.0(ws@8.16.0) tslib: 2.6.2 - ws: 8.17.0 + ws: 8.16.0 transitivePeerDependencies: - bufferutil - utf-8-validate dev: true - /@graphql-tools/executor-http@1.0.9(@types/node@20.12.12)(graphql@16.8.1): + /@graphql-tools/executor-http@1.0.9(@types/node@20.12.7)(graphql@16.8.1): resolution: {integrity: sha512-+NXaZd2MWbbrWHqU4EhXcrDbogeiCDmEbrAN+rMn4Nu2okDjn2MTFDbTIab87oEubQCH4Te1wDkWPKrzXup7+Q==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/utils': 10.2.0(graphql@16.8.1) - '@repeaterjs/repeater': 3.0.6 + '@graphql-tools/utils': 10.1.3(graphql@16.8.1) + '@repeaterjs/repeater': 3.0.5 '@whatwg-node/fetch': 0.9.17 extract-files: 11.0.0 graphql: 16.8.1 - meros: 1.3.0(@types/node@20.12.12) + meros: 1.3.0(@types/node@20.12.7) tslib: 2.6.2 value-or-promise: 1.0.12 transitivePeerDependencies: @@ -5684,12 +6256,12 @@ packages: peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/utils': 10.2.0(graphql@16.8.1) + '@graphql-tools/utils': 10.1.3(graphql@16.8.1) '@types/ws': 8.5.10 graphql: 16.8.1 - isomorphic-ws: 5.0.0(ws@8.17.0) + isomorphic-ws: 5.0.0(ws@8.16.0) tslib: 2.6.2 - ws: 8.17.0 + ws: 8.16.0 transitivePeerDependencies: - bufferutil - utf-8-validate @@ -5714,41 +6286,41 @@ packages: peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/utils': 10.2.0(graphql@16.8.1) + '@graphql-tools/utils': 10.1.3(graphql@16.8.1) '@graphql-typed-document-node/core': 3.2.0(graphql@16.8.1) - '@repeaterjs/repeater': 3.0.6 + '@repeaterjs/repeater': 3.0.5 graphql: 16.8.1 tslib: 2.6.2 value-or-promise: 1.0.12 dev: true - /@graphql-tools/git-loader@8.0.6(graphql@16.8.1): - resolution: {integrity: sha512-FQFO4H5wHAmHVyuUQrjvPE8re3qJXt50TWHuzrK3dEaief7JosmlnkLMDMbMBwtwITz9u1Wpl6doPhT2GwKtlw==} + /@graphql-tools/git-loader@8.0.5(graphql@16.8.1): + resolution: {integrity: sha512-P97/1mhruDiA6D5WUmx3n/aeGPLWj2+4dpzDOxFGGU+z9NcI/JdygMkeFpGZNHeJfw+kHfxgPcMPnxHcyhAoVA==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/graphql-tag-pluck': 8.3.1(graphql@16.8.1) - '@graphql-tools/utils': 10.2.0(graphql@16.8.1) + '@graphql-tools/graphql-tag-pluck': 8.3.0(graphql@16.8.1) + '@graphql-tools/utils': 10.1.3(graphql@16.8.1) graphql: 16.8.1 is-glob: 4.0.3 - micromatch: 4.0.7 + micromatch: 4.0.5 tslib: 2.6.2 unixify: 1.0.0 transitivePeerDependencies: - supports-color dev: true - /@graphql-tools/github-loader@8.0.1(@types/node@20.12.12)(graphql@16.8.1): + /@graphql-tools/github-loader@8.0.1(@types/node@20.12.7)(graphql@16.8.1): resolution: {integrity: sha512-W4dFLQJ5GtKGltvh/u1apWRFKBQOsDzFxO9cJkOYZj1VzHCpRF43uLST4VbCfWve+AwBqOuKr7YgkHoxpRMkcg==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: '@ardatan/sync-fetch': 0.0.1 - '@graphql-tools/executor-http': 1.0.9(@types/node@20.12.12)(graphql@16.8.1) - '@graphql-tools/graphql-tag-pluck': 8.3.1(graphql@16.8.1) - '@graphql-tools/utils': 10.2.0(graphql@16.8.1) + '@graphql-tools/executor-http': 1.0.9(@types/node@20.12.7)(graphql@16.8.1) + '@graphql-tools/graphql-tag-pluck': 8.3.0(graphql@16.8.1) + '@graphql-tools/utils': 10.1.3(graphql@16.8.1) '@whatwg-node/fetch': 0.9.17 graphql: 16.8.1 tslib: 2.6.2 @@ -5766,25 +6338,25 @@ packages: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: '@graphql-tools/import': 7.0.1(graphql@16.8.1) - '@graphql-tools/utils': 10.2.0(graphql@16.8.1) + '@graphql-tools/utils': 10.1.3(graphql@16.8.1) globby: 11.1.0 graphql: 16.8.1 tslib: 2.6.2 unixify: 1.0.0 dev: true - /@graphql-tools/graphql-tag-pluck@8.3.1(graphql@16.8.1): - resolution: {integrity: sha512-ujits9tMqtWQQq4FI4+qnVPpJvSEn7ogKtyN/gfNT+ErIn6z1e4gyVGQpTK5sgAUXq1lW4gU/5fkFFC5/sL2rQ==} + /@graphql-tools/graphql-tag-pluck@8.3.0(graphql@16.8.1): + resolution: {integrity: sha512-gNqukC+s7iHC7vQZmx1SEJQmLnOguBq+aqE2zV2+o1hxkExvKqyFli1SY/9gmukFIKpKutCIj+8yLOM+jARutw==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@babel/core': 7.24.5 - '@babel/parser': 7.24.5 - '@babel/plugin-syntax-import-assertions': 7.24.1(@babel/core@7.24.5) - '@babel/traverse': 7.24.5 - '@babel/types': 7.24.5 - '@graphql-tools/utils': 10.2.0(graphql@16.8.1) + '@babel/core': 7.24.4 + '@babel/parser': 7.24.4 + '@babel/plugin-syntax-import-assertions': 7.24.1(@babel/core@7.24.4) + '@babel/traverse': 7.24.1 + '@babel/types': 7.24.0 + '@graphql-tools/utils': 10.1.3(graphql@16.8.1) graphql: 16.8.1 tslib: 2.6.2 transitivePeerDependencies: @@ -5797,7 +6369,7 @@ packages: peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/utils': 10.2.0(graphql@16.8.1) + '@graphql-tools/utils': 10.1.3(graphql@16.8.1) graphql: 16.8.1 resolve-from: 5.0.0 tslib: 2.6.2 @@ -5809,7 +6381,7 @@ packages: peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/utils': 10.2.0(graphql@16.8.1) + '@graphql-tools/utils': 10.1.3(graphql@16.8.1) globby: 11.1.0 graphql: 16.8.1 tslib: 2.6.2 @@ -5823,7 +6395,7 @@ packages: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: '@graphql-tools/schema': 10.0.3(graphql@16.8.1) - '@graphql-tools/utils': 10.2.0(graphql@16.8.1) + '@graphql-tools/utils': 10.1.3(graphql@16.8.1) graphql: 16.8.1 p-limit: 3.1.0 tslib: 2.6.2 @@ -5839,13 +6411,13 @@ packages: tslib: 2.6.2 dev: true - /@graphql-tools/merge@9.0.4(graphql@16.8.1): - resolution: {integrity: sha512-MivbDLUQ+4Q8G/Hp/9V72hbn810IJDEZQ57F01sHnlrrijyadibfVhaQfW/pNH+9T/l8ySZpaR/DpL5i+ruZ+g==} + /@graphql-tools/merge@9.0.3(graphql@16.8.1): + resolution: {integrity: sha512-FeKv9lKLMwqDu0pQjPpF59GY3HReUkWXKsMIuMuJQOKh9BETu7zPEFUELvcw8w+lwZkl4ileJsHXC9+AnsT2Lw==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/utils': 10.2.0(graphql@16.8.1) + '@graphql-tools/utils': 10.1.3(graphql@16.8.1) graphql: 16.8.1 tslib: 2.6.2 dev: true @@ -5860,15 +6432,16 @@ packages: tslib: 2.6.2 dev: true - /@graphql-tools/prisma-loader@8.0.4(@types/node@20.12.12)(graphql@16.8.1): - resolution: {integrity: sha512-hqKPlw8bOu/GRqtYr0+dINAI13HinTVYBDqhwGAPIFmLr5s+qKskzgCiwbsckdrb5LWVFmVZc+UXn80OGiyBzg==} + /@graphql-tools/prisma-loader@8.0.3(@types/node@20.12.7)(graphql@16.8.1): + resolution: {integrity: sha512-oZhxnMr3Jw2WAW1h9FIhF27xWzIB7bXWM8olz4W12oII4NiZl7VRkFw9IT50zME2Bqi9LGh9pkmMWkjvbOpl+Q==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/url-loader': 8.0.2(@types/node@20.12.12)(graphql@16.8.1) - '@graphql-tools/utils': 10.2.0(graphql@16.8.1) + '@graphql-tools/url-loader': 8.0.2(@types/node@20.12.7)(graphql@16.8.1) + '@graphql-tools/utils': 10.1.3(graphql@16.8.1) '@types/js-yaml': 4.0.9 + '@types/json-stable-stringify': 1.0.36 '@whatwg-node/fetch': 0.9.17 chalk: 4.1.2 debug: 4.3.4(supports-color@8.1.1) @@ -5877,8 +6450,9 @@ packages: graphql-request: 6.1.0(graphql@16.8.1) http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.4 - jose: 5.3.0 + jose: 5.2.4 js-yaml: 4.1.0 + json-stable-stringify: 1.1.1 lodash: 4.17.21 scuid: 1.1.0 tslib: 2.6.2 @@ -5898,7 +6472,7 @@ packages: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: '@ardatan/relay-compiler': 12.0.0(graphql@16.8.1) - '@graphql-tools/utils': 10.2.0(graphql@16.8.1) + '@graphql-tools/utils': 10.1.3(graphql@16.8.1) graphql: 16.8.1 tslib: 2.6.2 transitivePeerDependencies: @@ -5912,8 +6486,8 @@ packages: peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/merge': 9.0.4(graphql@16.8.1) - '@graphql-tools/utils': 10.2.0(graphql@16.8.1) + '@graphql-tools/merge': 9.0.3(graphql@16.8.1) + '@graphql-tools/utils': 10.1.3(graphql@16.8.1) graphql: 16.8.1 tslib: 2.6.2 value-or-promise: 1.0.12 @@ -5931,26 +6505,26 @@ packages: value-or-promise: 1.0.12 dev: true - /@graphql-tools/url-loader@8.0.2(@types/node@20.12.12)(graphql@16.8.1): + /@graphql-tools/url-loader@8.0.2(@types/node@20.12.7)(graphql@16.8.1): resolution: {integrity: sha512-1dKp2K8UuFn7DFo1qX5c1cyazQv2h2ICwA9esHblEqCYrgf69Nk8N7SODmsfWg94OEaI74IqMoM12t7eIGwFzQ==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: '@ardatan/sync-fetch': 0.0.1 - '@graphql-tools/delegate': 10.0.10(graphql@16.8.1) + '@graphql-tools/delegate': 10.0.4(graphql@16.8.1) '@graphql-tools/executor-graphql-ws': 1.1.2(graphql@16.8.1) - '@graphql-tools/executor-http': 1.0.9(@types/node@20.12.12)(graphql@16.8.1) + '@graphql-tools/executor-http': 1.0.9(@types/node@20.12.7)(graphql@16.8.1) '@graphql-tools/executor-legacy-ws': 1.0.6(graphql@16.8.1) - '@graphql-tools/utils': 10.2.0(graphql@16.8.1) + '@graphql-tools/utils': 10.1.3(graphql@16.8.1) '@graphql-tools/wrap': 10.0.5(graphql@16.8.1) '@types/ws': 8.5.10 '@whatwg-node/fetch': 0.9.17 graphql: 16.8.1 - isomorphic-ws: 5.0.0(ws@8.17.0) + isomorphic-ws: 5.0.0(ws@8.16.0) tslib: 2.6.2 value-or-promise: 1.0.12 - ws: 8.17.0 + ws: 8.16.0 transitivePeerDependencies: - '@types/node' - bufferutil @@ -5958,8 +6532,8 @@ packages: - utf-8-validate dev: true - /@graphql-tools/utils@10.2.0(graphql@16.8.1): - resolution: {integrity: sha512-HYV7dO6pNA2nGKawygaBpk8y+vXOUjjzzO43W/Kb7EPRmXUEQKjHxPYRvQbiF72u1N3XxwGK5jnnFk9WVhUwYw==} + /@graphql-tools/utils@10.1.3(graphql@16.8.1): + resolution: {integrity: sha512-loco2ctrrMQzdpSHbcOo6+Ecp21BV67cQ2pNGhuVKAexruu01RdLn3LgtK47B9BpLz3cUD6U0u1R0rur7xMOOg==} engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 @@ -5987,9 +6561,9 @@ packages: peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/delegate': 10.0.10(graphql@16.8.1) + '@graphql-tools/delegate': 10.0.4(graphql@16.8.1) '@graphql-tools/schema': 10.0.3(graphql@16.8.1) - '@graphql-tools/utils': 10.2.0(graphql@16.8.1) + '@graphql-tools/utils': 10.1.3(graphql@16.8.1) graphql: 16.8.1 tslib: 2.6.2 value-or-promise: 1.0.12 @@ -6012,7 +6586,7 @@ packages: resolution: {integrity: sha512-Vc9lh8KzIHyS3n4jBlCbz7zCjcbtQnOBpsymcRvHhFr2cuH+knmRn0EmzimMQ58jQ8kxoRXXC3KJS3RIxSdPIg==} dependencies: '@graphql-yoga/typed-event-target': 1.0.0 - '@repeaterjs/repeater': 3.0.6 + '@repeaterjs/repeater': 3.0.5 '@whatwg-node/events': 0.0.2 tslib: 2.6.2 dev: true @@ -6020,7 +6594,7 @@ packages: /@graphql-yoga/typed-event-target@1.0.0: resolution: {integrity: sha512-Mqni6AEvl3VbpMtKw+TIjc9qS9a8hKhiAjFtqX488yq5oJtj9TkNlFTIacAVS3vnPiswNsmDiQqvwUOcJgi1DA==} dependencies: - '@repeaterjs/repeater': 3.0.6 + '@repeaterjs/repeater': 3.0.5 tslib: 2.6.2 dev: true @@ -6030,10 +6604,10 @@ packages: '@types/ws': 8.5.10 duplexify: 3.7.1 inherits: 2.0.4 - isomorphic-ws: 4.0.1(ws@8.17.0) + isomorphic-ws: 4.0.1(ws@8.16.0) readable-stream: 2.3.8 safe-buffer: 5.2.1 - ws: 8.17.0 + ws: 8.16.0 xtend: 4.0.2 transitivePeerDependencies: - bufferutil @@ -6060,33 +6634,33 @@ packages: resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} dev: true - /@inquirer/checkbox@2.3.4: - resolution: {integrity: sha512-e+V2YLwDqajiftVisDOu+lvinyGEihQu0X4Y1+jF8ZOMQj/Fufa0QVdk0QsF825kc0kvqDigdtSylETsFg3PKg==} + /@inquirer/checkbox@2.3.0: + resolution: {integrity: sha512-QE8k4cC00gQQghyRGz9DJ59hOqZ4YpCpr6p8o9H3H+WIxjEEi/3BsYSGWkYGel4v2VKLjph4ork9HGPoNcURKg==} engines: {node: '>=18'} dependencies: - '@inquirer/core': 8.2.1 - '@inquirer/figures': 1.0.2 - '@inquirer/type': 1.3.2 + '@inquirer/core': 8.0.0 + '@inquirer/figures': 1.0.0 + '@inquirer/type': 1.3.0 ansi-escapes: 4.3.2 chalk: 4.1.2 dev: false - /@inquirer/confirm@3.1.8: - resolution: {integrity: sha512-f3INZ+ca4dQdn+MQiq1yP/mOIR/Oc8BLRYuDh6ciToWd6z4W8yArfzjBCMQ0BPY8PcJKwZxGIt8Z6yNT32eSTw==} + /@inquirer/confirm@3.1.4: + resolution: {integrity: sha512-2z2RC0JyQCmggQfRxFnQitGp8YZgdM/AqcOuLaUtL0dZHFByk5jgtzxECX4z5MsH8aq2WzdLPI2AHmHOkh8eRA==} engines: {node: '>=18'} dependencies: - '@inquirer/core': 8.2.1 - '@inquirer/type': 1.3.2 + '@inquirer/core': 8.0.0 + '@inquirer/type': 1.3.0 dev: false /@inquirer/core@7.1.3: resolution: {integrity: sha512-MbHUe32W0DRtuw3Hlt+vLWy3c0Vw7wVHSJyYZ16IGVXyxs31BTyo2MOFKzNnzBBAWhsqn+iHO1r84FXIzs39HQ==} engines: {node: '>=18'} dependencies: - '@inquirer/figures': 1.0.2 - '@inquirer/type': 1.3.2 + '@inquirer/figures': 1.0.0 + '@inquirer/type': 1.3.0 '@types/mute-stream': 0.0.4 - '@types/node': 20.12.12 + '@types/node': 20.12.7 '@types/wrap-ansi': 3.0.0 ansi-escapes: 4.3.2 chalk: 4.1.2 @@ -6098,14 +6672,14 @@ packages: wrap-ansi: 6.2.0 dev: false - /@inquirer/core@8.2.1: - resolution: {integrity: sha512-TIcuQMn2qrtyYe0j136UpHeYpk7AcR/trKeT/7YY0vRgcS9YSfJuQ2+PudPhSofLLsHNnRYAHScQCcVZrJkMqA==} + /@inquirer/core@8.0.0: + resolution: {integrity: sha512-RAszmjXj+grbT9yQ9B+me40LskytwBYPhyl6yHI8h+J5BmL0gNI3pdvBBFD6S9LV0lzhzfCRMBMH5UvuUPYzZQ==} engines: {node: '>=18'} dependencies: - '@inquirer/figures': 1.0.2 - '@inquirer/type': 1.3.2 + '@inquirer/figures': 1.0.0 + '@inquirer/type': 1.3.0 '@types/mute-stream': 0.0.4 - '@types/node': 20.12.12 + '@types/node': 20.12.7 '@types/wrap-ansi': 3.0.0 ansi-escapes: 4.3.2 chalk: 4.1.2 @@ -6117,43 +6691,43 @@ packages: wrap-ansi: 6.2.0 dev: false - /@inquirer/editor@2.1.8: - resolution: {integrity: sha512-Ob9GdfiDCi9PJSF/tU7+bfbp2bVoFOPxI8Aosqh39TOum3FTyHzUDsZzSmi36KYNWHnmMH33t6bHxg1bBFTwng==} + /@inquirer/editor@2.1.4: + resolution: {integrity: sha512-bZ/YDEWNzQaKPhwyspy77Hntk9UjqXmQPMc3I3Cqn1pPBlPzliylgJDhgErxyIMFMtd92FpbDoOk5WWlaVpBMQ==} engines: {node: '>=18'} dependencies: - '@inquirer/core': 8.2.1 - '@inquirer/type': 1.3.2 + '@inquirer/core': 8.0.0 + '@inquirer/type': 1.3.0 external-editor: 3.1.0 dev: false - /@inquirer/expand@2.1.8: - resolution: {integrity: sha512-dsWqz7cx6BAXrkxxvmKvSoDjB9FTueS7TJjRjTJDHVP335Ntfpha2ogp6+RC7iYpKyuUzFI2qedl+Mme9KmTjA==} + /@inquirer/expand@2.1.4: + resolution: {integrity: sha512-dQeTV54ffbkR6epoue2NlbX8R62gS3M8e3OpXlzl3KxueSSQwlO5o3pAASzBnYje1rkTJ3lhX7fhS8Np0HDofA==} engines: {node: '>=18'} dependencies: - '@inquirer/core': 8.2.1 - '@inquirer/type': 1.3.2 + '@inquirer/core': 8.0.0 + '@inquirer/type': 1.3.0 chalk: 4.1.2 dev: false - /@inquirer/figures@1.0.2: - resolution: {integrity: sha512-4F1MBwVr3c/m4bAUef6LgkvBfSjzwH+OfldgHqcuacWwSUetFebM2wi58WfG9uk1rR98U6GwLed4asLJbwdV5w==} + /@inquirer/figures@1.0.0: + resolution: {integrity: sha512-3fw+7+77/duTnMJTeSS44wneszghI4tkr0m0xdIJabbYRe36ElzmsqyboMZ1nFRon6sT+ckVvYDVjwapKv+2sw==} engines: {node: '>=18'} dev: false - /@inquirer/input@2.1.8: - resolution: {integrity: sha512-W1hsmUArJRGI8kL8+Kl+9wgnm02xPbpKtSIlwoHtRfIn8f/b/9spfNuTWolCVDHh3ZA4LS+Et71d1P6UpdD20A==} + /@inquirer/input@2.1.4: + resolution: {integrity: sha512-FnskIUMM0ogcYu9zHIuIx8McSnXC69CMm5qzBSo27joFATe/dbK2SXrq9/i/y2dCGFfETSaiYI6q5Rp7jhDbWg==} engines: {node: '>=18'} dependencies: - '@inquirer/core': 8.2.1 - '@inquirer/type': 1.3.2 + '@inquirer/core': 8.0.0 + '@inquirer/type': 1.3.0 dev: false - /@inquirer/password@2.1.8: - resolution: {integrity: sha512-uBN1Hxq9igMtlUDHxCssJ4wWEksCwSJmK1mGr8A0V1co+ZBWPZ3cTN21MhyMc7VxIA/e7cG9/D2Qwzso64MCng==} + /@inquirer/password@2.1.4: + resolution: {integrity: sha512-FK14dvubrLZi4B/OCelmtZngLIKe4AX3Iqwwp48YW1ciEDamoxirMrwV9WzhWnfannPfZFnPLZuqIoqhF9sglg==} engines: {node: '>=18'} dependencies: - '@inquirer/core': 8.2.1 - '@inquirer/type': 1.3.2 + '@inquirer/core': 8.0.0 + '@inquirer/type': 1.3.0 ansi-escapes: 4.3.2 dev: false @@ -6161,39 +6735,39 @@ packages: resolution: {integrity: sha512-QLn4tTeLKH3Foqlof0+dY0kLoCGQvvR4MDkHAooPI0rLGPOjUwoiVeEalcMtJTGulqJ76it2UW4++j88WO6KLQ==} engines: {node: '>=18'} dependencies: - '@inquirer/checkbox': 2.3.4 - '@inquirer/confirm': 3.1.8 + '@inquirer/checkbox': 2.3.0 + '@inquirer/confirm': 3.1.4 '@inquirer/core': 7.1.3 - '@inquirer/editor': 2.1.8 - '@inquirer/expand': 2.1.8 - '@inquirer/input': 2.1.8 - '@inquirer/password': 2.1.8 - '@inquirer/rawlist': 2.1.8 - '@inquirer/select': 2.3.4 + '@inquirer/editor': 2.1.4 + '@inquirer/expand': 2.1.4 + '@inquirer/input': 2.1.4 + '@inquirer/password': 2.1.4 + '@inquirer/rawlist': 2.1.4 + '@inquirer/select': 2.3.0 dev: false - /@inquirer/rawlist@2.1.8: - resolution: {integrity: sha512-h1NfMVcgR8MC7ckpk2UQsxh2+411iexj5GOFA1Ys9rg//l0N9XAZJQ+FDrza9cxOmf57MZFkJ/WE13Bp8z8IIQ==} + /@inquirer/rawlist@2.1.4: + resolution: {integrity: sha512-XtG9e/OYzGedsKsXfUw4tf26aNBN7o2gcYjYdYi7FuE4cOAg1fcFoIn2h0qRMr/+xLsJf4F+Hh+sRnC6yk3yxg==} engines: {node: '>=18'} dependencies: - '@inquirer/core': 8.2.1 - '@inquirer/type': 1.3.2 + '@inquirer/core': 8.0.0 + '@inquirer/type': 1.3.0 chalk: 4.1.2 dev: false - /@inquirer/select@2.3.4: - resolution: {integrity: sha512-y9HGzHfPPh60QciH7WiKtjtWjgU24jrIsfJnq4Zqmu8k4HVVQPBXxiKKzwzJyJWwdWZcWATm4VDDWGFEjVHvGA==} + /@inquirer/select@2.3.0: + resolution: {integrity: sha512-FHZkDUIfGfENxzH/M4tskSWUgRnszKUXb/qlrqbvjwUeFFFSOaWztMkAg4sLwnw2nbT+bdi+WlBn98C/j0NOlQ==} engines: {node: '>=18'} dependencies: - '@inquirer/core': 8.2.1 - '@inquirer/figures': 1.0.2 - '@inquirer/type': 1.3.2 + '@inquirer/core': 8.0.0 + '@inquirer/figures': 1.0.0 + '@inquirer/type': 1.3.0 ansi-escapes: 4.3.2 chalk: 4.1.2 dev: false - /@inquirer/type@1.3.2: - resolution: {integrity: sha512-5Frickan9c89QbPkSu6I6y8p+9eR6hZkdPahGmNDsTFX8FHLPAozyzCZMKUeW8FyYwnlCKUjqIEqxY+UctARiw==} + /@inquirer/type@1.3.0: + resolution: {integrity: sha512-RW4Zf6RCTnInRaOZuRHTqAUl+v6VJuQGglir7nW2BkT3OXOphMhkIFhvFRjorBx2l0VwtC/M4No8vYR65TdN9Q==} engines: {node: '>=18'} dev: false @@ -6230,7 +6804,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.12.12 + '@types/node': 20.12.7 chalk: 4.1.2 jest-message-util: 29.7.0 jest-util: 29.7.0 @@ -6251,14 +6825,14 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.12.12 + '@types/node': 20.12.7 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.9.0 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.12.12) + jest-config: 29.7.0(@types/node@20.12.7) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -6270,7 +6844,7 @@ packages: jest-util: 29.7.0 jest-validate: 29.7.0 jest-watcher: 29.7.0 - micromatch: 4.0.7 + micromatch: 4.0.5 pretty-format: 29.7.0 slash: 3.0.0 strip-ansi: 6.0.1 @@ -6286,7 +6860,7 @@ packages: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.12.12 + '@types/node': 20.12.7 jest-mock: 29.7.0 dev: true @@ -6313,7 +6887,7 @@ packages: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 20.12.12 + '@types/node': 20.12.7 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -6346,7 +6920,7 @@ packages: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.25 - '@types/node': 20.12.12 + '@types/node': 20.12.7 chalk: 4.1.2 collect-v8-coverage: 1.0.2 exit: 0.1.2 @@ -6408,7 +6982,7 @@ packages: resolution: {integrity: sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/core': 7.24.5 + '@babel/core': 7.24.4 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.25 babel-plugin-istanbul: 6.1.1 @@ -6419,7 +6993,7 @@ packages: jest-haste-map: 29.7.0 jest-regex-util: 29.6.3 jest-util: 29.7.0 - micromatch: 4.0.7 + micromatch: 4.0.5 pirates: 4.0.6 slash: 3.0.0 write-file-atomic: 4.0.2 @@ -6434,7 +7008,7 @@ packages: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.12.12 + '@types/node': 20.12.7 '@types/yargs': 17.0.32 chalk: 4.1.2 dev: true @@ -6509,13 +7083,13 @@ packages: resolution: {integrity: sha512-9b8mPpKrfeGRuhFH5iO1iwCLeIIsV6+H1sRfxbkoGXIyQE2BTsPd9zqSqQJ+pv5sJ/hT5M1zvOFL02MnEezFug==} dev: true - /@morpho-labs/gnosis-tx-builder@2.0.0(ethers@6.12.1): + /@morpho-labs/gnosis-tx-builder@2.0.0(ethers@6.11.1): resolution: {integrity: sha512-1xGHIe+oBOl5+AUOQgcHFRy1sFNjB5gRe03XaNbe7Rm7KY1YklU3/D0OT6EXk0ng6BuaSNO8NIGxeJXgKMMlVQ==} engines: {node: '>=16.0'} peerDependencies: ethers: ^6.9.2 dependencies: - ethers: 6.12.1 + ethers: 6.11.1 dev: true /@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1: @@ -6577,52 +7151,80 @@ packages: fastq: 1.17.1 dev: true - /@nomicfoundation/edr-darwin-arm64@0.3.8: - resolution: {integrity: sha512-eB0leCexS8sQEmfyD72cdvLj9djkBzQGP4wSQw6SNf2I4Sw4Cnzb3d45caG2FqFFjbvfqL0t+badUUIceqQuMw==} + /@nomicfoundation/edr-darwin-arm64@0.3.5: + resolution: {integrity: sha512-gIXUIiPMUy6roLHpNlxf15DumU7/YhffUf7XIB+WUjMecaySfTGyZsTGnCMJZqrDyiYqWPyPKwCV/2u/jqFAUg==} engines: {node: '>= 18'} + cpu: [arm64] + os: [darwin] + requiresBuild: true dev: true + optional: true - /@nomicfoundation/edr-darwin-x64@0.3.8: - resolution: {integrity: sha512-JksVCS1N5ClwVF14EvO25HCQ+Laljh/KRfHERMVAC9ZwPbTuAd/9BtKvToCBi29uCHWqsXMI4lxCApYQv2nznw==} + /@nomicfoundation/edr-darwin-x64@0.3.5: + resolution: {integrity: sha512-0MrpOCXUK8gmplpYZ2Cy0holHEylvWoNeecFcrP2WJ5DLQzrB23U5JU2MvUzOJ7aL76Za1VXNBWi/UeTWdHM+w==} engines: {node: '>= 18'} + cpu: [x64] + os: [darwin] + requiresBuild: true dev: true + optional: true - /@nomicfoundation/edr-linux-arm64-gnu@0.3.8: - resolution: {integrity: sha512-raCE+fOeNXhVBLUo87cgsHSGvYYRB6arih4eG6B9KGACWK5Veebtm9xtKeiD8YCsdUlUfat6F7ibpeNm91fpsA==} + /@nomicfoundation/edr-linux-arm64-gnu@0.3.5: + resolution: {integrity: sha512-aw9f7AZMiY1dZFNePJGKho2k+nEgFgzUAyyukiKfSqUIMXoFXMf1U3Ujv848czrSq9c5XGcdDa2xnEf3daU3xg==} engines: {node: '>= 18'} + cpu: [arm64] + os: [linux] + requiresBuild: true dev: true + optional: true - /@nomicfoundation/edr-linux-arm64-musl@0.3.8: - resolution: {integrity: sha512-PwiDp4wBZWMCIy29eKkv8moTKRrpiSDlrc+GQMSZLhOAm8T33JKKXPwD/2EbplbhCygJDGXZdtEKl9x9PaH66A==} + /@nomicfoundation/edr-linux-arm64-musl@0.3.5: + resolution: {integrity: sha512-cVFRQjyABBlsbDj+XTczYBfrCHprZ6YNzN8gGGSqAh+UGIJkAIRomK6ar27GyJLNx3HkgbuDoi/9kA0zOo/95w==} engines: {node: '>= 18'} + cpu: [arm64] + os: [linux] + requiresBuild: true dev: true + optional: true - /@nomicfoundation/edr-linux-x64-gnu@0.3.8: - resolution: {integrity: sha512-6AcvA/XKoipGap5jJmQ9Y6yT7Uf39D9lu2hBcDCXnXbMcXaDGw4mn1/L4R63D+9VGZyu1PqlcJixCUZlGGIWlg==} + /@nomicfoundation/edr-linux-x64-gnu@0.3.5: + resolution: {integrity: sha512-CjOg85DfR1Vt0fQWn5U0qi26DATK9tVzo3YOZEyI0JBsnqvk43fUTPv3uUAWBrPIRg5O5kOc9xG13hSpCBBxBg==} engines: {node: '>= 18'} + cpu: [x64] + os: [linux] + requiresBuild: true dev: true + optional: true - /@nomicfoundation/edr-linux-x64-musl@0.3.8: - resolution: {integrity: sha512-cxb0sEmZjlwhYWO28sPsV64VDx31ekskhC1IsDXU1p9ntjHSJRmW4KEIqJ2O3QwJap/kLKfMS6TckvY10gjc6w==} + /@nomicfoundation/edr-linux-x64-musl@0.3.5: + resolution: {integrity: sha512-hvX8bBGpBydAVevzK8jsu2FlqVZK1RrCyTX6wGHnltgMuBaoGLHYtNHiFpteOaJw2byYMiORc2bvj+98LhJ0Ew==} engines: {node: '>= 18'} + cpu: [x64] + os: [linux] + requiresBuild: true dev: true + optional: true - /@nomicfoundation/edr-win32-x64-msvc@0.3.8: - resolution: {integrity: sha512-yVuVPqRRNLZk7TbBMkKw7lzCvI8XO8fNTPTYxymGadjr9rEGRuNTU1yBXjfJ59I1jJU/X2TSkRk1OFX0P5tpZQ==} + /@nomicfoundation/edr-win32-x64-msvc@0.3.5: + resolution: {integrity: sha512-IJXjW13DY5UPsx/eG5DGfXtJ7Ydwrvw/BTZ2Y93lRLHzszVpSmeVmlxjZP5IW2afTSgMLaAAsqNw4NhppRGN8A==} engines: {node: '>= 18'} + cpu: [x64] + os: [win32] + requiresBuild: true dev: true + optional: true - /@nomicfoundation/edr@0.3.8: - resolution: {integrity: sha512-u2UJ5QpznSHVkZRh6ePWoeVb6kmPrrqh08gCnZ9FHlJV9CITqlrTQHJkacd+INH31jx88pTAJnxePE4XAiH5qg==} + /@nomicfoundation/edr@0.3.5: + resolution: {integrity: sha512-dPSM9DuI1sr71gqWUMgLo8MjHQWO4+WNDm3iWaT6P4vUFJReZX5qwA5X+3UwIPBry8GvNY084u7yWUvB3/8rqA==} engines: {node: '>= 18'} - dependencies: - '@nomicfoundation/edr-darwin-arm64': 0.3.8 - '@nomicfoundation/edr-darwin-x64': 0.3.8 - '@nomicfoundation/edr-linux-arm64-gnu': 0.3.8 - '@nomicfoundation/edr-linux-arm64-musl': 0.3.8 - '@nomicfoundation/edr-linux-x64-gnu': 0.3.8 - '@nomicfoundation/edr-linux-x64-musl': 0.3.8 - '@nomicfoundation/edr-win32-x64-msvc': 0.3.8 + optionalDependencies: + '@nomicfoundation/edr-darwin-arm64': 0.3.5 + '@nomicfoundation/edr-darwin-x64': 0.3.5 + '@nomicfoundation/edr-linux-arm64-gnu': 0.3.5 + '@nomicfoundation/edr-linux-arm64-musl': 0.3.5 + '@nomicfoundation/edr-linux-x64-gnu': 0.3.5 + '@nomicfoundation/edr-linux-x64-musl': 0.3.5 + '@nomicfoundation/edr-win32-x64-msvc': 0.3.5 dev: true /@nomicfoundation/ethereumjs-common@4.0.4: @@ -6667,16 +7269,16 @@ packages: ethereum-cryptography: 0.1.3 dev: true - /@nomicfoundation/hardhat-network-helpers@1.0.10(hardhat@2.22.4): + /@nomicfoundation/hardhat-network-helpers@1.0.10(hardhat@2.22.2): resolution: {integrity: sha512-R35/BMBlx7tWN5V6d/8/19QCwEmIdbnA4ZrsuXgvs8i2qFx5i7h6mH5pBS4Pwi4WigLH+upl6faYusrNPuzMrQ==} peerDependencies: hardhat: ^2.9.5 dependencies: ethereumjs-util: 7.1.5 - hardhat: 2.22.4(ts-node@10.9.2)(typescript@5.0.4) + hardhat: 2.22.2(ts-node@10.9.2)(typescript@5.0.4) dev: true - /@nomicfoundation/hardhat-toolbox-viem@2.0.0(@nomicfoundation/hardhat-network-helpers@1.0.10)(@nomicfoundation/hardhat-verify@2.0.7)(@nomicfoundation/hardhat-viem@1.0.4)(@types/chai-as-promised@7.1.8)(@types/chai@4.3.16)(@types/mocha@10.0.6)(@types/node@20.12.12)(chai@4.4.1)(hardhat-gas-reporter@1.0.10)(hardhat@2.22.4)(solidity-coverage@0.8.12)(ts-node@10.9.2)(typescript@5.0.4)(viem@1.21.4): + /@nomicfoundation/hardhat-toolbox-viem@2.0.0(@nomicfoundation/hardhat-network-helpers@1.0.10)(@nomicfoundation/hardhat-verify@2.0.5)(@nomicfoundation/hardhat-viem@1.0.4)(@types/chai-as-promised@7.1.8)(@types/chai@4.3.14)(@types/mocha@10.0.6)(@types/node@20.12.7)(chai@4.4.1)(hardhat-gas-reporter@1.0.10)(hardhat@2.22.2)(solidity-coverage@0.8.12)(ts-node@10.9.2)(typescript@5.0.4)(viem@1.21.4): resolution: {integrity: sha512-1bxTaC+PcbdctwgP/AvmKJGQTeLoT2kJtAfaDvt5PbL3esZ1EO+pfoBkpliP3DJSNESLSqAjVN1yIFxoLJmiBg==} peerDependencies: '@nomicfoundation/hardhat-network-helpers': ^1.0.0 @@ -6694,25 +7296,25 @@ packages: typescript: ~5.0.4 viem: ^1.15.1 dependencies: - '@nomicfoundation/hardhat-network-helpers': 1.0.10(hardhat@2.22.4) - '@nomicfoundation/hardhat-verify': 2.0.7(hardhat@2.22.4) - '@nomicfoundation/hardhat-viem': 1.0.4(hardhat@2.22.4)(typescript@5.0.4)(viem@1.21.4)(zod@3.23.8) - '@types/chai': 4.3.16 + '@nomicfoundation/hardhat-network-helpers': 1.0.10(hardhat@2.22.2) + '@nomicfoundation/hardhat-verify': 2.0.5(hardhat@2.22.2) + '@nomicfoundation/hardhat-viem': 1.0.4(hardhat@2.22.2)(typescript@5.0.4)(viem@1.21.4)(zod@3.22.4) + '@types/chai': 4.3.14 '@types/chai-as-promised': 7.1.8 '@types/mocha': 10.0.6 - '@types/node': 20.12.12 + '@types/node': 20.12.7 chai: 4.4.1 - chai-as-promised: 7.1.2(chai@4.4.1) - hardhat: 2.22.4(ts-node@10.9.2)(typescript@5.0.4) - hardhat-gas-reporter: 1.0.10(hardhat@2.22.4) - solidity-coverage: 0.8.12(hardhat@2.22.4) - ts-node: 10.9.2(@types/node@20.12.12)(typescript@5.0.4) + chai-as-promised: 7.1.1(chai@4.4.1) + hardhat: 2.22.2(ts-node@10.9.2)(typescript@5.0.4) + hardhat-gas-reporter: 1.0.10(hardhat@2.22.2) + solidity-coverage: 0.8.12(hardhat@2.22.2) + ts-node: 10.9.2(@types/node@20.12.7)(typescript@5.0.4) typescript: 5.0.4 - viem: 1.21.4(typescript@5.0.4)(zod@3.23.8) + viem: 1.21.4(typescript@5.0.4)(zod@3.22.4) dev: true - /@nomicfoundation/hardhat-verify@2.0.7(hardhat@2.22.4): - resolution: {integrity: sha512-jiYHBX+K6bBN0YhwFHQ5SWWc3dQZliM3pdgpH33C7tnsVACsX1ubZn6gZ9hfwlzG0tyjFM72XQhpaXQ56cE6Ew==} + /@nomicfoundation/hardhat-verify@2.0.5(hardhat@2.22.2): + resolution: {integrity: sha512-Tg4zu8RkWpyADSFIgF4FlJIUEI4VkxcvELsmbJn2OokbvH2SnUrqKmw0BBfDrtvP0hhmx8wsnrRKP5DV/oTyTA==} peerDependencies: hardhat: ^2.0.4 dependencies: @@ -6721,7 +7323,7 @@ packages: cbor: 8.1.0 chalk: 2.4.2 debug: 4.3.4(supports-color@8.1.1) - hardhat: 2.22.4(ts-node@10.9.2)(typescript@5.0.4) + hardhat: 2.22.2(ts-node@10.9.2)(typescript@5.0.4) lodash.clonedeep: 4.5.0 semver: 6.3.1 table: 6.8.2 @@ -6730,18 +7332,18 @@ packages: - supports-color dev: true - /@nomicfoundation/hardhat-viem@1.0.4(hardhat@2.22.4)(typescript@5.0.4)(viem@1.21.4)(zod@3.23.8): + /@nomicfoundation/hardhat-viem@1.0.4(hardhat@2.22.2)(typescript@5.0.4)(viem@1.21.4)(zod@3.22.4): resolution: {integrity: sha512-6coot+y0y6d75DG33zAdgXlktNp1MRy2B3vDjqlRBaubqlocYak+BSyryiv76F9JuLLgNSxkxTIZCd24h9gKcQ==} peerDependencies: hardhat: ^2.17.0 typescript: ~5.0.0 viem: ^1.15.1 dependencies: - abitype: 0.9.10(typescript@5.0.4)(zod@3.23.8) - hardhat: 2.22.4(ts-node@10.9.2)(typescript@5.0.4) + abitype: 0.9.10(typescript@5.0.4)(zod@3.22.4) + hardhat: 2.22.2(ts-node@10.9.2)(typescript@5.0.4) lodash.memoize: 4.1.2 typescript: 5.0.4 - viem: 1.21.4(typescript@5.0.4)(zod@3.23.8) + viem: 1.21.4(typescript@5.0.4)(zod@3.22.4) transitivePeerDependencies: - zod dev: true @@ -6856,8 +7458,8 @@ packages: resolution: {integrity: sha512-TT4F7NY0Q5r12HLgnBf1VeP6ybXbi4e3jgipi608QgEONJ/+bbWDm+itHvMjqbgUyE4TusEPPzqYyAjzc2Tv3Q==} dev: false - /@oasisdex/addresses@0.1.68: - resolution: {integrity: sha512-JiOLVFrY2jzcaXTqNXNpHAeQ3X2AVwnbhGNHy/a9fs+azCzxjMoyB839st0mICVs18MMRFKN/rKkY8Q/ktg78A==} + /@oasisdex/addresses@0.1.60: + resolution: {integrity: sha512-UAmNodCG3ld4LK5w7sgtoA0ml4lMFfSE7Zp1vswW7/3823IZFmvEO6wy0Pd/vPnJjjKDYaLJdhsRRYGYHwYGSg==} dev: false /@oasisdex/automation@1.6.5-morpho.6: @@ -6934,16 +7536,16 @@ packages: mathjs: 10.6.4 dev: true - /@redis/bloom@1.2.0(@redis/client@1.5.16): + /@redis/bloom@1.2.0(@redis/client@1.5.14): resolution: {integrity: sha512-HG2DFjYKbpNmVXsa0keLHp/3leGJz1mjh09f2RLGGLQZzSHpkmZWuwJbAvo3QcRY8p80m5+ZdXZdYOSBLlp7Cg==} peerDependencies: '@redis/client': ^1.0.0 dependencies: - '@redis/client': 1.5.16 + '@redis/client': 1.5.14 dev: false - /@redis/client@1.5.16: - resolution: {integrity: sha512-X1a3xQ5kEMvTib5fBrHKh6Y+pXbeKXqziYuxOUo1ojQNECg4M5Etd1qqyhMap+lFUOAh8S7UYevgJHOm4A+NOg==} + /@redis/client@1.5.14: + resolution: {integrity: sha512-YGn0GqsRBFUQxklhY7v562VMOP0DcmlrHHs3IV1mFE3cbxe31IITUkqhBcIhVSI/2JqtWAJXg5mjV4aU+zD0HA==} engines: {node: '>=14'} dependencies: cluster-key-slot: 1.1.2 @@ -6951,48 +7553,48 @@ packages: yallist: 4.0.0 dev: false - /@redis/graph@1.1.1(@redis/client@1.5.16): + /@redis/graph@1.1.1(@redis/client@1.5.14): resolution: {integrity: sha512-FEMTcTHZozZciLRl6GiiIB4zGm5z5F3F6a6FZCyrfxdKOhFlGkiAqlexWMBzCi4DcRoyiOsuLfW+cjlGWyExOw==} peerDependencies: '@redis/client': ^1.0.0 dependencies: - '@redis/client': 1.5.16 + '@redis/client': 1.5.14 dev: false - /@redis/json@1.0.6(@redis/client@1.5.16): + /@redis/json@1.0.6(@redis/client@1.5.14): resolution: {integrity: sha512-rcZO3bfQbm2zPRpqo82XbW8zg4G/w4W3tI7X8Mqleq9goQjAGLL7q/1n1ZX4dXEAmORVZ4s1+uKLaUOg7LrUhw==} peerDependencies: '@redis/client': ^1.0.0 dependencies: - '@redis/client': 1.5.16 + '@redis/client': 1.5.14 dev: false - /@redis/search@1.1.6(@redis/client@1.5.16): + /@redis/search@1.1.6(@redis/client@1.5.14): resolution: {integrity: sha512-mZXCxbTYKBQ3M2lZnEddwEAks0Kc7nauire8q20oA0oA/LoA+E/b5Y5KZn232ztPb1FkIGqo12vh3Lf+Vw5iTw==} peerDependencies: '@redis/client': ^1.0.0 dependencies: - '@redis/client': 1.5.16 + '@redis/client': 1.5.14 dev: false - /@redis/time-series@1.0.5(@redis/client@1.5.16): + /@redis/time-series@1.0.5(@redis/client@1.5.14): resolution: {integrity: sha512-IFjIgTusQym2B5IZJG3XKr5llka7ey84fw/NOYqESP5WUfQs9zz1ww/9+qoz4ka/S6KcGBodzlCeZ5UImKbscg==} peerDependencies: '@redis/client': ^1.0.0 dependencies: - '@redis/client': 1.5.16 + '@redis/client': 1.5.14 dev: false /@repeaterjs/repeater@3.0.4: resolution: {integrity: sha512-AW8PKd6iX3vAZ0vA43nOUOnbq/X5ihgU+mSXXqunMkeQADGiqw/PY0JNeYtD5sr0PAy51YPgAPbDoeapv9r8WA==} dev: true - /@repeaterjs/repeater@3.0.6: - resolution: {integrity: sha512-Javneu5lsuhwNCryN+pXH93VPQ8g0dBX7wItHFgYiwQmzE1sVdg5tWHiOgHywzL2W21XQopa7IwIEnNbmeUJYA==} + /@repeaterjs/repeater@3.0.5: + resolution: {integrity: sha512-l3YHBLAol6d/IKnB9LhpD0cEZWAoe3eFKUyTYWmFmCO2Q/WOckxLQAUyMZWwZV2M/m3+4vgRoaolFqaII82/TA==} dev: true - /@rushstack/eslint-patch@1.10.3: - resolution: {integrity: sha512-qC/xYId4NMebE6w/V33Fh9gWxLgURiNYgVNObbJl2LZv0GUUItCcCqC5axQSwRaAgaxl2mELq1rMzlswaQ0Zxg==} + /@rushstack/eslint-patch@1.10.2: + resolution: {integrity: sha512-hw437iINopmQuxWPSUEvqE56NCPsiU8N4AYtfHmJFckclktzK9YQJieD3XkDCDH4OjL+C7zgPUh73R/nrcHrqw==} dev: true /@scure/base@1.1.6: @@ -7135,23 +7737,23 @@ packages: tslib: 2.6.2 dev: true - /@smithy/abort-controller@3.0.0: - resolution: {integrity: sha512-p6GlFGBt9K4MYLu72YuJ523NVR4A8oHlC5M2JO6OmQqN8kAc/uh1JqLE+FizTokrSJGg0CSvC+BrsmGzKtsZKA==} - engines: {node: '>=16.0.0'} + /@smithy/abort-controller@2.2.0: + resolution: {integrity: sha512-wRlta7GuLWpTqtFfGo+nZyOO1vEvewdNR1R4rTxpC8XU6vG/NDyrFBhwLZsqg1NUoR1noVaXJPC/7ZK47QCySw==} + engines: {node: '>=14.0.0'} dependencies: - '@smithy/types': 3.0.0 + '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true - /@smithy/chunked-blob-reader-native@3.0.0: - resolution: {integrity: sha512-VDkpCYW+peSuM4zJip5WDfqvg2Mo/e8yxOv3VF1m11y7B8KKMKVFtmZWDe36Fvk8rGuWrPZHHXZ7rR7uM5yWyg==} + /@smithy/chunked-blob-reader-native@2.2.0: + resolution: {integrity: sha512-VNB5+1oCgX3Fzs072yuRsUoC2N4Zg/LJ11DTxX3+Qu+Paa6AmbIF0E9sc2wthz9Psrk/zcOlTCyuposlIhPjZQ==} dependencies: - '@smithy/util-base64': 3.0.0 + '@smithy/util-base64': 2.3.0 tslib: 2.6.2 dev: true - /@smithy/chunked-blob-reader@3.0.0: - resolution: {integrity: sha512-sbnURCwjF0gSToGlsBiAmd1lRCmSn72nu9axfJu5lIx6RUEgHu6GwTMbqCdhQSi0Pumcm5vFxsi9XWXb2mTaoA==} + /@smithy/chunked-blob-reader@2.2.0: + resolution: {integrity: sha512-3GJNvRwXBGdkDZZOGiziVYzDpn4j6zfyULHMDKAGIUo72yHALpE9CbhfQp/XcLNVoc1byfMpn6uW5H2BqPjgaQ==} dependencies: tslib: 2.6.2 dev: true @@ -7166,83 +7768,83 @@ packages: tslib: 2.6.2 dev: true - /@smithy/config-resolver@3.0.0: - resolution: {integrity: sha512-2GzOfADwYLQugYkKQhIyZyQlM05K+tMKvRnc6eFfZcpJGRfKoMUMYdPlBKmqHwQFXQKBrGV6cxL9oymWgDzvFw==} - engines: {node: '>=16.0.0'} + /@smithy/config-resolver@2.2.0: + resolution: {integrity: sha512-fsiMgd8toyUba6n1WRmr+qACzXltpdDkPTAaDqc8QqPBUzO+/JKwL6bUBseHVi8tu9l+3JOK+tSf7cay+4B3LA==} + engines: {node: '>=14.0.0'} dependencies: - '@smithy/node-config-provider': 3.0.0 - '@smithy/types': 3.0.0 - '@smithy/util-config-provider': 3.0.0 - '@smithy/util-middleware': 3.0.0 + '@smithy/node-config-provider': 2.3.0 + '@smithy/types': 2.12.0 + '@smithy/util-config-provider': 2.3.0 + '@smithy/util-middleware': 2.2.0 tslib: 2.6.2 dev: true - /@smithy/core@2.0.1: - resolution: {integrity: sha512-rcMkjvwxH/bER+oZUPR0yTA0ELD6m3A+d92+CFkdF6HJFCBB1bXo7P5pm21L66XwTN01B6bUhSCQ7cymWRD8zg==} - engines: {node: '>=16.0.0'} + /@smithy/core@1.4.2: + resolution: {integrity: sha512-2fek3I0KZHWJlRLvRTqxTEri+qV0GRHrJIoLFuBMZB4EMg4WgeBGfF0X6abnrNYpq55KJ6R4D6x4f0vLnhzinA==} + engines: {node: '>=14.0.0'} dependencies: - '@smithy/middleware-endpoint': 3.0.0 - '@smithy/middleware-retry': 3.0.1 - '@smithy/middleware-serde': 3.0.0 - '@smithy/protocol-http': 4.0.0 - '@smithy/smithy-client': 3.0.1 - '@smithy/types': 3.0.0 - '@smithy/util-middleware': 3.0.0 + '@smithy/middleware-endpoint': 2.5.1 + '@smithy/middleware-retry': 2.3.1 + '@smithy/middleware-serde': 2.3.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/smithy-client': 2.5.1 + '@smithy/types': 2.12.0 + '@smithy/util-middleware': 2.2.0 tslib: 2.6.2 dev: true - /@smithy/credential-provider-imds@3.0.0: - resolution: {integrity: sha512-lfmBiFQcA3FsDAPxNfY0L7CawcWtbyWsBOHo34nF095728JLkBX4Y9q/VPPE2r7fqMVK+drmDigqE2/SSQeVRA==} - engines: {node: '>=16.0.0'} + /@smithy/credential-provider-imds@2.3.0: + resolution: {integrity: sha512-BWB9mIukO1wjEOo1Ojgl6LrG4avcaC7T/ZP6ptmAaW4xluhSIPZhY+/PI5YKzlk+jsm+4sQZB45Bt1OfMeQa3w==} + engines: {node: '>=14.0.0'} dependencies: - '@smithy/node-config-provider': 3.0.0 - '@smithy/property-provider': 3.0.0 - '@smithy/types': 3.0.0 - '@smithy/url-parser': 3.0.0 + '@smithy/node-config-provider': 2.3.0 + '@smithy/property-provider': 2.2.0 + '@smithy/types': 2.12.0 + '@smithy/url-parser': 2.2.0 tslib: 2.6.2 dev: true - /@smithy/eventstream-codec@3.0.0: - resolution: {integrity: sha512-PUtyEA0Oik50SaEFCZ0WPVtF9tz/teze2fDptW6WRXl+RrEenH8UbEjudOz8iakiMl3lE3lCVqYf2Y+znL8QFQ==} + /@smithy/eventstream-codec@2.2.0: + resolution: {integrity: sha512-8janZoJw85nJmQZc4L8TuePp2pk1nxLgkxIR0TUjKJ5Dkj5oelB9WtiSSGXCQvNsJl0VSTvK/2ueMXxvpa9GVw==} dependencies: '@aws-crypto/crc32': 3.0.0 - '@smithy/types': 3.0.0 - '@smithy/util-hex-encoding': 3.0.0 + '@smithy/types': 2.12.0 + '@smithy/util-hex-encoding': 2.2.0 tslib: 2.6.2 dev: true - /@smithy/eventstream-serde-browser@3.0.0: - resolution: {integrity: sha512-NB7AFiPN4NxP/YCAnrvYR18z2/ZsiHiF7VtG30gshO9GbFrIb1rC8ep4NGpJSWrz6P64uhPXeo4M0UsCLnZKqw==} - engines: {node: '>=16.0.0'} + /@smithy/eventstream-serde-browser@2.2.0: + resolution: {integrity: sha512-UaPf8jKbcP71BGiO0CdeLmlg+RhWnlN8ipsMSdwvqBFigl5nil3rHOI/5GE3tfiuX8LvY5Z9N0meuU7Rab7jWw==} + engines: {node: '>=14.0.0'} dependencies: - '@smithy/eventstream-serde-universal': 3.0.0 - '@smithy/types': 3.0.0 + '@smithy/eventstream-serde-universal': 2.2.0 + '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true - /@smithy/eventstream-serde-config-resolver@3.0.0: - resolution: {integrity: sha512-RUQG3vQ3LX7peqqHAbmayhgrF5aTilPnazinaSGF1P0+tgM3vvIRWPHmlLIz2qFqB9LqFIxditxc8O2Z6psrRw==} - engines: {node: '>=16.0.0'} + /@smithy/eventstream-serde-config-resolver@2.2.0: + resolution: {integrity: sha512-RHhbTw/JW3+r8QQH7PrganjNCiuiEZmpi6fYUAetFfPLfZ6EkiA08uN3EFfcyKubXQxOwTeJRZSQmDDCdUshaA==} + engines: {node: '>=14.0.0'} dependencies: - '@smithy/types': 3.0.0 + '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true - /@smithy/eventstream-serde-node@3.0.0: - resolution: {integrity: sha512-baRPdMBDMBExZXIUAoPGm/hntixjt/VFpU6+VmCyiYJYzRHRxoaI1MN+5XE+hIS8AJ2GCHLMFEIOLzq9xx1EgQ==} - engines: {node: '>=16.0.0'} + /@smithy/eventstream-serde-node@2.2.0: + resolution: {integrity: sha512-zpQMtJVqCUMn+pCSFcl9K/RPNtQE0NuMh8sKpCdEHafhwRsjP50Oq/4kMmvxSRy6d8Jslqd8BLvDngrUtmN9iA==} + engines: {node: '>=14.0.0'} dependencies: - '@smithy/eventstream-serde-universal': 3.0.0 - '@smithy/types': 3.0.0 + '@smithy/eventstream-serde-universal': 2.2.0 + '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true - /@smithy/eventstream-serde-universal@3.0.0: - resolution: {integrity: sha512-HNFfShmotWGeAoW4ujP8meV9BZavcpmerDbPIjkJbxKbN8RsUcpRQ/2OyIxWNxXNH2GWCAxuSB7ynmIGJlQ3Dw==} - engines: {node: '>=16.0.0'} + /@smithy/eventstream-serde-universal@2.2.0: + resolution: {integrity: sha512-pvoe/vvJY0mOpuF84BEtyZoYfbehiFj8KKWk1ds2AT0mTLYFVs+7sBJZmioOFdBXKd48lfrx1vumdPdmGlCLxA==} + engines: {node: '>=14.0.0'} dependencies: - '@smithy/eventstream-codec': 3.0.0 - '@smithy/types': 3.0.0 + '@smithy/eventstream-codec': 2.2.0 + '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true @@ -7256,48 +7858,48 @@ packages: tslib: 2.6.2 dev: true - /@smithy/fetch-http-handler@3.0.1: - resolution: {integrity: sha512-uaH74i5BDj+rBwoQaXioKpI0SHBJFtOVwzrCpxZxphOW0ki5jhj7dXvDMYM2IJem8TpdFvS2iC08sjOblfFGFg==} + /@smithy/fetch-http-handler@2.5.0: + resolution: {integrity: sha512-BOWEBeppWhLn/no/JxUL/ghTfANTjT7kg3Ww2rPqTUY9R4yHPXxJ9JhMe3Z03LN3aPwiwlpDIUcVw1xDyHqEhw==} dependencies: - '@smithy/protocol-http': 4.0.0 - '@smithy/querystring-builder': 3.0.0 - '@smithy/types': 3.0.0 - '@smithy/util-base64': 3.0.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/querystring-builder': 2.2.0 + '@smithy/types': 2.12.0 + '@smithy/util-base64': 2.3.0 tslib: 2.6.2 dev: true - /@smithy/hash-blob-browser@3.0.0: - resolution: {integrity: sha512-/Wbpdg+bwJvW7lxR/zpWAc1/x/YkcqguuF2bAzkJrvXriZu1vm8r+PUdE4syiVwQg7PPR2dXpi3CLBb9qRDaVQ==} + /@smithy/hash-blob-browser@2.2.0: + resolution: {integrity: sha512-SGPoVH8mdXBqrkVCJ1Hd1X7vh1zDXojNN1yZyZTZsCno99hVue9+IYzWDjq/EQDDXxmITB0gBmuyPh8oAZSTcg==} dependencies: - '@smithy/chunked-blob-reader': 3.0.0 - '@smithy/chunked-blob-reader-native': 3.0.0 - '@smithy/types': 3.0.0 + '@smithy/chunked-blob-reader': 2.2.0 + '@smithy/chunked-blob-reader-native': 2.2.0 + '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true - /@smithy/hash-node@3.0.0: - resolution: {integrity: sha512-84qXstNemP3XS5jcof0el6+bDfjzuvhJPQTEfro3lgtbCtKgzPm3MgiS6ehXVPjeQ5+JS0HqmTz8f/RYfzHVxw==} - engines: {node: '>=16.0.0'} + /@smithy/hash-node@2.2.0: + resolution: {integrity: sha512-zLWaC/5aWpMrHKpoDF6nqpNtBhlAYKF/7+9yMN7GpdR8CzohnWfGtMznPybnwSS8saaXBMxIGwJqR4HmRp6b3g==} + engines: {node: '>=14.0.0'} dependencies: - '@smithy/types': 3.0.0 - '@smithy/util-buffer-from': 3.0.0 - '@smithy/util-utf8': 3.0.0 + '@smithy/types': 2.12.0 + '@smithy/util-buffer-from': 2.2.0 + '@smithy/util-utf8': 2.3.0 tslib: 2.6.2 dev: true - /@smithy/hash-stream-node@3.0.0: - resolution: {integrity: sha512-J0i7de+EgXDEGITD4fxzmMX8CyCNETTIRXlxjMiNUvvu76Xn3GJ31wQR85ynlPk2wI1lqoknAFJaD1fiNDlbIA==} - engines: {node: '>=16.0.0'} + /@smithy/hash-stream-node@2.2.0: + resolution: {integrity: sha512-aT+HCATOSRMGpPI7bi7NSsTNVZE/La9IaxLXWoVAYMxHT5hGO3ZOGEMZQg8A6nNL+pdFGtZQtND1eoY084HgHQ==} + engines: {node: '>=14.0.0'} dependencies: - '@smithy/types': 3.0.0 - '@smithy/util-utf8': 3.0.0 + '@smithy/types': 2.12.0 + '@smithy/util-utf8': 2.3.0 tslib: 2.6.2 dev: true - /@smithy/invalid-dependency@3.0.0: - resolution: {integrity: sha512-F6wBBaEFgJzj0s4KUlliIGPmqXemwP6EavgvDqYwCH40O5Xr2iMHvS8todmGVZtuJCorBkXsYLyTu4PuizVq5g==} + /@smithy/invalid-dependency@2.2.0: + resolution: {integrity: sha512-nEDASdbKFKPXN2O6lOlTgrEEOO9NHIeO+HVvZnkqc8h5U9g3BIhWsvzFo+UcUbliMHvKNPD/zVxDrkP1Sbgp8Q==} dependencies: - '@smithy/types': 3.0.0 + '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true @@ -7315,40 +7917,33 @@ packages: tslib: 2.6.2 dev: true - /@smithy/is-array-buffer@3.0.0: - resolution: {integrity: sha512-+Fsu6Q6C4RSJiy81Y8eApjEB5gVtM+oFKTffg+jSuwtvomJJrhUJBu2zS8wjXSgH/g1MKEWrzyChTBe6clb5FQ==} - engines: {node: '>=16.0.0'} - dependencies: - tslib: 2.6.2 - dev: true - - /@smithy/md5-js@3.0.0: - resolution: {integrity: sha512-Tm0vrrVzjlD+6RCQTx7D3Ls58S3FUH1ZCtU1MIh/qQmaOo1H9lMN2as6CikcEwgattnA9SURSdoJJ27xMcEfMA==} + /@smithy/md5-js@2.2.0: + resolution: {integrity: sha512-M26XTtt9IIusVMOWEAhIvFIr9jYj4ISPPGJROqw6vXngO3IYJCnVVSMFn4Tx1rUTG5BiKJNg9u2nxmBiZC5IlQ==} dependencies: - '@smithy/types': 3.0.0 - '@smithy/util-utf8': 3.0.0 + '@smithy/types': 2.12.0 + '@smithy/util-utf8': 2.3.0 tslib: 2.6.2 dev: true - /@smithy/middleware-content-length@3.0.0: - resolution: {integrity: sha512-3C4s4d/iGobgCtk2tnWW6+zSTOBg1PRAm2vtWZLdriwTroFbbWNSr3lcyzHdrQHnEXYCC5K52EbpfodaIUY8sg==} - engines: {node: '>=16.0.0'} + /@smithy/middleware-content-length@2.2.0: + resolution: {integrity: sha512-5bl2LG1Ah/7E5cMSC+q+h3IpVHMeOkG0yLRyQT1p2aMJkSrZG7RlXHPuAgb7EyaFeidKEnnd/fNaLLaKlHGzDQ==} + engines: {node: '>=14.0.0'} dependencies: - '@smithy/protocol-http': 4.0.0 - '@smithy/types': 3.0.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true - /@smithy/middleware-endpoint@3.0.0: - resolution: {integrity: sha512-aXOAWztw/5qAfp0NcA2OWpv6ZI/E+Dh9mByif7i91D/0iyYNUcKvskmXiowKESFkuZ7PIMd3VOR4fTibZDs2OQ==} - engines: {node: '>=16.0.0'} + /@smithy/middleware-endpoint@2.5.1: + resolution: {integrity: sha512-1/8kFp6Fl4OsSIVTWHnNjLnTL8IqpIb/D3sTSczrKFnrE9VMNWxnrRKNvpUHOJ6zpGD5f62TPm7+17ilTJpiCQ==} + engines: {node: '>=14.0.0'} dependencies: - '@smithy/middleware-serde': 3.0.0 - '@smithy/node-config-provider': 3.0.0 - '@smithy/shared-ini-file-loader': 3.0.0 - '@smithy/types': 3.0.0 - '@smithy/url-parser': 3.0.0 - '@smithy/util-middleware': 3.0.0 + '@smithy/middleware-serde': 2.3.0 + '@smithy/node-config-provider': 2.3.0 + '@smithy/shared-ini-file-loader': 2.4.0 + '@smithy/types': 2.12.0 + '@smithy/url-parser': 2.2.0 + '@smithy/util-middleware': 2.2.0 tslib: 2.6.2 dev: true @@ -7365,26 +7960,26 @@ packages: uuid: 8.3.2 dev: true - /@smithy/middleware-retry@3.0.1: - resolution: {integrity: sha512-hBhSEuL841FhJBK/19WpaGk5YWSzFk/P2UaVjANGKRv3eYNO8Y1lANWgqnuPWjOyCEWMPr58vELFDWpxvRKANw==} - engines: {node: '>=16.0.0'} + /@smithy/middleware-retry@2.3.1: + resolution: {integrity: sha512-P2bGufFpFdYcWvqpyqqmalRtwFUNUA8vHjJR5iGqbfR6mp65qKOLcUd6lTr4S9Gn/enynSrSf3p3FVgVAf6bXA==} + engines: {node: '>=14.0.0'} dependencies: - '@smithy/node-config-provider': 3.0.0 - '@smithy/protocol-http': 4.0.0 - '@smithy/service-error-classification': 3.0.0 - '@smithy/smithy-client': 3.0.1 - '@smithy/types': 3.0.0 - '@smithy/util-middleware': 3.0.0 - '@smithy/util-retry': 3.0.0 + '@smithy/node-config-provider': 2.3.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/service-error-classification': 2.1.5 + '@smithy/smithy-client': 2.5.1 + '@smithy/types': 2.12.0 + '@smithy/util-middleware': 2.2.0 + '@smithy/util-retry': 2.2.0 tslib: 2.6.2 uuid: 9.0.1 dev: true - /@smithy/middleware-serde@3.0.0: - resolution: {integrity: sha512-I1vKG1foI+oPgG9r7IMY1S+xBnmAn1ISqployvqkwHoSb8VPsngHDTOgYGYBonuOKndaWRUGJZrKYYLB+Ane6w==} - engines: {node: '>=16.0.0'} + /@smithy/middleware-serde@2.3.0: + resolution: {integrity: sha512-sIADe7ojwqTyvEQBe1nc/GXB9wdHhi9UwyX0lTyttmUWDJLP655ZYE1WngnNyXREme8I27KCaUhyhZWRXL0q7Q==} + engines: {node: '>=14.0.0'} dependencies: - '@smithy/types': 3.0.0 + '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true @@ -7395,21 +7990,21 @@ packages: tslib: 2.6.2 dev: true - /@smithy/middleware-stack@3.0.0: - resolution: {integrity: sha512-+H0jmyfAyHRFXm6wunskuNAqtj7yfmwFB6Fp37enytp2q047/Od9xetEaUbluyImOlGnGpaVGaVfjwawSr+i6Q==} - engines: {node: '>=16.0.0'} + /@smithy/middleware-stack@2.2.0: + resolution: {integrity: sha512-Qntc3jrtwwrsAC+X8wms8zhrTr0sFXnyEGhZd9sLtsJ/6gGQKFzNB+wWbOcpJd7BR8ThNCoKt76BuQahfMvpeA==} + engines: {node: '>=14.0.0'} dependencies: - '@smithy/types': 3.0.0 + '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true - /@smithy/node-config-provider@3.0.0: - resolution: {integrity: sha512-buqfaSdDh0zo62EPLf8rGDvcpKwGpO5ho4bXS2cdFhlOta7tBkWJt+O5uiaAeICfIOfPclNOndshDNSanX2X9g==} - engines: {node: '>=16.0.0'} + /@smithy/node-config-provider@2.3.0: + resolution: {integrity: sha512-0elK5/03a1JPWMDPaS726Iw6LpQg80gFut1tNpPfxFuChEEklo2yL823V94SpTZTxmKlXFtFgsP55uh3dErnIg==} + engines: {node: '>=14.0.0'} dependencies: - '@smithy/property-provider': 3.0.0 - '@smithy/shared-ini-file-loader': 3.0.0 - '@smithy/types': 3.0.0 + '@smithy/property-provider': 2.2.0 + '@smithy/shared-ini-file-loader': 2.4.0 + '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true @@ -7424,22 +8019,22 @@ packages: tslib: 2.6.2 dev: true - /@smithy/node-http-handler@3.0.0: - resolution: {integrity: sha512-3trD4r7NOMygwLbUJo4eodyQuypAWr7uvPnebNJ9a70dQhVn+US8j/lCnvoJS6BXfZeF7PkkkI0DemVJw+n+eQ==} - engines: {node: '>=16.0.0'} + /@smithy/node-http-handler@2.5.0: + resolution: {integrity: sha512-mVGyPBzkkGQsPoxQUbxlEfRjrj6FPyA3u3u2VXGr9hT8wilsoQdZdvKpMBFMB8Crfhv5dNkKHIW0Yyuc7eABqA==} + engines: {node: '>=14.0.0'} dependencies: - '@smithy/abort-controller': 3.0.0 - '@smithy/protocol-http': 4.0.0 - '@smithy/querystring-builder': 3.0.0 - '@smithy/types': 3.0.0 + '@smithy/abort-controller': 2.2.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/querystring-builder': 2.2.0 + '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true - /@smithy/property-provider@3.0.0: - resolution: {integrity: sha512-LmbPgHBswdXCrkWWuUwBm9w72S2iLWyC/5jet9/Y9cGHtzqxi+GVjfCfahkvNV4KXEwgnH8EMpcrD9RUYe0eLQ==} - engines: {node: '>=16.0.0'} + /@smithy/property-provider@2.2.0: + resolution: {integrity: sha512-+xiil2lFhtTRzXkx8F053AV46QnIw6e7MV8od5Mi68E1ICOjCeCHw2XfLnDEUHnT9WGUIkwcqavXjfwuJbGlpg==} + engines: {node: '>=14.0.0'} dependencies: - '@smithy/types': 3.0.0 + '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true @@ -7451,11 +8046,11 @@ packages: tslib: 2.6.2 dev: true - /@smithy/protocol-http@4.0.0: - resolution: {integrity: sha512-qOQZOEI2XLWRWBO9AgIYuHuqjZ2csyr8/IlgFDHDNuIgLAMRx2Bl8ck5U5D6Vh9DPdoaVpuzwWMa0xcdL4O/AQ==} - engines: {node: '>=16.0.0'} + /@smithy/protocol-http@3.3.0: + resolution: {integrity: sha512-Xy5XK1AFWW2nlY/biWZXu6/krgbaf2dg0q492D8M5qthsnU2H+UgFeZLbM76FnH7s6RO/xhQRkj+T6KBO3JzgQ==} + engines: {node: '>=14.0.0'} dependencies: - '@smithy/types': 3.0.0 + '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true @@ -7468,20 +8063,20 @@ packages: tslib: 2.6.2 dev: true - /@smithy/querystring-builder@3.0.0: - resolution: {integrity: sha512-bW8Fi0NzyfkE0TmQphDXr1AmBDbK01cA4C1Z7ggwMAU5RDz5AAv/KmoRwzQAS0kxXNf/D2ALTEgwK0U2c4LtRg==} - engines: {node: '>=16.0.0'} + /@smithy/querystring-builder@2.2.0: + resolution: {integrity: sha512-L1kSeviUWL+emq3CUVSgdogoM/D9QMFaqxL/dd0X7PCNWmPXqt+ExtrBjqT0V7HLN03Vs9SuiLrG3zy3JGnE5A==} + engines: {node: '>=14.0.0'} dependencies: - '@smithy/types': 3.0.0 - '@smithy/util-uri-escape': 3.0.0 + '@smithy/types': 2.12.0 + '@smithy/util-uri-escape': 2.2.0 tslib: 2.6.2 dev: true - /@smithy/querystring-parser@3.0.0: - resolution: {integrity: sha512-UzHwthk0UEccV4dHzPySnBy34AWw3V9lIqUTxmozQ+wPDAO9csCWMfOLe7V9A2agNYy7xE+Pb0S6K/J23JSzfQ==} - engines: {node: '>=16.0.0'} + /@smithy/querystring-parser@2.2.0: + resolution: {integrity: sha512-BvHCDrKfbG5Yhbpj4vsbuPV2GgcpHiAkLeIlcA1LtfpMz3jrqizP1+OguSNSj1MwBHEiN+jwNisXLGdajGDQJA==} + engines: {node: '>=14.0.0'} dependencies: - '@smithy/types': 3.0.0 + '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true @@ -7495,20 +8090,12 @@ packages: engines: {node: '>=14.0.0'} dependencies: '@smithy/types': 2.12.0 - dev: false - - /@smithy/service-error-classification@3.0.0: - resolution: {integrity: sha512-3BsBtOUt2Gsnc3X23ew+r2M71WwtpHfEDGhHYHSDg6q1t8FrWh15jT25DLajFV1H+PpxAJ6gqe9yYeRUsmSdFA==} - engines: {node: '>=16.0.0'} - dependencies: - '@smithy/types': 3.0.0 - dev: true - /@smithy/shared-ini-file-loader@3.0.0: - resolution: {integrity: sha512-REVw6XauXk8xE4zo5aGL7Rz4ywA8qNMUn8RtWeTRQsgAlmlvbJ7CEPBcaXU2NDC3AYBgYAXrGyWD8XrN8UGDog==} - engines: {node: '>=16.0.0'} + /@smithy/shared-ini-file-loader@2.4.0: + resolution: {integrity: sha512-WyujUJL8e1B6Z4PBfAqC/aGY1+C7T0w20Gih3yrvJSk97gpiVfB+y7c46T4Nunk+ZngLq0rOIdeVeIklk0R3OA==} + engines: {node: '>=14.0.0'} dependencies: - '@smithy/types': 3.0.0 + '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true @@ -7525,19 +8112,6 @@ packages: tslib: 2.6.2 dev: true - /@smithy/signature-v4@3.0.0: - resolution: {integrity: sha512-kXFOkNX+BQHe2qnLxpMEaCRGap9J6tUGLzc3A9jdn+nD4JdMwCKTJ+zFwQ20GkY+mAXGatyTw3HcoUlR39HwmA==} - engines: {node: '>=16.0.0'} - dependencies: - '@smithy/is-array-buffer': 3.0.0 - '@smithy/types': 3.0.0 - '@smithy/util-hex-encoding': 3.0.0 - '@smithy/util-middleware': 3.0.0 - '@smithy/util-uri-escape': 3.0.0 - '@smithy/util-utf8': 3.0.0 - tslib: 2.6.2 - dev: true - /@smithy/smithy-client@1.1.0: resolution: {integrity: sha512-j32SGgVhv2G9nBTmel9u3OXux8KG20ssxuFakJrEeDug3kqbl1qrGzVLCe+Eib402UDtA0Sp1a4NZ2SEXDBxag==} engines: {node: '>=14.0.0'} @@ -7548,15 +8122,15 @@ packages: tslib: 2.6.2 dev: true - /@smithy/smithy-client@3.0.1: - resolution: {integrity: sha512-KAiFY4Y4jdHxR+4zerH/VBhaFKM8pbaVmJZ/CWJRwtM/CmwzTfXfvYwf6GoUwiHepdv+lwiOXCuOl6UBDUEINw==} - engines: {node: '>=16.0.0'} + /@smithy/smithy-client@2.5.1: + resolution: {integrity: sha512-jrbSQrYCho0yDaaf92qWgd+7nAeap5LtHTI51KXqmpIFCceKU3K9+vIVTUH72bOJngBMqa4kyu1VJhRcSrk/CQ==} + engines: {node: '>=14.0.0'} dependencies: - '@smithy/middleware-endpoint': 3.0.0 - '@smithy/middleware-stack': 3.0.0 - '@smithy/protocol-http': 4.0.0 - '@smithy/types': 3.0.0 - '@smithy/util-stream': 3.0.1 + '@smithy/middleware-endpoint': 2.5.1 + '@smithy/middleware-stack': 2.2.0 + '@smithy/protocol-http': 3.3.0 + '@smithy/types': 2.12.0 + '@smithy/util-stream': 2.2.0 tslib: 2.6.2 dev: true @@ -7573,17 +8147,11 @@ packages: dependencies: tslib: 2.6.2 - /@smithy/types@3.0.0: - resolution: {integrity: sha512-VvWuQk2RKFuOr98gFhjca7fkBS+xLLURT8bUjk5XQoV0ZLm7WPwWPPY3/AwzTLuUBDeoKDCthfe1AsTUWaSEhw==} - engines: {node: '>=16.0.0'} - dependencies: - tslib: 2.6.2 - - /@smithy/url-parser@3.0.0: - resolution: {integrity: sha512-2XLazFgUu+YOGHtWihB3FSLAfCUajVfNBXGGYjOaVKjLAuAxx3pSBY3hBgLzIgB17haf59gOG3imKqTy8mcrjw==} + /@smithy/url-parser@2.2.0: + resolution: {integrity: sha512-hoA4zm61q1mNTpksiSWp2nEl1dt3j726HdRhiNgVJQMj7mLp7dprtF57mOB6JvEk/x9d2bsuL5hlqZbBuHQylQ==} dependencies: - '@smithy/querystring-parser': 3.0.0 - '@smithy/types': 3.0.0 + '@smithy/querystring-parser': 2.2.0 + '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true @@ -7595,24 +8163,24 @@ packages: tslib: 2.6.2 dev: true - /@smithy/util-base64@3.0.0: - resolution: {integrity: sha512-Kxvoh5Qtt0CDsfajiZOCpJxgtPHXOKwmM+Zy4waD43UoEMA+qPxxa98aE/7ZhdnBFZFXMOiBR5xbcaMhLtznQQ==} - engines: {node: '>=16.0.0'} + /@smithy/util-base64@2.3.0: + resolution: {integrity: sha512-s3+eVwNeJuXUwuMbusncZNViuhv2LjVJ1nMwTqSA0XAC7gjKhqqxRdJPhR8+YrkoZ9IiIbFk/yK6ACe/xlF+hw==} + engines: {node: '>=14.0.0'} dependencies: - '@smithy/util-buffer-from': 3.0.0 - '@smithy/util-utf8': 3.0.0 + '@smithy/util-buffer-from': 2.2.0 + '@smithy/util-utf8': 2.3.0 tslib: 2.6.2 dev: true - /@smithy/util-body-length-browser@3.0.0: - resolution: {integrity: sha512-cbjJs2A1mLYmqmyVl80uoLTJhAcfzMOyPgjwAYusWKMdLeNtzmMz9YxNl3/jRLoxSS3wkqkf0jwNdtXWtyEBaQ==} + /@smithy/util-body-length-browser@2.2.0: + resolution: {integrity: sha512-dtpw9uQP7W+n3vOtx0CfBD5EWd7EPdIdsQnWTDoFf77e3VUf05uA7R7TGipIo8e4WL2kuPdnsr3hMQn9ziYj5w==} dependencies: tslib: 2.6.2 dev: true - /@smithy/util-body-length-node@3.0.0: - resolution: {integrity: sha512-Tj7pZ4bUloNUP6PzwhN7K386tmSmEET9QtQg0TgdNOnxhZvCssHji+oZTUIuzxECRfG8rdm2PMw2WCFs6eIYkA==} - engines: {node: '>=16.0.0'} + /@smithy/util-body-length-node@2.3.0: + resolution: {integrity: sha512-ITWT1Wqjubf2CJthb0BuT9+bpzBfXeMokH/AAa5EJQgbv9aPMVfnM76iFIZVFf50hYXGbtiV71BHAthNWd6+dw==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true @@ -7633,14 +8201,6 @@ packages: tslib: 2.6.2 dev: true - /@smithy/util-buffer-from@3.0.0: - resolution: {integrity: sha512-aEOHCgq5RWFbP+UDPvPot26EJHjOC+bRgse5A8V3FSShqd5E5UN4qc7zkwsvJPPAVsf73QwYcHN1/gt/rtLwQA==} - engines: {node: '>=16.0.0'} - dependencies: - '@smithy/is-array-buffer': 3.0.0 - tslib: 2.6.2 - dev: true - /@smithy/util-config-provider@1.1.0: resolution: {integrity: sha512-rQ47YpNmF6Is4I9GiE3T3+0xQ+r7RKRKbmHYyGSbyep/0cSf9kteKcI0ssJTvveJ1K4QvwrxXj1tEFp/G2UqxQ==} engines: {node: '>=14.0.0'} @@ -7648,43 +8208,43 @@ packages: tslib: 2.6.2 dev: true - /@smithy/util-config-provider@3.0.0: - resolution: {integrity: sha512-pbjk4s0fwq3Di/ANL+rCvJMKM5bzAQdE5S/6RL5NXgMExFAi6UgQMPOm5yPaIWPpr+EOXKXRonJ3FoxKf4mCJQ==} - engines: {node: '>=16.0.0'} + /@smithy/util-config-provider@2.3.0: + resolution: {integrity: sha512-HZkzrRcuFN1k70RLqlNK4FnPXKOpkik1+4JaBoHNJn+RnJGYqaa3c5/+XtLOXhlKzlRgNvyaLieHTW2VwGN0VQ==} + engines: {node: '>=14.0.0'} dependencies: tslib: 2.6.2 dev: true - /@smithy/util-defaults-mode-browser@3.0.1: - resolution: {integrity: sha512-nW5kEzdJn1Bn5TF+gOPHh2rcPli8JU9vSSXLbfg7uPnfR1TMRQqs9zlYRhIb87NeSxIbpdXOI94tvXSy+fvDYg==} + /@smithy/util-defaults-mode-browser@2.2.1: + resolution: {integrity: sha512-RtKW+8j8skk17SYowucwRUjeh4mCtnm5odCL0Lm2NtHQBsYKrNW0od9Rhopu9wF1gHMfHeWF7i90NwBz/U22Kw==} engines: {node: '>= 10.0.0'} dependencies: - '@smithy/property-provider': 3.0.0 - '@smithy/smithy-client': 3.0.1 - '@smithy/types': 3.0.0 + '@smithy/property-provider': 2.2.0 + '@smithy/smithy-client': 2.5.1 + '@smithy/types': 2.12.0 bowser: 2.11.0 tslib: 2.6.2 dev: true - /@smithy/util-defaults-mode-node@3.0.1: - resolution: {integrity: sha512-TFk+Qb+elLc/MOhtSp+50fstyfZ6avQbgH2d96xUBpeScu+Al9elxv+UFAjaTHe0HQe5n+wem8ZLpXvU8lwV6Q==} + /@smithy/util-defaults-mode-node@2.3.1: + resolution: {integrity: sha512-vkMXHQ0BcLFysBMWgSBLSk3+leMpFSyyFj8zQtv5ZyUBx8/owVh1/pPEkzmW/DR/Gy/5c8vjLDD9gZjXNKbrpA==} engines: {node: '>= 10.0.0'} dependencies: - '@smithy/config-resolver': 3.0.0 - '@smithy/credential-provider-imds': 3.0.0 - '@smithy/node-config-provider': 3.0.0 - '@smithy/property-provider': 3.0.0 - '@smithy/smithy-client': 3.0.1 - '@smithy/types': 3.0.0 + '@smithy/config-resolver': 2.2.0 + '@smithy/credential-provider-imds': 2.3.0 + '@smithy/node-config-provider': 2.3.0 + '@smithy/property-provider': 2.2.0 + '@smithy/smithy-client': 2.5.1 + '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true - /@smithy/util-endpoints@2.0.0: - resolution: {integrity: sha512-+exaXzEY3DNt2qtA2OtRNSDlVrE4p32j1JSsQkzA5AdP0YtJNjkYbYhJxkFmPYcjI1abuwopOZCwUmv682QkiQ==} - engines: {node: '>=16.0.0'} + /@smithy/util-endpoints@1.2.0: + resolution: {integrity: sha512-BuDHv8zRjsE5zXd3PxFXFknzBG3owCpjq8G3FcsXW3CykYXuEqM3nTSsmLzw5q+T12ZYuDlVUZKBdpNbhVtlrQ==} + engines: {node: '>= 14.0.0'} dependencies: - '@smithy/node-config-provider': 3.0.0 - '@smithy/types': 3.0.0 + '@smithy/node-config-provider': 2.3.0 + '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true @@ -7702,13 +8262,6 @@ packages: tslib: 2.6.2 dev: true - /@smithy/util-hex-encoding@3.0.0: - resolution: {integrity: sha512-eFndh1WEK5YMUYvy3lPlVmYY/fZcQE1D8oSf41Id2vCeIkKJXPcYDCZD+4+xViI6b1XSd7tE+s5AmXzz5ilabQ==} - engines: {node: '>=16.0.0'} - dependencies: - tslib: 2.6.2 - dev: true - /@smithy/util-middleware@1.1.0: resolution: {integrity: sha512-6hhckcBqVgjWAqLy2vqlPZ3rfxLDhFWEmM7oLh2POGvsi7j0tHkbN7w4DFhuBExVJAbJ/qqxqZdRY6Fu7/OezQ==} engines: {node: '>=14.0.0'} @@ -7724,14 +8277,6 @@ packages: tslib: 2.6.2 dev: true - /@smithy/util-middleware@3.0.0: - resolution: {integrity: sha512-q5ITdOnV2pXHSVDnKWrwgSNTDBAMHLptFE07ua/5Ty5WJ11bvr0vk2a7agu7qRhrCFRQlno5u3CneU5EELK+DQ==} - engines: {node: '>=16.0.0'} - dependencies: - '@smithy/types': 3.0.0 - tslib: 2.6.2 - dev: true - /@smithy/util-retry@1.1.0: resolution: {integrity: sha512-ygQW5HBqYXpR3ua09UciS0sL7UGJzGiktrKkOuEJwARoUuzz40yaEGU6xd9Gs7KBmAaFC8gMfnghHtwZ2nyBCQ==} engines: {node: '>= 14.0.0'} @@ -7740,12 +8285,12 @@ packages: tslib: 2.6.2 dev: true - /@smithy/util-retry@3.0.0: - resolution: {integrity: sha512-nK99bvJiziGv/UOKJlDvFF45F00WgPLKVIGUfAK+mDhzVN2hb/S33uW2Tlhg5PVBoqY7tDVqL0zmu4OxAHgo9g==} - engines: {node: '>=16.0.0'} + /@smithy/util-retry@2.2.0: + resolution: {integrity: sha512-q9+pAFPTfftHXRytmZ7GzLFFrEGavqapFc06XxzZFcSIGERXMerXxCitjOG1prVDR9QdjqotF40SWvbqcCpf8g==} + engines: {node: '>= 14.0.0'} dependencies: - '@smithy/service-error-classification': 3.0.0 - '@smithy/types': 3.0.0 + '@smithy/service-error-classification': 2.1.5 + '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true @@ -7763,17 +8308,17 @@ packages: tslib: 2.6.2 dev: true - /@smithy/util-stream@3.0.1: - resolution: {integrity: sha512-7F7VNNhAsfMRA8I986YdOY5fE0/T1/ZjFF6OLsqkvQVNP3vZ/szYDfGCyphb7ioA09r32K/0qbSFfNFU68aSzA==} - engines: {node: '>=16.0.0'} + /@smithy/util-stream@2.2.0: + resolution: {integrity: sha512-17faEXbYWIRst1aU9SvPZyMdWmqIrduZjVOqCPMIsWFNxs5yQQgFrJL6b2SdiCzyW9mJoDjFtgi53xx7EH+BXA==} + engines: {node: '>=14.0.0'} dependencies: - '@smithy/fetch-http-handler': 3.0.1 - '@smithy/node-http-handler': 3.0.0 - '@smithy/types': 3.0.0 - '@smithy/util-base64': 3.0.0 - '@smithy/util-buffer-from': 3.0.0 - '@smithy/util-hex-encoding': 3.0.0 - '@smithy/util-utf8': 3.0.0 + '@smithy/fetch-http-handler': 2.5.0 + '@smithy/node-http-handler': 2.5.0 + '@smithy/types': 2.12.0 + '@smithy/util-base64': 2.3.0 + '@smithy/util-buffer-from': 2.2.0 + '@smithy/util-hex-encoding': 2.2.0 + '@smithy/util-utf8': 2.3.0 tslib: 2.6.2 dev: true @@ -7791,13 +8336,6 @@ packages: tslib: 2.6.2 dev: true - /@smithy/util-uri-escape@3.0.0: - resolution: {integrity: sha512-LqR7qYLgZTD7nWLBecUi4aqolw8Mhza9ArpNEQ881MJJIU2sE5iHCK6TdyqqzcDLy0OPe10IY4T8ctVdtynubg==} - engines: {node: '>=16.0.0'} - dependencies: - tslib: 2.6.2 - dev: true - /@smithy/util-utf8@1.1.0: resolution: {integrity: sha512-p/MYV+JmqmPyjdgyN2UxAeYDj9cBqCjp0C/NsTWnnjoZUVqoeZ6IrW915L9CAKWVECgv9lVQGc4u/yz26/bI1A==} engines: {node: '>=14.0.0'} @@ -7814,20 +8352,12 @@ packages: tslib: 2.6.2 dev: true - /@smithy/util-utf8@3.0.0: - resolution: {integrity: sha512-rUeT12bxFnplYDe815GXbq/oixEGHfRFFtcTF3YdDi/JaENIM6aSYYLJydG83UNzLXeRI5K8abYd/8Sp/QM0kA==} - engines: {node: '>=16.0.0'} - dependencies: - '@smithy/util-buffer-from': 3.0.0 - tslib: 2.6.2 - dev: true - - /@smithy/util-waiter@3.0.0: - resolution: {integrity: sha512-+fEXJxGDLCoqRKVSmo0auGxaqbiCo+8oph+4auefYjaNxjOLKSY2MxVQfRzo65PaZv4fr+5lWg+au7vSuJJ/zw==} - engines: {node: '>=16.0.0'} + /@smithy/util-waiter@2.2.0: + resolution: {integrity: sha512-IHk53BVw6MPMi2Gsn+hCng8rFA3ZmR3Rk7GllxDUW9qFJl/hiSvskn7XldkECapQVkIg/1dHpMAxI9xSTaLLSA==} + engines: {node: '>=14.0.0'} dependencies: - '@smithy/abort-controller': 3.0.0 - '@smithy/types': 3.0.0 + '@smithy/abort-controller': 2.2.0 + '@smithy/types': 2.12.0 tslib: 2.6.2 dev: true @@ -7877,77 +8407,77 @@ packages: resolution: {integrity: sha512-sqgsT69YFeLWf5NtJ4Xq/xAF8p4ZQHlmGW74Nu2tD4+g5fAsposc4ZfaaPixVu4y01BEiDCWLRDCvDM5JOsRxg==} dev: true - /@types/aws-lambda@8.10.138: - resolution: {integrity: sha512-71EHMl70TPWIAsFuHd85NHq6S6T2OOjiisPTrH7RgcjzpJpPh4RQJv7PvVvIxc6PIp8CLV7F9B+TdjcAES5vcA==} + /@types/aws-lambda@8.10.137: + resolution: {integrity: sha512-YNFwzVarXAOXkjuFxONyDw1vgRNzyH8AuyN19s0bM+ChSu/bzxb5XPxYFLXoqoM+tvgzwR3k7fXcEOW125yJxg==} dev: true /@types/babel__core@7.20.5: resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} dependencies: - '@babel/parser': 7.24.5 - '@babel/types': 7.24.5 + '@babel/parser': 7.24.4 + '@babel/types': 7.24.0 '@types/babel__generator': 7.6.8 '@types/babel__template': 7.4.4 - '@types/babel__traverse': 7.20.6 + '@types/babel__traverse': 7.20.5 dev: true /@types/babel__generator@7.6.8: resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} dependencies: - '@babel/types': 7.24.5 + '@babel/types': 7.24.0 dev: true /@types/babel__template@7.4.4: resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} dependencies: - '@babel/parser': 7.24.5 - '@babel/types': 7.24.5 + '@babel/parser': 7.24.4 + '@babel/types': 7.24.0 dev: true - /@types/babel__traverse@7.20.6: - resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} + /@types/babel__traverse@7.20.5: + resolution: {integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==} dependencies: - '@babel/types': 7.24.5 + '@babel/types': 7.24.0 dev: true /@types/bn.js@4.11.6: resolution: {integrity: sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg==} dependencies: - '@types/node': 20.12.12 + '@types/node': 20.12.7 dev: true /@types/bn.js@5.1.5: resolution: {integrity: sha512-V46N0zwKRF5Q00AZ6hWtN0T8gGmDUaUzLWQvHFo5yThtVwK/VCenFY3wXVbOvNfajEpsTfQM4IN9k/d6gUVX3A==} dependencies: - '@types/node': 20.12.12 + '@types/node': 20.12.7 dev: true /@types/chai-as-promised@7.1.8: resolution: {integrity: sha512-ThlRVIJhr69FLlh6IctTXFkmhtP3NpMZ2QGq69StYLyKZFp/HOp1VdKZj7RvfNWYYcJ1xlbLGLLWj1UvP5u/Gw==} dependencies: - '@types/chai': 4.3.16 + '@types/chai': 4.3.14 dev: true - /@types/chai@4.3.16: - resolution: {integrity: sha512-PatH4iOdyh3MyWtmHVFXLWCCIhUbopaltqddG9BzB+gMIzee2MJrvd+jouii9Z3wzQJruGWAm7WOMjgfG8hQlQ==} + /@types/chai@4.3.14: + resolution: {integrity: sha512-Wj71sXE4Q4AkGdG9Tvq1u/fquNz9EdG4LIJMwVVII7ashjD/8cf8fyIfJAjRr6YcsXnSE8cOGQPq1gqeR8z+3w==} dev: true /@types/cls-hooked@4.3.8: resolution: {integrity: sha512-tf/7H883gFA6MPlWI15EQtfNZ+oPL0gLKkOlx9UHFrun1fC/FkuyNBpTKq1B5E3T4fbvjId6WifHUdSGsMMuPg==} dependencies: - '@types/node': 20.12.12 + '@types/node': 20.12.7 dev: false /@types/concat-stream@1.6.1: resolution: {integrity: sha512-eHE4cQPoj6ngxBZMvVf6Hw7Mh4jMW4U9lpGmS5GBPB9RYxlFg+CHaVN7ErNY4W9XfLIEn20b4VDYaIrbq0q4uA==} dependencies: - '@types/node': 20.12.12 + '@types/node': 20.12.7 dev: true /@types/form-data@0.0.33: resolution: {integrity: sha512-8BSvG1kGm83cyJITQMZSulnl6QV8jqAGreJsc5tPu1Jq0vTSOiY/k24Wx82JRpWwZSqrala6sd5rWi6aNXvqcw==} dependencies: - '@types/node': 20.12.12 + '@types/node': 20.12.7 dev: true /@types/fs-extra@11.0.4: @@ -7955,7 +8485,7 @@ packages: requiresBuild: true dependencies: '@types/jsonfile': 6.1.4 - '@types/node': 20.12.12 + '@types/node': 20.12.7 dev: true optional: true @@ -7963,13 +8493,13 @@ packages: resolution: {integrity: sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==} dependencies: '@types/minimatch': 5.1.2 - '@types/node': 20.12.12 + '@types/node': 20.12.7 dev: true /@types/graceful-fs@4.1.9: resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} dependencies: - '@types/node': 20.12.12 + '@types/node': 20.12.7 dev: true /@types/istanbul-lib-coverage@2.0.6: @@ -8003,6 +8533,10 @@ packages: resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} dev: true + /@types/json-stable-stringify@1.0.36: + resolution: {integrity: sha512-b7bq23s4fgBB76n34m2b3RBf6M369B0Z9uRR8aHTMd8kZISRkmDEpPD8hhpYvDFzr3bJCPES96cm3Q6qRNDbQw==} + dev: true + /@types/json5@0.0.29: resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} dev: true @@ -8011,7 +8545,7 @@ packages: resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==} requiresBuild: true dependencies: - '@types/node': 20.12.12 + '@types/node': 20.12.7 dev: true optional: true @@ -8030,13 +8564,13 @@ packages: /@types/mute-stream@0.0.4: resolution: {integrity: sha512-CPM9nzrCPPJHQNA9keH9CVkVI+WR5kMa+7XEs5jcGQ0VoAGnLv242w8lIVgwAEfmE4oufJRaTc9PNLQl0ioAow==} dependencies: - '@types/node': 20.12.12 + '@types/node': 20.12.7 dev: false /@types/node-fetch@2.6.11: resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==} dependencies: - '@types/node': 20.12.12 + '@types/node': 20.12.7 form-data: 4.0.0 dev: false @@ -8048,8 +8582,8 @@ packages: resolution: {integrity: sha512-N+0kuo9KgrUQ1Sn/ifDXsvg0TTleP7rIy4zOBGECxAljqvqfqpTfzx0Q1NUedOixRMBfe2Whhb056a42cWs26Q==} dev: true - /@types/node@20.12.12: - resolution: {integrity: sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==} + /@types/node@20.12.7: + resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==} dependencies: undici-types: 5.26.5 @@ -8064,13 +8598,13 @@ packages: /@types/pbkdf2@3.1.2: resolution: {integrity: sha512-uRwJqmiXmh9++aSu1VNEn3iIxWOhd8AHXNSdlaLfdAAdSTY9jYVeGWnzejM3dvrkbqE3/hyQkQQ29IFATEGlew==} dependencies: - '@types/node': 20.12.12 + '@types/node': 20.12.7 dev: true /@types/pg@8.11.6: resolution: {integrity: sha512-/2WmmBXHLsfRqzfHW7BNZ8SbYzE8OSk7i3WjFYvfgRHj7S1xj+16Je5fUKv3lVdVzk/zn9TXOqf+avFCFIE0yQ==} dependencies: - '@types/node': 20.12.12 + '@types/node': 20.12.7 pg-protocol: 1.6.1 pg-types: 4.0.2 dev: true @@ -8082,7 +8616,7 @@ packages: /@types/secp256k1@4.0.6: resolution: {integrity: sha512-hHxJU6PAEUn0TP4S/ZOzuTUvJWuZ6eIKeNKb5RBpODvSl6hp1Wrw4s7ATY50rklRCScUDpHzVA/DQdSjJ3UoYQ==} dependencies: - '@types/node': 20.12.12 + '@types/node': 20.12.7 dev: true /@types/semver@7.5.8: @@ -8100,7 +8634,7 @@ packages: /@types/ws@8.5.10: resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} dependencies: - '@types/node': 20.12.12 + '@types/node': 20.12.7 dev: true /@types/yargs-parser@21.0.3: @@ -8135,7 +8669,7 @@ packages: graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 - semver: 7.6.2 + semver: 7.6.0 ts-api-utils: 1.3.0(typescript@5.4.5) typescript: 5.4.5 transitivePeerDependencies: @@ -8223,7 +8757,7 @@ packages: debug: 4.3.4(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 - semver: 7.6.2 + semver: 7.6.0 tsutils: 3.21.0(typescript@5.4.5) typescript: 5.4.5 transitivePeerDependencies: @@ -8245,7 +8779,7 @@ packages: globby: 11.1.0 is-glob: 4.0.3 minimatch: 9.0.3 - semver: 7.6.2 + semver: 7.6.0 ts-api-utils: 1.3.0(typescript@5.4.5) typescript: 5.4.5 transitivePeerDependencies: @@ -8266,7 +8800,7 @@ packages: '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.4.5) eslint: 8.57.0 eslint-scope: 5.1.1 - semver: 7.6.2 + semver: 7.6.0 transitivePeerDependencies: - supports-color - typescript @@ -8285,7 +8819,7 @@ packages: '@typescript-eslint/types': 6.21.0 '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.4.5) eslint: 8.57.0 - semver: 7.6.2 + semver: 7.6.0 transitivePeerDependencies: - supports-color - typescript @@ -8329,9 +8863,9 @@ packages: typescript: optional: true dependencies: - '@babel/core': 7.24.5 - '@babel/eslint-parser': 7.24.5(@babel/core@7.24.5)(eslint@8.57.0) - '@rushstack/eslint-patch': 1.10.3 + '@babel/core': 7.24.4 + '@babel/eslint-parser': 7.24.1(@babel/core@7.24.4)(eslint@8.57.0) + '@rushstack/eslint-patch': 1.10.2 '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.4.5) '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.4.5) eslint: 8.57.0 @@ -8344,7 +8878,7 @@ packages: eslint-plugin-jsx-a11y: 6.8.0(eslint@8.57.0) eslint-plugin-playwright: 0.16.0(eslint-plugin-jest@27.9.0)(eslint@8.57.0) eslint-plugin-react: 7.34.1(eslint@8.57.0) - eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) + eslint-plugin-react-hooks: 4.6.0(eslint@8.57.0) eslint-plugin-testing-library: 6.2.2(eslint@8.57.0)(typescript@5.4.5) eslint-plugin-tsdoc: 0.2.17 eslint-plugin-unicorn: 48.0.1(eslint@8.57.0) @@ -8385,7 +8919,7 @@ packages: resolution: {integrity: sha512-TDYP3CpCrxwxpiNY0UMNf096H5Ihf67BK1iKGegQl5u9SlpEDYrvnV71gWBGJm+Xm31qOy8ATgma9rm8Pe7/5Q==} engines: {node: '>=16.0.0'} dependencies: - '@whatwg-node/node-fetch': 0.5.11 + '@whatwg-node/node-fetch': 0.5.10 urlpattern-polyfill: 10.0.0 dev: true @@ -8399,8 +8933,8 @@ packages: tslib: 2.6.2 dev: true - /@whatwg-node/node-fetch@0.5.11: - resolution: {integrity: sha512-LS8tSomZa3YHnntpWt3PP43iFEEl6YeIsvDakczHBKlay5LdkXFr8w7v8H6akpG5nRrzydyB0k1iE2eoL6aKIQ==} + /@whatwg-node/node-fetch@0.5.10: + resolution: {integrity: sha512-KIAHepie/T1PRkUfze4t+bPlyvpxlWiXTPtcGlbIZ0vWkBJMdRmCg4ZrJ2y4XaO1eTPo1HlWYUuj1WvoIpumqg==} engines: {node: '>=16.0.0'} dependencies: '@kamilkisiela/fast-url-parser': 1.1.4 @@ -8421,7 +8955,7 @@ packages: resolution: {integrity: sha512-LEyx4aLEC3x6T0UguF6YILf+ntvmOaWsVfENmIW0E9H09vKlLDGelMjjSm0jkDHALj8A8quZ/HapKNigzwge+Q==} dev: true - /abitype@0.9.10(typescript@5.0.4)(zod@3.23.8): + /abitype@0.9.10(typescript@5.0.4)(zod@3.22.4): resolution: {integrity: sha512-FIS7U4n7qwAT58KibwYig5iFG4K61rbhAqaQh/UWj8v1Y8mjX3F8TC9gd8cz9yT1TYel9f8nS5NO5kZp2RW0jQ==} peerDependencies: typescript: '>=5.0.4' @@ -8433,10 +8967,10 @@ packages: optional: true dependencies: typescript: 5.0.4 - zod: 3.23.8 + zod: 3.22.4 dev: true - /abitype@0.9.8(typescript@5.0.4)(zod@3.23.8): + /abitype@0.9.8(typescript@5.0.4)(zod@3.22.4): resolution: {integrity: sha512-puLifILdm+8sjyss4S+fsUN09obiT1g2YW6CtcQF+QDzxR0euzgEB29MZujC6zMk2a6SVmtttq1fc6+YFA7WYQ==} peerDependencies: typescript: '>=5.0.4' @@ -8448,10 +8982,10 @@ packages: optional: true dependencies: typescript: 5.0.4 - zod: 3.23.8 + zod: 3.22.4 dev: true - /abitype@0.9.8(typescript@5.4.5)(zod@3.23.8): + /abitype@0.9.8(typescript@5.4.5)(zod@3.22.4): resolution: {integrity: sha512-puLifILdm+8sjyss4S+fsUN09obiT1g2YW6CtcQF+QDzxR0euzgEB29MZujC6zMk2a6SVmtttq1fc6+YFA7WYQ==} peerDependencies: typescript: '>=5.0.4' @@ -8463,10 +8997,10 @@ packages: optional: true dependencies: typescript: 5.4.5 - zod: 3.23.8 + zod: 3.22.4 dev: false - /abitype@1.0.0(typescript@5.4.5)(zod@3.23.8): + /abitype@1.0.0(typescript@5.4.5)(zod@3.22.4): resolution: {integrity: sha512-NMeMah//6bJ56H5XRj8QCV4AwuW6hB6zqz2LnhhLdcWVQOsXki6/Pn3APeqxCma62nXIcmZWdu1DlHWS74umVQ==} peerDependencies: typescript: '>=5.0.4' @@ -8478,10 +9012,10 @@ packages: optional: true dependencies: typescript: 5.4.5 - zod: 3.23.8 + zod: 3.22.4 dev: false - /abitype@1.0.2(typescript@5.4.5)(zod@3.23.8): + /abitype@1.0.2(typescript@5.4.5)(zod@3.22.4): resolution: {integrity: sha512-aFt4k2H+eiAKy/zxtnORa9iIb10BMBeWL18l8v4+QuwYEBXPxxjSB1bFZCzQmKPoj8m7j68K705l3uY+E2gAjg==} peerDependencies: typescript: '>=5.0.4' @@ -8493,7 +9027,7 @@ packages: optional: true dependencies: typescript: 5.4.5 - zod: 3.23.8 + zod: 3.22.4 dev: false /accepts@1.3.8: @@ -8566,7 +9100,7 @@ packages: indent-string: 4.0.0 dev: true - /ajv-formats@2.1.1(ajv@8.13.0): + /ajv-formats@2.1.1(ajv@8.12.0): resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} peerDependencies: ajv: ^8.0.0 @@ -8574,7 +9108,7 @@ packages: ajv: optional: true dependencies: - ajv: 8.13.0 + ajv: 8.12.0 dev: true /ajv@6.12.6: @@ -8586,8 +9120,8 @@ packages: uri-js: 4.4.1 dev: true - /ajv@8.13.0: - resolution: {integrity: sha512-PRA911Blj99jR5RMeTunVbNXMF6Lp4vZXnk5GQjcnUWUTsrXtekg/pnmFFI2u/I36Y/2bITGS30GZCXei6uNkA==} + /ajv@8.12.0: + resolution: {integrity: sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==} dependencies: fast-deep-equal: 3.1.3 json-schema-traverse: 1.0.0 @@ -8955,8 +9489,8 @@ packages: possible-typed-array-names: 1.0.0 dev: true - /aws-cdk-lib@2.142.1(constructs@10.3.0): - resolution: {integrity: sha512-xs4NRoml5/Zh30YHSk/Wwmr7VcZOZHyIInuBye3gC/BYwCh1lsUe9/ChWIeLUCRhUrELd5npyoBOJiHb3ql7Rg==} + /aws-cdk-lib@2.132.1(constructs@10.3.0): + resolution: {integrity: sha512-VheC7WcvmxiteNaZPucS9J9haGQZwbUtwNiNqsbTaEiru6ETUhf/yIOIamLto1kOKEPxCw2bfLkgYrWoCzwOpw==} engines: {node: '>= 14.15.0'} peerDependencies: constructs: ^10.0.0 @@ -8985,7 +9519,7 @@ packages: dependencies: '@aws-sdk/util-utf8-browser': 3.259.0 '@httptoolkit/websocket-stream': 6.0.1 - axios: 1.7.2 + axios: 1.6.8 buffer: 6.0.3 crypto-js: 4.2.0 mqtt: 4.3.8 @@ -9011,8 +9545,8 @@ packages: - utf-8-validate dev: true - /aws-sdk@2.1627.0: - resolution: {integrity: sha512-jcgGkGc4zZ8VZymw8RzD9BrnxHjmV7Lb1fc7Kw9Hku67PKSSoEp/sMGagjOBjBU7saRcACRPBFR7dgUyIDHGNw==} + /aws-sdk@2.1599.0: + resolution: {integrity: sha512-jPb1LAN+s1TLTK+VR3TTJLr//sb3AhhT60Bm9jxB5G/fVeeRczXtBtixNpQ00gksQdkstILYLc9S6MuKMsksxA==} engines: {node: '>= 10.0.0'} requiresBuild: true dependencies: @@ -9032,12 +9566,12 @@ packages: resolution: {integrity: sha512-+UnYmVEni9NNJvE6aFY1dbvMtFquXSYAj+HYfm+90icoGKYvvLD71R7PHyFFnYct5of4NFpEXJtUJrWMv8e4mQ==} engines: {node: '>= 14.x'} dependencies: - '@aws-sdk/types': 3.577.0 + '@aws-sdk/types': 3.535.0 '@smithy/service-error-classification': 2.1.5 '@types/cls-hooked': 4.3.8 atomic-batcher: 1.0.2 cls-hooked: 4.2.2 - semver: 7.6.2 + semver: 7.6.0 dev: false /axe-core@4.7.0: @@ -9045,8 +9579,8 @@ packages: engines: {node: '>=4'} dev: true - /axios@1.7.2: - resolution: {integrity: sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw==} + /axios@1.6.8: + resolution: {integrity: sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==} dependencies: follow-redirects: 1.15.6(debug@4.3.4) form-data: 4.0.0 @@ -9061,17 +9595,17 @@ packages: dequal: 2.0.3 dev: true - /babel-jest@29.7.0(@babel/core@7.24.5): + /babel-jest@29.7.0(@babel/core@7.24.4): resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.8.0 dependencies: - '@babel/core': 7.24.5 + '@babel/core': 7.24.4 '@jest/transform': 29.7.0 '@types/babel__core': 7.20.5 babel-plugin-istanbul: 6.1.1 - babel-preset-jest: 29.6.3(@babel/core@7.24.5) + babel-preset-jest: 29.6.3(@babel/core@7.24.4) chalk: 4.1.2 graceful-fs: 4.2.11 slash: 3.0.0 @@ -9083,7 +9617,7 @@ packages: resolution: {integrity: sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==} engines: {node: '>=8'} dependencies: - '@babel/helper-plugin-utils': 7.24.5 + '@babel/helper-plugin-utils': 7.24.0 '@istanbuljs/load-nyc-config': 1.1.0 '@istanbuljs/schema': 0.1.3 istanbul-lib-instrument: 5.2.1 @@ -9097,79 +9631,79 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/template': 7.24.0 - '@babel/types': 7.24.5 + '@babel/types': 7.24.0 '@types/babel__core': 7.20.5 - '@types/babel__traverse': 7.20.6 + '@types/babel__traverse': 7.20.5 dev: true /babel-plugin-syntax-trailing-function-commas@7.0.0-beta.0: resolution: {integrity: sha512-Xj9XuRuz3nTSbaTXWv3itLOcxyF4oPD8douBBmj7U9BBC6nEBYfyOJYQMf/8PJAFotC62UY5dFfIGEPr7WswzQ==} dev: true - /babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.5): + /babel-preset-current-node-syntax@1.0.1(@babel/core@7.24.4): resolution: {integrity: sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.5 - '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.5) - '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.24.5) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.5) - '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.5) - '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.5) - '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.5) - '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.5) - '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.5) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.5) - '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.5) - '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.5) - '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.5) - dev: true - - /babel-preset-fbjs@3.4.0(@babel/core@7.24.5): + '@babel/core': 7.24.4 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.24.4) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.4) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.24.4) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.24.4) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.24.4) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.24.4) + dev: true + + /babel-preset-fbjs@3.4.0(@babel/core@7.24.4): resolution: {integrity: sha512-9ywCsCvo1ojrw0b+XYk7aFvTH6D9064t0RIL1rtMf3nsa02Xw41MS7sZw216Im35xj/UY0PDBQsa1brUDDF1Ow==} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.5 - '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.24.5) - '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.24.5) - '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.5) - '@babel/plugin-syntax-flow': 7.24.1(@babel/core@7.24.5) - '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.5) - '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.5) - '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.24.5) - '@babel/plugin-transform-block-scoped-functions': 7.24.1(@babel/core@7.24.5) - '@babel/plugin-transform-block-scoping': 7.24.5(@babel/core@7.24.5) - '@babel/plugin-transform-classes': 7.24.5(@babel/core@7.24.5) - '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.24.5) - '@babel/plugin-transform-destructuring': 7.24.5(@babel/core@7.24.5) - '@babel/plugin-transform-flow-strip-types': 7.24.1(@babel/core@7.24.5) - '@babel/plugin-transform-for-of': 7.24.1(@babel/core@7.24.5) - '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.24.5) - '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.24.5) - '@babel/plugin-transform-member-expression-literals': 7.24.1(@babel/core@7.24.5) - '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.5) - '@babel/plugin-transform-object-super': 7.24.1(@babel/core@7.24.5) - '@babel/plugin-transform-parameters': 7.24.5(@babel/core@7.24.5) - '@babel/plugin-transform-property-literals': 7.24.1(@babel/core@7.24.5) - '@babel/plugin-transform-react-display-name': 7.24.1(@babel/core@7.24.5) - '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.5) - '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.24.5) - '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.24.5) - '@babel/plugin-transform-template-literals': 7.24.1(@babel/core@7.24.5) + '@babel/core': 7.24.4 + '@babel/plugin-proposal-class-properties': 7.18.6(@babel/core@7.24.4) + '@babel/plugin-proposal-object-rest-spread': 7.20.7(@babel/core@7.24.4) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.24.4) + '@babel/plugin-syntax-flow': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.24.4) + '@babel/plugin-transform-arrow-functions': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-block-scoped-functions': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-block-scoping': 7.24.4(@babel/core@7.24.4) + '@babel/plugin-transform-classes': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-computed-properties': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-destructuring': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-flow-strip-types': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-for-of': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-function-name': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-literals': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-member-expression-literals': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-modules-commonjs': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-object-super': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-parameters': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-property-literals': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-react-display-name': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-react-jsx': 7.23.4(@babel/core@7.24.4) + '@babel/plugin-transform-shorthand-properties': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-spread': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-transform-template-literals': 7.24.1(@babel/core@7.24.4) babel-plugin-syntax-trailing-function-commas: 7.0.0-beta.0 dev: true - /babel-preset-jest@29.6.3(@babel/core@7.24.5): + /babel-preset-jest@29.6.3(@babel/core@7.24.4): resolution: {integrity: sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: '@babel/core': ^7.0.0 dependencies: - '@babel/core': 7.24.5 + '@babel/core': 7.24.4 babel-plugin-jest-hoist: 29.6.3 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.5) + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.4) dev: true /balanced-match@1.0.2: @@ -9283,11 +9817,11 @@ packages: balanced-match: 1.0.2 dev: true - /braces@3.0.3: - resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + /braces@3.0.2: + resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} engines: {node: '>=8'} dependencies: - fill-range: 7.1.1 + fill-range: 7.0.1 dev: true /brorand@1.1.0: @@ -9313,10 +9847,10 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001621 - electron-to-chromium: 1.4.782 + caniuse-lite: 1.0.30001610 + electron-to-chromium: 1.4.737 node-releases: 2.0.14 - update-browserslist-db: 1.0.16(browserslist@4.23.0) + update-browserslist-db: 1.0.13(browserslist@4.23.0) dev: true /bs-logger@0.2.6: @@ -9362,7 +9896,7 @@ packages: resolution: {integrity: sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==} dependencies: base64-js: 1.5.1 - ieee754: 1.1.13 + ieee754: 1.2.1 isarray: 1.0.0 dev: true @@ -9435,8 +9969,8 @@ packages: engines: {node: '>=10'} dev: true - /caniuse-lite@1.0.30001621: - resolution: {integrity: sha512-+NLXZiviFFKX0fk8Piwv3PfLPGtRqJeq2TiNoUff/qB5KJgwecJTvCXDpmlyP/eCI/GUEmp/h/y5j0yckiiZrA==} + /caniuse-lite@1.0.30001610: + resolution: {integrity: sha512-QFutAY4NgaelojVMjY63o6XlZyORPaLfyMnsl3HgnWdJUcX6K0oaJymHjH8PT5Gk7sTm8rvC/c5COUQKXqmOMA==} dev: true /capital-case@1.0.4: @@ -9458,24 +9992,24 @@ packages: nofilter: 3.1.0 dev: true - /cdk-assets@2.142.1: - resolution: {integrity: sha512-zNQMXRWl9gp8KJHZyPk0agh9p180Ec/rW9ZrDk7rITnR5qMgFcaNO6on8BiQVGMALpv1A6UTp45FIiWkqGYf6A==} + /cdk-assets@2.132.1: + resolution: {integrity: sha512-npaa5DTO9GMdnErCk5mguR6XpaLZv1R36T3kJPgSuJDcD2T5gk7BzuMyJWQM0QHMLNw3fMOOjG1D7Wi39LJ3cQ==} engines: {node: '>= 14.15.0'} hasBin: true dependencies: - '@aws-cdk/cloud-assembly-schema': 2.142.1 - '@aws-cdk/cx-api': 2.142.1(@aws-cdk/cloud-assembly-schema@2.142.1) + '@aws-cdk/cloud-assembly-schema': 2.132.1 + '@aws-cdk/cx-api': 2.132.1(@aws-cdk/cloud-assembly-schema@2.132.1) archiver: 5.3.2 - aws-sdk: 2.1627.0 + aws-sdk: 2.1599.0 glob: 7.2.3 mime: 2.6.0 yargs: 16.2.0 dev: true - /chai-as-promised@7.1.2(chai@4.4.1): - resolution: {integrity: sha512-aBDHZxRzYnUYuIAIPBH2s511DjlKPzXNlXSGFC8CwmroWQLfrW0LtE1nK3MAwwNhJPa9raEjNCmRoFpG0Hurdw==} + /chai-as-promised@7.1.1(chai@4.4.1): + resolution: {integrity: sha512-azL6xMoi+uxu6z4rhWQ1jbdUhOMhis2PvscD/xjLqNMkv3BPPp2JyyuTHOrf9BOosGpNQ11v6BKv/g57RXbiaA==} peerDependencies: - chai: '>= 2.1.2 < 6' + chai: '>= 2.1.2 < 5' dependencies: chai: 4.4.1 check-error: 1.0.3 @@ -9570,7 +10104,7 @@ packages: engines: {node: '>= 8.10.0'} dependencies: anymatch: 3.1.3 - braces: 3.0.3 + braces: 3.0.2 glob-parent: 5.1.2 is-binary-path: 2.1.0 is-glob: 4.0.3 @@ -9585,7 +10119,7 @@ packages: engines: {node: '>= 8.10.0'} dependencies: anymatch: 3.1.3 - braces: 3.0.3 + braces: 3.0.2 glob-parent: 5.1.2 is-binary-path: 2.1.0 is-glob: 4.0.3 @@ -9611,8 +10145,8 @@ packages: safe-buffer: 5.2.1 dev: true - /cjs-module-lexer@1.3.1: - resolution: {integrity: sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==} + /cjs-module-lexer@1.2.3: + resolution: {integrity: sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==} dev: true /clean-regexp@1.0.0: @@ -9812,7 +10346,7 @@ packages: resolution: {integrity: sha512-rraC8NXWOEjhADbZe9QBNzLAN5Q3fsTPQtBV+fEVj6xKIgDgNiEVE6ZNfHpZOqfQ21YUzfVNUXLOEZquYvQPPg==} dependencies: leven: 2.1.0 - minimist: 1.2.6 + minimist: 1.2.8 dev: true /common-tags@1.8.2: @@ -9866,8 +10400,8 @@ packages: resolution: {integrity: sha512-8fLl9F04EJqjSqH+QjITQfJF8BrOVaYr1jewVgSRAEWePfxT0sku4w2hrGQ60BC/TNLGQ2pgxNlTbWQmMPFvXg==} engines: {node: '>=12'} dependencies: - ajv: 8.13.0 - ajv-formats: 2.1.1(ajv@8.13.0) + ajv: 8.12.0 + ajv-formats: 2.1.1(ajv@8.12.0) atomically: 1.7.0 debounce-fn: 4.0.0 dot-prop: 6.0.1 @@ -9875,7 +10409,7 @@ packages: json-schema-typed: 7.0.3 onetime: 5.1.2 pkg-up: 3.1.0 - semver: 7.6.2 + semver: 7.6.0 dev: true /constant-case@3.0.4: @@ -9988,7 +10522,7 @@ packages: sha.js: 2.4.11 dev: true - /create-jest@29.7.0(@types/node@20.12.12): + /create-jest@29.7.0(@types/node@20.12.7): resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -9997,7 +10531,7 @@ packages: chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@20.12.12) + jest-config: 29.7.0(@types/node@20.12.7) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -10465,8 +10999,8 @@ packages: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==} dev: true - /electron-to-chromium@1.4.782: - resolution: {integrity: sha512-JUfU61e8tr+i5Y1FKXcKs+Xe+rJ+CEqm4cgv1kMihPE2EvYHmYyVr3Im/+1+Z5B29Be2EEGCZCwAc6Tazdl1Yg==} + /electron-to-chromium@1.4.737: + resolution: {integrity: sha512-QvLTxaLHKdy5YxvixAw/FfHq2eWLUL9KvsPjp0aHK1gI5d3EDuDgITkvj0nFO2c6zUY3ZqVAJQiBYyQP9tQpfw==} dev: true /elliptic@6.5.4: @@ -10521,8 +11055,8 @@ packages: once: 1.4.0 dev: true - /enhanced-resolve@5.16.1: - resolution: {integrity: sha512-4U5pNsuDl0EhuZpq46M5xPslstkviJuhrdobaRDBk2Jy2KO37FDAJl4lb2KlNabxT0m4MTK2UHNrsAcphE8nyw==} + /enhanced-resolve@5.16.0: + resolution: {integrity: sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==} engines: {node: '>=10.13.0'} dependencies: graceful-fs: 4.2.11 @@ -10567,7 +11101,7 @@ packages: function.prototype.name: 1.1.6 get-intrinsic: 1.2.4 get-symbol-description: 1.0.2 - globalthis: 1.0.4 + globalthis: 1.0.3 gopd: 1.0.1 has-property-descriptors: 1.0.2 has-proto: 1.0.3 @@ -10612,8 +11146,8 @@ packages: engines: {node: '>= 0.4'} dev: true - /es-iterator-helpers@1.0.19: - resolution: {integrity: sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==} + /es-iterator-helpers@1.0.18: + resolution: {integrity: sha512-scxAJaewsahbqTYrGKJihhViaM6DDZDDoucfvzNbK0pOren1g/daDQ3IAhzn+1G14rBG7w+i5N+qul60++zlKA==} engines: {node: '>= 0.4'} dependencies: call-bind: 1.0.7 @@ -10623,7 +11157,7 @@ packages: es-set-tostringtag: 2.0.3 function-bind: 1.1.2 get-intrinsic: 1.2.4 - globalthis: 1.0.4 + globalthis: 1.0.3 has-property-descriptors: 1.0.2 has-proto: 1.0.3 has-symbols: 1.0.3 @@ -10693,6 +11227,37 @@ packages: '@esbuild/win32-x64': 0.18.13 dev: true + /esbuild@0.19.12: + resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/aix-ppc64': 0.19.12 + '@esbuild/android-arm': 0.19.12 + '@esbuild/android-arm64': 0.19.12 + '@esbuild/android-x64': 0.19.12 + '@esbuild/darwin-arm64': 0.19.12 + '@esbuild/darwin-x64': 0.19.12 + '@esbuild/freebsd-arm64': 0.19.12 + '@esbuild/freebsd-x64': 0.19.12 + '@esbuild/linux-arm': 0.19.12 + '@esbuild/linux-arm64': 0.19.12 + '@esbuild/linux-ia32': 0.19.12 + '@esbuild/linux-loong64': 0.19.12 + '@esbuild/linux-mips64el': 0.19.12 + '@esbuild/linux-ppc64': 0.19.12 + '@esbuild/linux-riscv64': 0.19.12 + '@esbuild/linux-s390x': 0.19.12 + '@esbuild/linux-x64': 0.19.12 + '@esbuild/netbsd-x64': 0.19.12 + '@esbuild/openbsd-x64': 0.19.12 + '@esbuild/sunos-x64': 0.19.12 + '@esbuild/win32-arm64': 0.19.12 + '@esbuild/win32-ia32': 0.19.12 + '@esbuild/win32-x64': 0.19.12 + dev: true + /esbuild@0.20.2: resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} engines: {node: '>=12'} @@ -10786,13 +11351,13 @@ packages: eslint: 8.57.0 dev: true - /eslint-config-turbo@1.13.3(eslint@8.57.0): - resolution: {integrity: sha512-if/QtwEiWZ5b7Bg8yZBPSvS0TeCG2Zvfa/+XBYANS7uSYucjmW+BBC8enJB0PqpB/YLGGOumeo3x7h1Nuba9iw==} + /eslint-config-turbo@1.13.2(eslint@8.57.0): + resolution: {integrity: sha512-TzvsMwNJx/P4JYw79iFqbyQApnyT050gW7dBxnNeNVl3pVMnT2rwaFo9Q3Hc49Tp5NANxEwYN9RStF50P/IwGA==} peerDependencies: eslint: '>6.6.0' dependencies: eslint: 8.57.0 - eslint-plugin-turbo: 1.13.3(eslint@8.57.0) + eslint-plugin-turbo: 1.13.2(eslint@8.57.0) dev: true /eslint-import-resolver-alias@1.1.2(eslint-plugin-import@2.29.1): @@ -10822,12 +11387,12 @@ packages: eslint-plugin-import: '*' dependencies: debug: 4.3.4(supports-color@8.1.1) - enhanced-resolve: 5.16.1 + enhanced-resolve: 5.16.0 eslint: 8.57.0 eslint-module-utils: 2.8.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) eslint-plugin-import: 2.29.1(@typescript-eslint/parser@6.21.0)(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) fast-glob: 3.3.2 - get-tsconfig: 4.7.5 + get-tsconfig: 4.7.3 is-core-module: 2.13.1 is-glob: 4.0.3 transitivePeerDependencies: @@ -10929,7 +11494,7 @@ packages: '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0)(eslint@8.57.0)(typescript@5.4.5) '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.4.5) eslint: 8.57.0 - jest: 29.7.0(@types/node@20.12.12) + jest: 29.7.0(@types/node@20.12.7) transitivePeerDependencies: - supports-color - typescript @@ -10941,7 +11506,7 @@ packages: peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 dependencies: - '@babel/runtime': 7.24.5 + '@babel/runtime': 7.24.4 aria-query: 5.3.0 array-includes: 3.1.8 array.prototype.flatmap: 1.3.2 @@ -10950,7 +11515,7 @@ packages: axobject-query: 3.2.1 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - es-iterator-helpers: 1.0.19 + es-iterator-helpers: 1.0.18 eslint: 8.57.0 hasown: 2.0.2 jsx-ast-utils: 3.3.5 @@ -10973,8 +11538,8 @@ packages: eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.57.0)(jest@29.7.0)(typescript@5.4.5) dev: true - /eslint-plugin-react-hooks@4.6.2(eslint@8.57.0): - resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==} + /eslint-plugin-react-hooks@4.6.0(eslint@8.57.0): + resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} engines: {node: '>=10'} peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 @@ -10994,7 +11559,7 @@ packages: array.prototype.toreversed: 1.1.2 array.prototype.tosorted: 1.1.3 doctrine: 2.1.0 - es-iterator-helpers: 1.0.19 + es-iterator-helpers: 1.0.18 eslint: 8.57.0 estraverse: 5.3.0 jsx-ast-utils: 3.3.5 @@ -11029,8 +11594,8 @@ packages: '@microsoft/tsdoc-config': 0.16.2 dev: true - /eslint-plugin-turbo@1.13.3(eslint@8.57.0): - resolution: {integrity: sha512-RjmlnqYsEqnJ+U3M3IS5jLJDjWv5NsvReCpsC61n5pJ4JMHTZ/lU0EIoL1ccuL1L5wP0APzdXdByBxERcPQ+Nw==} + /eslint-plugin-turbo@1.13.2(eslint@8.57.0): + resolution: {integrity: sha512-QNaihF0hTRjfOBd1SLHrftm8V3pOU35CNS/C0/Z6qY1xxdL1PSv4IctEIldSMX7/A1jOPYwMPO7wYwPXgjgp/g==} peerDependencies: eslint: '>6.6.0' dependencies: @@ -11044,7 +11609,7 @@ packages: peerDependencies: eslint: '>=8.44.0' dependencies: - '@babel/helper-validator-identifier': 7.24.5 + '@babel/helper-validator-identifier': 7.22.20 '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.0) ci-info: 3.9.0 clean-regexp: 1.0.0 @@ -11058,12 +11623,12 @@ packages: read-pkg-up: 7.0.1 regexp-tree: 0.1.27 regjsparser: 0.10.0 - semver: 7.6.2 + semver: 7.6.0 strip-indent: 3.0.0 dev: true - /eslint-plugin-unused-imports@3.2.0(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.57.0): - resolution: {integrity: sha512-6uXyn6xdINEpxE1MtDjxQsyXB37lfyO2yKGVVgtD7WEWQGORSOZjgrD6hBhvGv4/SO+TOlS+UnC6JppRqbuwGQ==} + /eslint-plugin-unused-imports@3.1.0(@typescript-eslint/eslint-plugin@6.21.0)(eslint@8.57.0): + resolution: {integrity: sha512-9l1YFCzXKkw1qtAru1RWUtG2EVDZY0a0eChKXcL+EZ5jitG7qxdctu4RnvhOJHv4xfmUf7h+JJPINlVpGhZMrw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: '@typescript-eslint/eslint-plugin': 6 - 7 @@ -11148,7 +11713,7 @@ packages: lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 - optionator: 0.9.4 + optionator: 0.9.3 strip-ansi: 6.0.1 text-table: 0.2.0 transitivePeerDependencies: @@ -11224,7 +11789,7 @@ packages: optional: true dependencies: '@solidity-parser/parser': 0.14.5 - axios: 1.7.2 + axios: 1.6.8 cli-table3: 0.5.1 colors: 1.4.0 ethereum-cryptography: 1.2.0 @@ -11391,8 +11956,8 @@ packages: - bufferutil - utf-8-validate - /ethers@6.12.1: - resolution: {integrity: sha512-j6wcVoZf06nqEcBbDWkKg8Fp895SS96dSnTCjiXT+8vt2o02raTn4Lo9ERUuIVU5bAjoPYeA+7ytQFexFmLuVw==} + /ethers@6.11.1: + resolution: {integrity: sha512-mxTAE6wqJQAbp5QAe/+o+rXOID7Nw91OZXvgpjDa1r4fAbq2Nu314oEZSbjoRLacuCzs7kUC3clEvkCQowffGg==} engines: {node: '>=14.0.0'} dependencies: '@adraffy/ens-normalize': 1.10.1 @@ -11543,7 +12108,7 @@ packages: '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.7 + micromatch: 4.0.5 dev: true /fast-json-stable-stringify@2.1.0: @@ -11642,7 +12207,7 @@ packages: dependencies: app-module-path: 2.2.0 commander: 10.0.1 - enhanced-resolve: 5.16.1 + enhanced-resolve: 5.16.0 is-relative-path: 1.0.2 module-definition: 5.0.1 module-lookup-amd: 8.0.5 @@ -11654,8 +12219,8 @@ packages: typescript: 5.4.5 dev: true - /fill-range@7.1.1: - resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + /fill-range@7.0.1: + resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} dependencies: to-regex-range: 5.0.1 @@ -11955,8 +12520,8 @@ packages: get-intrinsic: 1.2.4 dev: true - /get-tsconfig@4.7.5: - resolution: {integrity: sha512-ZCuZCnlqNzjb4QprAzXKdpp/gh6KTxSJuw3IBsPnV/7fV4NxC9ckB+vPTt8w7fJA0TaSD7c55BR47JD6MEDyDw==} + /get-tsconfig@4.7.3: + resolution: {integrity: sha512-ZvkrzoUA0PQZM6fy6+/Hce561s+faD1rsNwhnO5FelNjyy7EMGJ3Rz1AQ8GYDWjhRs/7dBLOEJvhK8MiEJOAFg==} dependencies: resolve-pkg-maps: 1.0.0 dev: true @@ -11998,16 +12563,16 @@ packages: is-glob: 4.0.3 dev: true - /glob@10.4.1: - resolution: {integrity: sha512-2jelhlq3E4ho74ZyVLN03oKdAZVUa6UDZzFLVH1H7dnoax+y9qyaq8zBkfDIggjniU19z0wU18y16jMB2eyVIw==} - engines: {node: '>=16 || 14 >=14.18'} + /glob@10.3.12: + resolution: {integrity: sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==} + engines: {node: '>=16 || 14 >=14.17'} hasBin: true dependencies: foreground-child: 3.1.1 - jackspeak: 3.1.2 + jackspeak: 2.3.6 minimatch: 9.0.4 - minipass: 7.1.2 - path-scurry: 1.11.1 + minipass: 7.0.4 + path-scurry: 1.10.2 dev: true /glob@5.0.15: @@ -12049,7 +12614,7 @@ packages: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 5.0.1 + minimatch: 5.1.6 once: 1.4.0 dev: true @@ -12081,12 +12646,11 @@ packages: type-fest: 0.20.2 dev: true - /globalthis@1.0.4: - resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} + /globalthis@1.0.3: + resolution: {integrity: sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA==} engines: {node: '>= 0.4'} dependencies: define-properties: 1.2.1 - gopd: 1.0.1 dev: true /globby@10.0.2: @@ -12148,7 +12712,7 @@ packages: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} dev: true - /graphql-config@5.0.3(@types/node@20.12.12)(graphql@16.8.1)(typescript@5.4.5): + /graphql-config@5.0.3(@types/node@20.12.7)(graphql@16.8.1)(typescript@5.4.5): resolution: {integrity: sha512-BNGZaoxIBkv9yy6Y7omvsaBUHOzfFcII3UN++tpH8MGOKFPFkCPZuwx09ggANMt8FgyWP1Od8SWPmrUEZca4NQ==} engines: {node: '>= 16.0.0'} peerDependencies: @@ -12161,9 +12725,9 @@ packages: '@graphql-tools/graphql-file-loader': 8.0.1(graphql@16.8.1) '@graphql-tools/json-file-loader': 8.0.1(graphql@16.8.1) '@graphql-tools/load': 8.0.2(graphql@16.8.1) - '@graphql-tools/merge': 9.0.4(graphql@16.8.1) - '@graphql-tools/url-loader': 8.0.2(@types/node@20.12.12)(graphql@16.8.1) - '@graphql-tools/utils': 10.2.0(graphql@16.8.1) + '@graphql-tools/merge': 9.0.3(graphql@16.8.1) + '@graphql-tools/url-loader': 8.0.2(@types/node@20.12.7)(graphql@16.8.1) + '@graphql-tools/utils': 10.1.3(graphql@16.8.1) cosmiconfig: 8.3.6(typescript@5.4.5) graphql: 16.8.1 jiti: 1.21.0 @@ -12245,7 +12809,7 @@ packages: uglify-js: 3.17.4 dev: true - /hardhat-abi-exporter@2.10.1(hardhat@2.22.4): + /hardhat-abi-exporter@2.10.1(hardhat@2.22.2): resolution: {integrity: sha512-X8GRxUTtebMAd2k4fcPyVnCdPa6dYK4lBsrwzKP5yiSq4i+WadWPIumaLfce53TUf/o2TnLpLOduyO1ylE2NHQ==} engines: {node: '>=14.14.0'} peerDependencies: @@ -12253,17 +12817,17 @@ packages: dependencies: '@ethersproject/abi': 5.7.0 delete-empty: 3.0.0 - hardhat: 2.22.4(ts-node@10.9.2)(typescript@5.0.4) + hardhat: 2.22.2(ts-node@10.9.2)(typescript@5.0.4) dev: true - /hardhat-gas-reporter@1.0.10(hardhat@2.22.4): + /hardhat-gas-reporter@1.0.10(hardhat@2.22.2): resolution: {integrity: sha512-02N4+So/fZrzJ88ci54GqwVA3Zrf0C9duuTyGt0CFRIh/CdNwbnTgkXkRfojOMLBQ+6t+lBIkgbsOtqMvNwikA==} peerDependencies: hardhat: ^2.0.2 dependencies: array-uniq: 1.0.3 eth-gas-reporter: 0.2.27 - hardhat: 2.22.4(ts-node@10.9.2)(typescript@5.0.4) + hardhat: 2.22.2(ts-node@10.9.2)(typescript@5.0.4) sha1: 1.1.1 transitivePeerDependencies: - '@codechecks/client' @@ -12272,8 +12836,8 @@ packages: - utf-8-validate dev: true - /hardhat@2.22.4(ts-node@10.9.2)(typescript@5.0.4): - resolution: {integrity: sha512-09qcXJFBHQUaraJkYNr7XlmwjOj27xBB0SL2rYS024hTj9tPMbp26AFjlf5quBMO9SR4AJFg+4qWahcYcvXBuQ==} + /hardhat@2.22.2(ts-node@10.9.2)(typescript@5.0.4): + resolution: {integrity: sha512-0xZ7MdCZ5sJem4MrvpQWLR3R3zGDoHw5lsR+pBFimqwagimIOn3bWuZv69KA+veXClwI1s/zpqgwPwiFrd4Dxw==} hasBin: true peerDependencies: ts-node: '*' @@ -12286,7 +12850,7 @@ packages: dependencies: '@ethersproject/abi': 5.7.0 '@metamask/eth-sig-util': 4.0.1 - '@nomicfoundation/edr': 0.3.8 + '@nomicfoundation/edr': 0.3.5 '@nomicfoundation/ethereumjs-common': 4.0.4 '@nomicfoundation/ethereumjs-tx': 5.0.4 '@nomicfoundation/ethereumjs-util': 9.0.4 @@ -12310,7 +12874,7 @@ packages: fp-ts: 1.19.3 fs-extra: 7.0.1 glob: 7.2.0 - immutable: 4.3.6 + immutable: 4.3.5 io-ts: 1.10.4 keccak: 3.0.4 lodash: 4.17.21 @@ -12323,7 +12887,7 @@ packages: solc: 0.7.3(debug@4.3.4) source-map-support: 0.5.21 stacktrace-parser: 0.1.10 - ts-node: 10.9.2(@types/node@20.12.12)(typescript@5.0.4) + ts-node: 10.9.2(@types/node@20.12.7)(typescript@5.0.4) tsort: 0.0.1 typescript: 5.0.4 undici: 5.28.4 @@ -12530,8 +13094,8 @@ packages: engines: {node: '>=0.8.0'} dev: true - /immutable@4.3.6: - resolution: {integrity: sha512-Ju0+lEMyzMVZarkTn/gqRpdqd5dOPaz1mCZ0SH3JV6iFw81PldE/PEB1hWVEA288HPt4WXW8O7AWxB10M+03QQ==} + /immutable@4.3.5: + resolution: {integrity: sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==} dev: true /import-fresh@3.3.0: @@ -12573,7 +13137,6 @@ packages: /inflight@1.0.6: resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} - deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. dependencies: once: 1.4.0 wrappy: 1.0.2 @@ -12586,7 +13149,7 @@ packages: resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} dev: true - /ink-spinner@5.0.0(ink@4.4.1)(react@18.3.1): + /ink-spinner@5.0.0(ink@4.4.1)(react@18.2.0): resolution: {integrity: sha512-EYEasbEjkqLGyPOUc8hBJZNuC5GvXGMLu0w5gdTNskPc7Izc5vO3tdQEYnzvshucyGCBXc86ig0ujXPMWaQCdA==} engines: {node: '>=14.16'} peerDependencies: @@ -12594,11 +13157,11 @@ packages: react: '>=18.0.0' dependencies: cli-spinners: 2.9.2 - ink: 4.4.1(react@18.3.1) - react: 18.3.1 + ink: 4.4.1(react@18.2.0) + react: 18.2.0 dev: true - /ink@4.4.1(react@18.3.1): + /ink@4.4.1(react@18.2.0): resolution: {integrity: sha512-rXckvqPBB0Krifk5rn/5LvQGmyXwCUpBfmTwbkQNBY9JY8RSl3b8OftBNEYxg4+SWUhEKcPifgope28uL9inlA==} engines: {node: '>=14.16'} peerDependencies: @@ -12625,9 +13188,9 @@ packages: is-upper-case: 2.0.2 lodash: 4.17.21 patch-console: 2.0.0 - react: 18.3.1 - react-reconciler: 0.29.2(react@18.3.1) - scheduler: 0.23.2 + react: 18.2.0 + react-reconciler: 0.29.0(react@18.2.0) + scheduler: 0.23.0 signal-exit: 3.0.7 slice-ansi: 6.0.0 stack-utils: 2.0.6 @@ -12635,7 +13198,7 @@ packages: type-fest: 0.12.0 widest-line: 4.0.1 wrap-ansi: 8.1.0 - ws: 8.17.0 + ws: 8.16.0 yoga-wasm-web: 0.3.3 transitivePeerDependencies: - bufferutil @@ -13035,20 +13598,20 @@ packages: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} dev: true - /isomorphic-ws@4.0.1(ws@8.17.0): + /isomorphic-ws@4.0.1(ws@8.16.0): resolution: {integrity: sha512-BhBvN2MBpWTaSHdWRb/bwdZJ1WaehQ2L1KngkCkfLUGF0mAWAT1sQUQacEmQ0jXkFw/czDXPNQSL5u2/Krsz1w==} peerDependencies: ws: '*' dependencies: - ws: 8.17.0 + ws: 8.16.0 dev: true - /isomorphic-ws@5.0.0(ws@8.17.0): + /isomorphic-ws@5.0.0(ws@8.16.0): resolution: {integrity: sha512-muId7Zzn9ywDsyXgTIafTry2sV3nySZeUDe6YedVd1Hvuuep5AsIlqK+XefWpYTyJG5e503F2xIuT2lcU6rCSw==} peerDependencies: ws: '*' dependencies: - ws: 8.17.0 + ws: 8.16.0 dev: true /isows@1.0.3(ws@8.13.0): @@ -13075,8 +13638,8 @@ packages: resolution: {integrity: sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==} engines: {node: '>=8'} dependencies: - '@babel/core': 7.24.5 - '@babel/parser': 7.24.5 + '@babel/core': 7.24.4 + '@babel/parser': 7.24.4 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 6.3.1 @@ -13088,11 +13651,11 @@ packages: resolution: {integrity: sha512-1WUsZ9R1lA0HtBSohTkm39WTPlNKSJ5iFk7UwqXkBLoHQT+hfqPsfsTDVuZdKGaBwn7din9bS7SsnoAr943hvw==} engines: {node: '>=10'} dependencies: - '@babel/core': 7.24.5 - '@babel/parser': 7.24.5 + '@babel/core': 7.24.4 + '@babel/parser': 7.24.4 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 - semver: 7.6.2 + semver: 7.6.0 transitivePeerDependencies: - supports-color dev: true @@ -13135,8 +13698,8 @@ packages: set-function-name: 2.0.2 dev: true - /jackspeak@3.1.2: - resolution: {integrity: sha512-kWmLKn2tRtfYMF/BakihVVRzBKOxz4gJMiL2Rj91WnAB5TPZumSH99R/Yf1qE1u4uRimvCSJfm6hnxohXeEXjQ==} + /jackspeak@2.3.6: + resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} engines: {node: '>=14'} dependencies: '@isaacs/cliui': 8.0.2 @@ -13165,7 +13728,7 @@ packages: '@jest/expect': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.12.12 + '@types/node': 20.12.7 chalk: 4.1.2 co: 4.6.0 dedent: 1.5.3 @@ -13186,7 +13749,7 @@ packages: - supports-color dev: true - /jest-cli@29.7.0(@types/node@20.12.12): + /jest-cli@29.7.0(@types/node@20.12.7): resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -13200,10 +13763,10 @@ packages: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@20.12.12) + create-jest: 29.7.0(@types/node@20.12.7) exit: 0.1.2 import-local: 3.1.0 - jest-config: 29.7.0(@types/node@20.12.12) + jest-config: 29.7.0(@types/node@20.12.7) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -13214,7 +13777,7 @@ packages: - ts-node dev: true - /jest-config@29.7.0(@types/node@20.12.12): + /jest-config@29.7.0(@types/node@20.12.7): resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -13226,11 +13789,11 @@ packages: ts-node: optional: true dependencies: - '@babel/core': 7.24.5 + '@babel/core': 7.24.4 '@jest/test-sequencer': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.12.12 - babel-jest: 29.7.0(@babel/core@7.24.5) + '@types/node': 20.12.7 + babel-jest: 29.7.0(@babel/core@7.24.4) chalk: 4.1.2 ci-info: 3.9.0 deepmerge: 4.3.1 @@ -13244,7 +13807,7 @@ packages: jest-runner: 29.7.0 jest-util: 29.7.0 jest-validate: 29.7.0 - micromatch: 4.0.7 + micromatch: 4.0.5 parse-json: 5.2.0 pretty-format: 29.7.0 slash: 3.0.0 @@ -13289,7 +13852,7 @@ packages: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.12.12 + '@types/node': 20.12.7 jest-mock: 29.7.0 jest-util: 29.7.0 dev: true @@ -13307,7 +13870,7 @@ packages: jest: optional: true dependencies: - jest: 29.7.0(@types/node@20.12.12) + jest: 29.7.0(@types/node@20.12.7) jest-diff: 29.7.0 jest-get-type: 29.6.3 dev: true @@ -13323,14 +13886,14 @@ packages: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 - '@types/node': 20.12.12 + '@types/node': 20.12.7 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 jest-regex-util: 29.6.3 jest-util: 29.7.0 jest-worker: 29.7.0 - micromatch: 4.0.7 + micromatch: 4.0.5 walker: 1.0.8 optionalDependencies: fsevents: 2.3.3 @@ -13363,7 +13926,7 @@ packages: '@types/stack-utils': 2.0.3 chalk: 4.1.2 graceful-fs: 4.2.11 - micromatch: 4.0.7 + micromatch: 4.0.5 pretty-format: 29.7.0 slash: 3.0.0 stack-utils: 2.0.6 @@ -13374,7 +13937,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.12.12 + '@types/node': 20.12.7 jest-util: 29.7.0 dev: true @@ -13429,7 +13992,7 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.12.12 + '@types/node': 20.12.7 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 @@ -13460,9 +14023,9 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.12.12 + '@types/node': 20.12.7 chalk: 4.1.2 - cjs-module-lexer: 1.3.1 + cjs-module-lexer: 1.2.3 collect-v8-coverage: 1.0.2 glob: 7.2.3 graceful-fs: 4.2.11 @@ -13483,15 +14046,15 @@ packages: resolution: {integrity: sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@babel/core': 7.24.5 - '@babel/generator': 7.24.5 - '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.5) - '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.5) - '@babel/types': 7.24.5 + '@babel/core': 7.24.4 + '@babel/generator': 7.24.4 + '@babel/plugin-syntax-jsx': 7.24.1(@babel/core@7.24.4) + '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.4) + '@babel/types': 7.24.0 '@jest/expect-utils': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.5) + babel-preset-current-node-syntax: 1.0.1(@babel/core@7.24.4) chalk: 4.1.2 expect: 29.7.0 graceful-fs: 4.2.11 @@ -13502,7 +14065,7 @@ packages: jest-util: 29.7.0 natural-compare: 1.4.0 pretty-format: 29.7.0 - semver: 7.6.2 + semver: 7.6.0 transitivePeerDependencies: - supports-color dev: true @@ -13512,7 +14075,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.12.12 + '@types/node': 20.12.7 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -13537,7 +14100,7 @@ packages: dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.12.12 + '@types/node': 20.12.7 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -13549,13 +14112,13 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 20.12.12 + '@types/node': 20.12.7 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 dev: true - /jest@29.7.0(@types/node@20.12.12): + /jest@29.7.0(@types/node@20.12.7): resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -13568,7 +14131,7 @@ packages: '@jest/core': 29.7.0 '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@20.12.12) + jest-cli: 29.7.0(@types/node@20.12.7) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -13594,8 +14157,8 @@ packages: resolution: {integrity: sha512-jc7BFxgKPKi94uOvEmzlSWFFe2+vASyXaKUpdQKatWAESU2MWjDfFf0fdfc83CDKcA5QecabZeNLyfhe3yKNkg==} dev: true - /jose@5.3.0: - resolution: {integrity: sha512-IChe9AtAE79ru084ow8jzkN2lNrG3Ntfiv65Cvj9uOCE2m5LNsdHG+9EbxWxAoWRF9TgDOqLN5jm08++owDVRg==} + /jose@5.2.4: + resolution: {integrity: sha512-6ScbIk2WWCeXkmzF6bRPmEuaqy1m8SbsRFMa/FLrSCkGIhj8OLVG/IH+XHVmNMx/KUo8cVWEE6oKR4dJ+S0Rkg==} dev: true /js-sdsl@4.3.0: @@ -13665,6 +14228,16 @@ packages: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} dev: true + /json-stable-stringify@1.1.1: + resolution: {integrity: sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg==} + engines: {node: '>= 0.4'} + dependencies: + call-bind: 1.0.7 + isarray: 2.0.5 + jsonify: 0.0.1 + object-keys: 1.1.1 + dev: true + /json-to-pretty-yaml@1.2.2: resolution: {integrity: sha512-rvm6hunfCcqegwYaG5T4yKJWxc9FXFgBVrcTZ4XfSVRwa5HA/Xs+vB/Eo9treYYHCeNM0nrSUr82V/M31Urc7A==} engines: {node: '>= 0.2.0'} @@ -13706,6 +14279,10 @@ packages: graceful-fs: 4.2.11 dev: true + /jsonify@0.0.1: + resolution: {integrity: sha512-2/Ki0GcmuqSrgFyelQq9M05y7PS0mEwuIzrf3f1fPqkVDVRvZrPZtVSMHxdgo8Aq0sxAOb/cr2aqqA3LeWHVPg==} + dev: true + /jsonschema@1.4.1: resolution: {integrity: sha512-S6cATIPVv1z0IlxdN+zUk5EPjkGCdnhN4wVSBlvoUO1tOLJootbo9CquNJmbIh4yikWHiUedhRYrNPn1arpEmQ==} dev: true @@ -13730,7 +14307,7 @@ packages: requiresBuild: true dependencies: node-addon-api: 2.0.2 - node-gyp-build: 4.8.1 + node-gyp-build: 4.8.0 readable-stream: 3.6.2 dev: true @@ -13775,7 +14352,7 @@ packages: chalk: 4.1.2 dotenv: 16.4.5 kysely: 0.25.0 - micromatch: 4.0.7 + micromatch: 4.0.5 minimist: 1.2.8 dev: true @@ -13815,18 +14392,18 @@ packages: dotenv-expand: 11.0.6 git-diff: 2.0.6 kysely: 0.27.3 - micromatch: 4.0.7 + micromatch: 4.0.5 minimist: 1.2.8 pg: 8.11.5 dev: true - /kysely-data-api@0.2.1(@aws-sdk/client-rds-data@3.583.0)(kysely@0.25.0): + /kysely-data-api@0.2.1(@aws-sdk/client-rds-data@3.569.0)(kysely@0.25.0): resolution: {integrity: sha512-KmASvF1gmjVqyU9WOUXhCQlv29ofR+xc2DhjaIomz1+Bjd/VtR2/3g4ZuXwG1L4lWGKxMuo5iOvK3XyPbB4LdQ==} peerDependencies: '@aws-sdk/client-rds-data': 3.x kysely: 0.x dependencies: - '@aws-sdk/client-rds-data': 3.583.0 + '@aws-sdk/client-rds-data': 3.569.0 kysely: 0.25.0 dev: true @@ -13849,15 +14426,15 @@ packages: resolution: {integrity: sha512-lG03Ru+XyOJFsjH3OMY6R/9U38IjDPfnOfDgO3ynhbDr+Dz8fak+X6L62vqu3iybQnj+lG84OttBuU9KY3L9kA==} engines: {node: '>=14.0.0'} - /language-subtag-registry@0.3.23: - resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==} + /language-subtag-registry@0.3.22: + resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} dev: true /language-tags@1.0.9: resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} engines: {node: '>=0.10'} dependencies: - language-subtag-registry: 0.3.23 + language-subtag-registry: 0.3.22 dev: true /lazystream@1.0.1: @@ -14045,8 +14622,8 @@ packages: tslib: 2.6.2 dev: true - /lru-cache@10.2.2: - resolution: {integrity: sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==} + /lru-cache@10.2.0: + resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} engines: {node: 14 || >=16.14} dev: true @@ -14061,7 +14638,6 @@ packages: engines: {node: '>=10'} dependencies: yallist: 4.0.0 - dev: true /lru-cache@7.18.3: resolution: {integrity: sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==} @@ -14104,7 +14680,7 @@ packages: resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} engines: {node: '>=10'} dependencies: - semver: 7.6.2 + semver: 7.6.0 dev: true /make-error@1.3.6: @@ -14131,7 +14707,7 @@ packages: engines: {node: '>= 14'} hasBin: true dependencies: - '@babel/runtime': 7.24.5 + '@babel/runtime': 7.24.4 complex.js: 2.1.1 decimal.js: 10.4.3 escape-latex: 1.2.0 @@ -14173,7 +14749,7 @@ packages: engines: {node: '>= 8'} dev: true - /meros@1.3.0(@types/node@20.12.12): + /meros@1.3.0(@types/node@20.12.7): resolution: {integrity: sha512-2BNGOimxEz5hmjUG2FwoxCt5HN7BXdaWyFqEwxPTrJzVdABtrL4TiHTcsWSFAxPQ/tOnEaQEJh3qWq71QRMY+w==} engines: {node: '>=13'} peerDependencies: @@ -14182,7 +14758,7 @@ packages: '@types/node': optional: true dependencies: - '@types/node': 20.12.12 + '@types/node': 20.12.7 dev: true /methods@1.1.2: @@ -14194,11 +14770,11 @@ packages: resolution: {integrity: sha512-/0LLxhzP0tfiR5hcQebtudP56gUurs2CLkGarnCiB/OqEyUFQ6U3paQi/tgLv0hBJYt2rnr9MNpxz4fiiugstg==} dev: true - /micromatch@4.0.7: - resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} + /micromatch@4.0.5: + resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} engines: {node: '>=8.6'} dependencies: - braces: 3.0.3 + braces: 3.0.2 picomatch: 2.3.1 dev: true @@ -14301,8 +14877,8 @@ packages: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} dev: true - /minipass@7.1.2: - resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} + /minipass@7.0.4: + resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} engines: {node: '>=16 || 14 >=14.17'} dev: true @@ -14393,7 +14969,7 @@ packages: duplexify: 4.1.3 help-me: 3.0.0 inherits: 2.0.4 - minimist: 1.2.6 + minimist: 1.2.8 mqtt-packet: 6.10.0 pump: 3.0.0 readable-stream: 3.6.2 @@ -14522,8 +15098,8 @@ packages: formdata-polyfill: 4.0.10 dev: false - /node-gyp-build@4.8.1: - resolution: {integrity: sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw==} + /node-gyp-build@4.8.0: + resolution: {integrity: sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==} hasBin: true dev: true @@ -14539,7 +15115,7 @@ packages: resolution: {integrity: sha512-jn9vOIK/nfqoFCcpK89/VCVaLg1IHE6UVfDOzvqmANaJ/rWCTEdH8RZ1V278nv2jr36BJdyQXIAavBLXpzdlag==} engines: {node: '>=14'} dependencies: - '@babel/parser': 7.24.5 + '@babel/parser': 7.24.4 dev: true /nofilter@3.1.0: @@ -14732,16 +15308,16 @@ packages: word-wrap: 1.2.5 dev: true - /optionator@0.9.4: - resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} + /optionator@0.9.3: + resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} engines: {node: '>= 0.8.0'} dependencies: + '@aashutoshrathi/word-wrap': 1.2.6 deep-is: 0.1.4 fast-levenshtein: 2.0.6 levn: 0.4.1 prelude-ls: 1.2.1 type-check: 0.4.0 - word-wrap: 1.2.5 dev: true /ora@5.4.1: @@ -14945,12 +15521,12 @@ packages: path-root-regex: 0.1.2 dev: true - /path-scurry@1.11.1: - resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} - engines: {node: '>=16 || 14 >=14.18'} + /path-scurry@1.10.2: + resolution: {integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==} + engines: {node: '>=16 || 14 >=14.17'} dependencies: - lru-cache: 10.2.2 - minipass: 7.1.2 + lru-cache: 10.2.0 + minipass: 7.0.4 dev: true /path-starts-with@2.0.1: @@ -15062,8 +15638,8 @@ packages: split2: 4.2.0 dev: true - /picocolors@1.0.1: - resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} + /picocolors@1.0.0: + resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} dev: true /picomatch@2.3.1: @@ -15129,7 +15705,7 @@ packages: engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 - picocolors: 1.0.1 + picocolors: 1.0.0 source-map-js: 1.2.0 dev: true @@ -15242,7 +15818,7 @@ packages: dependencies: '@jest/schemas': 29.6.3 ansi-styles: 5.2.0 - react-is: 18.3.1 + react-is: 18.2.0 dev: true /pretty-ms@7.0.1: @@ -15410,23 +15986,23 @@ packages: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} dev: true - /react-is@18.3.1: - resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + /react-is@18.2.0: + resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} dev: true - /react-reconciler@0.29.2(react@18.3.1): - resolution: {integrity: sha512-zZQqIiYgDCTP/f1N/mAR10nJGrPD2ZR+jDSEsKWJHYC7Cm2wodlwbR3upZRdC3cjIjSlTLNVyO7Iu0Yy7t2AYg==} + /react-reconciler@0.29.0(react@18.2.0): + resolution: {integrity: sha512-wa0fGj7Zht1EYMRhKWwoo1H9GApxYLBuhoAuXN0TlltESAjDssB+Apf0T/DngVqaMyPypDmabL37vw/2aRM98Q==} engines: {node: '>=0.10.0'} peerDependencies: - react: ^18.3.1 + react: ^18.2.0 dependencies: loose-envify: 1.4.0 - react: 18.3.1 - scheduler: 0.23.2 + react: 18.2.0 + scheduler: 0.23.0 dev: true - /react@18.3.1: - resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} + /react@18.2.0: + resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} engines: {node: '>=0.10.0'} dependencies: loose-envify: 1.4.0 @@ -15506,15 +16082,15 @@ packages: minimatch: 3.1.2 dev: true - /redis@4.6.14: - resolution: {integrity: sha512-GrNg/e33HtsQwNXL7kJT+iNFPSwE1IPmd7wzV3j4f2z0EYxZfZE7FVTmUysgAtqQQtg5NXF5SNLR9OdO/UHOfw==} + /redis@4.6.13: + resolution: {integrity: sha512-MHgkS4B+sPjCXpf+HfdetBwbRz6vCtsceTmw1pHNYJAsYxrfpOP6dz+piJWGos8wqG7qb3vj/Rrc5qOlmInUuA==} dependencies: - '@redis/bloom': 1.2.0(@redis/client@1.5.16) - '@redis/client': 1.5.16 - '@redis/graph': 1.1.1(@redis/client@1.5.16) - '@redis/json': 1.0.6(@redis/client@1.5.16) - '@redis/search': 1.1.6(@redis/client@1.5.16) - '@redis/time-series': 1.0.5(@redis/client@1.5.16) + '@redis/bloom': 1.2.0(@redis/client@1.5.14) + '@redis/client': 1.5.14 + '@redis/graph': 1.1.1(@redis/client@1.5.14) + '@redis/json': 1.0.6(@redis/client@1.5.14) + '@redis/search': 1.1.6(@redis/client@1.5.14) + '@redis/time-series': 1.0.5(@redis/client@1.5.14) dev: false /reflect.getprototypeof@1.0.6: @@ -15526,7 +16102,7 @@ packages: es-abstract: 1.23.3 es-errors: 1.3.0 get-intrinsic: 1.2.4 - globalthis: 1.0.4 + globalthis: 1.0.3 which-builtin-type: 1.1.3 dev: true @@ -15563,15 +16139,15 @@ packages: /relay-runtime@12.0.0: resolution: {integrity: sha512-QU6JKr1tMsry22DXNy9Whsq5rmvwr3LSZiiWV/9+DFpuTWvp+WFhobWMc8TC4OjKFfNhEZy7mOiqUAn5atQtug==} dependencies: - '@babel/runtime': 7.24.5 + '@babel/runtime': 7.24.4 fbjs: 3.0.5 invariant: 2.2.4 transitivePeerDependencies: - encoding dev: true - /remeda@1.61.0: - resolution: {integrity: sha512-caKfSz9rDeSKBQQnlJnVW3mbVdFgxgGWQKq1XlFokqjf+hQD5gxutLGTTY2A/x24UxVyJe9gH5fAkFI63ULw4A==} + /remeda@1.59.0: + resolution: {integrity: sha512-yqIz7z+eriLF6ll4TxhUM56b2wIrmHgJNbzRGYqfJ0Jx6QOioSvGJuT9jD6MqtKzGUizaxSlJZXTVYjVSC4Qig==} dev: true /remedial@1.0.8: @@ -15729,7 +16305,7 @@ packages: optional: true dependencies: typescript: 5.4.5 - viem: 1.21.4(typescript@5.4.5)(zod@3.23.8) + viem: 1.21.4(typescript@5.4.5)(zod@3.22.4) dev: false /rfdc@1.3.1: @@ -15843,8 +16419,8 @@ packages: wordwrap: 1.0.0 dev: true - /scheduler@0.23.2: - resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + /scheduler@0.23.0: + resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} dependencies: loose-envify: 1.4.0 dev: true @@ -15863,7 +16439,7 @@ packages: dependencies: elliptic: 6.5.5 node-addon-api: 2.0.2 - node-gyp-build: 4.8.1 + node-gyp-build: 4.8.0 dev: true /seedrandom@3.0.5: @@ -15879,10 +16455,12 @@ packages: hasBin: true dev: true - /semver@7.6.2: - resolution: {integrity: sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==} + /semver@7.6.0: + resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} engines: {node: '>=10'} hasBin: true + dependencies: + lru-cache: 6.0.0 /send@0.18.0: resolution: {integrity: sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==} @@ -16116,7 +16694,7 @@ packages: array.prototype.findlast: 1.2.5 dev: true - /solidity-coverage@0.8.12(hardhat@2.22.4): + /solidity-coverage@0.8.12(hardhat@2.22.2): resolution: {integrity: sha512-8cOB1PtjnjFRqOgwFiD8DaUsYJtVJ6+YdXQtSZDrLGf8cdhhh8xzTtGzVTGeBf15kTv0v7lYPJlV/az7zLEPJw==} hasBin: true peerDependencies: @@ -16131,7 +16709,7 @@ packages: ghost-testrpc: 0.0.2 global-modules: 2.0.0 globby: 10.0.2 - hardhat: 2.22.4(ts-node@10.9.2)(typescript@5.0.4) + hardhat: 2.22.2(ts-node@10.9.2)(typescript@5.0.4) jsonschema: 1.4.1 lodash: 4.17.21 mocha: 10.4.0 @@ -16139,18 +16717,18 @@ packages: pify: 4.0.1 recursive-readdir: 2.2.3 sc-istanbul: 0.4.6 - semver: 7.6.2 + semver: 7.6.0 shelljs: 0.8.5 web3-utils: 1.10.4 dev: true - /solidity-docgen@0.6.0-beta.36(hardhat@2.22.4): + /solidity-docgen@0.6.0-beta.36(hardhat@2.22.2): resolution: {integrity: sha512-f/I5G2iJgU1h0XrrjRD0hHMr7C10u276vYvm//rw1TzFcYQ4xTOyAoi9oNAHRU0JU4mY9eTuxdVc2zahdMuhaQ==} peerDependencies: hardhat: ^2.8.0 dependencies: handlebars: 4.7.8 - hardhat: 2.22.4(ts-node@10.9.2)(typescript@5.0.4) + hardhat: 2.22.2(ts-node@10.9.2)(typescript@5.0.4) solidity-ast: 0.4.56 dev: true @@ -16168,7 +16746,7 @@ packages: git-hooks-list: 3.1.0 globby: 13.2.2 is-plain-obj: 4.1.0 - semver: 7.6.2 + semver: 7.6.0 sort-object-keys: 1.1.3 dev: true @@ -16209,7 +16787,7 @@ packages: resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.18 + spdx-license-ids: 3.0.17 dev: true /spdx-exceptions@2.5.0: @@ -16220,11 +16798,11 @@ packages: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} dependencies: spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.18 + spdx-license-ids: 3.0.17 dev: true - /spdx-license-ids@3.0.18: - resolution: {integrity: sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==} + /spdx-license-ids@3.0.17: + resolution: {integrity: sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==} dev: true /split2@3.2.2: @@ -16248,8 +16826,8 @@ packages: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} dev: true - /sst-aws-cdk@2.142.1: - resolution: {integrity: sha512-zrw3VpTfS6fEgpTo0J0lpkZg3nvuVsVzV3zcPswRx7EKIgBFndrAMBE38Wmvk2FBHYDp6OygdzbK8Gul/DJW+g==} + /sst-aws-cdk@2.132.1: + resolution: {integrity: sha512-zep3sr+XkCmw9rHjgYQc44G+6s4eB/yxgLCCoi1h6R2AN8IarwZ4aHRwxAfigmJTPXYO6kmsxBIOcwjKy+oi3g==} engines: {node: '>= 14.15.0'} hasBin: true dependencies: @@ -16262,8 +16840,8 @@ packages: fsevents: 2.3.2 dev: true - /sst@2.42.0(@aws-sdk/client-sso-oidc@3.583.0): - resolution: {integrity: sha512-p3Wi8SS7pn0MQ+062uEiMZJX1iq2nSaJi76f+bQki2FLj9xu3l1F4x9IULv76pMFNPZKtNd8yr1/RT2RiwK95Q==} + /sst@2.41.5: + resolution: {integrity: sha512-IM1O1CnDcrjAAsl0ag9fXxQ7zyjYXyZDxBZwcdrAbjnijaSBMheC9v3b+WMXmRj1YBiVOjGAHIgzkTJVp/REvg==} hasBin: true peerDependencies: '@sls-next/lambda-at-edge': ^3.7.0 @@ -16271,39 +16849,39 @@ packages: '@sls-next/lambda-at-edge': optional: true dependencies: - '@aws-cdk/aws-lambda-python-alpha': 2.142.1-alpha.0(aws-cdk-lib@2.142.1)(constructs@10.3.0) - '@aws-cdk/cloud-assembly-schema': 2.142.1 - '@aws-cdk/cloudformation-diff': 2.142.1 - '@aws-cdk/cx-api': 2.142.1(@aws-cdk/cloud-assembly-schema@2.142.1) + '@aws-cdk/aws-lambda-python-alpha': 2.132.1-alpha.0(aws-cdk-lib@2.132.1)(constructs@10.3.0) + '@aws-cdk/cloud-assembly-schema': 2.132.1 + '@aws-cdk/cloudformation-diff': 2.132.1 + '@aws-cdk/cx-api': 2.132.1(@aws-cdk/cloud-assembly-schema@2.132.1) '@aws-crypto/sha256-js': 5.2.0 - '@aws-sdk/client-cloudformation': 3.583.0 - '@aws-sdk/client-ecs': 3.583.0 - '@aws-sdk/client-eventbridge': 3.583.0 - '@aws-sdk/client-iam': 3.583.0 - '@aws-sdk/client-iot': 3.583.0 - '@aws-sdk/client-iot-data-plane': 3.583.0 - '@aws-sdk/client-lambda': 3.583.0 - '@aws-sdk/client-rds-data': 3.583.0 - '@aws-sdk/client-s3': 3.583.0 - '@aws-sdk/client-ssm': 3.583.0 - '@aws-sdk/client-sts': 3.583.0 + '@aws-sdk/client-cloudformation': 3.555.0 + '@aws-sdk/client-ecs': 3.554.0 + '@aws-sdk/client-eventbridge': 3.554.0 + '@aws-sdk/client-iam': 3.554.0 + '@aws-sdk/client-iot': 3.554.0 + '@aws-sdk/client-iot-data-plane': 3.554.0 + '@aws-sdk/client-lambda': 3.554.0 + '@aws-sdk/client-rds-data': 3.569.0 + '@aws-sdk/client-s3': 3.554.0 + '@aws-sdk/client-ssm': 3.554.0 + '@aws-sdk/client-sts': 3.569.0 '@aws-sdk/config-resolver': 3.374.0 - '@aws-sdk/credential-providers': 3.583.0(@aws-sdk/client-sso-oidc@3.583.0) + '@aws-sdk/credential-providers': 3.554.0 '@aws-sdk/middleware-retry': 3.374.0 - '@aws-sdk/middleware-signing': 3.577.0 - '@aws-sdk/signature-v4-crt': 3.582.0 + '@aws-sdk/middleware-signing': 3.552.0 + '@aws-sdk/signature-v4-crt': 3.552.0 '@aws-sdk/smithy-client': 3.374.0 - '@babel/core': 7.24.5 - '@babel/generator': 7.24.5 - '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.5) + '@babel/core': 7.24.4 + '@babel/generator': 7.24.4 + '@babel/plugin-syntax-typescript': 7.24.1(@babel/core@7.24.4) '@smithy/signature-v4': 2.3.0 '@trpc/server': 9.16.0 adm-zip: 0.5.12 - aws-cdk-lib: 2.142.1(constructs@10.3.0) + aws-cdk-lib: 2.132.1(constructs@10.3.0) aws-iot-device-sdk: 2.2.13 - aws-sdk: 2.1627.0 + aws-sdk: 2.1599.0 builtin-modules: 3.2.0 - cdk-assets: 2.142.1 + cdk-assets: 2.132.1 chalk: 5.3.0 chokidar: 3.6.0 ci-info: 3.9.0 @@ -16317,29 +16895,28 @@ packages: express: 4.19.2 fast-jwt: 3.3.3 get-port: 6.1.2 - glob: 10.4.1 + glob: 10.3.12 graphql: 16.8.1 graphql-yoga: 3.9.1(graphql@16.8.1) immer: 9.0.21 - ink: 4.4.1(react@18.3.1) - ink-spinner: 5.0.0(ink@4.4.1)(react@18.3.1) + ink: 4.4.1(react@18.2.0) + ink-spinner: 5.0.0(ink@4.4.1)(react@18.2.0) kysely: 0.25.0 kysely-codegen: 0.10.1(kysely@0.25.0) - kysely-data-api: 0.2.1(@aws-sdk/client-rds-data@3.583.0)(kysely@0.25.0) + kysely-data-api: 0.2.1(@aws-sdk/client-rds-data@3.569.0)(kysely@0.25.0) minimatch: 6.2.0 openid-client: 5.6.5 ora: 6.3.1 - react: 18.3.1 - remeda: 1.61.0 - sst-aws-cdk: 2.142.1 + react: 18.2.0 + remeda: 1.59.0 + sst-aws-cdk: 2.132.1 tree-kill: 1.2.2 undici: 5.28.4 uuid: 9.0.1 - ws: 8.17.0 + ws: 8.16.0 yargs: 17.7.2 - zod: 3.23.8 + zod: 3.22.4 transitivePeerDependencies: - - '@aws-sdk/client-sso-oidc' - '@types/react' - aws-crt - better-sqlite3 @@ -16642,7 +17219,7 @@ packages: resolution: {integrity: sha512-w2sfv80nrAh2VCbqR5AK27wswXhqcck2AhfnNW76beQXskGZ1V12GwS//yYVa3d3fcvAip2OUnbDAjW2k3v9fA==} engines: {node: '>=10.0.0'} dependencies: - ajv: 8.13.0 + ajv: 8.12.0 lodash.truncate: 4.4.2 slice-ansi: 4.0.0 string-width: 4.2.3 @@ -16758,13 +17335,12 @@ packages: engines: {node: '>=14.16'} dev: true - /ts-jest@29.1.3(@babel/core@7.24.5)(esbuild@0.20.2)(jest@29.7.0)(typescript@5.4.5): - resolution: {integrity: sha512-6L9qz3ginTd1NKhOxmkP0qU3FyKjj5CPoY+anszfVn6Pmv/RIKzhiMCsH7Yb7UvJR9I2A64rm4zQl531s2F1iw==} - engines: {node: ^14.15.0 || ^16.10.0 || ^18.0.0 || >=20.0.0} + /ts-jest@29.1.2(@babel/core@7.24.4)(esbuild@0.20.2)(jest@29.7.0)(typescript@5.4.5): + resolution: {integrity: sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g==} + engines: {node: ^16.10.0 || ^18.0.0 || >=20.0.0} hasBin: true peerDependencies: '@babel/core': '>=7.0.0-beta.0 <8' - '@jest/transform': ^29.0.0 '@jest/types': ^29.0.0 babel-jest: ^29.0.0 esbuild: '*' @@ -16773,8 +17349,6 @@ packages: peerDependenciesMeta: '@babel/core': optional: true - '@jest/transform': - optional: true '@jest/types': optional: true babel-jest: @@ -16782,16 +17356,16 @@ packages: esbuild: optional: true dependencies: - '@babel/core': 7.24.5 + '@babel/core': 7.24.4 bs-logger: 0.2.6 esbuild: 0.20.2 fast-json-stable-stringify: 2.1.0 - jest: 29.7.0(@types/node@20.12.12) + jest: 29.7.0(@types/node@20.12.7) jest-util: 29.7.0 json5: 2.2.3 lodash.memoize: 4.1.2 make-error: 1.3.6 - semver: 7.6.2 + semver: 7.6.0 typescript: 5.4.5 yargs-parser: 21.1.1 dev: true @@ -16800,7 +17374,7 @@ packages: resolution: {integrity: sha512-PGcnJoTBnVGy6yYNFxWVNkdcAuAMstvutN9MgDJIV6L0oG8fB+ZNNy1T+wJzah8RPGor1mZuPQkVfXNDpy9eHA==} dev: true - /ts-node@10.9.2(@types/node@20.12.12)(typescript@5.0.4): + /ts-node@10.9.2(@types/node@20.12.7)(typescript@5.0.4): resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: @@ -16819,7 +17393,7 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.12.12 + '@types/node': 20.12.7 acorn: 8.11.3 acorn-walk: 8.3.2 arg: 4.1.3 @@ -16831,8 +17405,8 @@ packages: yn: 3.1.1 dev: true - /tsc-alias@1.8.10: - resolution: {integrity: sha512-Ibv4KAWfFkFdKJxnWfVtdOmB0Zi1RJVxcbPGiCDsFpCQSsmpWyuzHG3rQyI5YkobWwxFPEyQfu1hdo4qLG2zPw==} + /tsc-alias@1.8.8: + resolution: {integrity: sha512-OYUOd2wl0H858NvABWr/BoSKNERw3N9GTi3rHPK8Iv4O1UyUXIrTTOAZNHsjlVpXFOhpJBVARI1s+rzwLivN3Q==} hasBin: true dependencies: chokidar: 3.6.0 @@ -16886,75 +17460,86 @@ packages: typescript: 5.4.5 dev: true - /tsx@4.11.0: - resolution: {integrity: sha512-vzGGELOgAupsNVssAmZjbUDfdm/pWP4R+Kg8TVdsonxbXk0bEpE1qh0yV6/QxUVXaVlNemgcPajGdJJ82n3stg==} + /tsx@4.7.2: + resolution: {integrity: sha512-BCNd4kz6fz12fyrgCTEdZHGJ9fWTGeUzXmQysh0RVocDY3h4frk05ZNCXSy4kIenF7y/QnrdiVpTsyNRn6vlAw==} + engines: {node: '>=18.0.0'} + hasBin: true + dependencies: + esbuild: 0.19.12 + get-tsconfig: 4.7.3 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /tsx@4.9.3: + resolution: {integrity: sha512-czVbetlILiyJZI5zGlj2kw9vFiSeyra9liPD4nG+Thh4pKTi0AmMEQ8zdV/L2xbIVKrIqif4sUNrsMAOksx9Zg==} engines: {node: '>=18.0.0'} hasBin: true dependencies: esbuild: 0.20.2 - get-tsconfig: 4.7.5 + get-tsconfig: 4.7.3 optionalDependencies: fsevents: 2.3.3 dev: true - /turbo-darwin-64@1.13.3: - resolution: {integrity: sha512-glup8Qx1qEFB5jerAnXbS8WrL92OKyMmg5Hnd4PleLljAeYmx+cmmnsmLT7tpaVZIN58EAAwu8wHC6kIIqhbWA==} + /turbo-darwin-64@1.13.2: + resolution: {integrity: sha512-CCSuD8CfmtncpohCuIgq7eAzUas0IwSbHfI8/Q3vKObTdXyN8vAo01gwqXjDGpzG9bTEVedD0GmLbD23dR0MLA==} cpu: [x64] os: [darwin] requiresBuild: true dev: true optional: true - /turbo-darwin-arm64@1.13.3: - resolution: {integrity: sha512-/np2xD+f/+9qY8BVtuOQXRq5f9LehCFxamiQnwdqWm5iZmdjygC5T3uVSYuagVFsZKMvX3ycySwh8dylGTl6lg==} + /turbo-darwin-arm64@1.13.2: + resolution: {integrity: sha512-0HySm06/D2N91rJJ89FbiI/AodmY8B3WDSFTVEpu2+8spUw7hOJ8okWOT0e5iGlyayUP9gr31eOeL3VFZkpfCw==} cpu: [arm64] os: [darwin] requiresBuild: true dev: true optional: true - /turbo-linux-64@1.13.3: - resolution: {integrity: sha512-G+HGrau54iAnbXLfl+N/PynqpDwi/uDzb6iM9hXEDG+yJnSJxaHMShhOkXYJPk9offm9prH33Khx2scXrYVW1g==} + /turbo-linux-64@1.13.2: + resolution: {integrity: sha512-7HnibgbqZrjn4lcfIouzlPu8ZHSBtURG4c7Bedu7WJUDeZo+RE1crlrQm8wuwO54S0siYqUqo7GNHxu4IXbioQ==} cpu: [x64] os: [linux] requiresBuild: true dev: true optional: true - /turbo-linux-arm64@1.13.3: - resolution: {integrity: sha512-qWwEl5VR02NqRyl68/3pwp3c/olZuSp+vwlwrunuoNTm6JXGLG5pTeme4zoHNnk0qn4cCX7DFrOboArlYxv0wQ==} + /turbo-linux-arm64@1.13.2: + resolution: {integrity: sha512-sUq4dbpk6SNKg/Hkwn256Vj2AEYSQdG96repio894h5/LEfauIK2QYiC/xxAeW3WBMc6BngmvNyURIg7ltrePg==} cpu: [arm64] os: [linux] requiresBuild: true dev: true optional: true - /turbo-windows-64@1.13.3: - resolution: {integrity: sha512-Nudr4bRChfJzBPzEmpVV85VwUYRCGKecwkBFpbp2a4NtrJ3+UP1VZES653ckqCu2FRyRuS0n03v9euMbAvzH+Q==} + /turbo-windows-64@1.13.2: + resolution: {integrity: sha512-DqzhcrciWq3dpzllJR2VVIyOhSlXYCo4mNEWl98DJ3FZ08PEzcI3ceudlH6F0t/nIcfSItK1bDP39cs7YoZHEA==} cpu: [x64] os: [win32] requiresBuild: true dev: true optional: true - /turbo-windows-arm64@1.13.3: - resolution: {integrity: sha512-ouJCgsVLd3icjRLmRvHQDDZnmGzT64GBupM1Y+TjtYn2LVaEBoV6hicFy8x5DUpnqdLy+YpCzRMkWlwhmkX7sQ==} + /turbo-windows-arm64@1.13.2: + resolution: {integrity: sha512-WnPMrwfCXxK69CdDfS1/j2DlzcKxSmycgDAqV0XCYpK/812KB0KlvsVAt5PjEbZGXkY88pCJ1BLZHAjF5FcbqA==} cpu: [arm64] os: [win32] requiresBuild: true dev: true optional: true - /turbo@1.13.3: - resolution: {integrity: sha512-n17HJv4F4CpsYTvKzUJhLbyewbXjq1oLCi90i5tW1TiWDz16ML1eDG7wi5dHaKxzh5efIM56SITnuVbMq5dk4g==} + /turbo@1.13.2: + resolution: {integrity: sha512-rX/d9f4MgRT3yK6cERPAkfavIxbpBZowDQpgvkYwGMGDQ0Nvw1nc0NVjruE76GrzXQqoxR1UpnmEP54vBARFHQ==} hasBin: true optionalDependencies: - turbo-darwin-64: 1.13.3 - turbo-darwin-arm64: 1.13.3 - turbo-linux-64: 1.13.3 - turbo-linux-arm64: 1.13.3 - turbo-windows-64: 1.13.3 - turbo-windows-arm64: 1.13.3 + turbo-darwin-64: 1.13.2 + turbo-darwin-arm64: 1.13.2 + turbo-linux-64: 1.13.2 + turbo-linux-arm64: 1.13.2 + turbo-windows-64: 1.13.2 + turbo-windows-arm64: 1.13.2 dev: true /tweetnacl-util@0.15.1: @@ -17147,15 +17732,15 @@ packages: engines: {node: '>= 0.8'} dev: true - /update-browserslist-db@1.0.16(browserslist@4.23.0): - resolution: {integrity: sha512-KVbTxlBYlckhF5wgfyZXTWnMn7MMZjMu9XG8bPlliUOP9ThaF4QnhP8qrjrH7DRzHfSk0oQv1wToW+iA5GajEQ==} + /update-browserslist-db@1.0.13(browserslist@4.23.0): + resolution: {integrity: sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==} hasBin: true peerDependencies: browserslist: '>= 4.21.0' dependencies: browserslist: 4.23.0 escalade: 3.1.2 - picocolors: 1.0.1 + picocolors: 1.0.0 dev: true /upper-case-first@2.0.2: @@ -17259,7 +17844,7 @@ packages: engines: {node: '>= 0.8'} dev: true - /viem@1.21.4(typescript@5.0.4)(zod@3.23.8): + /viem@1.21.4(typescript@5.0.4)(zod@3.22.4): resolution: {integrity: sha512-BNVYdSaUjeS2zKQgPs+49e5JKocfo60Ib2yiXOWBT6LuVxY1I/6fFX3waEtpXvL1Xn4qu+BVitVtMh9lyThyhQ==} peerDependencies: typescript: '>=5.0.4' @@ -17272,7 +17857,7 @@ packages: '@noble/hashes': 1.3.2 '@scure/bip32': 1.3.2 '@scure/bip39': 1.2.1 - abitype: 0.9.8(typescript@5.0.4)(zod@3.23.8) + abitype: 0.9.8(typescript@5.0.4)(zod@3.22.4) isows: 1.0.3(ws@8.13.0) typescript: 5.0.4 ws: 8.13.0 @@ -17282,7 +17867,7 @@ packages: - zod dev: true - /viem@1.21.4(typescript@5.4.5)(zod@3.23.8): + /viem@1.21.4(typescript@5.4.5)(zod@3.22.4): resolution: {integrity: sha512-BNVYdSaUjeS2zKQgPs+49e5JKocfo60Ib2yiXOWBT6LuVxY1I/6fFX3waEtpXvL1Xn4qu+BVitVtMh9lyThyhQ==} peerDependencies: typescript: '>=5.0.4' @@ -17295,7 +17880,7 @@ packages: '@noble/hashes': 1.3.2 '@scure/bip32': 1.3.2 '@scure/bip39': 1.2.1 - abitype: 0.9.8(typescript@5.4.5)(zod@3.23.8) + abitype: 0.9.8(typescript@5.4.5)(zod@3.22.4) isows: 1.0.3(ws@8.13.0) typescript: 5.4.5 ws: 8.13.0 @@ -17305,8 +17890,8 @@ packages: - zod dev: false - /viem@2.12.1(typescript@5.4.5)(zod@3.23.8): - resolution: {integrity: sha512-71gxcGCXdNXQuBhpqXblVRH1F3hP/wONCptVOCW4r6VrCEXL/9vfNyCdQKtK/0WGyXm04Zs9Jf/AOAxKqf6FmQ==} + /viem@2.12.0(typescript@5.4.5)(zod@3.22.4): + resolution: {integrity: sha512-XBvORspE4x2/gfy7idH6IVFwkJiXirygFCU3lxUH6fttsj8zufLtgiokfvZF/LAZUEDvdxSgL08whSYgffM2fw==} peerDependencies: typescript: '>=5.0.4' peerDependenciesMeta: @@ -17318,7 +17903,7 @@ packages: '@noble/hashes': 1.3.2 '@scure/bip32': 1.3.2 '@scure/bip39': 1.2.1 - abitype: 1.0.0(typescript@5.4.5)(zod@3.23.8) + abitype: 1.0.0(typescript@5.4.5)(zod@3.22.4) isows: 1.0.4(ws@8.13.0) typescript: 5.4.5 ws: 8.13.0 @@ -17328,7 +17913,7 @@ packages: - zod dev: false - /viem@2.9.19(typescript@5.4.5)(zod@3.23.8): + /viem@2.9.19(typescript@5.4.5)(zod@3.22.4): resolution: {integrity: sha512-1txsVoTz9+XGQpuN62wcDXasNtalW52UR41KnzwWTwHtV2cDcGuVuS/j/hcuQdZ7pU8X8jtq2IrwwR4jjKpy9Q==} peerDependencies: typescript: '>=5.0.4' @@ -17341,7 +17926,7 @@ packages: '@noble/hashes': 1.3.2 '@scure/bip32': 1.3.2 '@scure/bip39': 1.2.1 - abitype: 1.0.0(typescript@5.4.5)(zod@3.23.8) + abitype: 1.0.0(typescript@5.4.5)(zod@3.22.4) isows: 1.0.3(ws@8.13.0) typescript: 5.4.5 ws: 8.13.0 @@ -17605,8 +18190,8 @@ packages: utf-8-validate: optional: true - /ws@8.17.0: - resolution: {integrity: sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow==} + /ws@8.16.0: + resolution: {integrity: sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -17674,8 +18259,8 @@ packages: engines: {node: '>= 6'} dev: true - /yaml@2.4.2: - resolution: {integrity: sha512-B3VqDZ+JAg1nZpaEmWtTXUlBneoGx6CPM9b0TENK6aoSu5t73dItudwdgmi6tHlIZZId4dZ9skcAQ2UbcyAeVA==} + /yaml@2.4.1: + resolution: {integrity: sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==} engines: {node: '>= 14'} hasBin: true dev: true @@ -17774,14 +18359,14 @@ packages: readable-stream: 3.6.2 dev: true - /zod@3.23.8: - resolution: {integrity: sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==} + /zod@3.22.4: + resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} - /zx@8.1.1: - resolution: {integrity: sha512-JYAyM06wK+KLy07MkipBTghtd3zsYBxTH44Fh3p932ntDKdT5jxziEK51siPG+rqT+MWV1yK9mCM1/CB92PV7Q==} - engines: {node: '>= 12.17.0'} + /zx@8.0.1: + resolution: {integrity: sha512-Y+ITW1GQjADk7qgrbhnukMgoNsJmlyx53cUQ6/6NXU+BMBdCbTc6flTOHUctmzKvPjTmdwaddzJY/dbLie9sQg==} + engines: {node: '>= 16.0.0'} hasBin: true optionalDependencies: '@types/fs-extra': 11.0.4 - '@types/node': 20.12.12 + '@types/node': 20.12.7 dev: true From fa22fe77beaffeafcd554944c7c8ff0c70af929d Mon Sep 17 00:00:00 2001 From: Roberto Cano <3525807+robercano@users.noreply.github.com> Date: Fri, 24 May 2024 12:04:54 +0200 Subject: [PATCH 35/45] feat: add format option --- sdk/tools/genStrategyDefinitions/src/index.ts | 12 ++- sdk/tools/genStrategyDefinitions/test.json | 75 ------------------- 2 files changed, 11 insertions(+), 76 deletions(-) delete mode 100644 sdk/tools/genStrategyDefinitions/test.json diff --git a/sdk/tools/genStrategyDefinitions/src/index.ts b/sdk/tools/genStrategyDefinitions/src/index.ts index 54b1fafecd..052b6bb844 100644 --- a/sdk/tools/genStrategyDefinitions/src/index.ts +++ b/sdk/tools/genStrategyDefinitions/src/index.ts @@ -25,6 +25,12 @@ async function main() { description: 'Address of the Operations Registry', type: 'string', }) + .option('format', { + alias: 'f', + description: 'Output format (safe, tenderly)', + default: 'safe', + type: 'string', + }) .demandOption(['output', 'safe', 'registry']) .help() .alias('help', 'h').argv @@ -43,7 +49,11 @@ async function main() { console.log(`Writing to ${args.output}`) // Write to file - fs.writeFileSync(args.output, JSON.stringify(safeBatch, null, 2)) + if (args.format === 'safe') { + fs.writeFileSync(args.output, JSON.stringify(safeBatch, null, 2)) + } else { + fs.writeFileSync(args.output, JSON.stringify(operationDefinitions, null, 2)) + } } else { console.log('--------------------') console.log(JSON.stringify(strategyDefinitions, null, 2)) diff --git a/sdk/tools/genStrategyDefinitions/test.json b/sdk/tools/genStrategyDefinitions/test.json deleted file mode 100644 index 819d3acbbd..0000000000 --- a/sdk/tools/genStrategyDefinitions/test.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "version": "1.0", - "chainId": "1", - "createdAt": 1716536096875, - "meta": { - "name": "Transactions Batch", - "description": "Created from @morpho-labs/gnosis-tx-builder", - "txBuilderVersion": "1.10.0", - "createdFromSafeAddress": "0x85f9b7408afE6CEb5E46223451f5d4b832B522dc", - "createdFromOwnerAddress": "", - "checksum": "0xf6df011f5a18b79b81eeee570661ef56f8d5d17aacef9ef4a610e7627e0f552e" - }, - "transactions": [ - { - "to": "0x563d2689fE89c78259dD7F694146BB93f6388A55", - "value": "0", - "data": "0xa1ae33b500000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000000000000000000000000000000000000000000c659de0ea7426ebf3658481941708805f7ecc3f3743ffe9b690fb9bda9420e1f27c7fc43481c9c7bbaadc7550fc793b2149008f6e3edd3c92e7c0a9a057d7e9dce0b0065173cf061160a47479778e68dbcc60e1fa16ab74ce5cc262ab202ec2159f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc262fa361c3bf9435212c5927ef44ded540885359b6fe29f956caf057cc437763a036303c18db5a95d0dd17b9bac9bc1dbd0130264cd8a04fb5e9b427a3a03ad49e2e5a52747552066d9a632214937a8417ea69760062f4039987cfe8d956646f2e65cd19ae3299f6b487d3a50d8982beaadf479209df9404651ca1fa71abfc3beb9f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc2699a01a03a55f29ec20c6bf18507e20b640f963fe896c06188dfa3bf5a753ddc4166438e3cb190ad4e896f7b4bd36c98f5b7dc3f5eb885f019521b3b819bc0de829732f3b4202acea9e682f5fafacfe4172f3140412e66931b5d00a4dda200962000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000013526566696e616e63654d616b6572537061726b00000000000000000000000000" - }, - { - "to": "0x563d2689fE89c78259dD7F694146BB93f6388A55", - "value": "0", - "data": "0xa1ae33b500000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000000d659de0ea7426ebf3658481941708805f7ecc3f3743ffe9b690fb9bda9420e1f236303c18db5a95d0dd17b9bac9bc1dbd0130264cd8a04fb5e9b427a3a03ad49ea82753128c61d3e49e07a5bedd82a74b6e5dde3788c57b7c00376460d84c1702e9d31142cdbec0d106307ad1fe20066bd1ddc092d93c02f7f4131ec0d16c15f39f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc262fa361c3bf9435212c5927ef44ded540885359b6fe29f956caf057cc437763a036303c18db5a95d0dd17b9bac9bc1dbd0130264cd8a04fb5e9b427a3a03ad49e2e5a52747552066d9a632214937a8417ea69760062f4039987cfe8d956646f2e65cd19ae3299f6b487d3a50d8982beaadf479209df9404651ca1fa71abfc3beb9f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc2699a01a03a55f29ec20c6bf18507e20b640f963fe896c06188dfa3bf5a753ddc4166438e3cb190ad4e896f7b4bd36c98f5b7dc3f5eb885f019521b3b819bc0de829732f3b4202acea9e682f5fafacfe4172f3140412e66931b5d00a4dda200962000000000000000000000000000000000000000000000000000000000000000d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000013526566696e616e6365537061726b537061726b00000000000000000000000000" - }, - { - "to": "0x563d2689fE89c78259dD7F694146BB93f6388A55", - "value": "0", - "data": "0xa1ae33b500000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000000d659de0ea7426ebf3658481941708805f7ecc3f3743ffe9b690fb9bda9420e1f236303c18db5a95d0dd17b9bac9bc1dbd0130264cd8a04fb5e9b427a3a03ad49e2b0e9e3241b34c5f10a27cae26ccc5cf8c93e29e3f03e91f7a56e78705d1160d72a6498a855e180d09372bedc02d1aeea49544d6695158bdee46b57d74df89fa9f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc262fa361c3bf9435212c5927ef44ded540885359b6fe29f956caf057cc437763a036303c18db5a95d0dd17b9bac9bc1dbd0130264cd8a04fb5e9b427a3a03ad49e2e5a52747552066d9a632214937a8417ea69760062f4039987cfe8d956646f2e65cd19ae3299f6b487d3a50d8982beaadf479209df9404651ca1fa71abfc3beb9f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc2699a01a03a55f29ec20c6bf18507e20b640f963fe896c06188dfa3bf5a753ddc4166438e3cb190ad4e896f7b4bd36c98f5b7dc3f5eb885f019521b3b819bc0de829732f3b4202acea9e682f5fafacfe4172f3140412e66931b5d00a4dda200962000000000000000000000000000000000000000000000000000000000000000d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000014526566696e616e6365416176655633537061726b000000000000000000000000" - }, - { - "to": "0x563d2689fE89c78259dD7F694146BB93f6388A55", - "value": "0", - "data": "0xa1ae33b500000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000000d659de0ea7426ebf3658481941708805f7ecc3f3743ffe9b690fb9bda9420e1f236303c18db5a95d0dd17b9bac9bc1dbd0130264cd8a04fb5e9b427a3a03ad49ea237df8c6e23705c95c501eb902cb1a3f4d8e49058d21d0fb4b7b38bac9d8c965e8a8984847bce562c1ded2e66d858deb4fc1e1078bd8052d7ac568bb85704ea9f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc262fa361c3bf9435212c5927ef44ded540885359b6fe29f956caf057cc437763a036303c18db5a95d0dd17b9bac9bc1dbd0130264cd8a04fb5e9b427a3a03ad49e2e5a52747552066d9a632214937a8417ea69760062f4039987cfe8d956646f2e65cd19ae3299f6b487d3a50d8982beaadf479209df9404651ca1fa71abfc3beb9f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc2699a01a03a55f29ec20c6bf18507e20b640f963fe896c06188dfa3bf5a753ddc4166438e3cb190ad4e896f7b4bd36c98f5b7dc3f5eb885f019521b3b819bc0de829732f3b4202acea9e682f5fafacfe4172f3140412e66931b5d00a4dda200962000000000000000000000000000000000000000000000000000000000000000d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000018526566696e616e63654d6f7270686f426c7565537061726b0000000000000000" - }, - { - "to": "0x563d2689fE89c78259dD7F694146BB93f6388A55", - "value": "0", - "data": "0xa1ae33b500000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000000000000000000000000000000000000000000c659de0ea7426ebf3658481941708805f7ecc3f3743ffe9b690fb9bda9420e1f27c7fc43481c9c7bbaadc7550fc793b2149008f6e3edd3c92e7c0a9a057d7e9dce0b0065173cf061160a47479778e68dbcc60e1fa16ab74ce5cc262ab202ec2159f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc263d35d2541933af4a823c65a68dd1c9ef013aec338d1232de2f36d28ffec2338336303c18db5a95d0dd17b9bac9bc1dbd0130264cd8a04fb5e9b427a3a03ad49e7ab6efcb5eb9fe95b9269699947601395deb8a357a1e9fb4f68be7da89ce29ab649fdbe67806b0dab4bfcfc81ac30d33b08774a695fa3f4373137cc19ae4d2ac9f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc2699a01a03a55f29ec20c6bf18507e20b640f963fe896c06188dfa3bf5a753ddc4166438e3cb190ad4e896f7b4bd36c98f5b7dc3f5eb885f019521b3b819bc0de829732f3b4202acea9e682f5fafacfe4172f3140412e66931b5d00a4dda200962000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000014526566696e616e63654d616b6572416176655633000000000000000000000000" - }, - { - "to": "0x563d2689fE89c78259dD7F694146BB93f6388A55", - "value": "0", - "data": "0xa1ae33b500000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000000d659de0ea7426ebf3658481941708805f7ecc3f3743ffe9b690fb9bda9420e1f236303c18db5a95d0dd17b9bac9bc1dbd0130264cd8a04fb5e9b427a3a03ad49ea82753128c61d3e49e07a5bedd82a74b6e5dde3788c57b7c00376460d84c1702e9d31142cdbec0d106307ad1fe20066bd1ddc092d93c02f7f4131ec0d16c15f39f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc263d35d2541933af4a823c65a68dd1c9ef013aec338d1232de2f36d28ffec2338336303c18db5a95d0dd17b9bac9bc1dbd0130264cd8a04fb5e9b427a3a03ad49e7ab6efcb5eb9fe95b9269699947601395deb8a357a1e9fb4f68be7da89ce29ab649fdbe67806b0dab4bfcfc81ac30d33b08774a695fa3f4373137cc19ae4d2ac9f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc2699a01a03a55f29ec20c6bf18507e20b640f963fe896c06188dfa3bf5a753ddc4166438e3cb190ad4e896f7b4bd36c98f5b7dc3f5eb885f019521b3b819bc0de829732f3b4202acea9e682f5fafacfe4172f3140412e66931b5d00a4dda200962000000000000000000000000000000000000000000000000000000000000000d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000014526566696e616e6365537061726b416176655633000000000000000000000000" - }, - { - "to": "0x563d2689fE89c78259dD7F694146BB93f6388A55", - "value": "0", - "data": "0xa1ae33b500000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000000d659de0ea7426ebf3658481941708805f7ecc3f3743ffe9b690fb9bda9420e1f236303c18db5a95d0dd17b9bac9bc1dbd0130264cd8a04fb5e9b427a3a03ad49e2b0e9e3241b34c5f10a27cae26ccc5cf8c93e29e3f03e91f7a56e78705d1160d72a6498a855e180d09372bedc02d1aeea49544d6695158bdee46b57d74df89fa9f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc263d35d2541933af4a823c65a68dd1c9ef013aec338d1232de2f36d28ffec2338336303c18db5a95d0dd17b9bac9bc1dbd0130264cd8a04fb5e9b427a3a03ad49e7ab6efcb5eb9fe95b9269699947601395deb8a357a1e9fb4f68be7da89ce29ab649fdbe67806b0dab4bfcfc81ac30d33b08774a695fa3f4373137cc19ae4d2ac9f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc2699a01a03a55f29ec20c6bf18507e20b640f963fe896c06188dfa3bf5a753ddc4166438e3cb190ad4e896f7b4bd36c98f5b7dc3f5eb885f019521b3b819bc0de829732f3b4202acea9e682f5fafacfe4172f3140412e66931b5d00a4dda200962000000000000000000000000000000000000000000000000000000000000000d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000015526566696e616e63654161766556334161766556330000000000000000000000" - }, - { - "to": "0x563d2689fE89c78259dD7F694146BB93f6388A55", - "value": "0", - "data": "0xa1ae33b500000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000000d659de0ea7426ebf3658481941708805f7ecc3f3743ffe9b690fb9bda9420e1f236303c18db5a95d0dd17b9bac9bc1dbd0130264cd8a04fb5e9b427a3a03ad49ea237df8c6e23705c95c501eb902cb1a3f4d8e49058d21d0fb4b7b38bac9d8c965e8a8984847bce562c1ded2e66d858deb4fc1e1078bd8052d7ac568bb85704ea9f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc263d35d2541933af4a823c65a68dd1c9ef013aec338d1232de2f36d28ffec2338336303c18db5a95d0dd17b9bac9bc1dbd0130264cd8a04fb5e9b427a3a03ad49e7ab6efcb5eb9fe95b9269699947601395deb8a357a1e9fb4f68be7da89ce29ab649fdbe67806b0dab4bfcfc81ac30d33b08774a695fa3f4373137cc19ae4d2ac9f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc2699a01a03a55f29ec20c6bf18507e20b640f963fe896c06188dfa3bf5a753ddc4166438e3cb190ad4e896f7b4bd36c98f5b7dc3f5eb885f019521b3b819bc0de829732f3b4202acea9e682f5fafacfe4172f3140412e66931b5d00a4dda200962000000000000000000000000000000000000000000000000000000000000000d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000019526566696e616e63654d6f7270686f426c756541617665563300000000000000" - }, - { - "to": "0x563d2689fE89c78259dD7F694146BB93f6388A55", - "value": "0", - "data": "0xa1ae33b500000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000003a0000000000000000000000000000000000000000000000000000000000000000c659de0ea7426ebf3658481941708805f7ecc3f3743ffe9b690fb9bda9420e1f27c7fc43481c9c7bbaadc7550fc793b2149008f6e3edd3c92e7c0a9a057d7e9dce0b0065173cf061160a47479778e68dbcc60e1fa16ab74ce5cc262ab202ec2159f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc2636303c18db5a95d0dd17b9bac9bc1dbd0130264cd8a04fb5e9b427a3a03ad49ea7ca04e3228ce773056f80652929b26e21e87ea1073b0c8f7ece6f517123c09ff82d881490cc1119646529baaa6e2624c5d5ce860f60eda238f10a963f75ebdd99a01a03a55f29ec20c6bf18507e20b640f963fe896c06188dfa3bf5a753ddc49f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc2699a01a03a55f29ec20c6bf18507e20b640f963fe896c06188dfa3bf5a753ddc4166438e3cb190ad4e896f7b4bd36c98f5b7dc3f5eb885f019521b3b819bc0de829732f3b4202acea9e682f5fafacfe4172f3140412e66931b5d00a4dda200962000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000018526566696e616e63654d616b65724d6f7270686f426c75650000000000000000" - }, - { - "to": "0x563d2689fE89c78259dD7F694146BB93f6388A55", - "value": "0", - "data": "0xa1ae33b500000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000000d659de0ea7426ebf3658481941708805f7ecc3f3743ffe9b690fb9bda9420e1f236303c18db5a95d0dd17b9bac9bc1dbd0130264cd8a04fb5e9b427a3a03ad49ea82753128c61d3e49e07a5bedd82a74b6e5dde3788c57b7c00376460d84c1702e9d31142cdbec0d106307ad1fe20066bd1ddc092d93c02f7f4131ec0d16c15f39f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc2636303c18db5a95d0dd17b9bac9bc1dbd0130264cd8a04fb5e9b427a3a03ad49ea7ca04e3228ce773056f80652929b26e21e87ea1073b0c8f7ece6f517123c09ff82d881490cc1119646529baaa6e2624c5d5ce860f60eda238f10a963f75ebdd99a01a03a55f29ec20c6bf18507e20b640f963fe896c06188dfa3bf5a753ddc49f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc2699a01a03a55f29ec20c6bf18507e20b640f963fe896c06188dfa3bf5a753ddc4166438e3cb190ad4e896f7b4bd36c98f5b7dc3f5eb885f019521b3b819bc0de829732f3b4202acea9e682f5fafacfe4172f3140412e66931b5d00a4dda200962000000000000000000000000000000000000000000000000000000000000000d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000018526566696e616e6365537061726b4d6f7270686f426c75650000000000000000" - }, - { - "to": "0x563d2689fE89c78259dD7F694146BB93f6388A55", - "value": "0", - "data": "0xa1ae33b500000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000000d659de0ea7426ebf3658481941708805f7ecc3f3743ffe9b690fb9bda9420e1f236303c18db5a95d0dd17b9bac9bc1dbd0130264cd8a04fb5e9b427a3a03ad49e2b0e9e3241b34c5f10a27cae26ccc5cf8c93e29e3f03e91f7a56e78705d1160d72a6498a855e180d09372bedc02d1aeea49544d6695158bdee46b57d74df89fa9f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc2636303c18db5a95d0dd17b9bac9bc1dbd0130264cd8a04fb5e9b427a3a03ad49ea7ca04e3228ce773056f80652929b26e21e87ea1073b0c8f7ece6f517123c09ff82d881490cc1119646529baaa6e2624c5d5ce860f60eda238f10a963f75ebdd99a01a03a55f29ec20c6bf18507e20b640f963fe896c06188dfa3bf5a753ddc49f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc2699a01a03a55f29ec20c6bf18507e20b640f963fe896c06188dfa3bf5a753ddc4166438e3cb190ad4e896f7b4bd36c98f5b7dc3f5eb885f019521b3b819bc0de829732f3b4202acea9e682f5fafacfe4172f3140412e66931b5d00a4dda200962000000000000000000000000000000000000000000000000000000000000000d00000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000019526566696e616e63654161766556334d6f7270686f426c756500000000000000" - }, - { - "to": "0x563d2689fE89c78259dD7F694146BB93f6388A55", - "value": "0", - "data": "0xa1ae33b500000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000003e0000000000000000000000000000000000000000000000000000000000000000d659de0ea7426ebf3658481941708805f7ecc3f3743ffe9b690fb9bda9420e1f236303c18db5a95d0dd17b9bac9bc1dbd0130264cd8a04fb5e9b427a3a03ad49ea237df8c6e23705c95c501eb902cb1a3f4d8e49058d21d0fb4b7b38bac9d8c965e8a8984847bce562c1ded2e66d858deb4fc1e1078bd8052d7ac568bb85704ea9f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc2636303c18db5a95d0dd17b9bac9bc1dbd0130264cd8a04fb5e9b427a3a03ad49ea7ca04e3228ce773056f80652929b26e21e87ea1073b0c8f7ece6f517123c09ff82d881490cc1119646529baaa6e2624c5d5ce860f60eda238f10a963f75ebdd99a01a03a55f29ec20c6bf18507e20b640f963fe896c06188dfa3bf5a753ddc49f9d224c26adad40cade24655f1c5e3cf307c390fc6874e710cb56bdd504bc2699a01a03a55f29ec20c6bf18507e20b640f963fe896c06188dfa3bf5a753ddc4166438e3cb190ad4e896f7b4bd36c98f5b7dc3f5eb885f019521b3b819bc0de829732f3b4202acea9e682f5fafacfe4172f3140412e66931b5d00a4dda200962000000000000000000000000000000000000000000000000000000000000000d0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000001d526566696e616e63654d6f7270686f426c75654d6f7270686f426c7565000000" - } - ] -} \ No newline at end of file From 87213305f44f63daf4f190c47da14fe09fffa14f Mon Sep 17 00:00:00 2001 From: Roberto Cano <3525807+robercano@users.noreply.github.com> Date: Fri, 24 May 2024 16:58:37 +0200 Subject: [PATCH 36/45] feat: accept skippable actions in order planner --- .../src/implementation/OrderPlanner.ts | 1 + .../src/utils/EncodeStrategy.ts | 12 +- .../src/utils/GenerateStrategyName.ts | 6 +- .../src/config/Config.ts | 2 + .../tests/service/OrderPlannerService.spec.ts | 5 +- .../src/actions/BaseAction.ts | 3 + .../src/actions/SkippedAction.ts | 40 ++++++ .../src/actions/Types.ts | 6 +- .../src/actions/index.ts | 13 +- .../src/context/StepBuilderContext.ts | 13 ++ .../src/interfaces/IActionBuilder.ts | 1 + .../src/interfaces/IStepBuilderContext.ts | 2 + .../AaveV3DepositBorrowActionBuilder.ts | 28 ++-- .../AaveV3PaybackWithdrawActionBuilder.ts | 87 ++++++------ .../plugins/common/actions/FlashloanAction.ts | 16 +-- .../builders/SkippedStepActionBuilder.ts | 43 ++++++ .../src/plugins/common/builders/index.ts | 1 + .../MakerPaybackWithdrawActionBuilder.ts | 31 ++-- .../MorphoDepositBorrowActionBuilder.ts | 67 ++++----- .../MorphoPaybackWithdrawActionBuilder.ts | 62 ++++---- .../SparkDepositBorrowActionBuilder.ts | 27 ++-- .../SparkPaybackWithdrawActionBuilder.ts | 85 ++++++----- .../unit/actions/FlashloanAction.spec.ts | 2 + .../AaveV3DepositBorrowActionBuilder.spec.ts | 3 +- ...AaveV3PaybackWithdrawActionBuilder.spec.ts | 6 +- .../MakerPaybackWithdrawActionBuilder.spec.ts | 5 +- .../MorphoDepositBorrowActionBuilder.spec.ts | 7 +- ...MorphoPaybackWithdrawActionBuilder.spec.ts | 6 +- .../SparkDepositBorrowActionBuilder.spec.ts | 3 +- .../SparkPaybackWithdrawActionBuilder.spec.ts | 6 +- .../tests/utils/SetupBuilderParams.ts | 4 +- sdk/protocol-plugins/tsconfig.json | 7 +- sdk/sdk-common/src/simulation/Enums.ts | 1 + sdk/sdk-common/src/simulation/Steps.ts | 11 ++ .../tests/refinanceAaveV3SparkAnyPair.test.ts | 13 +- .../src/handlers/getRefinanceSimulation.ts | 13 +- .../reducer/skippedStepReducer.ts | 12 ++ .../simulator-engine/reducer/stateReducers.ts | 2 + .../simulator-engine/simulator.ts | 19 ++- .../skippedStepOutputProcessor.ts | 9 ++ .../stepProcessor/stepOutputProcessors.ts | 2 + .../utils/GetRefinanceSimulationType.ts | 20 --- .../src/strategies/StrategyIndex.ts | 10 +- .../common/RefinanceStrategyRouter.ts | 45 ------ .../src/strategies/common/index.ts | 1 - sdk/simulator-service/src/strategies/index.ts | 4 +- .../RefinanceLendingToLendingAnyPair.ts | 112 +++++++++------ .../Strategy.ts | 0 .../index.ts | 0 .../RefinanceLendingToLendingNoDebt.ts | 132 ------------------ .../strategies/refinanceNoDebt/Strategy.ts | 30 ---- .../src/strategies/refinanceNoDebt/index.ts | 2 - .../RefinanceLendingToLendingSamePair.ts | 129 ----------------- .../strategies/refinanceSamePair/Strategy.ts | 35 ----- .../src/strategies/refinanceSamePair/index.ts | 2 - sdk/simulator-service/tests/simulator.test.ts | 65 +-------- .../src/utils/StrategyExecutorDecoding.ts | 11 +- sdk/testing-utils/src/utils/index.ts | 11 +- sdk/tools/genStrategyDefinitions/src/index.ts | 6 +- 59 files changed, 495 insertions(+), 802 deletions(-) create mode 100644 sdk/protocol-plugins-common/src/actions/SkippedAction.ts create mode 100644 sdk/protocol-plugins/src/plugins/common/builders/SkippedStepActionBuilder.ts create mode 100644 sdk/simulator-service/src/implementation/simulator-engine/reducer/skippedStepReducer.ts create mode 100644 sdk/simulator-service/src/implementation/simulator-engine/stepProcessor/skippedStepOutputProcessor.ts delete mode 100644 sdk/simulator-service/src/implementation/utils/GetRefinanceSimulationType.ts delete mode 100644 sdk/simulator-service/src/strategies/common/RefinanceStrategyRouter.ts rename sdk/simulator-service/src/strategies/{refinanceAnyPair => refinanceLendingToLending}/RefinanceLendingToLendingAnyPair.ts (73%) rename sdk/simulator-service/src/strategies/{refinanceAnyPair => refinanceLendingToLending}/Strategy.ts (100%) rename sdk/simulator-service/src/strategies/{refinanceAnyPair => refinanceLendingToLending}/index.ts (100%) delete mode 100644 sdk/simulator-service/src/strategies/refinanceNoDebt/RefinanceLendingToLendingNoDebt.ts delete mode 100644 sdk/simulator-service/src/strategies/refinanceNoDebt/Strategy.ts delete mode 100644 sdk/simulator-service/src/strategies/refinanceNoDebt/index.ts delete mode 100644 sdk/simulator-service/src/strategies/refinanceSamePair/RefinanceLendingToLendingSamePair.ts delete mode 100644 sdk/simulator-service/src/strategies/refinanceSamePair/Strategy.ts delete mode 100644 sdk/simulator-service/src/strategies/refinanceSamePair/index.ts diff --git a/sdk/order-planner-common/src/implementation/OrderPlanner.ts b/sdk/order-planner-common/src/implementation/OrderPlanner.ts index 0eb90e6c7f..3ff60c6ccc 100644 --- a/sdk/order-planner-common/src/implementation/OrderPlanner.ts +++ b/sdk/order-planner-common/src/implementation/OrderPlanner.ts @@ -47,6 +47,7 @@ export class OrderPlanner implements IOrderPlanner { addressBookManager, step, protocolsRegistry, + actionBuildersMap, }) } diff --git a/sdk/order-planner-common/src/utils/EncodeStrategy.ts b/sdk/order-planner-common/src/utils/EncodeStrategy.ts index 3d1a9cd9ed..699e557359 100644 --- a/sdk/order-planner-common/src/utils/EncodeStrategy.ts +++ b/sdk/order-planner-common/src/utils/EncodeStrategy.ts @@ -3,10 +3,6 @@ import { Address, HexData, Maybe } from '@summerfi/sdk-common/common' import { IPositionsManager, TransactionInfo } from '@summerfi/sdk-common/orders' import { encodeFunctionData, parseAbi } from 'viem' -type SkippableActionCall = ActionCall & { - skipped: boolean -} - function encodeForExecutor(params: { strategyName: string; actions: ActionCall[] }): HexData { const { strategyName, actions } = params @@ -15,16 +11,10 @@ function encodeForExecutor(params: { strategyName: string; actions: ActionCall[] 'struct Call { bytes32 targetHash; bytes callData; bool skipped; }', ]) - // TODO: Hiding this here for now as we don't support skippable actions anymore in the new version - const skippableActions: SkippableActionCall[] = actions.map((action) => ({ - ...action, - skipped: false, - })) - return encodeFunctionData({ abi, functionName: 'executeOp', - args: [skippableActions, strategyName], + args: [actions, strategyName], }) } diff --git a/sdk/order-planner-common/src/utils/GenerateStrategyName.ts b/sdk/order-planner-common/src/utils/GenerateStrategyName.ts index 1006abf536..1cd76d71d1 100644 --- a/sdk/order-planner-common/src/utils/GenerateStrategyName.ts +++ b/sdk/order-planner-common/src/utils/GenerateStrategyName.ts @@ -13,5 +13,9 @@ export function generateStrategyName(simulation: ISimulation): s return `Refinance${simulation.sourcePosition?.pool.id.protocol.name}${simulation.targetPosition.pool.id.protocol.name}` } - return `${simulation.simulationType}${simulation.sourcePosition?.pool.id.protocol.name}${simulation.targetPosition?.pool.id.protocol.name}` + const strategyName = `${simulation.simulationType}${simulation.sourcePosition?.pool.id.protocol.name}${simulation.targetPosition?.pool.id.protocol.name}` + + console.log('Strategy name:', strategyName) + + return strategyName } diff --git a/sdk/order-planner-service/src/config/Config.ts b/sdk/order-planner-service/src/config/Config.ts index 29b8af3e55..e64920cd8d 100644 --- a/sdk/order-planner-service/src/config/Config.ts +++ b/sdk/order-planner-service/src/config/Config.ts @@ -11,6 +11,7 @@ import { ReturnFundsActionBuilder, SwapActionBuilder, OpenPositionActionBuilder, + SkippedStepActionBuilder, } from '@summerfi/protocol-plugins/plugins/common' export const ActionBuildersConfig: ActionBuildersMap = { @@ -24,4 +25,5 @@ export const ActionBuildersConfig: ActionBuildersMap = { [SimulationSteps.NewPositionEvent]: PositionCreatedActionBuilder, [SimulationSteps.Import]: ImportPositionActionBuilder, [SimulationSteps.OpenPosition]: OpenPositionActionBuilder, + [SimulationSteps.Skipped]: SkippedStepActionBuilder, } diff --git a/sdk/order-planner-service/tests/service/OrderPlannerService.spec.ts b/sdk/order-planner-service/tests/service/OrderPlannerService.spec.ts index be9a7079fc..8a9275770d 100644 --- a/sdk/order-planner-service/tests/service/OrderPlannerService.spec.ts +++ b/sdk/order-planner-service/tests/service/OrderPlannerService.spec.ts @@ -15,14 +15,13 @@ import { getRefinanceSimulation } from '../utils/RefinanceSimulation/RefinanceSi import { OrderPlannerService } from '../../src/implementation/OrderPlannerService' import { decodeActionCalldata, - SkippableActionCall, decodePositionsManagerCalldata, decodeStrategyExecutorCalldata, getErrorMessage, } from '@summerfi/testing-utils' import assert from 'assert' import { IUser } from '@summerfi/sdk-common/user' -import { IProtocolPluginsRegistry } from '@summerfi/protocol-plugins-common' +import { ActionCall, IProtocolPluginsRegistry } from '@summerfi/protocol-plugins-common' import { http, createPublicClient } from 'viem' import { MakerPaybackAction, @@ -153,7 +152,7 @@ describe('Order Planner Service', () => { expect(flashloanCall.mapping).toEqual([0, 0, 0, 0]) /* Decode flashloan sub-calls */ - const flashloanSubcalls = flashloanCall.args[0].calls as SkippableActionCall[] + const flashloanSubcalls = flashloanCall.args[0].calls as ActionCall[] // PaybackWithdraw in Maker and DepositBorrow in Spark take 2 actions each expect(flashloanSubcalls.length).toBe(6) diff --git a/sdk/protocol-plugins-common/src/actions/BaseAction.ts b/sdk/protocol-plugins-common/src/actions/BaseAction.ts index 1625697c9d..7a426e474f 100644 --- a/sdk/protocol-plugins-common/src/actions/BaseAction.ts +++ b/sdk/protocol-plugins-common/src/actions/BaseAction.ts @@ -13,6 +13,8 @@ import { AbiParametersToPrimitiveTypes } from 'abitype' import { IAction } from '../interfaces/IAction' import { HexData } from '@summerfi/sdk-common' +export interface BaseActionParams {} + /** * @class Base class for all actions. It provides the basic functionality to encode the call to the action and provide * the versioned name of the action. @@ -75,6 +77,7 @@ export abstract class BaseAction< name: this.config.name, targetHash, callData: calldata, + skipped: false, } as ActionCall } diff --git a/sdk/protocol-plugins-common/src/actions/SkippedAction.ts b/sdk/protocol-plugins-common/src/actions/SkippedAction.ts new file mode 100644 index 0000000000..6d589884bc --- /dev/null +++ b/sdk/protocol-plugins-common/src/actions/SkippedAction.ts @@ -0,0 +1,40 @@ +import { BaseAction } from './BaseAction' +import { InputSlotsMapping } from '../types/InputSlotsMapping' +import { ActionCall } from './Types' +import { IAction } from '../interfaces/IAction' + +export class SkippedAction extends BaseAction { + static Config = { + name: 'SkippedAction', + version: 0, + parametersAbi: ['()'], + storageInputs: [], + storageOutputs: [], + } as const + + private _skippedAction: IAction + + public constructor(skippedAction: IAction) { + super() + + this._skippedAction = skippedAction + } + + /* eslint-disable @typescript-eslint/no-unused-vars */ + public encodeCall(paramsMapping?: InputSlotsMapping): ActionCall { + return { + name: this._skippedAction.config.name, + callData: '0x', + targetHash: this._skippedAction.getActionHash(), + skipped: true, + } + } + + public get config() { + return SkippedAction.Config + } + + public getVersionedName(): string { + return this._skippedAction.getVersionedName() + } +} diff --git a/sdk/protocol-plugins-common/src/actions/Types.ts b/sdk/protocol-plugins-common/src/actions/Types.ts index c4cc1dddbb..9636f62da6 100644 --- a/sdk/protocol-plugins-common/src/actions/Types.ts +++ b/sdk/protocol-plugins-common/src/actions/Types.ts @@ -15,7 +15,7 @@ export type ActionVersion = number */ export type ActionConfig = { /** The name of the action */ - readonly name: ActionNames + readonly name: ActionNames | 'SkippedAction' /** The version of the action */ readonly version: ActionVersion /** Human-readable ABI parameters (check `viem` documentation) */ @@ -32,11 +32,13 @@ export type ActionConfig = { */ export type ActionCall = { /** Name of the action for logging */ - readonly name: ActionNames + readonly name: ActionNames | 'SkippedAction' /** The hash of the action name plus its version */ readonly targetHash: HexData /** The call data to be sent to the smart contract */ readonly callData: HexData + /** If the action was skipped */ + readonly skipped: boolean } /** diff --git a/sdk/protocol-plugins-common/src/actions/index.ts b/sdk/protocol-plugins-common/src/actions/index.ts index 44dee35d96..ab2271f948 100644 --- a/sdk/protocol-plugins-common/src/actions/index.ts +++ b/sdk/protocol-plugins-common/src/actions/index.ts @@ -1,10 +1,3 @@ -export type { - ActionConfig, - ActionCall, - ActionCallBatch, - ActionStorageName, - ActionInputStorageNames, - ActionOutputStorageNames, - ActionVersion, -} from './Types' -export { BaseAction } from './BaseAction' +export type * from './Types' +export * from './BaseAction' +export * from './SkippedAction' diff --git a/sdk/protocol-plugins-common/src/context/StepBuilderContext.ts b/sdk/protocol-plugins-common/src/context/StepBuilderContext.ts index 3ecceeb500..d7414af88e 100644 --- a/sdk/protocol-plugins-common/src/context/StepBuilderContext.ts +++ b/sdk/protocol-plugins-common/src/context/StepBuilderContext.ts @@ -7,6 +7,7 @@ import { ActionCallBatch, ActionConfig } from '../actions/Types' import { ActionCallsStack } from './ActionCallsStack' import { ExecutionStorageMapper } from './ExecutionStorageMapper' import { TransactionInfo } from '@summerfi/sdk-common/orders' +import { SkippedAction } from '../actions/SkippedAction' /** * @name StepBuilderContext @@ -33,7 +34,19 @@ export class StepBuilderContext implements IStepBuilderContext { arguments: Parameters[0] connectedInputs: Partial> connectedOutputs: Partial> + skip?: boolean }) { + // TODO: temporary solution until we remove the Operations Registry + if (params.skip) { + const skipAction = new SkippedAction(params.action) + + this._calls.addCall({ + call: skipAction.encodeCall(), + }) + + return + } + const paramsMapping = this._storage.addStorageMap({ step: params.step, action: params.action, diff --git a/sdk/protocol-plugins-common/src/interfaces/IActionBuilder.ts b/sdk/protocol-plugins-common/src/interfaces/IActionBuilder.ts index 2b31de4f5b..f05e4a8266 100644 --- a/sdk/protocol-plugins-common/src/interfaces/IActionBuilder.ts +++ b/sdk/protocol-plugins-common/src/interfaces/IActionBuilder.ts @@ -18,6 +18,7 @@ export type ActionBuilderParams = { addressBookManager: IAddressBookManager protocolsRegistry: IProtocolPluginsRegistry step: Step + actionBuildersMap: ActionBuildersMap } /** diff --git a/sdk/protocol-plugins-common/src/interfaces/IStepBuilderContext.ts b/sdk/protocol-plugins-common/src/interfaces/IStepBuilderContext.ts index afb7e84beb..9260c715d1 100644 --- a/sdk/protocol-plugins-common/src/interfaces/IStepBuilderContext.ts +++ b/sdk/protocol-plugins-common/src/interfaces/IStepBuilderContext.ts @@ -27,6 +27,7 @@ export interface IStepBuilderContext { * will read from storage * @param connectedOutputs The connected outputs to the action, this is the values that the action * will write to storage + * @param skip If true, the action will be skipped and empty calldata will be added to the TX */ addActionCall< Step extends steps.Steps, @@ -38,6 +39,7 @@ export interface IStepBuilderContext { arguments: Parameters[0] connectedInputs: Partial> connectedOutputs: Partial> + skip?: boolean }): void /** diff --git a/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3DepositBorrowActionBuilder.ts b/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3DepositBorrowActionBuilder.ts index d050310b82..9182afb7d3 100644 --- a/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3DepositBorrowActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/aave-v3/builders/AaveV3DepositBorrowActionBuilder.ts @@ -63,21 +63,19 @@ export class AaveV3DepositBorrowActionBuilder extends BaseActionBuilder { public static Config = { name: 'TakeFlashloan', @@ -26,15 +21,6 @@ export class FlashloanAction extends BaseAction { }, paramsMapping?: InputSlotsMapping, ): ActionCall { - const calls: OptionalActionCall[] = params.calls.map((call) => { - return { - name: call.name, - targetHash: call.targetHash, - callData: call.callData, - skipped: false, - } - }) - return this._encodeCall({ arguments: [ { @@ -43,7 +29,7 @@ export class FlashloanAction extends BaseAction { isProxyFlashloan: true, isDPMProxy: true, provider: params.provider, - calls: calls, + calls: params.calls, }, ], mapping: paramsMapping, diff --git a/sdk/protocol-plugins/src/plugins/common/builders/SkippedStepActionBuilder.ts b/sdk/protocol-plugins/src/plugins/common/builders/SkippedStepActionBuilder.ts new file mode 100644 index 0000000000..28f1bc5501 --- /dev/null +++ b/sdk/protocol-plugins/src/plugins/common/builders/SkippedStepActionBuilder.ts @@ -0,0 +1,43 @@ +import { + ActionBuilderParams, + ActionBuilderUsedAction, + ActionConfig, + BaseAction, +} from '@summerfi/protocol-plugins-common' +import { steps } from '@summerfi/sdk-common/simulation' +import { BaseActionBuilder } from '../../../implementation/BaseActionBuilder' + +// TODO: temporary solution until we remove the Operations Registry +export class SkippedStepActionBuilder extends BaseActionBuilder { + readonly actions: ActionBuilderUsedAction[] = [] + + /* eslint-disable-next-line @typescript-eslint/no-unused-vars */ + async build(params: ActionBuilderParams): Promise { + const { context } = params + const BuilderClass = params.actionBuildersMap[params.step.inputs.type] + if (!BuilderClass) { + return + } + + const builder = new BuilderClass() + + for (const actionConfig of builder.actions) { + if (actionConfig.action === 'DelegatedToProtocol') { + throw new Error('DelegatedToProtocol is not supported in SkippedStepActionBuilder') + } + + const action = new actionConfig.action() + + console.debug('Adding skipped call') + + context.addActionCall({ + step: params.step, + action: action as BaseAction, + arguments: {}, + connectedInputs: {}, + connectedOutputs: {}, + skip: true, + }) + } + } +} diff --git a/sdk/protocol-plugins/src/plugins/common/builders/index.ts b/sdk/protocol-plugins/src/plugins/common/builders/index.ts index d56f468f26..c2dbc80501 100644 --- a/sdk/protocol-plugins/src/plugins/common/builders/index.ts +++ b/sdk/protocol-plugins/src/plugins/common/builders/index.ts @@ -8,3 +8,4 @@ export * from './SwapActionBuilder' export * from './PositionCreatedActionBuilder' export * from './ImportPositionActionBuilder' export * from './OpenPositionActionBuilder' +export * from './SkippedStepActionBuilder' diff --git a/sdk/protocol-plugins/src/plugins/maker/builders/MakerPaybackWithdrawActionBuilder.ts b/sdk/protocol-plugins/src/plugins/maker/builders/MakerPaybackWithdrawActionBuilder.ts index 1c2073045f..fd01e7a9fb 100644 --- a/sdk/protocol-plugins/src/plugins/maker/builders/MakerPaybackWithdrawActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/maker/builders/MakerPaybackWithdrawActionBuilder.ts @@ -30,22 +30,21 @@ export class MakerPaybackWithdrawActionBuilder extends BaseActionBuilder { name: 'SendToken', targetHash: '0x3434343434343434343434343434343456565656565656565656565656565656', callData: '0x1234567890123456789012345678901234', + skipped: false, }, { name: 'ReturnFunds', targetHash: '0x1212121212121212121212121212121278787878787878787878787878787878', callData: '0x9876543210987654321098765432109876', + skipped: false, }, ], }, diff --git a/sdk/protocol-plugins/tests/unit/builders/aaveV3/AaveV3DepositBorrowActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/aaveV3/AaveV3DepositBorrowActionBuilder.spec.ts index 37591bff59..3a777e7eb5 100644 --- a/sdk/protocol-plugins/tests/unit/builders/aaveV3/AaveV3DepositBorrowActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/aaveV3/AaveV3DepositBorrowActionBuilder.spec.ts @@ -182,10 +182,11 @@ describe('AaveV3 Deposit Borrow Action Builder', () => { const { callsBatch } = builderParams.context.endSubContext() - expect(callsBatch.length).toEqual(2) + expect(callsBatch.length).toEqual(3) expect(callsBatch[0].name).toBe('SetApproval') expect(callsBatch[1].name).toBe('AaveV3Deposit') + expect(callsBatch[2].name).toBe('AaveV3Borrow') }) it('should add borrow but not send token when borrow target is positions manager', async () => { diff --git a/sdk/protocol-plugins/tests/unit/builders/aaveV3/AaveV3PaybackWithdrawActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/aaveV3/AaveV3PaybackWithdrawActionBuilder.spec.ts index 8c31b47a36..1e08e65d93 100644 --- a/sdk/protocol-plugins/tests/unit/builders/aaveV3/AaveV3PaybackWithdrawActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/aaveV3/AaveV3PaybackWithdrawActionBuilder.spec.ts @@ -182,8 +182,10 @@ describe('AaveV3 Payback Withdraw Action Builder', () => { const { callsBatch } = builderParams.context.endSubContext() - expect(callsBatch.length).toEqual(1) + expect(callsBatch.length).toEqual(3) - expect(callsBatch[0].name).toBe('AaveV3Withdraw') + expect(callsBatch[0].name).toBe('SetApproval') + expect(callsBatch[1].name).toBe('AaveV3Payback') + expect(callsBatch[2].name).toBe('AaveV3Withdraw') }) }) diff --git a/sdk/protocol-plugins/tests/unit/builders/maker/MakerPaybackWithdrawActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/maker/MakerPaybackWithdrawActionBuilder.spec.ts index 1d7c045225..07a9f08744 100644 --- a/sdk/protocol-plugins/tests/unit/builders/maker/MakerPaybackWithdrawActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/maker/MakerPaybackWithdrawActionBuilder.spec.ts @@ -187,8 +187,9 @@ describe('Maker Payback Withdraw Action Builder', () => { const { callsBatch } = builderParams.context.endSubContext() - expect(callsBatch.length).toEqual(1) + expect(callsBatch.length).toEqual(2) - expect(callsBatch[0].name).toBe('MakerWithdraw') + expect(callsBatch[0].name).toBe('MakerPayback') + expect(callsBatch[1].name).toBe('MakerWithdraw') }) }) diff --git a/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoDepositBorrowActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoDepositBorrowActionBuilder.spec.ts index 6d63b4a36e..3dd9eb142d 100644 --- a/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoDepositBorrowActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoDepositBorrowActionBuilder.spec.ts @@ -190,10 +190,12 @@ describe('Morpho Deposit Borrow Action Builder', () => { const { callsBatch } = builderParams.context.endSubContext() - expect(callsBatch.length).toEqual(2) + expect(callsBatch.length).toEqual(4) expect(callsBatch[0].name).toBe('SetApproval') expect(callsBatch[1].name).toBe('MorphoBlueDeposit') + expect(callsBatch[2].name).toBe('MorphoBlueBorrow') + expect(callsBatch[3].name).toBe('SendToken') }) it('should add borrow but not send token when borrow target is positions manager', async () => { @@ -213,10 +215,11 @@ describe('Morpho Deposit Borrow Action Builder', () => { const { callsBatch } = builderParams.context.endSubContext() - expect(callsBatch.length).toEqual(3) + expect(callsBatch.length).toEqual(4) expect(callsBatch[0].name).toBe('SetApproval') expect(callsBatch[1].name).toBe('MorphoBlueDeposit') expect(callsBatch[2].name).toBe('MorphoBlueBorrow') + expect(callsBatch[3].name).toBe('SendToken') }) }) diff --git a/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoPaybackWithdrawActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoPaybackWithdrawActionBuilder.spec.ts index 0b71224781..f258c72097 100644 --- a/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoPaybackWithdrawActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/morpho/MorphoPaybackWithdrawActionBuilder.spec.ts @@ -187,8 +187,10 @@ describe('Morpho Payback Withdraw Action Builder', () => { const { callsBatch } = builderParams.context.endSubContext() - expect(callsBatch.length).toEqual(1) + expect(callsBatch.length).toEqual(3) - expect(callsBatch[0].name).toBe('MorphoBlueWithdraw') + expect(callsBatch[0].name).toBe('SetApproval') + expect(callsBatch[1].name).toBe('MorphoBluePayback') + expect(callsBatch[2].name).toBe('MorphoBlueWithdraw') }) }) diff --git a/sdk/protocol-plugins/tests/unit/builders/spark/SparkDepositBorrowActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/spark/SparkDepositBorrowActionBuilder.spec.ts index 6e9e5a2356..9cb115d17d 100644 --- a/sdk/protocol-plugins/tests/unit/builders/spark/SparkDepositBorrowActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/spark/SparkDepositBorrowActionBuilder.spec.ts @@ -182,10 +182,11 @@ describe('Spark Deposit Borrow Action Builder', () => { const { callsBatch } = builderParams.context.endSubContext() - expect(callsBatch.length).toEqual(2) + expect(callsBatch.length).toEqual(3) expect(callsBatch[0].name).toBe('SetApproval') expect(callsBatch[1].name).toBe('SparkDeposit') + expect(callsBatch[2].name).toBe('SparkBorrow') }) it('should add borrow but not send token when borrow target is positions manager', async () => { diff --git a/sdk/protocol-plugins/tests/unit/builders/spark/SparkPaybackWithdrawActionBuilder.spec.ts b/sdk/protocol-plugins/tests/unit/builders/spark/SparkPaybackWithdrawActionBuilder.spec.ts index 7f247571e6..8a8ffd164a 100644 --- a/sdk/protocol-plugins/tests/unit/builders/spark/SparkPaybackWithdrawActionBuilder.spec.ts +++ b/sdk/protocol-plugins/tests/unit/builders/spark/SparkPaybackWithdrawActionBuilder.spec.ts @@ -182,8 +182,10 @@ describe('Spark Payback Withdraw Action Builder', () => { const { callsBatch } = builderParams.context.endSubContext() - expect(callsBatch.length).toEqual(1) + expect(callsBatch.length).toEqual(3) - expect(callsBatch[0].name).toBe('SparkWithdraw') + expect(callsBatch[0].name).toBe('SetApproval') + expect(callsBatch[1].name).toBe('SparkPayback') + expect(callsBatch[2].name).toBe('SparkWithdraw') }) }) diff --git a/sdk/protocol-plugins/tests/utils/SetupBuilderParams.ts b/sdk/protocol-plugins/tests/utils/SetupBuilderParams.ts index 2962f2a715..b18466abdf 100644 --- a/sdk/protocol-plugins/tests/utils/SetupBuilderParams.ts +++ b/sdk/protocol-plugins/tests/utils/SetupBuilderParams.ts @@ -3,7 +3,7 @@ import { IPositionsManager } from '@summerfi/sdk-common/orders' import { Address, ChainInfo } from '@summerfi/sdk-common/common' import { SetupDeployments } from './SetupDeployments' import { IUser } from '@summerfi/sdk-common/user' -import { IProtocolPluginsRegistry } from '@summerfi/protocol-plugins-common' +import { ActionBuildersMap, IProtocolPluginsRegistry } from '@summerfi/protocol-plugins-common' import { createEmptyBuildersProtocolPluginsRegistry, createEmptyProtocolPluginsRegistry, @@ -25,6 +25,7 @@ export type SetupBuilderReturnType = { swapManager: SwapManagerMock addressBookManager: IAddressBookManager protocolsRegistry: IProtocolPluginsRegistry + actionBuildersMap: ActionBuildersMap emptyProtocolsRegistry: IProtocolPluginsRegistry emptyBuildersProtocolRegistry: IProtocolPluginsRegistry noCheckpointProtocolsRegistry: IProtocolPluginsRegistry @@ -50,6 +51,7 @@ export function setupBuilderParams(params: { chainInfo: ChainInfo }): SetupBuild swapManager: new SwapManagerMock(), addressBookManager: new AddressBookManagerMock(), protocolsRegistry: protocolsRegistry, + actionBuildersMap: {} as ActionBuildersMap, emptyProtocolsRegistry: emptyProtocolsRegistry, noCheckpointProtocolsRegistry: noCheckpointProtocolsRegistry, emptyBuildersProtocolRegistry: emptyBuildersProtocolRegistry, diff --git a/sdk/protocol-plugins/tsconfig.json b/sdk/protocol-plugins/tsconfig.json index 98e8557db2..0486e28398 100644 --- a/sdk/protocol-plugins/tsconfig.json +++ b/sdk/protocol-plugins/tsconfig.json @@ -5,6 +5,11 @@ "outDir": "dist", "baseUrl": "." }, - "include": ["src/**/*.ts", "tests/**/*.ts", "tests/mocks/*.ts"], + "include": [ + "src/**/*.ts", + "tests/**/*.ts", + "tests/mocks/*.ts", + "../protocol-plugins-common/src/actions/SkippedAction.ts" + ], "exclude": ["node_modules", "dist"] } diff --git a/sdk/sdk-common/src/simulation/Enums.ts b/sdk/sdk-common/src/simulation/Enums.ts index 72e9232d8f..ef7edc5d93 100644 --- a/sdk/sdk-common/src/simulation/Enums.ts +++ b/sdk/sdk-common/src/simulation/Enums.ts @@ -25,6 +25,7 @@ export enum SimulationSteps { Import = 'Import', NewPositionEvent = 'NewPositionEvent', OpenPosition = 'OpenPosition', + Skipped = 'Skipped', } export enum FlashloanProvider { diff --git a/sdk/sdk-common/src/simulation/Steps.ts b/sdk/sdk-common/src/simulation/Steps.ts index a0092b1e62..046d268403 100644 --- a/sdk/sdk-common/src/simulation/Steps.ts +++ b/sdk/sdk-common/src/simulation/Steps.ts @@ -8,6 +8,7 @@ import { IPrice } from '../common/interfaces/IPrice' import { IPosition } from '../common/interfaces/IPosition' import { IToken } from '../common/interfaces/IToken' import { ILendingPool } from '../protocols/interfaces/ILendingPool' +import { ProtocolName } from '../protocols' export interface Step { type: T @@ -60,6 +61,15 @@ export interface PaybackWithdrawStep } > {} +export interface SkippedStep + extends Step< + SimulationSteps.Skipped, + { + type: SimulationSteps + protocol?: ProtocolName + } + > {} + export interface SwapStep extends Step< SimulationSteps.Swap, @@ -124,3 +134,4 @@ export type Steps = | NewPositionEventStep | ImportStep | OpenPosition + | SkippedStep diff --git a/sdk/sdk-e2e/tests/refinanceAaveV3SparkAnyPair.test.ts b/sdk/sdk-e2e/tests/refinanceAaveV3SparkAnyPair.test.ts index 40a9d85d3b..e92a73f442 100644 --- a/sdk/sdk-e2e/tests/refinanceAaveV3SparkAnyPair.test.ts +++ b/sdk/sdk-e2e/tests/refinanceAaveV3SparkAnyPair.test.ts @@ -37,17 +37,17 @@ jest.setTimeout(300000) /** TEST CONFIG */ const config = { SDKAPiUrl: 'https://zmjmtfsocb.execute-api.us-east-1.amazonaws.com/api/sdk', - TenderlyForkUrl: 'https://virtual.mainnet.rpc.tenderly.co/cc7432cd-f037-4aa8-a05f-ae6d8cefba39', + TenderlyForkUrl: 'https://virtual.mainnet.rpc.tenderly.co/5eea57de-3dc2-4cae-b7ed-24b16b0cbde0', DPMAddress: '0x551eb8395093fde4b9eef017c93593a3c7a75138', walletAddress: '0xbEf4befb4F230F43905313077e3824d7386E09F8', collateralTokenSymbol: CommonTokenSymbols.WETH, collateralAmount: '0.0198', debtTokenSymbol: CommonTokenSymbols.DAI, - debtAmount: '26', + debtAmount: '34', sendTransactionEnabled: true, } -describe.skip('Refinance AaveV3 Spark | SDK', () => { +describe('Refinance AaveV3 Spark | SDK', () => { it('should allow refinance Maker -> Spark with same pair', async () => { // SDK const sdk = makeSDK({ apiURL: config.SDKAPiUrl }) @@ -181,10 +181,11 @@ describe.skip('Refinance AaveV3 Spark | SDK', () => { assert(refinanceOrder, 'Order not found') - // Send transaction - console.log('Sending transaction...') - + console.log('Order:', JSON.stringify(refinanceOrder, null, 2)) if (config.sendTransactionEnabled) { + // Send transaction + console.log('Sending transaction...') + const privateKey = process.env.DEPLOYER_PRIVATE_KEY as Hex const transactionUtils = new TransactionUtils({ rpcUrl: config.TenderlyForkUrl, diff --git a/sdk/sdk-server/src/handlers/getRefinanceSimulation.ts b/sdk/sdk-server/src/handlers/getRefinanceSimulation.ts index fac12c1ab8..ad13a6b746 100644 --- a/sdk/sdk-server/src/handlers/getRefinanceSimulation.ts +++ b/sdk/sdk-server/src/handlers/getRefinanceSimulation.ts @@ -1,5 +1,5 @@ import type { ISimulation, RefinanceSimulationTypes } from '@summerfi/sdk-common/simulation' -import { refinanceStrategyRouter } from '@summerfi/simulator-service/strategies' +import { refinanceLendingToLending } from '@summerfi/simulator-service/strategies' import { publicProcedure } from '../TRPC' import { isRefinanceParameters } from '@summerfi/sdk-common/orders' import { z } from 'zod' @@ -11,12 +11,9 @@ export const getRefinanceSimulation = publicProcedure throw new Error('Invalid refinance parameters') } - return refinanceStrategyRouter({ - refinanceParameters: opts.input, - refinanceDependencies: { - swapManager: opts.ctx.swapManager, - oracleManager: opts.ctx.oracleManager, - protocolManager: opts.ctx.protocolManager, - }, + return refinanceLendingToLending(opts.input, { + swapManager: opts.ctx.swapManager, + oracleManager: opts.ctx.oracleManager, + protocolManager: opts.ctx.protocolManager, }) }) diff --git a/sdk/simulator-service/src/implementation/simulator-engine/reducer/skippedStepReducer.ts b/sdk/simulator-service/src/implementation/simulator-engine/reducer/skippedStepReducer.ts new file mode 100644 index 0000000000..a8f97ddaac --- /dev/null +++ b/sdk/simulator-service/src/implementation/simulator-engine/reducer/skippedStepReducer.ts @@ -0,0 +1,12 @@ +import { steps } from '@summerfi/sdk-common/simulation' +import { ISimulationState } from '../../../interfaces/simulation' + +export function skippedStepReducer( + step: steps.SkippedStep, + state: ISimulationState, +): ISimulationState { + return { + ...state, + steps: [...state.steps, step], + } +} diff --git a/sdk/simulator-service/src/implementation/simulator-engine/reducer/stateReducers.ts b/sdk/simulator-service/src/implementation/simulator-engine/reducer/stateReducers.ts index daef596a5a..6baed637f0 100644 --- a/sdk/simulator-service/src/implementation/simulator-engine/reducer/stateReducers.ts +++ b/sdk/simulator-service/src/implementation/simulator-engine/reducer/stateReducers.ts @@ -11,6 +11,7 @@ import { pullTokenReducer } from './pullTokenReducer' import { importReducer } from './importReducer' import { newPositionEventReducer } from './newPositionEventReducer' import { openPositionReducer } from './openPositionReducer' +import { skippedStepReducer } from './skippedStepReducer' const stateReducers: StateReducers = { [SimulationSteps.Flashloan]: flashloanReducer, @@ -23,6 +24,7 @@ const stateReducers: StateReducers = { [SimulationSteps.Import]: importReducer, [SimulationSteps.NewPositionEvent]: newPositionEventReducer, [SimulationSteps.OpenPosition]: openPositionReducer, + [SimulationSteps.Skipped]: skippedStepReducer, } export function stateReducer(step: steps.Steps, state: ISimulationState): ISimulationState { diff --git a/sdk/simulator-service/src/implementation/simulator-engine/simulator.ts b/sdk/simulator-service/src/implementation/simulator-engine/simulator.ts index 74899968d5..e3a6900615 100644 --- a/sdk/simulator-service/src/implementation/simulator-engine/simulator.ts +++ b/sdk/simulator-service/src/implementation/simulator-engine/simulator.ts @@ -5,7 +5,7 @@ import { processStepOutput } from './stepProcessor/stepOutputProcessors' import { stateReducer } from './reducer/stateReducers' import type { SimulationStrategy } from '@summerfi/sdk-common/simulation' import { steps } from '@summerfi/sdk-common/simulation' -import { Maybe } from '@summerfi/sdk-common' +import { Maybe, ProtocolName, SimulationSteps } from '@summerfi/sdk-common' import { GetReferencedValue, NextFunction, @@ -83,24 +83,31 @@ export class Simulator, - skip?: boolean, + skipData?: { skip: boolean; type: SimulationSteps; protocol?: ProtocolName }, ): Simulator, [...AddedSteps, ProccessedStep]> { const schemaHead = head(this.schema) const schemaTail = tail(this.schema) - const nextArray = [...this.nextArray, next] - if (skip) { + if (skipData && skipData.skip) { if (schemaHead.optional === false) { throw new Error(`Step is required: ${schemaHead.step}`) } + const skippedNext = [ + ...this.nextArray, + async () => ({ + type: SimulationSteps.Skipped, + inputs: skipData, + }), + ] + return new Simulator, [...AddedSteps, ProccessedStep]>( schemaTail, this.originalSchema, this.state, // TODO: We should not use any here /* eslint-disable-next-line @typescript-eslint/no-explicit-any */ - this.nextArray as any, + skippedNext as any, ) } @@ -108,6 +115,8 @@ export class Simulator, [...AddedSteps, ProccessedStep]>( schemaTail, this.originalSchema, diff --git a/sdk/simulator-service/src/implementation/simulator-engine/stepProcessor/skippedStepOutputProcessor.ts b/sdk/simulator-service/src/implementation/simulator-engine/stepProcessor/skippedStepOutputProcessor.ts new file mode 100644 index 0000000000..5b3e859f6c --- /dev/null +++ b/sdk/simulator-service/src/implementation/simulator-engine/stepProcessor/skippedStepOutputProcessor.ts @@ -0,0 +1,9 @@ +import { steps } from '@summerfi/sdk-common/simulation' +import type { StepOutputProcessor } from '../../../interfaces/steps' + +export const skippedStepOutputProcessor: StepOutputProcessor = async (step) => { + return { + ...step, + outputs: undefined, + } +} diff --git a/sdk/simulator-service/src/implementation/simulator-engine/stepProcessor/stepOutputProcessors.ts b/sdk/simulator-service/src/implementation/simulator-engine/stepProcessor/stepOutputProcessors.ts index 7f175ced45..66f3898969 100644 --- a/sdk/simulator-service/src/implementation/simulator-engine/stepProcessor/stepOutputProcessors.ts +++ b/sdk/simulator-service/src/implementation/simulator-engine/stepProcessor/stepOutputProcessors.ts @@ -14,6 +14,7 @@ import { repayFlashloanOutputProcessor } from './repayFlashloanOutputProcessor' import { importPositionProcessor } from './importPositionProcessor' import { newPositionEventProcessor } from './newPositionEvent' import { openPositionProcessor } from './openPositionProcessor' +import { skippedStepOutputProcessor } from './skippedStepOutputProcessor' const stepOutputProcessors: StepOutputProcessors = { [SimulationSteps.Flashloan]: flashloanOutputProcessor, @@ -26,6 +27,7 @@ const stepOutputProcessors: StepOutputProcessors = { [SimulationSteps.Import]: importPositionProcessor, [SimulationSteps.NewPositionEvent]: newPositionEventProcessor, [SimulationSteps.OpenPosition]: openPositionProcessor, + [SimulationSteps.Skipped]: skippedStepOutputProcessor, } export async function processStepOutput(step: StepsWithoutOutputs): Promise { diff --git a/sdk/simulator-service/src/implementation/utils/GetRefinanceSimulationType.ts b/sdk/simulator-service/src/implementation/utils/GetRefinanceSimulationType.ts deleted file mode 100644 index 1f4ba198e9..0000000000 --- a/sdk/simulator-service/src/implementation/utils/GetRefinanceSimulationType.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { RefinanceSimulationTypes, SimulationType } from '@summerfi/sdk-common/simulation' - -export function getRefinanceSimulationType( - hasCollateralSwap: boolean, - hasDebtSwap: boolean, -): RefinanceSimulationTypes { - if (hasCollateralSwap && hasDebtSwap) { - return SimulationType.RefinanceDifferentPair - } - - if (hasCollateralSwap) { - return SimulationType.RefinanceDifferentCollateral - } - - if (hasDebtSwap) { - return SimulationType.RefinanceDifferentDebt - } - - return SimulationType.Refinance -} diff --git a/sdk/simulator-service/src/strategies/StrategyIndex.ts b/sdk/simulator-service/src/strategies/StrategyIndex.ts index 6b2369429a..b020a38f1c 100644 --- a/sdk/simulator-service/src/strategies/StrategyIndex.ts +++ b/sdk/simulator-service/src/strategies/StrategyIndex.ts @@ -1,12 +1,6 @@ -import { refinanceLendingToLendingSamePairStrategy } from './refinanceSamePair/Strategy' -import { refinanceLendingToLendingAnyPairStrategy } from './refinanceAnyPair/Strategy' -import { refinanceLendingToLendingNoDebtStrategy } from './refinanceNoDebt/Strategy' +import { refinanceLendingToLending } from './refinanceLendingToLending/RefinanceLendingToLendingAnyPair' /** * List of all strategies so the strategy definition generation tool can use them */ -export const StrategyIndex = [ - refinanceLendingToLendingSamePairStrategy, - refinanceLendingToLendingAnyPairStrategy, - refinanceLendingToLendingNoDebtStrategy, -] +export const StrategyIndex = [refinanceLendingToLending] diff --git a/sdk/simulator-service/src/strategies/common/RefinanceStrategyRouter.ts b/sdk/simulator-service/src/strategies/common/RefinanceStrategyRouter.ts deleted file mode 100644 index c13bcd9d20..0000000000 --- a/sdk/simulator-service/src/strategies/common/RefinanceStrategyRouter.ts +++ /dev/null @@ -1,45 +0,0 @@ -import { IRefinanceParameters } from '@summerfi/sdk-common/orders' -import { refinanceLendingToLendingAnyPair } from '../refinanceAnyPair/RefinanceLendingToLendingAnyPair' -import { refinanceLendingToLendingNoDebt } from '../refinanceNoDebt/RefinanceLendingToLendingNoDebt' -import { refinanceLendingToLendingSamePair } from '../refinanceSamePair/RefinanceLendingToLendingSamePair' -import { ISwapManager } from '@summerfi/swap-common/interfaces' -import { IOracleManager } from '@summerfi/oracle-common' -import { IProtocolManager } from '@summerfi/protocol-manager-common' - -function isToSamePair(parameters: IRefinanceParameters): boolean { - const { sourcePosition, targetPool } = parameters - - return ( - sourcePosition.debtAmount.token.equals(targetPool.debtToken) && - sourcePosition.collateralAmount.token.equals(targetPool.collateralToken) - ) -} - -/** - * Choses the correct refinance strategy based on the parameters - * @param refinanceParameters Parameters for the refinance simulation - * @param refinanceDependencies Dependencies for the simulation - * @returns The simulation result - */ -export function refinanceStrategyRouter(params: { - refinanceParameters: IRefinanceParameters - refinanceDependencies: { - swapManager: ISwapManager - oracleManager: IOracleManager - protocolManager: IProtocolManager - } -}) { - if (params.refinanceParameters.sourcePosition.debtAmount.amount === '0') { - return refinanceLendingToLendingNoDebt(params.refinanceParameters, params.refinanceDependencies) - } - - // TODO: in the end we should use just any pair - if (isToSamePair(params.refinanceParameters)) { - return refinanceLendingToLendingSamePair( - params.refinanceParameters, - params.refinanceDependencies, - ) - } - - return refinanceLendingToLendingAnyPair(params.refinanceParameters, params.refinanceDependencies) -} diff --git a/sdk/simulator-service/src/strategies/common/index.ts b/sdk/simulator-service/src/strategies/common/index.ts index f85330ef32..cf701220bd 100644 --- a/sdk/simulator-service/src/strategies/common/index.ts +++ b/sdk/simulator-service/src/strategies/common/index.ts @@ -1,2 +1 @@ export * from './Types' -export * from './RefinanceStrategyRouter' diff --git a/sdk/simulator-service/src/strategies/index.ts b/sdk/simulator-service/src/strategies/index.ts index 31de16f64e..c7990e6a82 100644 --- a/sdk/simulator-service/src/strategies/index.ts +++ b/sdk/simulator-service/src/strategies/index.ts @@ -1,5 +1,3 @@ -export * from './refinanceSamePair' -export * from './refinanceAnyPair' -export * from './refinanceNoDebt' +export * from './refinanceLendingToLending' export * from './common' export * from './import' diff --git a/sdk/simulator-service/src/strategies/refinanceAnyPair/RefinanceLendingToLendingAnyPair.ts b/sdk/simulator-service/src/strategies/refinanceLendingToLending/RefinanceLendingToLendingAnyPair.ts similarity index 73% rename from sdk/simulator-service/src/strategies/refinanceAnyPair/RefinanceLendingToLendingAnyPair.ts rename to sdk/simulator-service/src/strategies/refinanceLendingToLending/RefinanceLendingToLendingAnyPair.ts index 752d6f866c..655be4e5e6 100644 --- a/sdk/simulator-service/src/strategies/refinanceAnyPair/RefinanceLendingToLendingAnyPair.ts +++ b/sdk/simulator-service/src/strategies/refinanceLendingToLending/RefinanceLendingToLendingAnyPair.ts @@ -3,6 +3,7 @@ import { ISimulation, RefinanceSimulationTypes, SimulationSteps, + SimulationType, TokenTransferTargetType, getValueFromReference, } from '@summerfi/sdk-common/simulation' @@ -13,10 +14,9 @@ import { isLendingPool } from '@summerfi/sdk-common/protocols' import { refinanceLendingToLendingAnyPairStrategy } from './Strategy' import { type IRefinanceDependencies } from '../common/Types' import { getSwapStepData } from '../../implementation/utils/GetSwapStepData' -import { getRefinanceSimulationType } from '../../implementation/utils/GetRefinanceSimulationType' import { estimateSwapFromAmount } from '../../implementation/utils/EstimateSwapFromAmount' -export async function refinanceLendingToLendingAnyPair( +export async function refinanceLendingToLending( args: IRefinanceParameters, dependencies: IRefinanceDependencies, ): Promise> { @@ -46,27 +46,36 @@ export async function refinanceLendingToLendingAnyPair( const isCollateralSwapSkipped = targetPool.collateralToken.equals(sourcePool.collateralToken) const isDebtSwapSkipped = targetPool.debtToken.equals(sourcePool.debtToken) + const isDebtAmountZero = position.debtAmount.toBaseUnit() === '0' + + const maxDebtAmount = TokenAmount.createFrom({ + token: position.debtAmount.token, + amount: Number.MAX_SAFE_INTEGER.toString(), + }) const simulation = await simulator - .next(async () => ({ - name: 'Flashloan', - type: SimulationSteps.Flashloan, - inputs: { - amount: flashloanAmount, - provider: - flashloanAmount.token.symbol === CommonTokenSymbols.DAI - ? FlashloanProvider.Maker - : FlashloanProvider.Balancer, + .next( + async () => ({ + name: 'Flashloan', + type: SimulationSteps.Flashloan, + inputs: { + amount: flashloanAmount, + provider: + flashloanAmount.token.symbol === CommonTokenSymbols.DAI + ? FlashloanProvider.Maker + : FlashloanProvider.Balancer, + }, + }), + { + skip: isDebtAmountZero, + type: SimulationSteps.Flashloan, }, - })) + ) .next(async () => ({ name: 'PaybackWithdrawFromSourcePosition', type: SimulationSteps.PaybackWithdraw, inputs: { - paybackAmount: TokenAmount.createFrom({ - amount: Number.MAX_SAFE_INTEGER.toString(), - token: position.debtAmount.token, - }), + paybackAmount: isDebtAmountZero ? position.debtAmount : maxDebtAmount, withdrawAmount: position.collateralAmount, position: position, withdrawTargetType: TokenTransferTargetType.PositionsManager, @@ -85,7 +94,10 @@ export async function refinanceLendingToLendingAnyPair( oracleManager: dependencies.oracleManager, }), }), - isCollateralSwapSkipped, + { + skip: isCollateralSwapSkipped, + type: SimulationSteps.Swap, + }, ) .next(async () => ({ name: 'OpenTargetPosition', @@ -98,7 +110,9 @@ export async function refinanceLendingToLendingAnyPair( name: 'DepositBorrowToTargetPosition', type: SimulationSteps.DepositBorrow, inputs: { - // refactor + depositAmount: isCollateralSwapSkipped + ? position.collateralAmount + : ctx.getReference(['SwapCollateralFromSourcePosition', 'received']), borrowAmount: isDebtSwapSkipped ? position.debtAmount : await estimateSwapFromAmount({ @@ -108,9 +122,7 @@ export async function refinanceLendingToLendingAnyPair( swapManager: dependencies.swapManager, oracleManager: dependencies.oracleManager, }), - depositAmount: isCollateralSwapSkipped - ? position.collateralAmount - : ctx.getReference(['SwapCollateralFromSourcePosition', 'received']), + position: getValueFromReference(ctx.getReference(['OpenTargetPosition', 'position'])), borrowTargetType: TokenTransferTargetType.PositionsManager, }, @@ -130,30 +142,44 @@ export async function refinanceLendingToLendingAnyPair( oracleManager: dependencies.oracleManager, }), }), - isDebtSwapSkipped, + { + skip: isDebtSwapSkipped, + type: SimulationSteps.Swap, + }, ) - .next(async () => ({ - name: 'RepayFlashloan', - type: SimulationSteps.RepayFlashloan, - inputs: { - amount: flashloanAmount, + .next( + async () => ({ + name: 'RepayFlashloan', + type: SimulationSteps.RepayFlashloan, + inputs: { + amount: flashloanAmount, + }, + }), + { + skip: isDebtAmountZero, + type: SimulationSteps.RepayFlashloan, }, - })) - .next(async () => ({ - name: 'ReturnFunds', - type: SimulationSteps.ReturnFunds, - inputs: { - /* - * We swap back to the original position's debt in order to repay the flashloan. - * Therefore, the dust amount will be in the original position's debt - * */ - token: position.debtAmount.token, + ) + .next( + async () => ({ + name: 'ReturnFunds', + type: SimulationSteps.ReturnFunds, + inputs: { + /* + * We swap back to the original position's debt in order to repay the flashloan. + * Therefore, the dust amount will be in the original position's debt + * */ + token: position.debtAmount.token, + }, + }), + { + skip: isDebtAmountZero || isDebtSwapSkipped, + type: SimulationSteps.ReturnFunds, }, - })) + ) .next(async (ctx) => { - // TODO: we should have a way to get the target position more easily and realiably, - const targetPosition = Object.values(ctx.state.positions).find((p) => - p.pool.id.protocol.equals(targetPool.id.protocol), + const targetPosition = getValueFromReference( + ctx.getReference(['OpenTargetPosition', 'position']), ) if (!targetPosition) { throw new Error('Target position not found') @@ -181,9 +207,9 @@ export async function refinanceLendingToLendingAnyPair( } return { - simulationType: getRefinanceSimulationType(!isCollateralSwapSkipped, !isDebtSwapSkipped), + simulationType: SimulationType.Refinance, sourcePosition: position, - targetPosition, + targetPosition: targetPosition, swaps: simulation.swaps, steps: simulation.steps, } satisfies ISimulation diff --git a/sdk/simulator-service/src/strategies/refinanceAnyPair/Strategy.ts b/sdk/simulator-service/src/strategies/refinanceLendingToLending/Strategy.ts similarity index 100% rename from sdk/simulator-service/src/strategies/refinanceAnyPair/Strategy.ts rename to sdk/simulator-service/src/strategies/refinanceLendingToLending/Strategy.ts diff --git a/sdk/simulator-service/src/strategies/refinanceAnyPair/index.ts b/sdk/simulator-service/src/strategies/refinanceLendingToLending/index.ts similarity index 100% rename from sdk/simulator-service/src/strategies/refinanceAnyPair/index.ts rename to sdk/simulator-service/src/strategies/refinanceLendingToLending/index.ts diff --git a/sdk/simulator-service/src/strategies/refinanceNoDebt/RefinanceLendingToLendingNoDebt.ts b/sdk/simulator-service/src/strategies/refinanceNoDebt/RefinanceLendingToLendingNoDebt.ts deleted file mode 100644 index d56c51a195..0000000000 --- a/sdk/simulator-service/src/strategies/refinanceNoDebt/RefinanceLendingToLendingNoDebt.ts +++ /dev/null @@ -1,132 +0,0 @@ -import { - ISimulation, - SimulationSteps, - SimulationType, - TokenTransferTargetType, - getValueFromReference, -} from '@summerfi/sdk-common/simulation' -import { Simulator } from '../../implementation/simulator-engine' -import { Percentage, TokenAmount } from '@summerfi/sdk-common/common' -import { IRefinanceParameters } from '@summerfi/sdk-common/orders' -import { isLendingPool } from '@summerfi/sdk-common/protocols' -import { refinanceLendingToLendingNoDebtStrategy } from './Strategy' -import { type IRefinanceDependencies } from '../common/Types' -import { getSwapStepData } from '../../implementation/utils/GetSwapStepData' - -export async function refinanceLendingToLendingNoDebt( - args: IRefinanceParameters, - dependencies: IRefinanceDependencies, -): Promise< - ISimulation -> { - // args validation - if (!isLendingPool(args.sourcePosition.pool)) { - throw new Error('Source pool is not a lending pool') - } - if (!isLendingPool(args.targetPool)) { - throw new Error('Target pool is not a lending pool') - } - - const position = args.sourcePosition - const sourcePool = args.sourcePosition.pool - const targetPool = args.targetPool - - if (!isLendingPool(targetPool)) { - throw new Error('Target pool is not a lending pool') - } - const simulator = Simulator.create(refinanceLendingToLendingNoDebtStrategy) - - const zeroAmount = TokenAmount.createFromBaseUnit({ - token: position.debtAmount.token, - amount: '0', - }) - - const isCollateralSwapSkipped = targetPool.collateralToken.equals(sourcePool.collateralToken) - - const simulation = await simulator - .next(async () => ({ - name: 'PaybackWithdrawFromSourcePosition', - type: SimulationSteps.PaybackWithdraw, - inputs: { - paybackAmount: zeroAmount, - withdrawAmount: position.collateralAmount, - position: position, - withdrawTargetType: TokenTransferTargetType.PositionsManager, - }, - })) - .next( - async () => ({ - name: 'SwapCollateralFromSourcePosition', - type: SimulationSteps.Swap, - inputs: await getSwapStepData({ - chainInfo: position.pool.id.protocol.chainInfo, - fromAmount: position.collateralAmount, - toToken: targetPool.collateralToken, - slippage: Percentage.createFrom({ value: args.slippage.value }), - swapManager: dependencies.swapManager, - oracleManager: dependencies.oracleManager, - }), - }), - isCollateralSwapSkipped, - ) - .next(async () => ({ - name: 'OpenTargetPosition', - type: SimulationSteps.OpenPosition, - inputs: { - pool: targetPool, - }, - })) - .next(async (ctx) => ({ - name: 'DepositBorrowToTargetPosition', - type: SimulationSteps.DepositBorrow, - inputs: { - depositAmount: isCollateralSwapSkipped - ? position.collateralAmount - : ctx.getReference(['SwapCollateralFromSourcePosition', 'received']), - borrowAmount: TokenAmount.createFrom({ - amount: '0', - token: targetPool.debtToken, - }), - position: getValueFromReference(ctx.getReference(['OpenTargetPosition', 'position'])), - borrowTargetType: TokenTransferTargetType.PositionsManager, - }, - })) - .next(async (ctx) => { - const targetPosition = getValueFromReference( - ctx.getReference(['OpenTargetPosition', 'position']), - ) - if (!targetPosition) { - throw new Error('Target position not found') - } - - return { - name: 'NewPositionEvent', - type: SimulationSteps.NewPositionEvent, - inputs: { - position: targetPosition, - }, - } - }) - .run() - - const targetPositionId = getValueFromReference( - simulation.getReference(['OpenTargetPosition', 'position']), - ) - const targetPosition = Object.values(simulation.positions).find( - (p) => p.id.id === targetPositionId.id.id, - ) - - if (!targetPosition) { - throw new Error('Target position not found') - } - - return { - simulationType: isCollateralSwapSkipped - ? SimulationType.RefinanceNoDebt - : SimulationType.RefinanceNoDebtDifferentCollateral, - sourcePosition: position, - targetPosition, - swaps: Object.values(simulation.swaps), - steps: Object.values(simulation.steps), - } -} diff --git a/sdk/simulator-service/src/strategies/refinanceNoDebt/Strategy.ts b/sdk/simulator-service/src/strategies/refinanceNoDebt/Strategy.ts deleted file mode 100644 index b95a1fe56e..0000000000 --- a/sdk/simulator-service/src/strategies/refinanceNoDebt/Strategy.ts +++ /dev/null @@ -1,30 +0,0 @@ -import { SimulationSteps } from '@summerfi/sdk-common/simulation' -import { makeStrategy } from '../../implementation/utils' - -export const refinanceLendingToLendingNoDebtStrategy = makeStrategy([ - { - name: 'PaybackWithdrawFromSourcePosition', - step: SimulationSteps.PaybackWithdraw, - optional: false, - }, - { - name: 'SwapCollateralFromSourcePosition', - step: SimulationSteps.Swap, - optional: true, - }, - { - name: 'OpenTargetPosition', - step: SimulationSteps.OpenPosition, - optional: false, - }, - { - name: 'DepositBorrowToTargetPosition', - step: SimulationSteps.DepositBorrow, - optional: false, - }, - { - name: 'NewPositionEvent', - step: SimulationSteps.NewPositionEvent, - optional: false, - }, -] as const) diff --git a/sdk/simulator-service/src/strategies/refinanceNoDebt/index.ts b/sdk/simulator-service/src/strategies/refinanceNoDebt/index.ts deleted file mode 100644 index cd0d1e4d72..0000000000 --- a/sdk/simulator-service/src/strategies/refinanceNoDebt/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './RefinanceLendingToLendingNoDebt' -export * from './Strategy' diff --git a/sdk/simulator-service/src/strategies/refinanceSamePair/RefinanceLendingToLendingSamePair.ts b/sdk/simulator-service/src/strategies/refinanceSamePair/RefinanceLendingToLendingSamePair.ts deleted file mode 100644 index 1f32eef744..0000000000 --- a/sdk/simulator-service/src/strategies/refinanceSamePair/RefinanceLendingToLendingSamePair.ts +++ /dev/null @@ -1,129 +0,0 @@ -import { - FlashloanProvider, - ISimulation, - SimulationSteps, - SimulationType, - TokenTransferTargetType, - getValueFromReference, -} from '@summerfi/sdk-common/simulation' -import { Simulator } from '../../implementation/simulator-engine' -import { TokenAmount } from '@summerfi/sdk-common/common' -import { IRefinanceParameters } from '@summerfi/sdk-common/orders' -import { isLendingPool } from '@summerfi/sdk-common/protocols' -import { refinanceLendingToLendingSamePairStrategy } from './Strategy' -import { type IRefinanceDependencies } from '../common/Types' - -export async function refinanceLendingToLendingSamePair( - args: IRefinanceParameters, - /* eslint-disable-next-line @typescript-eslint/no-unused-vars */ - dependencies: IRefinanceDependencies, -): Promise> { - // args validation - if (!isLendingPool(args.sourcePosition.pool)) { - throw new Error('Source pool is not a lending pool') - } - if (!isLendingPool(args.targetPool)) { - throw new Error('Target pool is not a lending pool') - } - - const position = args.sourcePosition - const targetPool = args.targetPool - - if (!isLendingPool(targetPool)) { - throw new Error('Target pool is not a lending pool') - } - - const FLASHLOAN_MARGIN = 1.001 - const flashloanAmount = position.debtAmount.multiply(FLASHLOAN_MARGIN) - const simulator = Simulator.create(refinanceLendingToLendingSamePairStrategy) - - // TODO: read debt amount from chain (special step: ReadDebtAmount) - // TODO: the swap quote should also include the summer fee, in this case we need to know when we are taking the fee, - // before or after the swap, it influences actual call to oneInch api - const simulation = await simulator - .next(async () => ({ - name: 'Flashloan', - type: SimulationSteps.Flashloan, - inputs: { - amount: flashloanAmount, - provider: - flashloanAmount.token.symbol === 'DAI' - ? FlashloanProvider.Maker - : FlashloanProvider.Balancer, - }, - })) - .next(async () => ({ - name: 'PaybackWithdrawFromSourcePosition', - type: SimulationSteps.PaybackWithdraw, - inputs: { - paybackAmount: TokenAmount.createFrom({ - amount: Number.MAX_SAFE_INTEGER.toString(), - token: position.debtAmount.token, - }), - withdrawTargetType: TokenTransferTargetType.PositionsManager, - withdrawAmount: position.collateralAmount, - position: position, - }, - })) - .next(async () => ({ - name: 'OpenTargetPosition', - type: SimulationSteps.OpenPosition, - inputs: { - pool: targetPool, - }, - })) - .next(async (ctx) => ({ - name: 'DepositBorrowToTargetPosition', - type: SimulationSteps.DepositBorrow, - inputs: { - depositAmount: position.collateralAmount, - borrowAmount: position.debtAmount, // TODO figure the debt amount - position: getValueFromReference(ctx.getReference(['OpenTargetPosition', 'position'])), - borrowTargetType: TokenTransferTargetType.PositionsManager, - }, - })) - .next(async () => ({ - name: 'RepayFlashloan', - type: SimulationSteps.RepayFlashloan, - inputs: { - amount: flashloanAmount, - }, - })) - .next(async (ctx) => { - // TODO: we should have a way to get the target position more easily and realiably, - const targetPosition = Object.values(ctx.state.positions).find( - (p) => p.pool.id.protocol === targetPool.id.protocol, - ) - if (!targetPosition) { - throw new Error('Target position not found') - } - - return { - name: 'NewPositionEvent', - type: SimulationSteps.NewPositionEvent, - inputs: { - position: targetPosition, - }, - } - }) - .run() - - const targetPositionId = getValueFromReference( - simulation.getReference(['OpenTargetPosition', 'position']), - ) - const targetPosition = Object.values(simulation.positions).find( - (p) => p.id.id === targetPositionId.id.id, - ) - - if (!targetPosition) { - throw new Error('Target position not found') - } - - return { - simulationType: SimulationType.Refinance, - sourcePosition: position, - targetPosition, - swaps: Object.values(simulation.swaps), - steps: Object.values(simulation.steps), - } as ISimulation -} diff --git a/sdk/simulator-service/src/strategies/refinanceSamePair/Strategy.ts b/sdk/simulator-service/src/strategies/refinanceSamePair/Strategy.ts deleted file mode 100644 index 9645f4fb5a..0000000000 --- a/sdk/simulator-service/src/strategies/refinanceSamePair/Strategy.ts +++ /dev/null @@ -1,35 +0,0 @@ -import { SimulationSteps } from '@summerfi/sdk-common/simulation' -import { makeStrategy } from '../../implementation/utils' - -export const refinanceLendingToLendingSamePairStrategy = makeStrategy([ - { - name: 'Flashloan', - step: SimulationSteps.Flashloan, - optional: false, - }, - { - name: 'PaybackWithdrawFromSourcePosition', - step: SimulationSteps.PaybackWithdraw, - optional: false, - }, - { - name: 'OpenTargetPosition', - step: SimulationSteps.OpenPosition, - optional: false, - }, - { - name: 'DepositBorrowToTargetPosition', - step: SimulationSteps.DepositBorrow, - optional: false, - }, - { - name: 'RepayFlashloan', - step: SimulationSteps.RepayFlashloan, - optional: false, - }, - { - name: 'NewPositionEvent', - step: SimulationSteps.NewPositionEvent, - optional: false, - }, -] as const) diff --git a/sdk/simulator-service/src/strategies/refinanceSamePair/index.ts b/sdk/simulator-service/src/strategies/refinanceSamePair/index.ts deleted file mode 100644 index df1f26236a..0000000000 --- a/sdk/simulator-service/src/strategies/refinanceSamePair/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './RefinanceLendingToLendingSamePair' -export * from './Strategy' diff --git a/sdk/simulator-service/tests/simulator.test.ts b/sdk/simulator-service/tests/simulator.test.ts index eb767a27bc..efd3253074 100644 --- a/sdk/simulator-service/tests/simulator.test.ts +++ b/sdk/simulator-service/tests/simulator.test.ts @@ -1,79 +1,20 @@ -import { ISimulation, SimulationSteps, steps } from '@summerfi/sdk-common/simulation' -import { - refinanceLendingToLendingAnyPair, - refinanceLendingToLendingSamePair, -} from '../src/strategies' +import { ISimulation, SimulationSteps } from '@summerfi/sdk-common/simulation' +import { refinanceLendingToLending } from '../src/strategies' import { Percentage } from '@summerfi/sdk-common/common' import { otherTestCollateral, otherTestDebt, testSourcePosition, - testTargetLendingPool, testTargetLendingPoolRequiredSwaps, } from './mocks/testSourcePosition' import { mockRefinanceContext, mockRefinanceContextRequiredSwaps } from './mocks/contextMock' -import assert from 'assert' import { RefinanceSimulationTypes } from '@summerfi/sdk-common' describe('Refinance', () => { - describe('to the position with the same collateral and debt (no swaps)', () => { - let simulation: ISimulation - beforeAll(async () => { - simulation = await refinanceLendingToLendingSamePair( - { - sourcePosition: testSourcePosition, - targetPool: testTargetLendingPool, - slippage: Percentage.createFrom({ value: 1 }), - }, - mockRefinanceContext, - ) - }) - - it('should not include swap steps', async () => { - const steps = simulation.steps.filter((step) => !step.skip).map((step) => step.type) - - expect(steps).not.toContain(SimulationSteps.Swap) - }) - - it('should open position with the same collateral', async () => { - const targetPosition = simulation.targetPosition - - expect(targetPosition.collateralAmount).toEqual(testSourcePosition.collateralAmount) - }) - - it('should open position with the same debt', async () => { - const targetPosition = simulation.targetPosition - - expect(targetPosition.debtAmount).toEqual(testSourcePosition.debtAmount) - }) - - it('should open position as required target pool', async () => { - const targetPosition = simulation.targetPosition - - expect(targetPosition.pool).toEqual(testTargetLendingPool) - expect(targetPosition.id).toBeDefined() - }) - - it('should open position with id', async () => { - const targetPosition = simulation.targetPosition - - expect(targetPosition.id).toBeDefined() - }) - - it('should include a new position event step', async () => { - const newPositionStep = simulation.steps.find( - (step) => step.type === SimulationSteps.NewPositionEvent, - ) as steps.NewPositionEventStep - - assert(newPositionStep, 'New position event step not found') - expect(newPositionStep.inputs.position).toEqual(simulation.targetPosition) - }) - }) - describe('to the position with the different collateral and debt (with swaps)', () => { let simulation: ISimulation beforeAll(async () => { - simulation = await refinanceLendingToLendingAnyPair( + simulation = await refinanceLendingToLending( { sourcePosition: testSourcePosition, targetPool: testTargetLendingPoolRequiredSwaps, diff --git a/sdk/testing-utils/src/utils/StrategyExecutorDecoding.ts b/sdk/testing-utils/src/utils/StrategyExecutorDecoding.ts index 2d79e74a90..293dda7e25 100644 --- a/sdk/testing-utils/src/utils/StrategyExecutorDecoding.ts +++ b/sdk/testing-utils/src/utils/StrategyExecutorDecoding.ts @@ -2,10 +2,6 @@ import { ActionCall } from '@summerfi/protocol-plugins-common' import { HexData } from '@summerfi/sdk-common/common' import { decodeFunctionData, parseAbi } from 'viem' -export type SkippableActionCall = ActionCall & { - skipped: boolean -} - export function decodeStrategyExecutorCalldata(calldata: HexData | string): | { actionCalls: ActionCall[] @@ -26,13 +22,8 @@ export function decodeStrategyExecutorCalldata(calldata: HexData | string): return undefined } - const actionCalls: ActionCall[] = (decoded.args[0] as SkippableActionCall[]).map( - /* eslint-disable @typescript-eslint/no-unused-vars */ - ({ skipped, ...rest }) => rest, - ) - return { - actionCalls, + actionCalls: decoded.args[0] as ActionCall[], strategyName: decoded.args[1] as string, } } diff --git a/sdk/testing-utils/src/utils/index.ts b/sdk/testing-utils/src/utils/index.ts index 38ac213782..de3debca51 100644 --- a/sdk/testing-utils/src/utils/index.ts +++ b/sdk/testing-utils/src/utils/index.ts @@ -1,7 +1,4 @@ -export { decodeActionCalldata, getTargetHash } from './ActionDecoding' -export { getErrorMessage } from './ErrorMessage' -export { - type SkippableActionCall, - decodeStrategyExecutorCalldata, -} from './StrategyExecutorDecoding' -export { decodePositionsManagerCalldata } from './PositionsManagerDecoding' +export * from './ActionDecoding' +export * from './ErrorMessage' +export * from './StrategyExecutorDecoding' +export * from './PositionsManagerDecoding' diff --git a/sdk/tools/genStrategyDefinitions/src/index.ts b/sdk/tools/genStrategyDefinitions/src/index.ts index 052b6bb844..7526a5bf37 100644 --- a/sdk/tools/genStrategyDefinitions/src/index.ts +++ b/sdk/tools/genStrategyDefinitions/src/index.ts @@ -27,7 +27,7 @@ async function main() { }) .option('format', { alias: 'f', - description: 'Output format (safe, tenderly)', + description: 'Output format (safe, tenderly, debug)', default: 'safe', type: 'string', }) @@ -51,8 +51,10 @@ async function main() { // Write to file if (args.format === 'safe') { fs.writeFileSync(args.output, JSON.stringify(safeBatch, null, 2)) - } else { + } else if (args.format === 'tenderly') { fs.writeFileSync(args.output, JSON.stringify(operationDefinitions, null, 2)) + } else { + fs.writeFileSync(args.output, JSON.stringify(strategyDefinitions, null, 2)) } } else { console.log('--------------------') From 87ba13b71420b3b38c5d775c065af0730a08aa79 Mon Sep 17 00:00:00 2001 From: Roberto Cano <3525807+robercano@users.noreply.github.com> Date: Fri, 24 May 2024 17:10:08 +0200 Subject: [PATCH 37/45] chore: cleanup --- .../src/utils/GenerateStrategyName.ts | 18 +----------------- .../simulations/RefinanceSimulationManager.ts | 4 ++-- sdk/sdk-common/src/simulation/Enums.ts | 13 ------------- .../tests/refinanceMakerSparkAnyPair.test.ts | 6 +++--- .../src/handlers/getRefinanceSimulation.ts | 4 ++-- .../RefinanceLendingToLendingAnyPair.ts | 5 ++--- 6 files changed, 10 insertions(+), 40 deletions(-) diff --git a/sdk/order-planner-common/src/utils/GenerateStrategyName.ts b/sdk/order-planner-common/src/utils/GenerateStrategyName.ts index 1cd76d71d1..6cd3715765 100644 --- a/sdk/order-planner-common/src/utils/GenerateStrategyName.ts +++ b/sdk/order-planner-common/src/utils/GenerateStrategyName.ts @@ -1,21 +1,5 @@ import { ISimulation, SimulationType } from '@summerfi/sdk-common/simulation' export function generateStrategyName(simulation: ISimulation): string { - // TODO: temporary workaround to use the right simulation name - if ( - simulation.simulationType === SimulationType.Refinance || - simulation.simulationType === SimulationType.RefinanceDifferentPair || - simulation.simulationType === SimulationType.RefinanceDifferentCollateral || - simulation.simulationType === SimulationType.RefinanceDifferentDebt || - simulation.simulationType === SimulationType.RefinanceNoDebt || - simulation.simulationType === SimulationType.RefinanceNoDebtDifferentCollateral - ) { - return `Refinance${simulation.sourcePosition?.pool.id.protocol.name}${simulation.targetPosition.pool.id.protocol.name}` - } - - const strategyName = `${simulation.simulationType}${simulation.sourcePosition?.pool.id.protocol.name}${simulation.targetPosition?.pool.id.protocol.name}` - - console.log('Strategy name:', strategyName) - - return strategyName + return `${simulation.simulationType}${simulation.sourcePosition?.pool.id.protocol.name}${simulation.targetPosition?.pool.id.protocol.name}` } diff --git a/sdk/sdk-client/src/implementation/simulations/RefinanceSimulationManager.ts b/sdk/sdk-client/src/implementation/simulations/RefinanceSimulationManager.ts index a595fcd787..599f6baba5 100644 --- a/sdk/sdk-client/src/implementation/simulations/RefinanceSimulationManager.ts +++ b/sdk/sdk-client/src/implementation/simulations/RefinanceSimulationManager.ts @@ -1,5 +1,5 @@ import { IRefinanceParameters } from '@summerfi/sdk-common/orders' -import { ISimulation, RefinanceSimulationTypes } from '@summerfi/sdk-common/simulation' +import { ISimulation, SimulationType } from '@summerfi/sdk-common/simulation' import { RPCClientType } from '../../rpc/SDKClient' import { IRPCClient } from '../../interfaces/IRPCClient' @@ -10,7 +10,7 @@ export class RefinanceSimulationManager extends IRPCClient { public async simulateRefinancePosition( refinanceParameters: IRefinanceParameters, - ): Promise> { + ): Promise> { return this.rpcClient.simulation.refinance.query(refinanceParameters) } } diff --git a/sdk/sdk-common/src/simulation/Enums.ts b/sdk/sdk-common/src/simulation/Enums.ts index ef7edc5d93..a81fd394e0 100644 --- a/sdk/sdk-common/src/simulation/Enums.ts +++ b/sdk/sdk-common/src/simulation/Enums.ts @@ -7,11 +7,6 @@ export enum SimulationType { Migrate = 'Migrate', CreatePosition = 'CreatePosition', Refinance = 'Refinance', - RefinanceDifferentPair = 'RefinanceDifPair', - RefinanceDifferentDebt = 'RefinanceDifDebt', - RefinanceDifferentCollateral = 'RefinanceDifCol', - RefinanceNoDebt = 'RefinanceNoDebt', - RefinanceNoDebtDifferentCollateral = 'RefNoDebtDifCol', } export enum SimulationSteps { @@ -37,11 +32,3 @@ export enum TokenTransferTargetType { StrategyExecutor = 0, PositionsManager = 1, } - -export type RefinanceSimulationTypes = - | SimulationType.Refinance - | SimulationType.RefinanceDifferentPair - | SimulationType.RefinanceDifferentCollateral - | SimulationType.RefinanceDifferentDebt - | SimulationType.RefinanceNoDebt - | SimulationType.RefinanceNoDebtDifferentCollateral diff --git a/sdk/sdk-e2e/tests/refinanceMakerSparkAnyPair.test.ts b/sdk/sdk-e2e/tests/refinanceMakerSparkAnyPair.test.ts index 579a6d4478..bf0bce4f16 100644 --- a/sdk/sdk-e2e/tests/refinanceMakerSparkAnyPair.test.ts +++ b/sdk/sdk-e2e/tests/refinanceMakerSparkAnyPair.test.ts @@ -11,13 +11,13 @@ import { import { ProtocolName, isLendingPool } from '@summerfi/sdk-common/protocols' import { ProtocolClient, makeSDK, type Chain, type User } from '@summerfi/sdk-client' import { PositionsManager, Order, RefinanceParameters } from '@summerfi/sdk-common/orders' -import { ISimulation } from '@summerfi/sdk-common/simulation' +import { ISimulation, SimulationType } from '@summerfi/sdk-common/simulation' import { TransactionUtils } from './utils/TransactionUtils' import { Hex } from 'viem' import assert from 'assert' import { EmodeType } from '@summerfi/protocol-plugins/plugins/common' -import { AddressValue, CommonTokenSymbols, RefinanceSimulationTypes } from '@summerfi/sdk-common' +import { AddressValue, CommonTokenSymbols } from '@summerfi/sdk-common' import { SparkLendingPoolId, isSparkLendingPoolId, @@ -182,7 +182,7 @@ describe.skip('Refinance Maker Spark | SDK', () => { slippage: Percentage.createFrom({ value: 0.2 }), }) - const refinanceSimulation: ISimulation = + const refinanceSimulation: ISimulation = await sdk.simulator.refinance.simulateRefinancePosition(refinanceParameters) expect(refinanceSimulation).toBeDefined() diff --git a/sdk/sdk-server/src/handlers/getRefinanceSimulation.ts b/sdk/sdk-server/src/handlers/getRefinanceSimulation.ts index ad13a6b746..1a67ec2800 100644 --- a/sdk/sdk-server/src/handlers/getRefinanceSimulation.ts +++ b/sdk/sdk-server/src/handlers/getRefinanceSimulation.ts @@ -1,4 +1,4 @@ -import type { ISimulation, RefinanceSimulationTypes } from '@summerfi/sdk-common/simulation' +import type { ISimulation, SimulationType } from '@summerfi/sdk-common/simulation' import { refinanceLendingToLending } from '@summerfi/simulator-service/strategies' import { publicProcedure } from '../TRPC' import { isRefinanceParameters } from '@summerfi/sdk-common/orders' @@ -6,7 +6,7 @@ import { z } from 'zod' export const getRefinanceSimulation = publicProcedure .input(z.any()) - .query(async (opts): Promise> => { + .query(async (opts): Promise> => { if (!isRefinanceParameters(opts.input)) { throw new Error('Invalid refinance parameters') } diff --git a/sdk/simulator-service/src/strategies/refinanceLendingToLending/RefinanceLendingToLendingAnyPair.ts b/sdk/simulator-service/src/strategies/refinanceLendingToLending/RefinanceLendingToLendingAnyPair.ts index 655be4e5e6..30ef7f6ab7 100644 --- a/sdk/simulator-service/src/strategies/refinanceLendingToLending/RefinanceLendingToLendingAnyPair.ts +++ b/sdk/simulator-service/src/strategies/refinanceLendingToLending/RefinanceLendingToLendingAnyPair.ts @@ -1,7 +1,6 @@ import { FlashloanProvider, ISimulation, - RefinanceSimulationTypes, SimulationSteps, SimulationType, TokenTransferTargetType, @@ -19,7 +18,7 @@ import { estimateSwapFromAmount } from '../../implementation/utils/EstimateSwapF export async function refinanceLendingToLending( args: IRefinanceParameters, dependencies: IRefinanceDependencies, -): Promise> { +): Promise> { // args validation if (!isLendingPool(args.sourcePosition.pool)) { throw new Error('Source pool is not a lending pool') @@ -212,5 +211,5 @@ export async function refinanceLendingToLending( targetPosition: targetPosition, swaps: simulation.swaps, steps: simulation.steps, - } satisfies ISimulation + } satisfies ISimulation } From e40a1f7a1316e8ad7633f47f17eea5132ab2f6ea Mon Sep 17 00:00:00 2001 From: Roberto Cano <3525807+robercano@users.noreply.github.com> Date: Fri, 24 May 2024 17:15:37 +0200 Subject: [PATCH 38/45] chore: cleanup --- sdk/simulator-service/tests/simulator.test.ts | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/sdk/simulator-service/tests/simulator.test.ts b/sdk/simulator-service/tests/simulator.test.ts index efd3253074..33cfb78e09 100644 --- a/sdk/simulator-service/tests/simulator.test.ts +++ b/sdk/simulator-service/tests/simulator.test.ts @@ -1,4 +1,4 @@ -import { ISimulation, SimulationSteps } from '@summerfi/sdk-common/simulation' +import { ISimulation, SimulationSteps, SimulationType } from '@summerfi/sdk-common/simulation' import { refinanceLendingToLending } from '../src/strategies' import { Percentage } from '@summerfi/sdk-common/common' import { @@ -8,11 +8,10 @@ import { testTargetLendingPoolRequiredSwaps, } from './mocks/testSourcePosition' import { mockRefinanceContext, mockRefinanceContextRequiredSwaps } from './mocks/contextMock' -import { RefinanceSimulationTypes } from '@summerfi/sdk-common' describe('Refinance', () => { describe('to the position with the different collateral and debt (with swaps)', () => { - let simulation: ISimulation + let simulation: ISimulation beforeAll(async () => { simulation = await refinanceLendingToLending( { From 55659206f650a7fb6db31cf4fb74cd78f7f8f330 Mon Sep 17 00:00:00 2001 From: Roberto Cano <3525807+robercano@users.noreply.github.com> Date: Fri, 24 May 2024 17:22:48 +0200 Subject: [PATCH 39/45] chore: cleanup --- sdk/sdk-e2e/tests/refinance.test.ts | 6 +++--- sdk/sdk-e2e/tests/refinanceAaveV3SparkAnyPair.test.ts | 4 ++-- .../tests/refinanceMakerSparkAlreadyImported.test.ts | 4 ++-- sdk/sdk-e2e/tests/refinanceMorphoSparkAnyPair.test.ts | 4 ++-- 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/sdk/sdk-e2e/tests/refinance.test.ts b/sdk/sdk-e2e/tests/refinance.test.ts index 41aa6a2611..a3b08dfedf 100644 --- a/sdk/sdk-e2e/tests/refinance.test.ts +++ b/sdk/sdk-e2e/tests/refinance.test.ts @@ -11,13 +11,13 @@ import { import { ProtocolName, isLendingPool } from '@summerfi/sdk-common/protocols' import { ProtocolClient, makeSDK, type Chain, type User } from '@summerfi/sdk-client' import { PositionsManager, IRefinanceParameters, Order } from '@summerfi/sdk-common/orders' -import { ISimulation } from '@summerfi/sdk-common/simulation' +import { ISimulation, SimulationType } from '@summerfi/sdk-common/simulation' import { TransactionUtils } from './utils/TransactionUtils' import { Hex } from 'viem' import assert from 'assert' import { EmodeType } from '@summerfi/protocol-plugins/plugins/common' -import { AddressValue, CommonTokenSymbols, RefinanceSimulationTypes } from '@summerfi/sdk-common' +import { AddressValue, CommonTokenSymbols } from '@summerfi/sdk-common' import { SparkLendingPoolId, isSparkLendingPoolId, @@ -176,7 +176,7 @@ describe.skip('Refinance All | SDK', () => { assert(false, 'Spark pool type is not lending') } - const refinanceSimulation: ISimulation = + const refinanceSimulation: ISimulation = await sdk.simulator.refinance.simulateRefinancePosition({ sourcePosition: makerPosition, targetPool: sparkPool, diff --git a/sdk/sdk-e2e/tests/refinanceAaveV3SparkAnyPair.test.ts b/sdk/sdk-e2e/tests/refinanceAaveV3SparkAnyPair.test.ts index e92a73f442..d829727cbd 100644 --- a/sdk/sdk-e2e/tests/refinanceAaveV3SparkAnyPair.test.ts +++ b/sdk/sdk-e2e/tests/refinanceAaveV3SparkAnyPair.test.ts @@ -4,7 +4,6 @@ import { EmodeType } from '@summerfi/protocol-plugins/plugins/common' import { AddressValue, CommonTokenSymbols, - RefinanceSimulationTypes, ISimulation, Percentage, TokenAmount, @@ -13,6 +12,7 @@ import { ChainFamilyMap, PositionType, IToken, + SimulationType, } from '@summerfi/sdk-common' import { PositionsManager, Order, RefinanceParameters } from '@summerfi/sdk-common/orders' import { @@ -166,7 +166,7 @@ describe('Refinance AaveV3 Spark | SDK', () => { slippage: Percentage.createFrom({ value: 0.2 }), }) - const refinanceSimulation: ISimulation = + const refinanceSimulation: ISimulation = await sdk.simulator.refinance.simulateRefinancePosition(refinanceParameters) expect(refinanceSimulation).toBeDefined() diff --git a/sdk/sdk-e2e/tests/refinanceMakerSparkAlreadyImported.test.ts b/sdk/sdk-e2e/tests/refinanceMakerSparkAlreadyImported.test.ts index d9d551f404..2c265eaa7b 100644 --- a/sdk/sdk-e2e/tests/refinanceMakerSparkAlreadyImported.test.ts +++ b/sdk/sdk-e2e/tests/refinanceMakerSparkAlreadyImported.test.ts @@ -14,7 +14,7 @@ import { ProtocolName } from '@summerfi/sdk-common/protocols' import { makeSDK, type Chain, type User, ProtocolClient } from '@summerfi/sdk-client' import { CommonTokenSymbols } from '@summerfi/sdk-common/common/enums' import { PositionsManager, Order, RefinanceParameters } from '@summerfi/sdk-common/orders' -import { ISimulation, RefinanceSimulationTypes } from '@summerfi/sdk-common/simulation' +import { ISimulation, SimulationType } from '@summerfi/sdk-common/simulation' import { TransactionUtils } from './utils/TransactionUtils' import { decodeActionCalldata, @@ -187,7 +187,7 @@ describe.skip('Refinance Maker Spark | SDK', () => { slippage: Percentage.createFrom({ value: 0.2 }), }) - const refinanceSimulation: ISimulation = + const refinanceSimulation: ISimulation = await sdk.simulator.refinance.simulateRefinancePosition(refinanceParameters) expect(refinanceSimulation).toBeDefined() diff --git a/sdk/sdk-e2e/tests/refinanceMorphoSparkAnyPair.test.ts b/sdk/sdk-e2e/tests/refinanceMorphoSparkAnyPair.test.ts index f45914dcde..3dbbe93b66 100644 --- a/sdk/sdk-e2e/tests/refinanceMorphoSparkAnyPair.test.ts +++ b/sdk/sdk-e2e/tests/refinanceMorphoSparkAnyPair.test.ts @@ -4,7 +4,6 @@ import { EmodeType } from '@summerfi/protocol-plugins/plugins/common' import { AddressValue, CommonTokenSymbols, - RefinanceSimulationTypes, ISimulation, Percentage, TokenAmount, @@ -13,6 +12,7 @@ import { ChainFamilyMap, PositionType, IToken, + SimulationType, } from '@summerfi/sdk-common' import { PositionsManager, Order, RefinanceParameters } from '@summerfi/sdk-common/orders' import { @@ -164,7 +164,7 @@ describe.skip('Refinance Morpho Spark | SDK', () => { slippage: Percentage.createFrom({ value: 0.2 }), }) - const refinanceSimulation: ISimulation = + const refinanceSimulation: ISimulation = await sdk.simulator.refinance.simulateRefinancePosition(refinanceParameters) expect(refinanceSimulation).toBeDefined() From 1a57f5682bcdb83367a93bac548a5693276827ce Mon Sep 17 00:00:00 2001 From: Roberto Cano <3525807+robercano@users.noreply.github.com> Date: Fri, 24 May 2024 17:28:13 +0200 Subject: [PATCH 40/45] fix: disable e2e test --- sdk/sdk-e2e/tests/refinanceAaveV3SparkAnyPair.test.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sdk/sdk-e2e/tests/refinanceAaveV3SparkAnyPair.test.ts b/sdk/sdk-e2e/tests/refinanceAaveV3SparkAnyPair.test.ts index d829727cbd..1cee33c628 100644 --- a/sdk/sdk-e2e/tests/refinanceAaveV3SparkAnyPair.test.ts +++ b/sdk/sdk-e2e/tests/refinanceAaveV3SparkAnyPair.test.ts @@ -47,7 +47,7 @@ const config = { sendTransactionEnabled: true, } -describe('Refinance AaveV3 Spark | SDK', () => { +describe.skip('Refinance AaveV3 Spark | SDK', () => { it('should allow refinance Maker -> Spark with same pair', async () => { // SDK const sdk = makeSDK({ apiURL: config.SDKAPiUrl }) From 293dd0b92b30af987aa9b497c0336d36c4d279ef Mon Sep 17 00:00:00 2001 From: Roberto Cano <3525807+robercano@users.noreply.github.com> Date: Fri, 24 May 2024 18:04:29 +0200 Subject: [PATCH 41/45] chore: cleanup --- .../src/plugins/common/builders/SkippedStepActionBuilder.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/sdk/protocol-plugins/src/plugins/common/builders/SkippedStepActionBuilder.ts b/sdk/protocol-plugins/src/plugins/common/builders/SkippedStepActionBuilder.ts index 28f1bc5501..31eff868c3 100644 --- a/sdk/protocol-plugins/src/plugins/common/builders/SkippedStepActionBuilder.ts +++ b/sdk/protocol-plugins/src/plugins/common/builders/SkippedStepActionBuilder.ts @@ -28,8 +28,6 @@ export class SkippedStepActionBuilder extends BaseActionBuilder, From 8d9fd3b1421a76aa2e9b99317f3a1b3ff291ac7c Mon Sep 17 00:00:00 2001 From: Roberto Cano <3525807+robercano@users.noreply.github.com> Date: Fri, 24 May 2024 18:18:44 +0200 Subject: [PATCH 42/45] fix: refinance maker spark test --- .../tests/refinanceMakerSparkAnyPair.test.ts | 39 ++++++++++--------- 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/sdk/sdk-e2e/tests/refinanceMakerSparkAnyPair.test.ts b/sdk/sdk-e2e/tests/refinanceMakerSparkAnyPair.test.ts index bf0bce4f16..7abb09fe87 100644 --- a/sdk/sdk-e2e/tests/refinanceMakerSparkAnyPair.test.ts +++ b/sdk/sdk-e2e/tests/refinanceMakerSparkAnyPair.test.ts @@ -37,12 +37,13 @@ jest.setTimeout(300000) /** TEST CONFIG */ const config = { SDKAPiUrl: 'https://zmjmtfsocb.execute-api.us-east-1.amazonaws.com/api/sdk', - TenderlyForkUrl: 'https://virtual.mainnet.rpc.tenderly.co/4711dc9f-76a4-4f6c-9464-6f8c7369df61', - makerVaultId: '31709', - DPMAddress: '0xc1475b2735fb9130a4701ee9e2215b6305dd501b', - walletAddress: '0xbEf4befb4F230F43905313077e3824d7386E09F8', - collateralAmount: '5000.0', - debtAmount: '5000000.0', + TenderlyForkUrl: 'https://virtual.mainnet.rpc.tenderly.co/5eea57de-3dc2-4cae-b7ed-24b16b0cbde0', + makerVaultId: '31722', + DPMAddress: '0x2e0515d7A3eA0276F28c94C426c5d2D1d85FD4d5', + walletAddress: '0xDDc68f9dE415ba2fE2FD84bc62Be2d2CFF1098dA', + collateralAmount: '2.5', + debtAmount: '3501.0', + sendTransaction: true, } describe.skip('Refinance Maker Spark | SDK', () => { @@ -133,7 +134,7 @@ describe.skip('Refinance Maker Spark | SDK', () => { // Source position const makerPosition: MakerPosition = MakerPosition.createFrom({ type: PositionType.Multiply, - id: MakerPositionId.createFrom({ id: '31697', vaultId: '31697' }), + id: MakerPositionId.createFrom({ id: config.makerVaultId, vaultId: config.makerVaultId }), debtAmount: TokenAmount.createFrom({ token: DAI, amount: config.debtAmount, @@ -197,19 +198,21 @@ describe.skip('Refinance Maker Spark | SDK', () => { assert(refinanceOrder, 'Order not found') - // Send transaction - console.log('Sending transaction...') + if (config.sendTransaction) { + // Send transaction + console.log('Sending transaction...') - const privateKey = process.env.DEPLOYER_PRIVATE_KEY as Hex - const transactionUtils = new TransactionUtils({ - rpcUrl: config.TenderlyForkUrl, - walletPrivateKey: privateKey, - }) + const privateKey = process.env.DEPLOYER_PRIVATE_KEY as Hex + const transactionUtils = new TransactionUtils({ + rpcUrl: config.TenderlyForkUrl, + walletPrivateKey: privateKey, + }) - const receipt = await transactionUtils.sendTransaction({ - transaction: refinanceOrder.transactions[0].transaction, - }) + const receipt = await transactionUtils.sendTransaction({ + transaction: refinanceOrder.transactions[0].transaction, + }) - console.log('Transaction sent:', receipt) + console.log('Transaction sent:', receipt) + } }) }) From e374960b3ee8628add60ac38a9b6aad2a3f7a32c Mon Sep 17 00:00:00 2001 From: Roberto Cano <3525807+robercano@users.noreply.github.com> Date: Mon, 27 May 2024 11:45:57 +0200 Subject: [PATCH 43/45] fix: address PR comments --- .../src/implementation/OrderPlanner.ts | 22 ++++++++++++------- .../src/implementation/BaseProtocolPlugin.ts | 2 +- .../tests/utils/ProtocolPluginMock.ts | 6 ++--- 3 files changed, 18 insertions(+), 12 deletions(-) diff --git a/sdk/order-planner-common/src/implementation/OrderPlanner.ts b/sdk/order-planner-common/src/implementation/OrderPlanner.ts index 0eb90e6c7f..8113c93dbf 100644 --- a/sdk/order-planner-common/src/implementation/OrderPlanner.ts +++ b/sdk/order-planner-common/src/implementation/OrderPlanner.ts @@ -1,9 +1,15 @@ import { Order, type IPositionsManager, TransactionInfo } from '@summerfi/sdk-common/orders' -import { ISimulation, SimulationType, steps } from '@summerfi/sdk-common/simulation' +import { + ISimulation, + SimulationSteps, + SimulationType, + steps, +} from '@summerfi/sdk-common/simulation' import { Maybe } from '@summerfi/sdk-common/common' import { ActionBuildersMap, ActionCall, + FilterStep, IActionBuilder, IStepBuilderContext, StepBuilderContext, @@ -34,7 +40,7 @@ export class OrderPlanner implements IOrderPlanner { context.startSubContext() for (const step of simulation.steps) { - const stepBuilder = this._getActionBuilder(actionBuildersMap, step) + const stepBuilder = this._getActionBuilder(actionBuildersMap, step.type) if (!stepBuilder) { throw new Error(`No step builder found for step type ${step.type}`) } @@ -68,17 +74,17 @@ export class OrderPlanner implements IOrderPlanner { }) } - private _getActionBuilder( - actionBuildersMap: ActionBuildersMap, - step: StepType, - ): Maybe> { - const builder = actionBuildersMap[step.type] + private _getActionBuilder< + StepType extends SimulationSteps, + Step extends FilterStep, + >(actionBuildersMap: ActionBuildersMap, stepType: StepType): Maybe> { + const builder = actionBuildersMap[stepType] if (!builder) { return undefined } - return new builder() as IActionBuilder + return new builder() } private async _generateOrder(params: { diff --git a/sdk/protocol-plugins/src/implementation/BaseProtocolPlugin.ts b/sdk/protocol-plugins/src/implementation/BaseProtocolPlugin.ts index 11e98c6c45..752d779c93 100644 --- a/sdk/protocol-plugins/src/implementation/BaseProtocolPlugin.ts +++ b/sdk/protocol-plugins/src/implementation/BaseProtocolPlugin.ts @@ -158,7 +158,7 @@ export abstract class BaseProtocolPlugin implements IProtocolPlugin { return undefined } - return new BuilderClass() as IActionBuilder + return new BuilderClass() } /** HELPERS */ diff --git a/sdk/protocol-plugins/tests/utils/ProtocolPluginMock.ts b/sdk/protocol-plugins/tests/utils/ProtocolPluginMock.ts index ae16df8ba4..0e3b0d51e7 100644 --- a/sdk/protocol-plugins/tests/utils/ProtocolPluginMock.ts +++ b/sdk/protocol-plugins/tests/utils/ProtocolPluginMock.ts @@ -117,7 +117,7 @@ export class ProtocolPluginMock implements IProtocolPlugin { return undefined } - return new builder() as IActionBuilder + return new builder() } async getImportPositionTransaction(params: { @@ -167,7 +167,7 @@ export class EmptyProtocolPluginMock implements IProtocolPlugin { return undefined } - return new builder() as IActionBuilder + return new builder() } async getImportPositionTransaction(params: { @@ -222,7 +222,7 @@ export class NoCheckpointProtocolPluginMock implements IProtocolPlugin { return undefined } - return new builder() as IActionBuilder + return new builder() } async getImportPositionTransaction(params: { From 82259fa5e004b63a7fb7c733e7cc10d24a6bdc7e Mon Sep 17 00:00:00 2001 From: Roberto Cano <3525807+robercano@users.noreply.github.com> Date: Mon, 27 May 2024 11:50:39 +0200 Subject: [PATCH 44/45] fix: Address PR comments --- sdk/protocol-plugins/tsconfig.json | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/sdk/protocol-plugins/tsconfig.json b/sdk/protocol-plugins/tsconfig.json index 0486e28398..98e8557db2 100644 --- a/sdk/protocol-plugins/tsconfig.json +++ b/sdk/protocol-plugins/tsconfig.json @@ -5,11 +5,6 @@ "outDir": "dist", "baseUrl": "." }, - "include": [ - "src/**/*.ts", - "tests/**/*.ts", - "tests/mocks/*.ts", - "../protocol-plugins-common/src/actions/SkippedAction.ts" - ], + "include": ["src/**/*.ts", "tests/**/*.ts", "tests/mocks/*.ts"], "exclude": ["node_modules", "dist"] } From f49985b301f231e63f173d0009f85b8d584ef876 Mon Sep 17 00:00:00 2001 From: Roberto Cano <3525807+robercano@users.noreply.github.com> Date: Mon, 27 May 2024 13:40:17 +0200 Subject: [PATCH 45/45] fix: remove unused simulation types --- .../src/utils/GenerateStrategyName.ts | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/sdk/order-planner-common/src/utils/GenerateStrategyName.ts b/sdk/order-planner-common/src/utils/GenerateStrategyName.ts index 1006abf536..6cd3715765 100644 --- a/sdk/order-planner-common/src/utils/GenerateStrategyName.ts +++ b/sdk/order-planner-common/src/utils/GenerateStrategyName.ts @@ -1,17 +1,5 @@ import { ISimulation, SimulationType } from '@summerfi/sdk-common/simulation' export function generateStrategyName(simulation: ISimulation): string { - // TODO: temporary workaround to use the right simulation name - if ( - simulation.simulationType === SimulationType.Refinance || - simulation.simulationType === SimulationType.RefinanceDifferentPair || - simulation.simulationType === SimulationType.RefinanceDifferentCollateral || - simulation.simulationType === SimulationType.RefinanceDifferentDebt || - simulation.simulationType === SimulationType.RefinanceNoDebt || - simulation.simulationType === SimulationType.RefinanceNoDebtDifferentCollateral - ) { - return `Refinance${simulation.sourcePosition?.pool.id.protocol.name}${simulation.targetPosition.pool.id.protocol.name}` - } - return `${simulation.simulationType}${simulation.sourcePosition?.pool.id.protocol.name}${simulation.targetPosition?.pool.id.protocol.name}` }