@aztec/ethereum 0.0.1-commit.b2a5d0dd1 → 0.0.1-commit.b3d3157a
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/client.d.ts +11 -3
- package/dest/client.d.ts.map +1 -1
- package/dest/client.js +35 -3
- package/dest/contracts/chain_state_override.d.ts +47 -7
- package/dest/contracts/chain_state_override.d.ts.map +1 -1
- package/dest/contracts/chain_state_override.js +57 -20
- package/dest/contracts/empire_base.d.ts +1 -3
- package/dest/contracts/empire_base.d.ts.map +1 -1
- package/dest/contracts/fee_asset_price_oracle.d.ts +6 -2
- package/dest/contracts/fee_asset_price_oracle.d.ts.map +1 -1
- package/dest/contracts/fee_asset_price_oracle.js +11 -6
- package/dest/contracts/governance.d.ts +108 -33
- package/dest/contracts/governance.d.ts.map +1 -1
- package/dest/contracts/governance.js +193 -12
- package/dest/contracts/governance_proposer.d.ts +33 -3
- package/dest/contracts/governance_proposer.d.ts.map +1 -1
- package/dest/contracts/governance_proposer.js +51 -9
- package/dest/contracts/inbox.js +1 -1
- package/dest/contracts/multicall.d.ts +79 -13
- package/dest/contracts/multicall.d.ts.map +1 -1
- package/dest/contracts/multicall.js +117 -95
- package/dest/contracts/outbox.d.ts +27 -4
- package/dest/contracts/outbox.d.ts.map +1 -1
- package/dest/contracts/outbox.js +34 -7
- package/dest/contracts/rollup.d.ts +327 -57
- package/dest/contracts/rollup.d.ts.map +1 -1
- package/dest/contracts/rollup.js +102 -40
- package/dest/l1_artifacts.d.ts +5108 -155
- package/dest/l1_artifacts.d.ts.map +1 -1
- package/dest/l1_contract_addresses.d.ts +61 -61
- package/dest/l1_contract_addresses.d.ts.map +1 -1
- package/dest/l1_contract_addresses.js +101 -76
- package/dest/l1_reader.d.ts +3 -5
- package/dest/l1_reader.d.ts.map +1 -1
- package/dest/l1_reader.js +3 -6
- package/dest/l1_tx_utils/l1_tx_utils.d.ts +7 -1
- package/dest/l1_tx_utils/l1_tx_utils.d.ts.map +1 -1
- package/dest/l1_tx_utils/l1_tx_utils.js +21 -10
- package/dest/l1_tx_utils/readonly_l1_tx_utils.d.ts +1 -1
- package/dest/l1_tx_utils/readonly_l1_tx_utils.d.ts.map +1 -1
- package/dest/l1_tx_utils/readonly_l1_tx_utils.js +2 -1
- package/dest/l1_tx_utils/tx_delayer.d.ts +5 -3
- package/dest/l1_tx_utils/tx_delayer.d.ts.map +1 -1
- package/dest/l1_tx_utils/tx_delayer.js +7 -5
- package/dest/test/eth_cheat_codes.d.ts +7 -1
- package/dest/test/eth_cheat_codes.d.ts.map +1 -1
- package/dest/test/eth_cheat_codes.js +11 -0
- package/dest/test/rollup_cheat_codes.d.ts +27 -3
- package/dest/test/rollup_cheat_codes.d.ts.map +1 -1
- package/dest/test/rollup_cheat_codes.js +50 -6
- package/dest/utils.d.ts +9 -2
- package/dest/utils.d.ts.map +1 -1
- package/dest/utils.js +34 -6
- package/package.json +6 -6
- package/src/client.ts +39 -1
- package/src/contracts/chain_state_override.ts +77 -24
- package/src/contracts/empire_base.ts +0 -2
- package/src/contracts/fee_asset_price_oracle.ts +10 -5
- package/src/contracts/governance.ts +266 -9
- package/src/contracts/governance_proposer.ts +52 -5
- package/src/contracts/inbox.ts +1 -1
- package/src/contracts/multicall.ts +179 -105
- package/src/contracts/outbox.ts +42 -8
- package/src/contracts/rollup.ts +124 -42
- package/src/l1_contract_addresses.ts +120 -87
- package/src/l1_reader.ts +4 -9
- package/src/l1_tx_utils/l1_tx_utils.ts +27 -14
- package/src/l1_tx_utils/readonly_l1_tx_utils.ts +2 -1
- package/src/l1_tx_utils/tx_delayer.ts +16 -7
- package/src/test/eth_cheat_codes.ts +10 -0
- package/src/test/rollup_cheat_codes.ts +53 -5
- package/src/utils.ts +30 -6
|
@@ -94,6 +94,19 @@ export declare enum TempCheckpointLogField {
|
|
|
94
94
|
SlotNumber = 5,
|
|
95
95
|
FeeHeader = 6
|
|
96
96
|
}
|
|
97
|
+
/**
|
|
98
|
+
* Field-level override input for `tempCheckpointLogs[checkpointNumber]`. Covers the fields the
|
|
99
|
+
* `propose()` path actually reads back. `payloadDigest` is `Buffer32` because it carries an
|
|
100
|
+
* arbitrary `bytes32` value rather than a BN254 scalar. `slotNumber` carries the uint32 portion
|
|
101
|
+
* of the on-chain `CompressedSlot`.
|
|
102
|
+
*/
|
|
103
|
+
export type TempCheckpointLogOverrideFields = {
|
|
104
|
+
headerHash?: Fr;
|
|
105
|
+
outHash?: Fr;
|
|
106
|
+
payloadDigest?: Buffer32;
|
|
107
|
+
slotNumber?: SlotNumber;
|
|
108
|
+
feeHeader?: FeeHeader;
|
|
109
|
+
};
|
|
97
110
|
/** Components of the minimum fee per mana, as returned by the L1 rollup contract. */
|
|
98
111
|
export type ManaMinFeeComponents = {
|
|
99
112
|
sequencerCost: bigint;
|
|
@@ -312,16 +325,27 @@ export declare class RollupContract {
|
|
|
312
325
|
timeOfNextL1Slot: bigint;
|
|
313
326
|
}>;
|
|
314
327
|
/**
|
|
315
|
-
* Returns a state override that sets the pending
|
|
316
|
-
*
|
|
317
|
-
*
|
|
328
|
+
* Returns a state override that sets the pending and/or proven checkpoint numbers. Useful for simulations.
|
|
329
|
+
* Both values share a single storage slot (pending in the upper 128 bits, proven in the lower 128 bits), so
|
|
330
|
+
* a single combined override is emitted to avoid the second state-diff clobbering the first. The current live
|
|
331
|
+
* value is read once to preserve any half not being overridden. Returns an empty override if neither is set.
|
|
332
|
+
*
|
|
333
|
+
* Throws if the resulting `proven > pending`, which would crash the simulation: `STFLib.canPruneAtTime` calls
|
|
334
|
+
* `getEpochForCheckpoint(proven + 1)` whenever `pending != proven`, and that asserts `_n <= tips.pending`.
|
|
318
335
|
*/
|
|
319
|
-
|
|
336
|
+
makeChainTipsOverride(override: {
|
|
337
|
+
pending?: CheckpointNumber;
|
|
338
|
+
proven?: CheckpointNumber;
|
|
339
|
+
}): Promise<StateOverride>;
|
|
320
340
|
/**
|
|
321
|
-
* Returns a state override that
|
|
322
|
-
*
|
|
341
|
+
* Returns a state override that patches `tempCheckpointLogs[checkpointNumber]` with every field that
|
|
342
|
+
* the L1 contract reads during `propose()` for the checkpoint that builds on top of it (proposer
|
|
343
|
+
* pipelining simulation). Mirrors the writes done by `ProposeLib.addTempCheckpointLog`.
|
|
344
|
+
*
|
|
345
|
+
* `blobCommitmentsHash` and `attestationsHash` are intentionally not exposed here — the propose path
|
|
346
|
+
* never asserts against them, so leaving them at storage zero is harmless.
|
|
323
347
|
*/
|
|
324
|
-
|
|
348
|
+
makeTempCheckpointLogOverride(checkpointNumber: CheckpointNumber, fields: TempCheckpointLogOverrideFields): Promise<StateOverride>;
|
|
325
349
|
/**
|
|
326
350
|
* Returns a state override that sets archives[checkpointNumber] to the given archive value.
|
|
327
351
|
* Used when simulating a canProposeAtTime call where the local archive differs from L1
|
|
@@ -566,6 +590,18 @@ export declare class RollupContract {
|
|
|
566
590
|
readonly type: "error";
|
|
567
591
|
readonly name: "Registry__NoRollupsRegistered";
|
|
568
592
|
readonly inputs: readonly [];
|
|
593
|
+
}, {
|
|
594
|
+
readonly type: "error";
|
|
595
|
+
readonly name: "RewardBooster__InvalidConfig";
|
|
596
|
+
readonly inputs: readonly [];
|
|
597
|
+
}, {
|
|
598
|
+
readonly type: "error";
|
|
599
|
+
readonly name: "RewardDistributor__WrongRecoverMechanism";
|
|
600
|
+
readonly inputs: readonly [];
|
|
601
|
+
}, {
|
|
602
|
+
readonly type: "error";
|
|
603
|
+
readonly name: "RewardDistributor__ZeroRollup";
|
|
604
|
+
readonly inputs: readonly [];
|
|
569
605
|
}, {
|
|
570
606
|
readonly type: "error";
|
|
571
607
|
readonly name: "RewardLib__InvalidSequencerBps";
|
|
@@ -670,6 +706,14 @@ export declare class RollupContract {
|
|
|
670
706
|
readonly type: "error";
|
|
671
707
|
readonly name: "Staking__GovernanceAlreadySet";
|
|
672
708
|
readonly inputs: readonly [];
|
|
709
|
+
}, {
|
|
710
|
+
readonly type: "error";
|
|
711
|
+
readonly name: "Staking__InvalidBootstrapFlushSize";
|
|
712
|
+
readonly inputs: readonly [];
|
|
713
|
+
}, {
|
|
714
|
+
readonly type: "error";
|
|
715
|
+
readonly name: "Staking__InvalidMaxQueueFlushSize";
|
|
716
|
+
readonly inputs: readonly [];
|
|
673
717
|
}, {
|
|
674
718
|
readonly type: "error";
|
|
675
719
|
readonly name: "Staking__InvalidNormalFlushSizeQuotient";
|
|
@@ -678,6 +722,10 @@ export declare class RollupContract {
|
|
|
678
722
|
readonly type: "error";
|
|
679
723
|
readonly name: "Staking__InvalidStakingQueueConfig";
|
|
680
724
|
readonly inputs: readonly [];
|
|
725
|
+
}, {
|
|
726
|
+
readonly type: "error";
|
|
727
|
+
readonly name: "Staking__NoPendingSlasher";
|
|
728
|
+
readonly inputs: readonly [];
|
|
681
729
|
}, {
|
|
682
730
|
readonly type: "error";
|
|
683
731
|
readonly name: "Staking__QueueEmpty";
|
|
@@ -686,6 +734,14 @@ export declare class RollupContract {
|
|
|
686
734
|
readonly type: "error";
|
|
687
735
|
readonly name: "ValidatorSelection__EpochNotSetup";
|
|
688
736
|
readonly inputs: readonly [];
|
|
737
|
+
}, {
|
|
738
|
+
readonly type: "error";
|
|
739
|
+
readonly name: "ValidatorSelection__EscapeHatchAlreadySet";
|
|
740
|
+
readonly inputs: readonly [];
|
|
741
|
+
}, {
|
|
742
|
+
readonly type: "error";
|
|
743
|
+
readonly name: "ValidatorSelection__EscapeHatchCannotBeZero";
|
|
744
|
+
readonly inputs: readonly [];
|
|
689
745
|
}, {
|
|
690
746
|
readonly type: "function";
|
|
691
747
|
readonly name: "archive";
|
|
@@ -696,6 +752,12 @@ export declare class RollupContract {
|
|
|
696
752
|
readonly internalType: "bytes32";
|
|
697
753
|
}];
|
|
698
754
|
readonly stateMutability: "view";
|
|
755
|
+
}, {
|
|
756
|
+
readonly type: "function";
|
|
757
|
+
readonly name: "cancelSetSlasher";
|
|
758
|
+
readonly inputs: readonly [];
|
|
759
|
+
readonly outputs: readonly [];
|
|
760
|
+
readonly stateMutability: "nonpayable";
|
|
699
761
|
}, {
|
|
700
762
|
readonly type: "function";
|
|
701
763
|
readonly name: "checkBlob";
|
|
@@ -746,6 +808,12 @@ export declare class RollupContract {
|
|
|
746
808
|
readonly internalType: "uint256[]";
|
|
747
809
|
}];
|
|
748
810
|
readonly stateMutability: "view";
|
|
811
|
+
}, {
|
|
812
|
+
readonly type: "function";
|
|
813
|
+
readonly name: "finalizeSetSlasher";
|
|
814
|
+
readonly inputs: readonly [];
|
|
815
|
+
readonly outputs: readonly [];
|
|
816
|
+
readonly stateMutability: "nonpayable";
|
|
749
817
|
}, {
|
|
750
818
|
readonly type: "function";
|
|
751
819
|
readonly name: "flushEntryQueue";
|
|
@@ -902,6 +970,16 @@ export declare class RollupContract {
|
|
|
902
970
|
readonly internalType: "uint256";
|
|
903
971
|
}];
|
|
904
972
|
readonly stateMutability: "view";
|
|
973
|
+
}, {
|
|
974
|
+
readonly type: "function";
|
|
975
|
+
readonly name: "getEpochProofVerifier";
|
|
976
|
+
readonly inputs: readonly [];
|
|
977
|
+
readonly outputs: readonly [{
|
|
978
|
+
readonly name: "";
|
|
979
|
+
readonly type: "address";
|
|
980
|
+
readonly internalType: "contract IVerifier";
|
|
981
|
+
}];
|
|
982
|
+
readonly stateMutability: "view";
|
|
905
983
|
}, {
|
|
906
984
|
readonly type: "function";
|
|
907
985
|
readonly name: "getEscapeHatch";
|
|
@@ -1012,6 +1090,30 @@ export declare class RollupContract {
|
|
|
1012
1090
|
readonly internalType: "uint256";
|
|
1013
1091
|
}];
|
|
1014
1092
|
readonly stateMutability: "view";
|
|
1093
|
+
}, {
|
|
1094
|
+
readonly type: "function";
|
|
1095
|
+
readonly name: "getLegacySlasher";
|
|
1096
|
+
readonly inputs: readonly [];
|
|
1097
|
+
readonly outputs: readonly [{
|
|
1098
|
+
readonly name: "slasher";
|
|
1099
|
+
readonly type: "address";
|
|
1100
|
+
readonly internalType: "address";
|
|
1101
|
+
}, {
|
|
1102
|
+
readonly name: "authorizedUntil";
|
|
1103
|
+
readonly type: "uint256";
|
|
1104
|
+
readonly internalType: "Timestamp";
|
|
1105
|
+
}];
|
|
1106
|
+
readonly stateMutability: "view";
|
|
1107
|
+
}, {
|
|
1108
|
+
readonly type: "function";
|
|
1109
|
+
readonly name: "getLegacySlasherDrainWindow";
|
|
1110
|
+
readonly inputs: readonly [];
|
|
1111
|
+
readonly outputs: readonly [{
|
|
1112
|
+
readonly name: "";
|
|
1113
|
+
readonly type: "uint256";
|
|
1114
|
+
readonly internalType: "uint256";
|
|
1115
|
+
}];
|
|
1116
|
+
readonly stateMutability: "pure";
|
|
1015
1117
|
}, {
|
|
1016
1118
|
readonly type: "function";
|
|
1017
1119
|
readonly name: "getLocalEjectionThreshold";
|
|
@@ -1072,6 +1174,20 @@ export declare class RollupContract {
|
|
|
1072
1174
|
readonly internalType: "uint256";
|
|
1073
1175
|
}];
|
|
1074
1176
|
readonly stateMutability: "view";
|
|
1177
|
+
}, {
|
|
1178
|
+
readonly type: "function";
|
|
1179
|
+
readonly name: "getPendingSlasher";
|
|
1180
|
+
readonly inputs: readonly [];
|
|
1181
|
+
readonly outputs: readonly [{
|
|
1182
|
+
readonly name: "slasher";
|
|
1183
|
+
readonly type: "address";
|
|
1184
|
+
readonly internalType: "address";
|
|
1185
|
+
}, {
|
|
1186
|
+
readonly name: "readyAt";
|
|
1187
|
+
readonly type: "uint256";
|
|
1188
|
+
readonly internalType: "Timestamp";
|
|
1189
|
+
}];
|
|
1190
|
+
readonly stateMutability: "view";
|
|
1075
1191
|
}, {
|
|
1076
1192
|
readonly type: "function";
|
|
1077
1193
|
readonly name: "getProofSubmissionEpochs";
|
|
@@ -1082,6 +1198,16 @@ export declare class RollupContract {
|
|
|
1082
1198
|
readonly internalType: "uint256";
|
|
1083
1199
|
}];
|
|
1084
1200
|
readonly stateMutability: "view";
|
|
1201
|
+
}, {
|
|
1202
|
+
readonly type: "function";
|
|
1203
|
+
readonly name: "getProtocolContractsHash";
|
|
1204
|
+
readonly inputs: readonly [];
|
|
1205
|
+
readonly outputs: readonly [{
|
|
1206
|
+
readonly name: "";
|
|
1207
|
+
readonly type: "bytes32";
|
|
1208
|
+
readonly internalType: "bytes32";
|
|
1209
|
+
}];
|
|
1210
|
+
readonly stateMutability: "view";
|
|
1085
1211
|
}, {
|
|
1086
1212
|
readonly type: "function";
|
|
1087
1213
|
readonly name: "getProvenCheckpointNumber";
|
|
@@ -1159,6 +1285,16 @@ export declare class RollupContract {
|
|
|
1159
1285
|
readonly internalType: "address";
|
|
1160
1286
|
}];
|
|
1161
1287
|
readonly stateMutability: "view";
|
|
1288
|
+
}, {
|
|
1289
|
+
readonly type: "function";
|
|
1290
|
+
readonly name: "getSlasherExecutionDelay";
|
|
1291
|
+
readonly inputs: readonly [];
|
|
1292
|
+
readonly outputs: readonly [{
|
|
1293
|
+
readonly name: "";
|
|
1294
|
+
readonly type: "uint256";
|
|
1295
|
+
readonly internalType: "uint256";
|
|
1296
|
+
}];
|
|
1297
|
+
readonly stateMutability: "pure";
|
|
1162
1298
|
}, {
|
|
1163
1299
|
readonly type: "function";
|
|
1164
1300
|
readonly name: "getSlotDuration";
|
|
@@ -1218,6 +1354,16 @@ export declare class RollupContract {
|
|
|
1218
1354
|
readonly internalType: "uint256";
|
|
1219
1355
|
}];
|
|
1220
1356
|
readonly stateMutability: "view";
|
|
1357
|
+
}, {
|
|
1358
|
+
readonly type: "function";
|
|
1359
|
+
readonly name: "getVkTreeRoot";
|
|
1360
|
+
readonly inputs: readonly [];
|
|
1361
|
+
readonly outputs: readonly [{
|
|
1362
|
+
readonly name: "";
|
|
1363
|
+
readonly type: "bytes32";
|
|
1364
|
+
readonly internalType: "bytes32";
|
|
1365
|
+
}];
|
|
1366
|
+
readonly stateMutability: "view";
|
|
1221
1367
|
}, {
|
|
1222
1368
|
readonly type: "function";
|
|
1223
1369
|
readonly name: "owner";
|
|
@@ -1360,7 +1506,7 @@ export declare class RollupContract {
|
|
|
1360
1506
|
}];
|
|
1361
1507
|
}, {
|
|
1362
1508
|
readonly type: "event";
|
|
1363
|
-
readonly name: "
|
|
1509
|
+
readonly name: "EscapeHatchSet";
|
|
1364
1510
|
readonly inputs: readonly [{
|
|
1365
1511
|
readonly name: "escapeHatch";
|
|
1366
1512
|
readonly type: "address";
|
|
@@ -1416,6 +1562,14 @@ export declare class RollupContract {
|
|
|
1416
1562
|
readonly type: "uint256";
|
|
1417
1563
|
readonly internalType: "Hatch";
|
|
1418
1564
|
}];
|
|
1565
|
+
}, {
|
|
1566
|
+
readonly type: "error";
|
|
1567
|
+
readonly name: "FeeLib__ProvingCostCooldown";
|
|
1568
|
+
readonly inputs: readonly [{
|
|
1569
|
+
readonly name: "nextAllowed";
|
|
1570
|
+
readonly type: "uint256";
|
|
1571
|
+
readonly internalType: "uint256";
|
|
1572
|
+
}];
|
|
1419
1573
|
}, {
|
|
1420
1574
|
readonly type: "error";
|
|
1421
1575
|
readonly name: "GSE__FailedToRemove";
|
|
@@ -1554,6 +1708,14 @@ export declare class RollupContract {
|
|
|
1554
1708
|
readonly internalType: "uint256";
|
|
1555
1709
|
}];
|
|
1556
1710
|
readonly anonymous: false;
|
|
1711
|
+
}, {
|
|
1712
|
+
readonly type: "error";
|
|
1713
|
+
readonly name: "Outbox__InvalidNumCheckpointsInEpoch";
|
|
1714
|
+
readonly inputs: readonly [{
|
|
1715
|
+
readonly name: "numCheckpointsInEpoch";
|
|
1716
|
+
readonly type: "uint256";
|
|
1717
|
+
readonly internalType: "uint256";
|
|
1718
|
+
}];
|
|
1557
1719
|
}, {
|
|
1558
1720
|
readonly type: "error";
|
|
1559
1721
|
readonly name: "Outbox__NothingToConsume";
|
|
@@ -1586,6 +1748,16 @@ export declare class RollupContract {
|
|
|
1586
1748
|
readonly type: "address";
|
|
1587
1749
|
readonly internalType: "address";
|
|
1588
1750
|
}];
|
|
1751
|
+
}, {
|
|
1752
|
+
readonly type: "event";
|
|
1753
|
+
readonly name: "PendingSlasherCancelled";
|
|
1754
|
+
readonly inputs: readonly [{
|
|
1755
|
+
readonly name: "slasher";
|
|
1756
|
+
readonly type: "address";
|
|
1757
|
+
readonly indexed: true;
|
|
1758
|
+
readonly internalType: "address";
|
|
1759
|
+
}];
|
|
1760
|
+
readonly anonymous: false;
|
|
1589
1761
|
}, {
|
|
1590
1762
|
readonly type: "error";
|
|
1591
1763
|
readonly name: "ProofCommitmentEscrow__NotOwner";
|
|
@@ -1625,19 +1797,11 @@ export declare class RollupContract {
|
|
|
1625
1797
|
readonly name: "rewardConfig";
|
|
1626
1798
|
readonly type: "tuple";
|
|
1627
1799
|
readonly indexed: false;
|
|
1628
|
-
readonly internalType: "struct
|
|
1800
|
+
readonly internalType: "struct MutableRewardConfig";
|
|
1629
1801
|
readonly components: readonly [{
|
|
1630
|
-
readonly name: "rewardDistributor";
|
|
1631
|
-
readonly type: "address";
|
|
1632
|
-
readonly internalType: "contract IRewardDistributor";
|
|
1633
|
-
}, {
|
|
1634
1802
|
readonly name: "sequencerBps";
|
|
1635
1803
|
readonly type: "uint32";
|
|
1636
1804
|
readonly internalType: "Bps";
|
|
1637
|
-
}, {
|
|
1638
|
-
readonly name: "booster";
|
|
1639
|
-
readonly type: "address";
|
|
1640
|
-
readonly internalType: "contract IBoosterCore";
|
|
1641
1805
|
}, {
|
|
1642
1806
|
readonly name: "checkpointReward";
|
|
1643
1807
|
readonly type: "uint96";
|
|
@@ -1645,6 +1809,14 @@ export declare class RollupContract {
|
|
|
1645
1809
|
}];
|
|
1646
1810
|
}];
|
|
1647
1811
|
readonly anonymous: false;
|
|
1812
|
+
}, {
|
|
1813
|
+
readonly type: "error";
|
|
1814
|
+
readonly name: "RewardLib__ZeroShares";
|
|
1815
|
+
readonly inputs: readonly [{
|
|
1816
|
+
readonly name: "prover";
|
|
1817
|
+
readonly type: "address";
|
|
1818
|
+
readonly internalType: "address";
|
|
1819
|
+
}];
|
|
1648
1820
|
}, {
|
|
1649
1821
|
readonly type: "error";
|
|
1650
1822
|
readonly name: "Rollup__InvalidBasisPointFee";
|
|
@@ -1940,6 +2112,22 @@ export declare class RollupContract {
|
|
|
1940
2112
|
readonly type: "address";
|
|
1941
2113
|
readonly internalType: "address";
|
|
1942
2114
|
}];
|
|
2115
|
+
}, {
|
|
2116
|
+
readonly type: "error";
|
|
2117
|
+
readonly name: "Staking__SlasherNotReady";
|
|
2118
|
+
readonly inputs: readonly [{
|
|
2119
|
+
readonly name: "readyAt";
|
|
2120
|
+
readonly type: "uint256";
|
|
2121
|
+
readonly internalType: "Timestamp";
|
|
2122
|
+
}];
|
|
2123
|
+
}, {
|
|
2124
|
+
readonly type: "error";
|
|
2125
|
+
readonly name: "Staking__SlasherProposerNotInitialized";
|
|
2126
|
+
readonly inputs: readonly [{
|
|
2127
|
+
readonly name: "slasher";
|
|
2128
|
+
readonly type: "address";
|
|
2129
|
+
readonly internalType: "address";
|
|
2130
|
+
}];
|
|
1943
2131
|
}, {
|
|
1944
2132
|
readonly type: "error";
|
|
1945
2133
|
readonly name: "Staking__WithdrawFailed";
|
|
@@ -2661,11 +2849,21 @@ export declare class RollupContract {
|
|
|
2661
2849
|
readonly stateMutability: "view";
|
|
2662
2850
|
}, {
|
|
2663
2851
|
readonly type: "function";
|
|
2664
|
-
readonly name: "
|
|
2852
|
+
readonly name: "queueSetSlasher";
|
|
2665
2853
|
readonly inputs: readonly [{
|
|
2666
|
-
readonly name: "
|
|
2667
|
-
readonly type: "
|
|
2668
|
-
readonly internalType: "
|
|
2854
|
+
readonly name: "_slasher";
|
|
2855
|
+
readonly type: "address";
|
|
2856
|
+
readonly internalType: "address";
|
|
2857
|
+
}];
|
|
2858
|
+
readonly outputs: readonly [];
|
|
2859
|
+
readonly stateMutability: "nonpayable";
|
|
2860
|
+
}, {
|
|
2861
|
+
readonly type: "function";
|
|
2862
|
+
readonly name: "setEscapeHatch";
|
|
2863
|
+
readonly inputs: readonly [{
|
|
2864
|
+
readonly name: "_escapeHatch";
|
|
2865
|
+
readonly type: "address";
|
|
2866
|
+
readonly internalType: "address";
|
|
2669
2867
|
}];
|
|
2670
2868
|
readonly outputs: readonly [];
|
|
2671
2869
|
readonly stateMutability: "nonpayable";
|
|
@@ -2685,19 +2883,11 @@ export declare class RollupContract {
|
|
|
2685
2883
|
readonly inputs: readonly [{
|
|
2686
2884
|
readonly name: "_config";
|
|
2687
2885
|
readonly type: "tuple";
|
|
2688
|
-
readonly internalType: "struct
|
|
2886
|
+
readonly internalType: "struct MutableRewardConfig";
|
|
2689
2887
|
readonly components: readonly [{
|
|
2690
|
-
readonly name: "rewardDistributor";
|
|
2691
|
-
readonly type: "address";
|
|
2692
|
-
readonly internalType: "contract IRewardDistributor";
|
|
2693
|
-
}, {
|
|
2694
2888
|
readonly name: "sequencerBps";
|
|
2695
2889
|
readonly type: "uint32";
|
|
2696
2890
|
readonly internalType: "Bps";
|
|
2697
|
-
}, {
|
|
2698
|
-
readonly name: "booster";
|
|
2699
|
-
readonly type: "address";
|
|
2700
|
-
readonly internalType: "contract IBoosterCore";
|
|
2701
2891
|
}, {
|
|
2702
2892
|
readonly name: "checkpointReward";
|
|
2703
2893
|
readonly type: "uint96";
|
|
@@ -2706,16 +2896,6 @@ export declare class RollupContract {
|
|
|
2706
2896
|
}];
|
|
2707
2897
|
readonly outputs: readonly [];
|
|
2708
2898
|
readonly stateMutability: "nonpayable";
|
|
2709
|
-
}, {
|
|
2710
|
-
readonly type: "function";
|
|
2711
|
-
readonly name: "setSlasher";
|
|
2712
|
-
readonly inputs: readonly [{
|
|
2713
|
-
readonly name: "_slasher";
|
|
2714
|
-
readonly type: "address";
|
|
2715
|
-
readonly internalType: "address";
|
|
2716
|
-
}];
|
|
2717
|
-
readonly outputs: readonly [];
|
|
2718
|
-
readonly stateMutability: "nonpayable";
|
|
2719
2899
|
}, {
|
|
2720
2900
|
readonly type: "function";
|
|
2721
2901
|
readonly name: "status";
|
|
@@ -2825,16 +3005,6 @@ export declare class RollupContract {
|
|
|
2825
3005
|
}];
|
|
2826
3006
|
readonly outputs: readonly [];
|
|
2827
3007
|
readonly stateMutability: "nonpayable";
|
|
2828
|
-
}, {
|
|
2829
|
-
readonly type: "function";
|
|
2830
|
-
readonly name: "updateEscapeHatch";
|
|
2831
|
-
readonly inputs: readonly [{
|
|
2832
|
-
readonly name: "_escapeHatch";
|
|
2833
|
-
readonly type: "address";
|
|
2834
|
-
readonly internalType: "address";
|
|
2835
|
-
}];
|
|
2836
|
-
readonly outputs: readonly [];
|
|
2837
|
-
readonly stateMutability: "nonpayable";
|
|
2838
3008
|
}, {
|
|
2839
3009
|
readonly type: "function";
|
|
2840
3010
|
readonly name: "updateManaTarget";
|
|
@@ -3124,6 +3294,42 @@ export declare class RollupContract {
|
|
|
3124
3294
|
readonly type: "uint256";
|
|
3125
3295
|
readonly internalType: "uint256";
|
|
3126
3296
|
}];
|
|
3297
|
+
}, {
|
|
3298
|
+
readonly type: "error";
|
|
3299
|
+
readonly name: "FeeLib__ProvingCostAboveCeiling";
|
|
3300
|
+
readonly inputs: readonly [{
|
|
3301
|
+
readonly name: "provided";
|
|
3302
|
+
readonly type: "uint256";
|
|
3303
|
+
readonly internalType: "uint256";
|
|
3304
|
+
}, {
|
|
3305
|
+
readonly name: "maximum";
|
|
3306
|
+
readonly type: "uint256";
|
|
3307
|
+
readonly internalType: "uint256";
|
|
3308
|
+
}];
|
|
3309
|
+
}, {
|
|
3310
|
+
readonly type: "error";
|
|
3311
|
+
readonly name: "FeeLib__ProvingCostBelowFloor";
|
|
3312
|
+
readonly inputs: readonly [{
|
|
3313
|
+
readonly name: "provided";
|
|
3314
|
+
readonly type: "uint256";
|
|
3315
|
+
readonly internalType: "uint256";
|
|
3316
|
+
}, {
|
|
3317
|
+
readonly name: "minimum";
|
|
3318
|
+
readonly type: "uint256";
|
|
3319
|
+
readonly internalType: "uint256";
|
|
3320
|
+
}];
|
|
3321
|
+
}, {
|
|
3322
|
+
readonly type: "error";
|
|
3323
|
+
readonly name: "FeeLib__ProvingCostStepExceeded";
|
|
3324
|
+
readonly inputs: readonly [{
|
|
3325
|
+
readonly name: "current";
|
|
3326
|
+
readonly type: "uint256";
|
|
3327
|
+
readonly internalType: "uint256";
|
|
3328
|
+
}, {
|
|
3329
|
+
readonly name: "requested";
|
|
3330
|
+
readonly type: "uint256";
|
|
3331
|
+
readonly internalType: "uint256";
|
|
3332
|
+
}];
|
|
3127
3333
|
}, {
|
|
3128
3334
|
readonly type: "error";
|
|
3129
3335
|
readonly name: "GSE__AlreadyRegistered";
|
|
@@ -3273,16 +3479,16 @@ export declare class RollupContract {
|
|
|
3273
3479
|
readonly anonymous: false;
|
|
3274
3480
|
}, {
|
|
3275
3481
|
readonly type: "event";
|
|
3276
|
-
readonly name: "
|
|
3482
|
+
readonly name: "LegacySlasherAuthorized";
|
|
3277
3483
|
readonly inputs: readonly [{
|
|
3278
|
-
readonly name: "
|
|
3279
|
-
readonly type: "
|
|
3484
|
+
readonly name: "legacySlasher";
|
|
3485
|
+
readonly type: "address";
|
|
3280
3486
|
readonly indexed: true;
|
|
3281
|
-
readonly internalType: "
|
|
3487
|
+
readonly internalType: "address";
|
|
3282
3488
|
}, {
|
|
3283
|
-
readonly name: "
|
|
3489
|
+
readonly name: "authorizedUntil";
|
|
3284
3490
|
readonly type: "uint256";
|
|
3285
|
-
readonly indexed:
|
|
3491
|
+
readonly indexed: false;
|
|
3286
3492
|
readonly internalType: "uint256";
|
|
3287
3493
|
}];
|
|
3288
3494
|
readonly anonymous: false;
|
|
@@ -3349,6 +3555,21 @@ export declare class RollupContract {
|
|
|
3349
3555
|
readonly internalType: "address";
|
|
3350
3556
|
}];
|
|
3351
3557
|
readonly anonymous: false;
|
|
3558
|
+
}, {
|
|
3559
|
+
readonly type: "event";
|
|
3560
|
+
readonly name: "PendingSlasherQueued";
|
|
3561
|
+
readonly inputs: readonly [{
|
|
3562
|
+
readonly name: "slasher";
|
|
3563
|
+
readonly type: "address";
|
|
3564
|
+
readonly indexed: true;
|
|
3565
|
+
readonly internalType: "address";
|
|
3566
|
+
}, {
|
|
3567
|
+
readonly name: "readyAt";
|
|
3568
|
+
readonly type: "uint256";
|
|
3569
|
+
readonly indexed: false;
|
|
3570
|
+
readonly internalType: "uint256";
|
|
3571
|
+
}];
|
|
3572
|
+
readonly anonymous: false;
|
|
3352
3573
|
}, {
|
|
3353
3574
|
readonly type: "error";
|
|
3354
3575
|
readonly name: "ProofCommitmentEscrow__InsufficientBalance";
|
|
@@ -3388,6 +3609,18 @@ export declare class RollupContract {
|
|
|
3388
3609
|
readonly internalType: "uint256";
|
|
3389
3610
|
}];
|
|
3390
3611
|
readonly anonymous: false;
|
|
3612
|
+
}, {
|
|
3613
|
+
readonly type: "error";
|
|
3614
|
+
readonly name: "RewardDistributor__InsufficientAvailable";
|
|
3615
|
+
readonly inputs: readonly [{
|
|
3616
|
+
readonly name: "requested";
|
|
3617
|
+
readonly type: "uint256";
|
|
3618
|
+
readonly internalType: "uint256";
|
|
3619
|
+
}, {
|
|
3620
|
+
readonly name: "available";
|
|
3621
|
+
readonly type: "uint256";
|
|
3622
|
+
readonly internalType: "uint256";
|
|
3623
|
+
}];
|
|
3391
3624
|
}, {
|
|
3392
3625
|
readonly type: "error";
|
|
3393
3626
|
readonly name: "RewardDistributor__InvalidCaller";
|
|
@@ -3886,6 +4119,30 @@ export declare class RollupContract {
|
|
|
3886
4119
|
readonly type: "address";
|
|
3887
4120
|
readonly internalType: "address";
|
|
3888
4121
|
}];
|
|
4122
|
+
}, {
|
|
4123
|
+
readonly type: "error";
|
|
4124
|
+
readonly name: "Staking__BootstrapFlushSizeAboveMax";
|
|
4125
|
+
readonly inputs: readonly [{
|
|
4126
|
+
readonly name: "bootstrapFlushSize";
|
|
4127
|
+
readonly type: "uint256";
|
|
4128
|
+
readonly internalType: "uint256";
|
|
4129
|
+
}, {
|
|
4130
|
+
readonly name: "maxQueueFlushSize";
|
|
4131
|
+
readonly type: "uint256";
|
|
4132
|
+
readonly internalType: "uint256";
|
|
4133
|
+
}];
|
|
4134
|
+
}, {
|
|
4135
|
+
readonly type: "error";
|
|
4136
|
+
readonly name: "Staking__ExitDelayAboveSlasherDelay";
|
|
4137
|
+
readonly inputs: readonly [{
|
|
4138
|
+
readonly name: "exitDelaySeconds";
|
|
4139
|
+
readonly type: "uint256";
|
|
4140
|
+
readonly internalType: "uint256";
|
|
4141
|
+
}, {
|
|
4142
|
+
readonly name: "slasherExecutionDelay";
|
|
4143
|
+
readonly type: "uint256";
|
|
4144
|
+
readonly internalType: "uint256";
|
|
4145
|
+
}];
|
|
3889
4146
|
}, {
|
|
3890
4147
|
readonly type: "error";
|
|
3891
4148
|
readonly name: "Staking__InsufficientBootstrapValidators";
|
|
@@ -4009,6 +4266,18 @@ export declare class RollupContract {
|
|
|
4009
4266
|
readonly type: "uint32";
|
|
4010
4267
|
readonly internalType: "uint32";
|
|
4011
4268
|
}];
|
|
4269
|
+
}, {
|
|
4270
|
+
readonly type: "error";
|
|
4271
|
+
readonly name: "ValidatorSelection__EscapeHatchRollupMismatch";
|
|
4272
|
+
readonly inputs: readonly [{
|
|
4273
|
+
readonly name: "expected";
|
|
4274
|
+
readonly type: "address";
|
|
4275
|
+
readonly internalType: "address";
|
|
4276
|
+
}, {
|
|
4277
|
+
readonly name: "actual";
|
|
4278
|
+
readonly type: "address";
|
|
4279
|
+
readonly internalType: "address";
|
|
4280
|
+
}];
|
|
4012
4281
|
}, {
|
|
4013
4282
|
readonly type: "error";
|
|
4014
4283
|
readonly name: "ValidatorSelection__InsufficientAttestations";
|
|
@@ -5292,5 +5561,6 @@ export declare class RollupContract {
|
|
|
5292
5561
|
* @param field - The field within the CompressedTempCheckpointLog struct
|
|
5293
5562
|
*/
|
|
5294
5563
|
getTempCheckpointLogStorageSlot(checkpointNumber: CheckpointNumber, field: TempCheckpointLogField): Promise<bigint>;
|
|
5564
|
+
private computeTempCheckpointLogStorageSlot;
|
|
5295
5565
|
}
|
|
5296
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sbHVwLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3RzL3JvbGx1cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzNELE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBSXJFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUkxRCxPQUFPLEVBQ0wsS0FBSyxPQUFPLEVBQ1osS0FBSyxxQkFBcUIsRUFDMUIsS0FBSyxHQUFHLEVBQ1IsS0FBSyxHQUFHLEVBQ1IsS0FBSyxhQUFhLEVBQ2xCLEtBQUssNEJBQTRCLEVBTWxDLE1BQU0sTUFBTSxDQUFDO0FBR2QsT0FBTyxLQUFLLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN4RixPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3ZFLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RELE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN0RSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHOUMsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFB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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7aUNBRzFDO0lBRUQsc0VBQXNFO0lBQ2hFLDJCQUEyQixDQUFDLFNBQVMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE1BQU0sR0FBRyxPQUFPLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQThCdEc7SUFFRCxzRkFBc0Y7SUFDdEYsTUFBTSxDQUFDLGFBQWEsQ0FBQyx1QkFBdUIsRUFBRSxNQUFNLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxHQUFHLE1BQU0sQ0FFNUY7SUFFRCxnRkFBZ0Y7SUFDaEYsTUFBTSxLQUFLLG9CQUFvQixJQUFJLE1BQU0sQ0FFeEM7SUFFRDs7OztPQUlHO0lBQ0csK0JBQStCLENBQ25DLGdCQUFnQixFQUFFLGdCQUFnQixFQUNsQyxLQUFLLEVBQUUsc0JBQXNCLEdBQzVCLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FlakI7Q0FDRiJ9
|
|
5566
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sbHVwLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29udHJhY3RzL3JvbGx1cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQzVGLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsRUFBRSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFcEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzNELE9BQU8sS0FBSyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBS3JFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUkxRCxPQUFPLEVBQ0wsS0FBSyxPQUFPLEVBRVosS0FBSyxxQkFBcUIsRUFDMUIsS0FBSyxHQUFHLEVBQ1IsS0FBSyxHQUFHLEVBRVIsS0FBSyxhQUFhLEVBQ2xCLEtBQUssNEJBQTRCLEVBT2xDLE1BQU0sTUFBTSxDQUFDO0FBR2QsT0FBTyxLQUFLLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUN4RixPQUFPLEtBQUssRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3ZFLE9BQU8sS0FBSyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RELE9BQU8sS0FBSyxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUN0RSxPQUFPLEtBQUssRUFBRSxVQUFVLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFHOUMsT0FBTyxLQUFLLEVBQUUsVUFBVSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFB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Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O2lDQUcxQztJQUVELHNFQUFzRTtJQUNoRSwyQkFBMkIsQ0FBQyxTQUFTLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxNQUFNLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixFQUFFLENBQUMsQ0E4QnRHO0lBRUQsc0ZBQXNGO0lBQ3RGLE1BQU0sQ0FBQyxhQUFhLENBQUMsdUJBQXVCLEVBQUUsTUFBTSxFQUFFLHNCQUFzQixFQUFFLE1BQU0sR0FBRyxNQUFNLENBRTVGO0lBRUQsZ0ZBQWdGO0lBQ2hGLE1BQU0sS0FBSyxvQkFBb0IsSUFBSSxNQUFNLENBRXhDO0lBRUQ7Ozs7T0FJRztJQUNHLCtCQUErQixDQUNuQyxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFDbEMsS0FBSyxFQUFFLHNCQUFzQixHQUM1QixPQUFPLENBQUMsTUFBTSxDQUFDLENBTWpCO0lBRUQsT0FBTyxDQUFDLG1DQUFtQztDQWlCNUMifQ==
|