@win-trader/bindings 0.0.3 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1147,7 +1147,7 @@ export interface AllowanceData {
1147
1147
  }
1148
1148
  /**
1149
1149
  * Authoritative per-market state: the side aggregates, the funding indices,
1150
- * the current funding flows, and the market configuration.
1150
+ * the funding EMA, and the market configuration.
1151
1151
  *
1152
1152
  * Soroban limits UDT field names to 30 characters, so where a doc glossary
1153
1153
  * term is longer the field drops the redundant qualifier and its doc
@@ -1157,7 +1157,7 @@ export interface AllowanceData {
1157
1157
  export interface Market {
1158
1158
  config: MarketConfig;
1159
1159
  /**
1160
- * `INDEX_PRECISION`-scaled bps/day payer rate for the current interval.
1160
+ * `INDEX_PRECISION`-scaled bps/day payer rate as of the last refresh.
1161
1161
  */
1162
1162
  current_payer_rate: i128;
1163
1163
  current_payer_side: PayerSide;
@@ -1169,12 +1169,11 @@ export interface Market {
1169
1169
  */
1170
1170
  lp_backed_index_long: i128;
1171
1171
  lp_backed_index_short: i128;
1172
+ lp_payer_remainder: i128;
1172
1173
  /**
1173
- * LP-allocated remainder of the payer flow, cash/second at
1174
- * `INDEX_PRECISION` (§8.1).
1174
+ * Sub-stroop carry of the receiver-liability accrual (§8.3).
1175
1175
  */
1176
- lp_flow_per_second: i128;
1177
- lp_payer_remainder: i128;
1176
+ pending_remainder: i128;
1178
1177
  /**
1179
1178
  * Cumulative payer fee per unit of dominant-side size whose collection
1180
1179
  * restores cash backing an already-accrued receiver claim (§8.2).
@@ -1182,12 +1181,6 @@ export interface Market {
1182
1181
  receiver_backed_index_long: i128;
1183
1182
  receiver_backed_index_short: i128;
1184
1183
  /**
1185
- * Receiver-allocated share of the payer flow, cash/second at
1186
- * `INDEX_PRECISION` (§8.1).
1187
- */
1188
- receiver_flow_per_second: i128;
1189
- receiver_flow_remainder: i128;
1190
- /**
1191
1184
  * Cumulative funding credit per unit of light-side size (§8.2).
1192
1185
  */
1193
1186
  receiver_index_long: i128;
@@ -1195,6 +1188,12 @@ export interface Market {
1195
1188
  receiver_index_short: i128;
1196
1189
  receiver_payer_remainder: i128;
1197
1190
  short: MarketSide;
1191
+ /**
1192
+ * §8.1 signed EMA of the instantaneous skew: a fraction of one at
1193
+ * `INDEX_PRECISION` scale, positive when history says longs dominate.
1194
+ * Decays toward the current skew with the global half-life.
1195
+ */
1196
+ skew_ema: i128;
1198
1197
  }
1199
1198
  export interface LpConfig {
1200
1199
  lp_request_delay: u64;
@@ -1255,8 +1254,9 @@ export interface LpRequest {
1255
1254
  status: LpRequestStatus;
1256
1255
  }
1257
1256
  /**
1258
- * Which side currently pays funding (§8.1: the side with more base
1259
- * exposure). `None` when the market is balanced or empty.
1257
+ * Which side currently pays funding (§8.1: the side the blended integral
1258
+ * skew points at — under the EMA this can be the *lighter* side for a
1259
+ * while after the book flips). `None` when the blend is exactly zero.
1260
1260
  */
1261
1261
  export type PayerSide = {
1262
1262
  tag: "None";
@@ -1281,6 +1281,40 @@ export type RiskState = {
1281
1281
  tag: "HardCap";
1282
1282
  values: void;
1283
1283
  };
1284
+ /**
1285
+ * A pending limit/stop entry order: the frozen `open_position` arguments
1286
+ * plus a trigger condition and an expiry. Placing one only writes this
1287
+ * record — no funds move. A keeper's `execute_entry_order` pulls the
1288
+ * collateral via the owner's token allowance and opens the position
1289
+ * exactly as a market open would.
1290
+ */
1291
+ export interface EntryOrder {
1292
+ acceptable_price: i128;
1293
+ collateral: i128;
1294
+ execution_budget: i128;
1295
+ /**
1296
+ * Ledger timestamp after which the order is dead and swept on the next
1297
+ * touch (user-configurable max TTL).
1298
+ */
1299
+ expires_at: u64;
1300
+ id: u64;
1301
+ is_long: boolean;
1302
+ market: string;
1303
+ owner: string;
1304
+ size: i128;
1305
+ stop_loss: i128;
1306
+ take_profit: i128;
1307
+ /**
1308
+ * True → fill when price ≥ trigger (stop/breakout entry); false → fill
1309
+ * when price ≤ trigger (limit/dip entry). Inferred at placement from
1310
+ * the trigger vs. the current price.
1311
+ */
1312
+ trigger_above: boolean;
1313
+ /**
1314
+ * The oracle price at which the order becomes fillable.
1315
+ */
1316
+ trigger_price: i128;
1317
+ }
1284
1318
  export interface MarketSide {
1285
1319
  base_exposure: i128;
1286
1320
  risk_state: RiskState;
@@ -1301,22 +1335,68 @@ export interface OracleRound {
1301
1335
  }
1302
1336
  export interface GlobalConfig {
1303
1337
  base_borrow_rate_bps_day: i128;
1338
+ /**
1339
+ * §9.2 borrow-curve exponent, bps: 20_000 = u² (legacy quadratic),
1340
+ * 10_000 = linear. Bounded to ≤ 100_000 (e ≤ 10) by validation.
1341
+ */
1342
+ borrow_exponent_bps: u32;
1343
+ /**
1344
+ * §8.1 half-life of the funding skew EMA, seconds (global: one memory
1345
+ * horizon for every market).
1346
+ */
1347
+ funding_half_life_seconds: u64;
1304
1348
  hard_cap_factor_limit_bps: u32;
1305
1349
  lp_revenue_share_bps: u32;
1306
1350
  max_active_markets: u32;
1307
1351
  max_adl_reward: i128;
1308
1352
  max_insolvent_touch_reward: i128;
1309
1353
  max_variable_borrow_bps_day: i128;
1354
+ /**
1355
+ * §11.2 minimum borrow charge per capitalization: an index delta at
1356
+ * `INDEX_PRECISION` scale applied to the position's risk units
1357
+ * (2e11 = 2 bps of notional at a 10% market risk factor). Zero
1358
+ * disables the floor.
1359
+ */
1360
+ min_borrow_index_delta: i128;
1310
1361
  min_collateral: i128;
1311
1362
  min_position_lifetime: u64;
1363
+ /**
1364
+ * §11.1 share of a closing fee routed to the trader's referrer, carved
1365
+ * from the protocol slice (keeper and LP shares are untouched). `0`
1366
+ * disables referral accrual globally — a kill switch. Validated so
1367
+ * `lp + keeper + referral ≤ BPS`, keeping the protocol remainder ≥ 0.
1368
+ */
1369
+ referral_fee_share_bps: u32;
1312
1370
  risk_capacity_limit_bps: u32;
1313
1371
  risk_keeper_revenue_share_bps: u32;
1314
1372
  }
1315
1373
  export interface MarketConfig {
1316
1374
  adl_pnl_factor_bps: u32;
1317
1375
  adl_reward_bps: u32;
1376
+ /**
1377
+ * §11.1 closing-fee tier when the close worsens skew.
1378
+ */
1379
+ close_fee_high_bps: u32;
1380
+ /**
1381
+ * §11.1 closing-fee tier when the close improves or preserves skew.
1382
+ */
1383
+ close_fee_low_bps: u32;
1318
1384
  hard_cap_pnl_factor_bps: u32;
1385
+ /**
1386
+ * Margin required to open or add risk (§12.3). Divides max leverage:
1387
+ * a position may not be created closer to liquidation than this.
1388
+ */
1389
+ initial_margin_bps: u32;
1390
+ /**
1391
+ * §8.1 weight of the instantaneous skew in the funding blend, in bps;
1392
+ * the rest is the half-life EMA. `BPS` reproduces pure instant skew.
1393
+ */
1394
+ instant_weight_bps: u32;
1319
1395
  liquidation_reward_bps: u32;
1396
+ /**
1397
+ * Margin below which the position is liquidatable (§12.3). Must not
1398
+ * exceed `initial_margin_bps`; the gap is the entry buffer.
1399
+ */
1320
1400
  maintenance_margin_bps: u32;
1321
1401
  market_risk_factor_bps: u32;
1322
1402
  max_funding_rate_bps_day: i128;
@@ -1324,8 +1404,6 @@ export interface MarketConfig {
1324
1404
  max_long_size_open_interest: i128;
1325
1405
  max_short_base_exposure: i128;
1326
1406
  max_short_size_open_interest: i128;
1327
- open_fee_high_bps: u32;
1328
- open_fee_low_bps: u32;
1329
1407
  recovery_pnl_factor_bps: u32;
1330
1408
  warning_pnl_factor_bps: u32;
1331
1409
  }
@@ -1396,6 +1474,23 @@ export type LpRequestStatus = {
1396
1474
  tag: "Expired";
1397
1475
  values: void;
1398
1476
  };
1477
+ /**
1478
+ * The caller-supplied fields of a `place_entry_order` request, bundled so
1479
+ * the entry point stays within Soroban's parameter limit. `owner` and
1480
+ * `market` are passed alongside; `id` and `trigger_above` are derived at
1481
+ * placement.
1482
+ */
1483
+ export interface EntryOrderParams {
1484
+ acceptable_price: i128;
1485
+ collateral: i128;
1486
+ execution_budget: i128;
1487
+ expires_at: u64;
1488
+ is_long: boolean;
1489
+ size: i128;
1490
+ stop_loss: i128;
1491
+ take_profit: i128;
1492
+ trigger_price: i128;
1493
+ }
1399
1494
  export interface SettlementResult {
1400
1495
  /**
1401
1496
  * Shares minted for a deposit or assets paid for a withdrawal.
@@ -1751,6 +1846,14 @@ export interface Client {
1751
1846
  accounting_snapshot: ({ round }: {
1752
1847
  round: OracleRound;
1753
1848
  }, options?: MethodOptions) => Promise<AssembledTransaction<AccountingSnapshot>>;
1849
+ /**
1850
+ * Construct and simulate a pull_from_allowance transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
1851
+ */
1852
+ pull_from_allowance: ({ caller, from, amount }: {
1853
+ caller: string;
1854
+ from: string;
1855
+ amount: i128;
1856
+ }, options?: MethodOptions) => Promise<AssembledTransaction<boolean>>;
1754
1857
  /**
1755
1858
  * Construct and simulate a can_create_lp_request transaction. Returns an `AssembledTransaction` object which will have a `result` field containing the result of the simulation. If this transaction changes contract state, you will need to call `signAndSend()` on the returned object.
1756
1859
  */
@@ -1812,6 +1915,7 @@ export declare class Client extends ContractClient {
1812
1915
  set_request_router: (json: string) => AssembledTransaction<null>;
1813
1916
  total_share_supply: (json: string) => AssembledTransaction<bigint>;
1814
1917
  accounting_snapshot: (json: string) => AssembledTransaction<AccountingSnapshot>;
1918
+ pull_from_allowance: (json: string) => AssembledTransaction<boolean>;
1815
1919
  can_create_lp_request: (json: string) => AssembledTransaction<boolean>;
1816
1920
  transfer_safety_claim: (json: string) => AssembledTransaction<null>;
1817
1921
  };
@@ -544,6 +544,7 @@ export class Client extends ContractClient {
544
544
  "AAAAAAAAAAAAAAASc2V0X3JlcXVlc3Rfcm91dGVyAAAAAAACAAAAAAAAAAZjYWxsZXIAAAAAABMAAAAAAAAADnJlcXVlc3Rfcm91dGVyAAAAAAATAAAAAA==",
545
545
  "AAAAAAAAAAAAAAASdG90YWxfc2hhcmVfc3VwcGx5AAAAAAAAAAAAAQAAAAs=",
546
546
  "AAAAAAAAAAAAAAATYWNjb3VudGluZ19zbmFwc2hvdAAAAAABAAAAAAAAAAVyb3VuZAAAAAAAB9AAAAALT3JhY2xlUm91bmQAAAAAAQAAB9AAAAASQWNjb3VudGluZ1NuYXBzaG90AAA=",
547
+ "AAAAAAAAAAAAAAATcHVsbF9mcm9tX2FsbG93YW5jZQAAAAADAAAAAAAAAAZjYWxsZXIAAAAAABMAAAAAAAAABGZyb20AAAATAAAAAAAAAAZhbW91bnQAAAAAAAsAAAABAAAAAQ==",
547
548
  "AAAAAAAAAAAAAAAVY2FuX2NyZWF0ZV9scF9yZXF1ZXN0AAAAAAAAAAAAAAEAAAAB",
548
549
  "AAAAAAAAAAAAAAAVdHJhbnNmZXJfc2FmZXR5X2NsYWltAAAAAAAAAwAAAAAAAAAGY2FsbGVyAAAAAAATAAAAAAAAAAlyZWNpcGllbnQAAAAAAAATAAAAAAAAAAZhbW91bnQAAAAAAAsAAAAA",
549
550
  "AAAAAQAAAAAAAAAAAAAADk93bmVyVG9rZW5zS2V5AAAAAAACAAAAAAAAAAVpbmRleAAAAAAAAAQAAAAAAAAABW93bmVyAAAAAAAAEw==",
@@ -651,22 +652,24 @@ export class Client extends ContractClient {
651
652
  "AAAAAgAAADlTdG9yYWdlIGtleXMgZm9yIHRoZSBkYXRhIGFzc29jaWF0ZWQgd2l0aCBgRnVuZ2libGVUb2tlbmAAAAAAAAAAAAAAClN0b3JhZ2VLZXkAAAAAAAMAAAAAAAAAAAAAAAtUb3RhbFN1cHBseQAAAAABAAAAAAAAAAdCYWxhbmNlAAAAAAEAAAATAAAAAQAAAAAAAAAJQWxsb3dhbmNlAAAAAAAAAQAAB9AAAAAMQWxsb3dhbmNlS2V5",
652
653
  "AAAAAQAAACpTdG9yYWdlIGtleSB0aGF0IG1hcHMgdG8gW2BBbGxvd2FuY2VEYXRhYF0AAAAAAAAAAAAMQWxsb3dhbmNlS2V5AAAAAgAAAAAAAAAFb3duZXIAAAAAAAATAAAAAAAAAAdzcGVuZGVyAAAAABM=",
653
654
  "AAAAAQAAAINTdG9yYWdlIGNvbnRhaW5lciBmb3IgdGhlIGFtb3VudCBvZiB0b2tlbnMgZm9yIHdoaWNoIGFuIGFsbG93YW5jZSBpcyBncmFudGVkCmFuZCB0aGUgbGVkZ2VyIG51bWJlciBhdCB3aGljaCB0aGlzIGFsbG93YW5jZSBleHBpcmVzLgAAAAAAAAAADUFsbG93YW5jZURhdGEAAAAAAAACAAAAAAAAAAZhbW91bnQAAAAAAAsAAAAAAAAAEWxpdmVfdW50aWxfbGVkZ2VyAAAAAAAABA==",
654
- "AAAAAQAAAY9BdXRob3JpdGF0aXZlIHBlci1tYXJrZXQgc3RhdGU6IHRoZSBzaWRlIGFnZ3JlZ2F0ZXMsIHRoZSBmdW5kaW5nIGluZGljZXMsCnRoZSBjdXJyZW50IGZ1bmRpbmcgZmxvd3MsIGFuZCB0aGUgbWFya2V0IGNvbmZpZ3VyYXRpb24uCgpTb3JvYmFuIGxpbWl0cyBVRFQgZmllbGQgbmFtZXMgdG8gMzAgY2hhcmFjdGVycywgc28gd2hlcmUgYSBkb2MgZ2xvc3NhcnkKdGVybSBpcyBsb25nZXIgdGhlIGZpZWxkIGRyb3BzIHRoZSByZWR1bmRhbnQgcXVhbGlmaWVyIGFuZCBpdHMgZG9jCmNvbW1lbnQgY2FycmllcyB0aGUgZnVsbCB0ZXJtIChlLmcuIGByZWNlaXZlcl9iYWNrZWRfaW5kZXhfbG9uZ2AgaXMgdGhlCmRvYydzIGByZWNlaXZlcl9iYWNrZWRfcGF5ZXJfaW5kZXhgIGZvciB0aGUgbG9uZyBzaWRlKS4AAAAAAAAAAAZNYXJrZXQAAAAAABIAAAAAAAAABmNvbmZpZwAAAAAH0AAAAAxNYXJrZXRDb25maWcAAABFYElOREVYX1BSRUNJU0lPTmAtc2NhbGVkIGJwcy9kYXkgcGF5ZXIgcmF0ZSBmb3IgdGhlIGN1cnJlbnQgaW50ZXJ2YWwuAAAAAAAAEmN1cnJlbnRfcGF5ZXJfcmF0ZQAAAAAACwAAAAAAAAASY3VycmVudF9wYXllcl9zaWRlAAAAAAfQAAAACVBheWVyU2lkZQAAAAAAAAAAAAAXbGFzdF9mdW5kaW5nX2NoZWNrcG9pbnQAAAAABgAAAAAAAAAEbG9uZwAAB9AAAAAKTWFya2V0U2lkZQAAAAAAXUN1bXVsYXRpdmUgcGF5ZXIgZmVlIHBlciB1bml0IG9mIGRvbWluYW50LXNpZGUgc2l6ZSB0aGF0IGlzIExQCnJldmVudWUgb24gY29sbGVjdGlvbiAowqc4LjIpLgAAAAAAABRscF9iYWNrZWRfaW5kZXhfbG9uZwAAAAsAAAAAAAAAFWxwX2JhY2tlZF9pbmRleF9zaG9ydAAAAAAAAAsAAABTTFAtYWxsb2NhdGVkIHJlbWFpbmRlciBvZiB0aGUgcGF5ZXIgZmxvdywgY2FzaC9zZWNvbmQgYXQKYElOREVYX1BSRUNJU0lPTmAgKMKnOC4xKS4AAAAAEmxwX2Zsb3dfcGVyX3NlY29uZAAAAAAACwAAAAAAAAASbHBfcGF5ZXJfcmVtYWluZGVyAAAAAAALAAAAhUN1bXVsYXRpdmUgcGF5ZXIgZmVlIHBlciB1bml0IG9mIGRvbWluYW50LXNpZGUgc2l6ZSB3aG9zZSBjb2xsZWN0aW9uCnJlc3RvcmVzIGNhc2ggYmFja2luZyBhbiBhbHJlYWR5LWFjY3J1ZWQgcmVjZWl2ZXIgY2xhaW0gKMKnOC4yKS4AAAAAAAAacmVjZWl2ZXJfYmFja2VkX2luZGV4X2xvbmcAAAAAAAsAAAAAAAAAG3JlY2VpdmVyX2JhY2tlZF9pbmRleF9zaG9ydAAAAAALAAAAVVJlY2VpdmVyLWFsbG9jYXRlZCBzaGFyZSBvZiB0aGUgcGF5ZXIgZmxvdywgY2FzaC9zZWNvbmQgYXQKYElOREVYX1BSRUNJU0lPTmAgKMKnOC4xKS4AAAAAAAAYcmVjZWl2ZXJfZmxvd19wZXJfc2Vjb25kAAAACwAAAAAAAAAXcmVjZWl2ZXJfZmxvd19yZW1haW5kZXIAAAAACwAAAD5DdW11bGF0aXZlIGZ1bmRpbmcgY3JlZGl0IHBlciB1bml0IG9mIGxpZ2h0LXNpZGUgc2l6ZSAowqc4LjIpLgAAAAAAE3JlY2VpdmVyX2luZGV4X2xvbmcAAAAACwAAAAAAAAAYcmVjZWl2ZXJfaW5kZXhfcmVtYWluZGVyAAAACwAAAAAAAAAUcmVjZWl2ZXJfaW5kZXhfc2hvcnQAAAALAAAAAAAAABhyZWNlaXZlcl9wYXllcl9yZW1haW5kZXIAAAALAAAAAAAAAAVzaG9ydAAAAAAAB9AAAAAKTWFya2V0U2lkZQAA",
655
+ "AAAAAQAAAYVBdXRob3JpdGF0aXZlIHBlci1tYXJrZXQgc3RhdGU6IHRoZSBzaWRlIGFnZ3JlZ2F0ZXMsIHRoZSBmdW5kaW5nIGluZGljZXMsCnRoZSBmdW5kaW5nIEVNQSwgYW5kIHRoZSBtYXJrZXQgY29uZmlndXJhdGlvbi4KClNvcm9iYW4gbGltaXRzIFVEVCBmaWVsZCBuYW1lcyB0byAzMCBjaGFyYWN0ZXJzLCBzbyB3aGVyZSBhIGRvYyBnbG9zc2FyeQp0ZXJtIGlzIGxvbmdlciB0aGUgZmllbGQgZHJvcHMgdGhlIHJlZHVuZGFudCBxdWFsaWZpZXIgYW5kIGl0cyBkb2MKY29tbWVudCBjYXJyaWVzIHRoZSBmdWxsIHRlcm0gKGUuZy4gYHJlY2VpdmVyX2JhY2tlZF9pbmRleF9sb25nYCBpcyB0aGUKZG9jJ3MgYHJlY2VpdmVyX2JhY2tlZF9wYXllcl9pbmRleGAgZm9yIHRoZSBsb25nIHNpZGUpLgAAAAAAAAAAAAAGTWFya2V0AAAAAAARAAAAAAAAAAZjb25maWcAAAAAB9AAAAAMTWFya2V0Q29uZmlnAAAAQ2BJTkRFWF9QUkVDSVNJT05gLXNjYWxlZCBicHMvZGF5IHBheWVyIHJhdGUgYXMgb2YgdGhlIGxhc3QgcmVmcmVzaC4AAAAAEmN1cnJlbnRfcGF5ZXJfcmF0ZQAAAAAACwAAAAAAAAASY3VycmVudF9wYXllcl9zaWRlAAAAAAfQAAAACVBheWVyU2lkZQAAAAAAAAAAAAAXbGFzdF9mdW5kaW5nX2NoZWNrcG9pbnQAAAAABgAAAAAAAAAEbG9uZwAAB9AAAAAKTWFya2V0U2lkZQAAAAAAXUN1bXVsYXRpdmUgcGF5ZXIgZmVlIHBlciB1bml0IG9mIGRvbWluYW50LXNpZGUgc2l6ZSB0aGF0IGlzIExQCnJldmVudWUgb24gY29sbGVjdGlvbiAowqc4LjIpLgAAAAAAABRscF9iYWNrZWRfaW5kZXhfbG9uZwAAAAsAAAAAAAAAFWxwX2JhY2tlZF9pbmRleF9zaG9ydAAAAAAAAAsAAAAAAAAAEmxwX3BheWVyX3JlbWFpbmRlcgAAAAAACwAAADtTdWItc3Ryb29wIGNhcnJ5IG9mIHRoZSByZWNlaXZlci1saWFiaWxpdHkgYWNjcnVhbCAowqc4LjMpLgAAAAARcGVuZGluZ19yZW1haW5kZXIAAAAAAAALAAAAhUN1bXVsYXRpdmUgcGF5ZXIgZmVlIHBlciB1bml0IG9mIGRvbWluYW50LXNpZGUgc2l6ZSB3aG9zZSBjb2xsZWN0aW9uCnJlc3RvcmVzIGNhc2ggYmFja2luZyBhbiBhbHJlYWR5LWFjY3J1ZWQgcmVjZWl2ZXIgY2xhaW0gKMKnOC4yKS4AAAAAAAAacmVjZWl2ZXJfYmFja2VkX2luZGV4X2xvbmcAAAAAAAsAAAAAAAAAG3JlY2VpdmVyX2JhY2tlZF9pbmRleF9zaG9ydAAAAAALAAAAPkN1bXVsYXRpdmUgZnVuZGluZyBjcmVkaXQgcGVyIHVuaXQgb2YgbGlnaHQtc2lkZSBzaXplICjCpzguMikuAAAAAAATcmVjZWl2ZXJfaW5kZXhfbG9uZwAAAAALAAAAAAAAABhyZWNlaXZlcl9pbmRleF9yZW1haW5kZXIAAAALAAAAAAAAABRyZWNlaXZlcl9pbmRleF9zaG9ydAAAAAsAAAAAAAAAGHJlY2VpdmVyX3BheWVyX3JlbWFpbmRlcgAAAAsAAAAAAAAABXNob3J0AAAAAAAH0AAAAApNYXJrZXRTaWRlAAAAAAC+wqc4LjEgc2lnbmVkIEVNQSBvZiB0aGUgaW5zdGFudGFuZW91cyBza2V3OiBhIGZyYWN0aW9uIG9mIG9uZSBhdApgSU5ERVhfUFJFQ0lTSU9OYCBzY2FsZSwgcG9zaXRpdmUgd2hlbiBoaXN0b3J5IHNheXMgbG9uZ3MgZG9taW5hdGUuCkRlY2F5cyB0b3dhcmQgdGhlIGN1cnJlbnQgc2tldyB3aXRoIHRoZSBnbG9iYWwgaGFsZi1saWZlLgAAAAAACHNrZXdfZW1hAAAACw==",
655
656
  "AAAAAQAAAAAAAAAAAAAACExwQ29uZmlnAAAAAwAAAAAAAAAQbHBfcmVxdWVzdF9kZWxheQAAAAYAAAAAAAAAHG1heF93aXRoZHJhd191dGlsaXphdGlvbl9icHMAAAAEAAAAAAAAABptaW5fZGVwb3NpdF9uYXZfZmFjdG9yX2JwcwAAAAAABA==",
656
657
  "AAAAAQAAADVSZXByZXNlbnRzIGEgc2luZ2xlIHRyYWRlcidzIG9wZW4gbGV2ZXJhZ2VkIHBvc2l0aW9uLgAAAAAAAAAAAAAIUG9zaXRpb24AAAAQAAAAIUFzc2V0IHVuaXRzIGF0IGBQUklDRV9QUkVDSVNJT05gLgAAAAAAAA1iYXNlX2V4cG9zdXJlAAAAAAAACwAAAAAAAAALYm9ycm93X2RlYnQAAAAACwAAAClDYXNoIG93bmVkIGJ5IGFuIG9wdGlvbmFsLW9yZGVyIGV4ZWN1dG9yLgAAAAAAABBleGVjdXRpb25fYnVkZ2V0AAAACwAAAAAAAAAYZnVuZGluZ19wYWlkX3RvX2xwc19kZWJ0AAAACwAAAAAAAAAeZnVuZGluZ19wYWlkX3RvX3JlY2VpdmVyc19kZWJ0AAAAAAALAAAAAAAAABVmdW5kaW5nX3JlY2VpdmVkX2RlYnQAAAAAAAALAAAAAAAAAAJpZAAAAAAABgAAAAAAAAAHaXNfbG9uZwAAAAABAAAAAAAAABNsYXN0X2luY3JlYXNlZF90aW1lAAAAAAYAAAAAAAAABm1hcmtldAAAAAAAEQAAAAAAAAAFb3duZXIAAAAAAAATAAAALkZpeGVkIGdyb3NzIGNhcGFjaXR5IGFzc2lnbmVkIHdoZW4gcmlzayBvcGVucy4AAAAAAApyaXNrX3VuaXRzAAAAAAALAAAAIlVTRCBub3Rpb25hbCBhdCBgUFJJQ0VfUFJFQ0lTSU9OYC4AAAAAAARzaXplAAAACwAAADtUcmlnZ2VyIHByaWNlIGZvciB0aGUgb3B0aW9uYWwgc3RvcC1sb3NzIG9yZGVyOyBgMGAgPSBub25lLgAAAAAJc3RvcF9sb3NzAAAAAAAACwAAAMpUcmFkZXItb3duZWQgY29sbGF0ZXJhbCByZWNvcmRlZCBpbiBjb250cmFjdCBzdGF0ZSAodGhlIGRvYydzCiJzdG9yZWQgY29sbGF0ZXJhbCIpLiBFZmZlY3RpdmUgY29sbGF0ZXJhbCDigJQgc3RvcmVkIGNvbGxhdGVyYWwgYWZ0ZXIKcGVuZGluZyBmZWVzIGFuZCBmdW5kaW5nIGNyZWRpdHMg4oCUIGlzIGFsd2F5cyBkZXJpdmVkLCBuZXZlciBzdG9yZWQuAAAAAAARc3RvcmVkX2NvbGxhdGVyYWwAAAAAAAALAAAAPVRyaWdnZXIgcHJpY2UgZm9yIHRoZSBvcHRpb25hbCB0YWtlLXByb2ZpdCBvcmRlcjsgYDBgID0gbm9uZS4AAAAAAAALdGFrZV9wcm9maXQAAAAACw==",
657
658
  "AAAAAQAAAAAAAAAAAAAACUxwUmVxdWVzdAAAAAAAAAcAAAAAAAAABmFtb3VudAAAAAAACwAAAAAAAAANZXhlY3V0ZV9hZnRlcgAAAAAAAAYAAAAAAAAAAmlkAAAAAAAGAAAAAAAAAARraW5kAAAH0AAAAA1McFJlcXVlc3RLaW5kAAAAAAAAAAAAAAVvd25lcgAAAAAAABMAAAAAAAAADHJlcXVlc3RfdGltZQAAAAYAAAAAAAAABnN0YXR1cwAAAAAH0AAAAA9McFJlcXVlc3RTdGF0dXMA",
658
- "AAAAAgAAAHlXaGljaCBzaWRlIGN1cnJlbnRseSBwYXlzIGZ1bmRpbmcgKMKnOC4xOiB0aGUgc2lkZSB3aXRoIG1vcmUgYmFzZQpleHBvc3VyZSkuIGBOb25lYCB3aGVuIHRoZSBtYXJrZXQgaXMgYmFsYW5jZWQgb3IgZW1wdHkuAAAAAAAAAAAAAAlQYXllclNpZGUAAAAAAAADAAAAAAAAAAAAAAAETm9uZQAAAAAAAAAAAAAABExvbmcAAAAAAAAAAAAAAAVTaG9ydAAAAA==",
659
+ "AAAAAgAAANFXaGljaCBzaWRlIGN1cnJlbnRseSBwYXlzIGZ1bmRpbmcgKMKnOC4xOiB0aGUgc2lkZSB0aGUgYmxlbmRlZCBpbnRlZ3JhbApza2V3IHBvaW50cyBhdCDigJQgdW5kZXIgdGhlIEVNQSB0aGlzIGNhbiBiZSB0aGUgKmxpZ2h0ZXIqIHNpZGUgZm9yIGEKd2hpbGUgYWZ0ZXIgdGhlIGJvb2sgZmxpcHMpLiBgTm9uZWAgd2hlbiB0aGUgYmxlbmQgaXMgZXhhY3RseSB6ZXJvLgAAAAAAAAAAAAAJUGF5ZXJTaWRlAAAAAAAAAwAAAAAAAAAAAAAABE5vbmUAAAAAAAAAAAAAAARMb25nAAAAAAAAAAAAAAAFU2hvcnQAAAA=",
659
660
  "AAAAAgAAAAAAAAAAAAAACVJpc2tTdGF0ZQAAAAAAAAQAAAAAAAAAAAAAAAZOb3JtYWwAAAAAAAAAAAAAAAAAB1dhcm5pbmcAAAAAAAAAAAAAAAADQWRsAAAAAAAAAAAAAAAAB0hhcmRDYXAA",
661
+ "AAAAAQAAATJBIHBlbmRpbmcgbGltaXQvc3RvcCBlbnRyeSBvcmRlcjogdGhlIGZyb3plbiBgb3Blbl9wb3NpdGlvbmAgYXJndW1lbnRzCnBsdXMgYSB0cmlnZ2VyIGNvbmRpdGlvbiBhbmQgYW4gZXhwaXJ5LiBQbGFjaW5nIG9uZSBvbmx5IHdyaXRlcyB0aGlzCnJlY29yZCDigJQgbm8gZnVuZHMgbW92ZS4gQSBrZWVwZXIncyBgZXhlY3V0ZV9lbnRyeV9vcmRlcmAgcHVsbHMgdGhlCmNvbGxhdGVyYWwgdmlhIHRoZSBvd25lcidzIHRva2VuIGFsbG93YW5jZSBhbmQgb3BlbnMgdGhlIHBvc2l0aW9uCmV4YWN0bHkgYXMgYSBtYXJrZXQgb3BlbiB3b3VsZC4AAAAAAAAAAAAKRW50cnlPcmRlcgAAAAAADQAAAAAAAAAQYWNjZXB0YWJsZV9wcmljZQAAAAsAAAAAAAAACmNvbGxhdGVyYWwAAAAAAAsAAAAAAAAAEGV4ZWN1dGlvbl9idWRnZXQAAAALAAAAZ0xlZGdlciB0aW1lc3RhbXAgYWZ0ZXIgd2hpY2ggdGhlIG9yZGVyIGlzIGRlYWQgYW5kIHN3ZXB0IG9uIHRoZSBuZXh0CnRvdWNoICh1c2VyLWNvbmZpZ3VyYWJsZSBtYXggVFRMKS4AAAAACmV4cGlyZXNfYXQAAAAAAAYAAAAAAAAAAmlkAAAAAAAGAAAAAAAAAAdpc19sb25nAAAAAAEAAAAAAAAABm1hcmtldAAAAAAAEQAAAAAAAAAFb3duZXIAAAAAAAATAAAAAAAAAARzaXplAAAACwAAAAAAAAAJc3RvcF9sb3NzAAAAAAAACwAAAAAAAAALdGFrZV9wcm9maXQAAAAACwAAALJUcnVlIOKGkiBmaWxsIHdoZW4gcHJpY2Ug4omlIHRyaWdnZXIgKHN0b3AvYnJlYWtvdXQgZW50cnkpOyBmYWxzZSDihpIgZmlsbAp3aGVuIHByaWNlIOKJpCB0cmlnZ2VyIChsaW1pdC9kaXAgZW50cnkpLiBJbmZlcnJlZCBhdCBwbGFjZW1lbnQgZnJvbQp0aGUgdHJpZ2dlciB2cy4gdGhlIGN1cnJlbnQgcHJpY2UuAAAAAAANdHJpZ2dlcl9hYm92ZQAAAAAAAAEAAAA1VGhlIG9yYWNsZSBwcmljZSBhdCB3aGljaCB0aGUgb3JkZXIgYmVjb21lcyBmaWxsYWJsZS4AAAAAAAANdHJpZ2dlcl9wcmljZQAAAAAAAAs=",
660
662
  "AAAAAQAAAAAAAAAAAAAACk1hcmtldFNpZGUAAAAAAAUAAAAAAAAADWJhc2VfZXhwb3N1cmUAAAAAAAALAAAAAAAAAApyaXNrX3N0YXRlAAAAAAfQAAAACVJpc2tTdGF0ZQAAAAAAAAAAAAAKcmlza191bml0cwAAAAAACwAAAAAAAAASc2l6ZV9vcGVuX2ludGVyZXN0AAAAAAALAAAAAAAAABdzdG9yZWRfY29sbGF0ZXJhbF90b3RhbAAAAAAL",
661
663
  "AAAAAQAAAAAAAAAAAAAAClJvdW5kUHJpY2UAAAAAAAIAAAAAAAAABXByaWNlAAAAAAAACwAAAAAAAAAGc3ltYm9sAAAAAAAR",
662
664
  "AAAAAQAAAAAAAAAAAAAAC09yYWNsZVJvdW5kAAAAAAUAAAAAAAAAAmlkAAAAAAAGAAAAAAAAAAtwcmV2aW91c19pZAAAAAAGAAAAAAAAABJwcmV2aW91c190aW1lc3RhbXAAAAAAAAYAAAAAAAAABnByaWNlcwAAAAAD6gAAB9AAAAAKUm91bmRQcmljZQAAAAAAAAAAAAl0aW1lc3RhbXAAAAAAAAAG",
663
- "AAAAAQAAAAAAAAAAAAAADEdsb2JhbENvbmZpZwAAAAsAAAAAAAAAGGJhc2VfYm9ycm93X3JhdGVfYnBzX2RheQAAAAsAAAAAAAAAGWhhcmRfY2FwX2ZhY3Rvcl9saW1pdF9icHMAAAAAAAAEAAAAAAAAABRscF9yZXZlbnVlX3NoYXJlX2JwcwAAAAQAAAAAAAAAEm1heF9hY3RpdmVfbWFya2V0cwAAAAAABAAAAAAAAAAObWF4X2FkbF9yZXdhcmQAAAAAAAsAAAAAAAAAGm1heF9pbnNvbHZlbnRfdG91Y2hfcmV3YXJkAAAAAAALAAAAAAAAABttYXhfdmFyaWFibGVfYm9ycm93X2Jwc19kYXkAAAAACwAAAAAAAAAObWluX2NvbGxhdGVyYWwAAAAAAAsAAAAAAAAAFW1pbl9wb3NpdGlvbl9saWZldGltZQAAAAAAAAYAAAAAAAAAF3Jpc2tfY2FwYWNpdHlfbGltaXRfYnBzAAAAAAQAAAAAAAAAHXJpc2tfa2VlcGVyX3JldmVudWVfc2hhcmVfYnBzAAAAAAAABA==",
664
- "AAAAAQAAAAAAAAAAAAAADE1hcmtldENvbmZpZwAAAA8AAAAAAAAAEmFkbF9wbmxfZmFjdG9yX2JwcwAAAAAABAAAAAAAAAAOYWRsX3Jld2FyZF9icHMAAAAAAAQAAAAAAAAAF2hhcmRfY2FwX3BubF9mYWN0b3JfYnBzAAAAAAQAAAAAAAAAFmxpcXVpZGF0aW9uX3Jld2FyZF9icHMAAAAAAAQAAAAAAAAAFm1haW50ZW5hbmNlX21hcmdpbl9icHMAAAAAAAQAAAAAAAAAFm1hcmtldF9yaXNrX2ZhY3Rvcl9icHMAAAAAAAQAAAAAAAAAGG1heF9mdW5kaW5nX3JhdGVfYnBzX2RheQAAAAsAAAAAAAAAFm1heF9sb25nX2Jhc2VfZXhwb3N1cmUAAAAAAAsAAAAAAAAAG21heF9sb25nX3NpemVfb3Blbl9pbnRlcmVzdAAAAAALAAAAAAAAABdtYXhfc2hvcnRfYmFzZV9leHBvc3VyZQAAAAALAAAAAAAAABxtYXhfc2hvcnRfc2l6ZV9vcGVuX2ludGVyZXN0AAAACwAAAAAAAAARb3Blbl9mZWVfaGlnaF9icHMAAAAAAAAEAAAAAAAAABBvcGVuX2ZlZV9sb3dfYnBzAAAABAAAAAAAAAAXcmVjb3ZlcnlfcG5sX2ZhY3Rvcl9icHMAAAAABAAAAAAAAAAWd2FybmluZ19wbmxfZmFjdG9yX2JwcwAAAAAABA==",
665
+ "AAAAAQAAAAAAAAAAAAAADEdsb2JhbENvbmZpZwAAAA8AAAAAAAAAGGJhc2VfYm9ycm93X3JhdGVfYnBzX2RheQAAAAsAAACEwqc5LjIgYm9ycm93LWN1cnZlIGV4cG9uZW50LCBicHM6IDIwXzAwMCA9IHXCsiAobGVnYWN5IHF1YWRyYXRpYyksCjEwXzAwMCA9IGxpbmVhci4gQm91bmRlZCB0byDiiaQgMTAwXzAwMCAoZSDiiaQgMTApIGJ5IHZhbGlkYXRpb24uAAAAE2JvcnJvd19leHBvbmVudF9icHMAAAAABAAAAF/CpzguMSBoYWxmLWxpZmUgb2YgdGhlIGZ1bmRpbmcgc2tldyBFTUEsIHNlY29uZHMgKGdsb2JhbDogb25lIG1lbW9yeQpob3Jpem9uIGZvciBldmVyeSBtYXJrZXQpLgAAAAAZZnVuZGluZ19oYWxmX2xpZmVfc2Vjb25kcwAAAAAAAAYAAAAAAAAAGWhhcmRfY2FwX2ZhY3Rvcl9saW1pdF9icHMAAAAAAAAEAAAAAAAAABRscF9yZXZlbnVlX3NoYXJlX2JwcwAAAAQAAAAAAAAAEm1heF9hY3RpdmVfbWFya2V0cwAAAAAABAAAAAAAAAAObWF4X2FkbF9yZXdhcmQAAAAAAAsAAAAAAAAAGm1heF9pbnNvbHZlbnRfdG91Y2hfcmV3YXJkAAAAAAALAAAAAAAAABttYXhfdmFyaWFibGVfYm9ycm93X2Jwc19kYXkAAAAACwAAANDCpzExLjIgbWluaW11bSBib3Jyb3cgY2hhcmdlIHBlciBjYXBpdGFsaXphdGlvbjogYW4gaW5kZXggZGVsdGEgYXQKYElOREVYX1BSRUNJU0lPTmAgc2NhbGUgYXBwbGllZCB0byB0aGUgcG9zaXRpb24ncyByaXNrIHVuaXRzCigyZTExID0gMiBicHMgb2Ygbm90aW9uYWwgYXQgYSAxMCUgbWFya2V0IHJpc2sgZmFjdG9yKS4gWmVybwpkaXNhYmxlcyB0aGUgZmxvb3IuAAAAFm1pbl9ib3Jyb3dfaW5kZXhfZGVsdGEAAAAAAAsAAAAAAAAADm1pbl9jb2xsYXRlcmFsAAAAAAALAAAAAAAAABVtaW5fcG9zaXRpb25fbGlmZXRpbWUAAAAAAAAGAAABEsKnMTEuMSBzaGFyZSBvZiBhIGNsb3NpbmcgZmVlIHJvdXRlZCB0byB0aGUgdHJhZGVyJ3MgcmVmZXJyZXIsIGNhcnZlZApmcm9tIHRoZSBwcm90b2NvbCBzbGljZSAoa2VlcGVyIGFuZCBMUCBzaGFyZXMgYXJlIHVudG91Y2hlZCkuIGAwYApkaXNhYmxlcyByZWZlcnJhbCBhY2NydWFsIGdsb2JhbGx5IOKAlCBhIGtpbGwgc3dpdGNoLiBWYWxpZGF0ZWQgc28KYGxwICsga2VlcGVyICsgcmVmZXJyYWwg4omkIEJQU2AsIGtlZXBpbmcgdGhlIHByb3RvY29sIHJlbWFpbmRlciDiiaUgMC4AAAAAABZyZWZlcnJhbF9mZWVfc2hhcmVfYnBzAAAAAAAEAAAAAAAAABdyaXNrX2NhcGFjaXR5X2xpbWl0X2JwcwAAAAAEAAAAAAAAAB1yaXNrX2tlZXBlcl9yZXZlbnVlX3NoYXJlX2JwcwAAAAAAAAQ=",
666
+ "AAAAAQAAAAAAAAAAAAAADE1hcmtldENvbmZpZwAAABEAAAAAAAAAEmFkbF9wbmxfZmFjdG9yX2JwcwAAAAAABAAAAAAAAAAOYWRsX3Jld2FyZF9icHMAAAAAAAQAAAA0wqcxMS4xIGNsb3NpbmctZmVlIHRpZXIgd2hlbiB0aGUgY2xvc2Ugd29yc2VucyBza2V3LgAAABJjbG9zZV9mZWVfaGlnaF9icHMAAAAAAAQAAABCwqcxMS4xIGNsb3NpbmctZmVlIHRpZXIgd2hlbiB0aGUgY2xvc2UgaW1wcm92ZXMgb3IgcHJlc2VydmVzIHNrZXcuAAAAAAARY2xvc2VfZmVlX2xvd19icHMAAAAAAAAEAAAAAAAAABdoYXJkX2NhcF9wbmxfZmFjdG9yX2JwcwAAAAAEAAAAgk1hcmdpbiByZXF1aXJlZCB0byBvcGVuIG9yIGFkZCByaXNrICjCpzEyLjMpLiBEaXZpZGVzIG1heCBsZXZlcmFnZToKYSBwb3NpdGlvbiBtYXkgbm90IGJlIGNyZWF0ZWQgY2xvc2VyIHRvIGxpcXVpZGF0aW9uIHRoYW4gdGhpcy4AAAAAABJpbml0aWFsX21hcmdpbl9icHMAAAAAAAQAAACHwqc4LjEgd2VpZ2h0IG9mIHRoZSBpbnN0YW50YW5lb3VzIHNrZXcgaW4gdGhlIGZ1bmRpbmcgYmxlbmQsIGluIGJwczsKdGhlIHJlc3QgaXMgdGhlIGhhbGYtbGlmZSBFTUEuIGBCUFNgIHJlcHJvZHVjZXMgcHVyZSBpbnN0YW50IHNrZXcuAAAAABJpbnN0YW50X3dlaWdodF9icHMAAAAAAAQAAAAAAAAAFmxpcXVpZGF0aW9uX3Jld2FyZF9icHMAAAAAAAQAAAB8TWFyZ2luIGJlbG93IHdoaWNoIHRoZSBwb3NpdGlvbiBpcyBsaXF1aWRhdGFibGUgKMKnMTIuMykuIE11c3Qgbm90CmV4Y2VlZCBgaW5pdGlhbF9tYXJnaW5fYnBzYDsgdGhlIGdhcCBpcyB0aGUgZW50cnkgYnVmZmVyLgAAABZtYWludGVuYW5jZV9tYXJnaW5fYnBzAAAAAAAEAAAAAAAAABZtYXJrZXRfcmlza19mYWN0b3JfYnBzAAAAAAAEAAAAAAAAABhtYXhfZnVuZGluZ19yYXRlX2Jwc19kYXkAAAALAAAAAAAAABZtYXhfbG9uZ19iYXNlX2V4cG9zdXJlAAAAAAALAAAAAAAAABttYXhfbG9uZ19zaXplX29wZW5faW50ZXJlc3QAAAAACwAAAAAAAAAXbWF4X3Nob3J0X2Jhc2VfZXhwb3N1cmUAAAAACwAAAAAAAAAcbWF4X3Nob3J0X3NpemVfb3Blbl9pbnRlcmVzdAAAAAsAAAAAAAAAF3JlY292ZXJ5X3BubF9mYWN0b3JfYnBzAAAAAAQAAAAAAAAAFndhcm5pbmdfcG5sX2ZhY3Rvcl9icHMAAAAAAAQ=",
665
667
  "AAAAAQAAAC5HbG9iYWwgc2FmZXR5IHRocmVzaG9sZHMgZm9yIHByaWNlIHZhbGlkYXRpb24uAAAAAAAAAAAADE9yYWNsZUNvbmZpZwAAAAQAAADzSG93IGxvbmcgYSBjYWNoZWQgYWdncmVnYXRlZCBwcmljZSByZW1haW5zIHZhbGlkIGFmdGVyIHRoZSByb3V0ZXIKZmV0Y2ggKGluIHNlY29uZHMpLiBBIGNhY2hlIGhpdCBhbHNvIHJlcXVpcmVzIGV2ZXJ5IHNvdXJjZSB0aW1lc3RhbXAKdXNlZCBmb3IgdGhlIGNhY2hlZCBtZWRpYW4gdG8gcmVtYWluIHdpdGhpbiBgc3RhbGVuZXNzX3RocmVzaG9sZGAuCk11c3QgYmUgPiAwIGFuZCA8PSBgc3RhbGVuZXNzX3RocmVzaG9sZGAuAAAAAA5jYWNoZV9kdXJhdGlvbgAAAAAABgAAAIlNYXhpbXVtIGFsbG93ZWQgc3ByZWFkIGJldHdlZW4gb3JhY2xlIHNvdXJjZXMgaW4gYmFzaXMgcG9pbnRzCihlLmcuLCAxMDAgPSAxJSkuIEJvdW5kZWQgYXQgYGNyYXRlOjpjb25zdGFudHM6Ok1BWF9ERVZJQVRJT05fQlBTX0NFSUxJTkdgLgAAAAAAABFtYXhfZGV2aWF0aW9uX2JwcwAAAAAAAAsAAADhTWluaW11bSBudW1iZXIgb2Ygc291cmNlIHJlc3BvbnNlcyB0aGF0IG11c3QgYWdyZWUgd2l0aGluCmBtYXhfZGV2aWF0aW9uX2Jwc2AgZm9yIE9yYWNsZVJvdXRlciB0byByZXR1cm4gYSBwcmljZS4gRmxvb3JlZCBhdApgY3JhdGU6OmNvbnN0YW50czo6TUlOX1JFUVVJUkVEX1NPVVJDRVNfRkxPT1JgLCBjZWlsaW5nZWQgYXQKYGNyYXRlOjpjb25zdGFudHM6Ok1BWF9PUkFDTEVfU09VUkNFU2AuAAAAAAAAFG1pbl9yZXF1aXJlZF9zb3VyY2VzAAAABAAAAFlNYXhpbXVtIGFnZSBvZiBhbiBleHRlcm5hbCBTRVAtNDAgcHJpY2UgZmVlZCBiZWZvcmUgaXQgaXMgcmVqZWN0ZWQKYXMgc3RhbGUgKGluIHNlY29uZHMpLgAAAAAAABNzdGFsZW5lc3NfdGhyZXNob2xkAAAAAAY=",
666
668
  "AAAAAgAAAAAAAAAAAAAADUxwUmVxdWVzdEtpbmQAAAAAAAACAAAAAAAAAAAAAAAHRGVwb3NpdAAAAAAAAAAAAAAAAApXaXRoZHJhd2FsAAA=",
667
669
  "AAAAAQAAAEtEYXRhIHJlcXVpcmVkIGR1cmluZyBhIFdBU00gbWlncmF0aW9uLiBTaW5nbGUgZGVmaW5pdGlvbiBmb3IgYWxsIGNvbnRyYWN0cy4AAAAAAAAAAA1NaWdyYXRpb25EYXRhAAAAAAAAAQAAAAAAAAAHdmVyc2lvbgAAAAAE",
668
670
  "AAAAAQAAAbBQZW5kaW5nIFdBU00gdXBncmFkZSDigJQgc2V0IGJ5IGBwcm9wb3NlX3VwZ3JhZGVgLCBjb25zdW1lZCBieSBgdXBncmFkZWAKKGNsZWFyZWQgYXRvbWljYWxseSBvbiBhIHN1Y2Nlc3NmdWwgaW5zdGFsbCksIG9yIGNsZWFyZWQgYnkgYGNhbmNlbF91cGdyYWRlYC4KU2luZ2xlIHNoYXBlIGFjcm9zcyBldmVyeSBwcm90b2NvbCBjb250cmFjdC4gQ29udHJhY3RzIHN0b3JlIGl0IGF0CnRoZSBzaGFyZWQgYHBlbmRpbmdfdXBncmFkZWAgU3ltYm9sIGtleSBpbiB0aGVpciBvd24gaW5zdGFuY2Ugc3RvcmFnZSAoc2VlCmBjcmF0ZTo6dXBncmFkZTo6cGVuZGluZ191cGdyYWRlX2tleWApLiBgdXBncmFkZWAgcmVmdXNlcyB0byBpbnN0YWxsCnVubGVzcyBgcGVuZGluZy53YXNtX2hhc2hgIG1hdGNoZXMgdGhlIHN1cHBsaWVkIGhhc2ggYW5kIGBub3cgPj0gZXRhYC4AAAAAAAAADlBlbmRpbmdVcGdyYWRlAAAAAAACAAAAAAAAAANldGEAAAAABgAAAAAAAAAJd2FzbV9oYXNoAAAAAAAD7gAAACA=",
669
671
  "AAAAAgAAAAAAAAAAAAAAD0xwUmVxdWVzdFN0YXR1cwAAAAAEAAAAAAAAAAAAAAAHUGVuZGluZwAAAAAAAAAAAAAAAAdTZXR0bGVkAAAAAAAAAAAAAAAABkZhaWxlZAAAAAAAAAAAAAAAAAAHRXhwaXJlZAA=",
672
+ "AAAAAQAAAN1UaGUgY2FsbGVyLXN1cHBsaWVkIGZpZWxkcyBvZiBhIGBwbGFjZV9lbnRyeV9vcmRlcmAgcmVxdWVzdCwgYnVuZGxlZCBzbwp0aGUgZW50cnkgcG9pbnQgc3RheXMgd2l0aGluIFNvcm9iYW4ncyBwYXJhbWV0ZXIgbGltaXQuIGBvd25lcmAgYW5kCmBtYXJrZXRgIGFyZSBwYXNzZWQgYWxvbmdzaWRlOyBgaWRgIGFuZCBgdHJpZ2dlcl9hYm92ZWAgYXJlIGRlcml2ZWQgYXQKcGxhY2VtZW50LgAAAAAAAAAAAAAQRW50cnlPcmRlclBhcmFtcwAAAAkAAAAAAAAAEGFjY2VwdGFibGVfcHJpY2UAAAALAAAAAAAAAApjb2xsYXRlcmFsAAAAAAALAAAAAAAAABBleGVjdXRpb25fYnVkZ2V0AAAACwAAAAAAAAAKZXhwaXJlc19hdAAAAAAABgAAAAAAAAAHaXNfbG9uZwAAAAABAAAAAAAAAARzaXplAAAACwAAAAAAAAAJc3RvcF9sb3NzAAAAAAAACwAAAAAAAAALdGFrZV9wcm9maXQAAAAACwAAAAAAAAANdHJpZ2dlcl9wcmljZQAAAAAAAAs=",
670
673
  "AAAAAQAAAAAAAAAAAAAAEFNldHRsZW1lbnRSZXN1bHQAAAACAAAAPFNoYXJlcyBtaW50ZWQgZm9yIGEgZGVwb3NpdCBvciBhc3NldHMgcGFpZCBmb3IgYSB3aXRoZHJhd2FsLgAAAAZhbW91bnQAAAAAAAsAAAAAAAAABnN0YXR1cwAAAAAH0AAAABBTZXR0bGVtZW50U3RhdHVz",
671
674
  "AAAAAgAAAAAAAAAAAAAAEFNldHRsZW1lbnRTdGF0dXMAAAACAAAAAAAAAAAAAAAHU2V0dGxlZAAAAAAAAAAAAAAAAAZGYWlsZWQAAA==",
672
675
  "AAAAAQAAAAAAAAAAAAAAEkFjY291bnRpbmdTbmFwc2hvdAAAAAAACgAAAAAAAAAOY2FzaF9scF9lcXVpdHkAAAAAAAsAAAAAAAAADmNhc2hfc2hvcnRmYWxsAAAAAAALAAAAAAAAAA9mcmVlX2xwX2NhcGl0YWwAAAAACwAAAAAAAAAVbHBfYmxvY2tlZF9zaWRlX2NvdW50AAAAAAAABAAAAAAAAAANbm9uX2xwX2NsYWltcwAAAAAAAAsAAAAAAAAAE29wZW5fcG9zaXRpb25fY291bnQAAAAABgAAAAAAAAANcGh5c2ljYWxfY2FzaAAAAAAAAAsAAAAAAAAAFXJlcXVpcmVkX3Jpc2tfYmFja2luZwAAAAAAAAsAAAAAAAAAEHRvdGFsX3Jpc2tfdW5pdHMAAAALAAAAAAAAAAl2YXVsdF9uYXYAAAAAAAAL",
@@ -714,6 +717,7 @@ export class Client extends ContractClient {
714
717
  set_request_router: (this.txFromJSON),
715
718
  total_share_supply: (this.txFromJSON),
716
719
  accounting_snapshot: (this.txFromJSON),
720
+ pull_from_allowance: (this.txFromJSON),
717
721
  can_create_lp_request: (this.txFromJSON),
718
722
  transfer_safety_claim: (this.txFromJSON)
719
723
  };