@d8x/perpetuals-sdk 0.3.0 → 0.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -127,7 +127,7 @@ var MarketData = /** @class */ (function (_super) {
127
127
  if (this.proxyContract == null) {
128
128
  throw Error("no proxy contract initialized. Use createProxyInstance().");
129
129
  }
130
- return [4 /*yield*/, MarketData._exchangeInfo(this.proxyContract, this.poolStaticInfos, this.symbolToPerpStaticInfo, this.nestedPerpetualIDs, this.symbolList, this.priceFeedGetter)];
130
+ return [4 /*yield*/, MarketData._exchangeInfo(this.proxyContract, this.poolStaticInfos, this.symbolToPerpStaticInfo, this.perpetualIdToSymbol, this.nestedPerpetualIDs, this.symbolList, this.priceFeedGetter)];
131
131
  case 1: return [2 /*return*/, _a.sent()];
132
132
  }
133
133
  });
@@ -871,17 +871,19 @@ var MarketData = /** @class */ (function (_super) {
871
871
  });
872
872
  });
873
873
  };
874
- MarketData._exchangeInfo = function (_proxyContract, _poolStaticInfos, _symbolToPerpStaticInfo, _nestedPerpetualIDs, _symbolList, _priceFeedGetter) {
874
+ /**
875
+ * Get all off-chain prices
876
+ * @param _symbolToPerpStaticInfo mapping: PerpetualStaticInfo for each perpetual
877
+ * @param _priceFeedGetter priceFeed class from which we can get offchain price data
878
+ * @returns mapping of symbol-pair (e.g. BTC-USD) to price/isMarketClosed
879
+ */
880
+ MarketData._getAllIndexPrices = function (_symbolToPerpStaticInfo, _priceFeedGetter) {
875
881
  return __awaiter(this, void 0, void 0, function () {
876
- var factory, info, numPools, allSym, _a, _b, perpSymbol, sInfo, allSymArr, idxPriceMap, j, perpetualIDs, pool, PoolState, k, perp, symS2, symS3, res, _c, indexS2, isS2MktClosed, indexS3, isS3MktClosed, fMidPrice, markPremiumRate, currentFundingRateBps, state, isMktClosed, PerpetualState;
877
- var e_1, _d;
878
- return __generator(this, function (_e) {
879
- switch (_e.label) {
880
- case 0: return [4 /*yield*/, _proxyContract.getOracleFactory()];
881
- case 1:
882
- factory = _e.sent();
883
- info = { pools: [], oracleFactoryAddr: factory, proxyAddr: _proxyContract.address };
884
- numPools = _nestedPerpetualIDs.length;
882
+ var allSym, _a, _b, perpSymbol, sInfo, allSymArr, idxPriceMap;
883
+ var e_1, _c;
884
+ return __generator(this, function (_d) {
885
+ switch (_d.label) {
886
+ case 0:
885
887
  allSym = new Set();
886
888
  try {
887
889
  for (_a = __values(_symbolToPerpStaticInfo.keys()), _b = _a.next(); !_b.done; _b = _a.next()) {
@@ -896,105 +898,200 @@ var MarketData = /** @class */ (function (_super) {
896
898
  catch (e_1_1) { e_1 = { error: e_1_1 }; }
897
899
  finally {
898
900
  try {
899
- if (_b && !_b.done && (_d = _a.return)) _d.call(_a);
901
+ if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
900
902
  }
901
903
  finally { if (e_1) throw e_1.error; }
902
904
  }
903
905
  allSymArr = Array.from(allSym.values());
904
906
  return [4 /*yield*/, _priceFeedGetter.fetchPrices(allSymArr)];
907
+ case 1:
908
+ idxPriceMap = _d.sent();
909
+ return [2 /*return*/, idxPriceMap];
910
+ }
911
+ });
912
+ });
913
+ };
914
+ /**
915
+ * Collect all mid-prices
916
+ * @param _proxyContract contract instance
917
+ * @param _nestedPerpetualIDs contains all perpetual ids for each pool
918
+ * @param _symbolToPerpStaticInfo maps symbol to static info
919
+ * @param _perpetualIdToSymbol maps perpetual id to symbol of the form BTC-USD-MATIC
920
+ * @param _idxPriceMap symbol to price/market closed
921
+ * @returns perpetual symbol to mid-prices mapping
922
+ */
923
+ MarketData._queryMidPrices = function (_proxyContract, _nestedPerpetualIDs, _symbolToPerpStaticInfo, _perpetualIdToSymbol, _idxPriceMap) {
924
+ return __awaiter(this, void 0, void 0, function () {
925
+ var chunkSize, perpetualIDChunks, midPriceMap, k, indexPrices, j, id, symbol3s, info, S2, S3, fMidPrice, j, id, symbol3s;
926
+ return __generator(this, function (_a) {
927
+ switch (_a.label) {
928
+ case 0:
929
+ chunkSize = 10;
930
+ perpetualIDChunks = PerpetualDataHandler.nestedIDsToChunks(chunkSize, _nestedPerpetualIDs);
931
+ midPriceMap = new Map();
932
+ k = 0;
933
+ _a.label = 1;
934
+ case 1:
935
+ if (!(k < perpetualIDChunks.length)) return [3 /*break*/, 4];
936
+ indexPrices = [];
937
+ // collect/order all index prices
938
+ for (j = 0; j < perpetualIDChunks[k].length; j++) {
939
+ id = perpetualIDChunks[k][j];
940
+ symbol3s = _perpetualIdToSymbol.get(id);
941
+ info = _symbolToPerpStaticInfo.get(symbol3s);
942
+ S2 = floatToABK64x64(_idxPriceMap.get(info.S2Symbol)[0]);
943
+ S3 = BigNumber.from(0);
944
+ if (info.S3Symbol != "") {
945
+ S3 = floatToABK64x64(_idxPriceMap.get(info.S3Symbol)[0]);
946
+ }
947
+ indexPrices.push(S2);
948
+ indexPrices.push(S3);
949
+ }
950
+ return [4 /*yield*/, _proxyContract.queryMidPrices(perpetualIDChunks[k], indexPrices)];
905
951
  case 2:
906
- idxPriceMap = _e.sent();
907
- j = 0;
908
- _e.label = 3;
952
+ fMidPrice = _a.sent();
953
+ for (j = 0; j < fMidPrice.length; j++) {
954
+ id = perpetualIDChunks[k][j];
955
+ symbol3s = _perpetualIdToSymbol.get(id);
956
+ midPriceMap.set(symbol3s, ABK64x64ToFloat(fMidPrice[j]));
957
+ }
958
+ _a.label = 3;
909
959
  case 3:
910
- if (!(j < numPools)) return [3 /*break*/, 11];
911
- perpetualIDs = _nestedPerpetualIDs[j];
912
- return [4 /*yield*/, _proxyContract.getLiquidityPool(j + 1)];
913
- case 4:
914
- pool = _e.sent();
915
- PoolState = {
916
- isRunning: pool.isRunning,
917
- poolSymbol: _poolStaticInfos[j].poolMarginSymbol,
918
- marginTokenAddr: pool.marginTokenAddress,
919
- poolShareTokenAddr: pool.shareTokenAddress,
920
- defaultFundCashCC: ABK64x64ToFloat(pool.fDefaultFundCashCC),
921
- pnlParticipantCashCC: ABK64x64ToFloat(pool.fPnLparticipantsCashCC),
922
- totalAMMFundCashCC: ABK64x64ToFloat(pool.fAMMFundCashCC),
923
- totalTargetAMMFundSizeCC: ABK64x64ToFloat(pool.fTargetAMMFundSize),
924
- brokerCollateralLotSize: ABK64x64ToFloat(pool.fBrokerCollateralLotSize),
925
- perpetuals: [],
926
- };
960
+ k++;
961
+ return [3 /*break*/, 1];
962
+ case 4: return [2 /*return*/, midPriceMap];
963
+ }
964
+ });
965
+ });
966
+ };
967
+ MarketData._queryPoolStates = function (_proxyContract, _poolStaticInfos, _numPools) {
968
+ return __awaiter(this, void 0, void 0, function () {
969
+ var chunkSize, iFrom, poolStates, pools, k, poolSymbol, poolState;
970
+ return __generator(this, function (_a) {
971
+ switch (_a.label) {
972
+ case 0:
973
+ chunkSize = 5;
974
+ iFrom = 1;
975
+ poolStates = [];
976
+ _a.label = 1;
977
+ case 1:
978
+ if (!(iFrom <= _numPools)) return [3 /*break*/, 3];
979
+ return [4 /*yield*/, _proxyContract.getLiquidityPools(iFrom, iFrom + chunkSize)];
980
+ case 2:
981
+ pools = _a.sent();
982
+ for (k = 0; k < pools.length; k++) {
983
+ poolSymbol = _poolStaticInfos[iFrom + k - 1].poolMarginSymbol;
984
+ poolState = {
985
+ isRunning: pools[k].isRunning,
986
+ poolSymbol: poolSymbol,
987
+ marginTokenAddr: pools[k].marginTokenAddress,
988
+ poolShareTokenAddr: pools[k].shareTokenAddress,
989
+ defaultFundCashCC: ABK64x64ToFloat(pools[k].fDefaultFundCashCC),
990
+ pnlParticipantCashCC: ABK64x64ToFloat(pools[k].fPnLparticipantsCashCC),
991
+ totalAMMFundCashCC: ABK64x64ToFloat(pools[k].fAMMFundCashCC),
992
+ totalTargetAMMFundSizeCC: ABK64x64ToFloat(pools[k].fTargetAMMFundSize),
993
+ brokerCollateralLotSize: ABK64x64ToFloat(pools[k].fBrokerCollateralLotSize),
994
+ perpetuals: [],
995
+ };
996
+ poolStates.push(poolState);
997
+ }
998
+ iFrom = iFrom + chunkSize + 1;
999
+ return [3 /*break*/, 1];
1000
+ case 3: return [2 /*return*/, poolStates];
1001
+ }
1002
+ });
1003
+ });
1004
+ };
1005
+ MarketData._queryPerpetualStates = function (_proxyContract, _nestedPerpetualIDs, _symbolList) {
1006
+ return __awaiter(this, void 0, void 0, function () {
1007
+ var chunkSize, perpetualIDChunks, perpStateInfos, k, perps, j, PerpetualState;
1008
+ return __generator(this, function (_a) {
1009
+ switch (_a.label) {
1010
+ case 0:
1011
+ chunkSize = 10;
1012
+ perpetualIDChunks = PerpetualDataHandler.nestedIDsToChunks(chunkSize, _nestedPerpetualIDs);
1013
+ perpStateInfos = new Array();
927
1014
  k = 0;
928
- _e.label = 5;
929
- case 5:
930
- if (!(k < perpetualIDs.length)) return [3 /*break*/, 9];
931
- return [4 /*yield*/, _proxyContract.getPerpetual(perpetualIDs[k])];
932
- case 6:
933
- perp = _e.sent();
934
- symS2 = contractSymbolToSymbol(perp.S2BaseCCY, _symbolList) +
935
- "-" +
936
- contractSymbolToSymbol(perp.S2QuoteCCY, _symbolList);
937
- symS3 = contractSymbolToSymbol(perp.S3BaseCCY, _symbolList) +
938
- "-" +
939
- contractSymbolToSymbol(perp.S3QuoteCCY, _symbolList);
940
- res = idxPriceMap.get(symS2);
941
- if (res == undefined) {
942
- throw new Error("Price for index ".concat(symS2, " could not be fetched - config issue"));
943
- }
944
- _c = __read([res[0], res[1]], 2), indexS2 = _c[0], isS2MktClosed = _c[1];
945
- indexS3 = 1;
946
- isS3MktClosed = false;
947
- if (perp.eCollateralCurrency == COLLATERAL_CURRENCY_BASE) {
948
- indexS3 = indexS2;
949
- }
950
- else if (perp.eCollateralCurrency == COLLATERAL_CURRENCY_QUANTO) {
951
- res = idxPriceMap.get(symS3);
952
- if (res == undefined) {
953
- throw new Error("Price for index ".concat(symS3, " could not be fetched - config issue"));
1015
+ _a.label = 1;
1016
+ case 1:
1017
+ if (!(k < perpetualIDChunks.length)) return [3 /*break*/, 4];
1018
+ return [4 /*yield*/, _proxyContract.getPerpetuals(perpetualIDChunks[k])];
1019
+ case 2:
1020
+ perps = _a.sent();
1021
+ for (j = 0; j < perps.length; j++) {
1022
+ PerpetualState = {
1023
+ id: perps[j].id,
1024
+ state: PERP_STATE_STR[perps[j].state],
1025
+ baseCurrency: contractSymbolToSymbol(perps[j].S2BaseCCY, _symbolList),
1026
+ quoteCurrency: contractSymbolToSymbol(perps[j].S2QuoteCCY, _symbolList),
1027
+ indexPrice: 0,
1028
+ collToQuoteIndexPrice: 0,
1029
+ markPrice: ABK64x64ToFloat(perps[j].currentMarkPremiumRate.fPrice),
1030
+ midPrice: 0,
1031
+ currentFundingRateBps: 1e4 * ABK64x64ToFloat(perps[j].fCurrentFundingRate),
1032
+ openInterestBC: ABK64x64ToFloat(perps[j].fOpenInterest),
1033
+ isMarketClosed: false, //fill later
1034
+ };
1035
+ perpStateInfos.push(PerpetualState);
1036
+ }
1037
+ _a.label = 3;
1038
+ case 3:
1039
+ k++;
1040
+ return [3 /*break*/, 1];
1041
+ case 4: return [2 /*return*/, perpStateInfos];
1042
+ }
1043
+ });
1044
+ });
1045
+ };
1046
+ MarketData._exchangeInfo = function (_proxyContract, _poolStaticInfos, _symbolToPerpStaticInfo, _perpetualIdToSymbol, _nestedPerpetualIDs, _symbolList, _priceFeedGetter) {
1047
+ return __awaiter(this, void 0, void 0, function () {
1048
+ var factory, info, numPools, idxPriceMap, midPriceMap, poolStateInfos, perpStateInfos, k, perp, symbol3s, info_1, idxPriceS2Pair, idxPriceS3Pair, indexS3, poolId;
1049
+ return __generator(this, function (_a) {
1050
+ switch (_a.label) {
1051
+ case 0:
1052
+ factory = _poolStaticInfos[0].oracleFactoryAddr;
1053
+ info = { pools: [], oracleFactoryAddr: factory, proxyAddr: _proxyContract.address };
1054
+ numPools = _nestedPerpetualIDs.length;
1055
+ return [4 /*yield*/, MarketData._getAllIndexPrices(_symbolToPerpStaticInfo, _priceFeedGetter)];
1056
+ case 1:
1057
+ idxPriceMap = _a.sent();
1058
+ return [4 /*yield*/, MarketData._queryMidPrices(_proxyContract, _nestedPerpetualIDs, _symbolToPerpStaticInfo, _perpetualIdToSymbol, idxPriceMap)];
1059
+ case 2:
1060
+ midPriceMap = _a.sent();
1061
+ return [4 /*yield*/, MarketData._queryPoolStates(_proxyContract, _poolStaticInfos, numPools)];
1062
+ case 3:
1063
+ poolStateInfos = _a.sent();
1064
+ return [4 /*yield*/, MarketData._queryPerpetualStates(_proxyContract, _nestedPerpetualIDs, _symbolList)];
1065
+ case 4:
1066
+ perpStateInfos = _a.sent();
1067
+ // put together all info
1068
+ for (k = 0; k < perpStateInfos.length; k++) {
1069
+ perp = perpStateInfos[k];
1070
+ symbol3s = _perpetualIdToSymbol.get(perp.id);
1071
+ info_1 = _symbolToPerpStaticInfo.get(symbol3s);
1072
+ idxPriceS2Pair = idxPriceMap.get(info_1.S2Symbol);
1073
+ idxPriceS3Pair = [0, false];
1074
+ perp.isMarketClosed = idxPriceS2Pair[1];
1075
+ if (info_1.S3Symbol != "") {
1076
+ idxPriceS3Pair = idxPriceMap.get(info_1.S3Symbol);
1077
+ perp.isMarketClosed = perp.isMarketClosed || idxPriceS3Pair[1];
1078
+ }
1079
+ perp.indexPrice = idxPriceS2Pair[0];
1080
+ perp.markPrice = idxPriceS2Pair[0] * (1 + perp.markPrice); // currently filled with mark premium rate
1081
+ indexS3 = 1;
1082
+ if (info_1.collateralCurrencyType == COLLATERAL_CURRENCY_BASE) {
1083
+ indexS3 = idxPriceS2Pair[0];
954
1084
  }
955
- else {
956
- indexS3 = res[0];
957
- isS3MktClosed = res[1];
1085
+ else if (info_1.collateralCurrencyType == COLLATERAL_CURRENCY_QUANTO) {
1086
+ indexS3 = idxPriceS3Pair[0];
958
1087
  }
1088
+ perp.collToQuoteIndexPrice = indexS3;
1089
+ perp.midPrice = midPriceMap.get(symbol3s);
1090
+ poolId = info_1.poolId;
1091
+ poolStateInfos[poolId - 1].perpetuals.push(perp);
959
1092
  }
960
- return [4 /*yield*/, _proxyContract.queryPerpetualPrice(perpetualIDs[k], BigNumber.from(0), [
961
- floatToABK64x64(indexS2),
962
- floatToABK64x64(indexS3),
963
- ])];
964
- case 7:
965
- fMidPrice = _e.sent();
966
- markPremiumRate = ABK64x64ToFloat(perp.currentMarkPremiumRate.fPrice);
967
- currentFundingRateBps = 1e4 * ABK64x64ToFloat(perp.fCurrentFundingRate);
968
- state = PERP_STATE_STR[perp.state];
969
- isMktClosed = isS2MktClosed || isS3MktClosed;
970
- if (state == "NORMAL" && isMktClosed) {
971
- state = "CLOSED";
972
- }
973
- PerpetualState = {
974
- id: perp.id,
975
- state: state,
976
- baseCurrency: contractSymbolToSymbol(perp.S2BaseCCY, _symbolList),
977
- quoteCurrency: contractSymbolToSymbol(perp.S2QuoteCCY, _symbolList),
978
- indexPrice: indexS2,
979
- collToQuoteIndexPrice: indexS3,
980
- markPrice: indexS2 * (1 + markPremiumRate),
981
- midPrice: ABK64x64ToFloat(fMidPrice),
982
- currentFundingRateBps: currentFundingRateBps,
983
- openInterestBC: ABK64x64ToFloat(perp.fOpenInterest),
984
- isMarketClosed: isMktClosed,
985
- };
986
- PoolState.perpetuals.push(PerpetualState);
987
- _e.label = 8;
988
- case 8:
989
- k++;
990
- return [3 /*break*/, 5];
991
- case 9:
992
- info.pools.push(PoolState);
993
- _e.label = 10;
994
- case 10:
995
- j++;
996
- return [3 /*break*/, 3];
997
- case 11: return [2 /*return*/, info];
1093
+ info.pools = poolStateInfos;
1094
+ return [2 /*return*/, info];
998
1095
  }
999
1096
  });
1000
1097
  });
@@ -1 +1 @@
1
- {"version":3,"file":"marketData.js","sourceRoot":"","sources":["../../src/marketData.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"marketData.js","sourceRoot":"","sources":["../../src/marketData.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC3C,OAAO,EACL,eAAe,EACf,uCAAuC,EACvC,yCAAyC,EACzC,wCAAwC,EACxC,eAAe,EACf,2BAA2B,GAC5B,MAAM,WAAW,CAAC;AACnB,OAAO,gBAAgB,CAAC;AACxB,OAAO,EACL,QAAQ,EAER,WAAW,EACX,wBAAwB,EACxB,0BAA0B,EAC1B,YAAY,EACZ,SAAS,EAOT,cAAc,EAGd,SAAS,EAET,YAAY,GACb,MAAM,gBAAgB,CAAC;AACxB,OAAO,oBAAoB,MAAM,wBAAwB,CAAC;AAE1D,OAAO,EAAE,sBAAsB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAE3D;;;;;GAKG;AACH;IAAwC,8BAAoB;IAC1D;;;;;;;;;;;;;;;;;OAiBG;IACH,oBAAmB,MAAqB;eACtC,kBAAM,MAAM,CAAC;IACf,CAAC;IAED;;;;;OAKG;IACU,wCAAmB,GAAhC,UAAiC,QAAoC;;;;;wBACnE,IAAI,QAAQ,IAAI,SAAS,EAAE;4BACzB,IAAI,CAAC,QAAQ,GAAG,IAAI,MAAM,CAAC,SAAS,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;yBACpE;6BAAM;4BACL,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;yBAC1B;wBACD,qBAAM,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAA;;wBAA9C,SAA8C,CAAC;;;;;KAChD;IAED;;;OAGG;IACI,oCAAe,GAAtB;QACE,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE;YAC9B,MAAM,KAAK,CAAC,2DAA2D,CAAC,CAAC;SAC1E;QACD,OAAO,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACI,8CAAyB,GAAhC,UAAiC,OAA2B;QAC1D,OAAO,oBAAoB,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;IAC3F,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACI,6CAAwB,GAA/B;QACE,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE;YAC9B,MAAM,KAAK,CAAC,2DAA2D,CAAC,CAAC;SAC1E;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACU,iCAAY,GAAzB;;;;;wBACE,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE;4BAC9B,MAAM,KAAK,CAAC,2DAA2D,CAAC,CAAC;yBAC1E;wBACM,qBAAM,UAAU,CAAC,aAAa,CACnC,IAAI,CAAC,aAAa,EAClB,IAAI,CAAC,eAAe,EACpB,IAAI,CAAC,sBAAsB,EAC3B,IAAI,CAAC,mBAAmB,EACxB,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,UAAU,EACf,IAAI,CAAC,eAAe,CACrB,EAAA;4BARD,sBAAO,SAQN,EAAC;;;;KACH;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACU,+BAAU,GAAvB,UAAwB,UAAkB,EAAE,MAAc;;;;;;wBAEpD,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;wBAClC,qBAAM,OAAO,CAAC,GAAG,CAAC;gCACxC,IAAI,CAAC,qBAAqB,CAAC,UAAU,EAAE,iBAAiB,CAAC;gCACzD,UAAU,CAAC,gBAAgB,CAAC,UAAU,EAAE,iBAAiB,CAAC;6BAC3D,CAAC,EAAA;;wBAHE,KAAA,sBAAoB,SAGtB,KAAA,EAHG,MAAM,QAAA,EAAE,OAAO,QAAA;wBAIpB,sBAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAC;;;;KAC9C;IAED;;;;;;;;;;;;;;;;;;;;OAoBG;IACU,iCAAY,GAAzB,UAA0B,UAAkB,EAAE,MAAc;;;;;;wBAC1D,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE;4BAC9B,MAAM,KAAK,CAAC,2DAA2D,CAAC,CAAC;yBAC1E;wBACS,qBAAM,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAA;;wBAAhE,GAAG,GAAG,SAA0D;wBACtD,qBAAM,oBAAoB,CAAC,gBAAgB,CACvD,UAAU,EACV,MAAM,EACN,IAAI,CAAC,sBAAsB,EAC3B,IAAI,CAAC,aAAa,EAClB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CACrC,EAAA;;wBANG,OAAO,GAAG,SAMb;wBACD,sBAAO,OAAO,EAAC;;;;KAChB;IAED;;;;;;;OAOG;IACU,wCAAmB,GAAhC,UACE,UAAkB,EAClB,KAAY,EACZ,OAAuB,EACvB,cAAmD;;;;;;;wBAEnD,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE;4BAC9B,MAAM,KAAK,CAAC,2DAA2D,CAAC,CAAC;yBAC1E;6BAEG,CAAA,OAAO,IAAI,SAAS,CAAA,EAApB,wBAAoB;wBACZ,qBAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC,MAAM,CAAC,EAAA;;wBAA3D,OAAO,GAAG,SAAiD,CAAC;;;6BAE1D,CAAA,cAAc,IAAI,SAAS,CAAA,EAA3B,wBAA2B;wBACnB,qBAAM,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAA;;wBAAxE,GAAG,GAAG,SAAkE;wBAC5E,cAAc,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;;;wBAGxF,SAAS,GAAG,UAAU,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;wBACpF,kCAAkC;wBAClC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,SAAS,EAAE;4BACxC,sBAAO,EAAE,eAAe,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,EAAE,EAAC;yBACnD;wBAIoB,qBAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,cAAc,CAAC,EAAA;;wBAA3E,cAAc,GAAG,SAA0D;wBAC3E,KAAA,OAAe,CAAC,cAAc,CAAC,UAAU,EAAE,cAAc,CAAC,qBAAqB,EAAE,cAAc,CAAC,SAAS,CAAC,IAAA,EAAzG,EAAE,QAAA,EAAE,EAAE,QAAA,EAAE,EAAE,QAAA,CAAgG;wBAE3G,mBAAmB,GAAG,OAAO,CAAC,YAAY,CAAC;wBAE3C,iBAAiB,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,uBAAuB,CAAC;wBAE1F,iBAAiB,GAAG,OAAO,CAAC,UAAU,GAAG,iBAAiB,CAAC;wBAI3D,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBAE7E,aAAa,GAAG,iBAAiB,GAAG,aAAa,CAAC;wBACtD,IAAI,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,SAAS,EAAE;4BAC5C,eAAe;4BACf,aAAa,GAAG,CAAC,iBAAiB,CAAC;4BACnC,aAAa,GAAG,CAAC,CAAC;yBACnB;wBACG,OAAO,GAAG,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,CAAC;oCAGxE,KAAK,CAAC,UAAU;;;4BAAK,qBAAM,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,EAAE,aAAa,CAAC,EAAA;;wBAA1D,KAAA,CAAC,SAAyD,CAAC,CAAA;;;wBAA5F,UAAU,KAAkF;wBAG5F,MAAM,GAAG,oBAAoB,CAAC,oBAAoB,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,eAAe,CAAC,CAAC;wBACrE,qBAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAC7D,MAAM,EACN,UAAU,EACV,MAAA,KAAK,CAAC,UAAU,mCAAI,YAAY,CACjC,EAAA;;wBAJG,eAAe,GAAG,SAIrB;wBACG,aAAa,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,eAAe,GAAG,IAAI,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;wBAC7E,WAAW,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,MAAA,KAAK,CAAC,aAAa,mCAAI,CAAC,CAAC,GAAG,IAAI,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;wBACtF,aAAa,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAE,CAAC,cAAc,CAAC;wBAEhF,OAAO,GAAG,aAAa,IAAI,CAAC,IAAI,aAAa,GAAG,aAAa,GAAG,CAAC,CAAC;wBAClE,MAAM,GAAG,aAAa,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,aAAa,GAAG,iBAAiB,GAAG,CAAC,CAAC,CAAC;wBACjG,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC;wBAC1E,sBAAsB,GAAG,CAAC,MAAA,KAAK,CAAC,eAAe,mCAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC;wBASzE,IAAI,KAAK,CAAC,QAAQ,IAAI,SAAS,IAAI,aAAa,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,IAAI,CAAC,sBAAsB,CAAC,EAAE;4BACxG,eAAe,GAAG,CAAC,CAAC;4BACpB,SAAS,GAAG,CAAC,CAAC;yBACf;6BAAM;4BAGD,iBAAiB,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAE,CAAC,iBAAiB,CAAC;4BAC3F,SAAS,GAAG,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,MAAA,KAAK,CAAC,QAAQ,mCAAI,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC;4BACvE,KAAA,OAAa,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,EAAE,iBAAiB,CAAC,IAAA,EAAvE,EAAE,QAAA,EAAE,IAAI,QAAA,CAAgE;4BAC7E,eAAe,GAAG,2BAA2B,CAAC,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;4BACtG,yCAAyC;4BACzC,eAAe,IAAI,aAAa,GAAG,WAAW,GAAG,aAAa,CAAC;yBAChE;wBAGG,WAAW,GAAG,CAAC,CAAC,aAAa,GAAG,CAAC,UAAU,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC;wBACxD,aAAa,GAAG,aAAa,GAAG,EAAE,CAAC;wBACvC,IAAI,OAAO,EAAE;4BACP,GAAG,GAAG,OAAO,CAAC,UAAU,GAAG,aAAa,GAAG,aAAa,CAAC;4BAC7D,aAAa,IAAI,GAAG,CAAC;4BACrB,WAAW,IAAI,GAAG,GAAG,EAAE,CAAC;yBACzB;wBACD,mBAAmB;wBACnB,WAAW,GAAG,WAAW,GAAG,OAAO,CAAC,8BAA8B,GAAG,aAAa,GAAG,WAAW,GAAG,aAAa,CAAC;wBAG7G,kBAAkB,GAAG,iBAAiB,GAAG,aAAa,CAAC;wBACvD,eAAe,GAAG,mBAAmB,GAAG,WAAW,GAAG,eAAe,CAAC;wBACtE,aAAa,GAAG,aAAa,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,GAAG,aAAa,CAAC,CAAC;wBACtF,kBAAkB,GAAG,eAAe,GAAG,CAAC,aAAa,GAAG,EAAE,GAAG,kBAAkB,CAAC,GAAG,EAAE,CAAC;wBACtF,WAAW,GACb,aAAa,IAAI,CAAC;4BAChB,CAAC,CAAC,CAAC;4BACH,CAAC,CAAC,kBAAkB,IAAI,CAAC;gCACzB,CAAC,CAAC,QAAQ;gCACV,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,kBAAkB,CAAC;wBAG3D,KAAA,OAAsB,UAAU,CAAC,qBAAqB,CACxD,OAAO,CAAC,MAAM,EACd,kBAAkB,EAClB,aAAa,EACb,eAAe,EACf,EAAE,EACF,EAAE,EACF,IAAI,CAAC,sBAAsB,CAC5B,IAAA,EARI,KAAK,QAAA,EAAE,KAAK,QAAA,EAAE,GAAG,QAAA,CAQpB;wBAGE,eAAe,GAAkB;4BACnC,MAAM,EAAE,OAAO,CAAC,MAAM;4BACtB,uBAAuB,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC;4BAChD,IAAI,EAAE,OAAO;4BACb,UAAU,EAAE,aAAa;4BACzB,QAAQ,EAAE,WAAW;4BACrB,SAAS,EAAE,EAAE;4BACb,qBAAqB,EAAE,aAAa,GAAG,EAAE,GAAG,kBAAkB;4BAC9D,8BAA8B,EAAE,CAAC;4BACjC,YAAY,EAAE,eAAe;4BAC7B,qBAAqB,EAAE,EAAE;4BACzB,gBAAgB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;4BAChC,cAAc,EAAE,CAAC,GAAG,GAAG;yBACxB,CAAC;wBACF,sBAAO,EAAE,eAAe,EAAE,eAAe,EAAE,SAAS,EAAE,eAAe,EAAE,EAAC;;;;KACzE;IAED;;;;;;OAMG;IACU,mDAA8B,GAA3C,UACE,eAAuB,EACvB,OAAsB,EACtB,cAAmD;;;;;;wBAEnD,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE;4BAC9B,MAAM,KAAK,CAAC,2DAA2D,CAAC,CAAC;yBAC1E;wBACD,IAAI,eAAe,GAAG,OAAO,CAAC,YAAY,GAAG,OAAO,CAAC,8BAA8B,GAAG,CAAC,EAAE;4BACvF,MAAM,KAAK,CAAC,6BAA6B,CAAC,CAAC;yBAC5C;6BACG,CAAA,cAAc,IAAI,SAAS,CAAA,EAA3B,wBAA2B;wBACnB,qBAAM,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAA;;wBAAxE,GAAG,GAAG,SAAkE;wBAC5E,cAAc,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;;4BAEvE,qBAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,MAAM,EAAE,cAAc,CAAC,EAAA;;wBAA7E,cAAc,GAAG,SAA4D;wBAC7E,KAAA,OAAe,CAAC,cAAc,CAAC,UAAU,EAAE,cAAc,CAAC,qBAAqB,EAAE,cAAc,CAAC,SAAS,CAAC,IAAA,EAAzG,EAAE,QAAA,EAAE,EAAE,QAAA,EAAE,EAAE,QAAA,CAAgG;wBAE/G,kEAAkE;wBAClE,IAAI,OAAO,CAAC,uBAAuB,IAAI,CAAC,EAAE;4BACxC,sBAAO;oCACL,MAAM,EAAE,OAAO,CAAC,MAAM;oCACtB,uBAAuB,EAAE,OAAO,CAAC,uBAAuB;oCACxD,IAAI,EAAE,OAAO,CAAC,IAAI;oCAClB,UAAU,EAAE,OAAO,CAAC,UAAU;oCAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;oCAC1B,SAAS,EAAE,EAAE;oCACb,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;oCACpD,8BAA8B,EAAE,OAAO,CAAC,8BAA8B;oCACtE,YAAY,EAAE,OAAO,CAAC,YAAY,GAAG,eAAe;oCACpD,qBAAqB,EAAE,EAAE;oCACzB,gBAAgB,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC;oCAChC,cAAc,EAAE,QAAQ;iCACzB,EAAC;yBACH;wBAEG,UAAU,GAAG,OAAO,CAAC,uBAAuB,GAAG,CAAC,OAAO,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;wBACnF,UAAU,GAAG,OAAO,CAAC,UAAU,GAAG,UAAU,CAAC;wBAC7C,eAAe,GAAG,OAAO,CAAC,YAAY,GAAG,eAAe,CAAC;wBACzD,kBAAkB,GACpB,eAAe,GAAG,OAAO,CAAC,8BAA8B,GAAG,CAAC,UAAU,GAAG,EAAE,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC;wBACjG,IAAI,kBAAkB,IAAI,CAAC,EAAE;4BAC3B,sBAAO;oCACL,MAAM,EAAE,OAAO,CAAC,MAAM;oCACtB,uBAAuB,EAAE,OAAO,CAAC,uBAAuB;oCACxD,IAAI,EAAE,OAAO,CAAC,IAAI;oCAClB,UAAU,EAAE,OAAO,CAAC,UAAU;oCAC9B,QAAQ,EAAE,QAAQ;oCAClB,SAAS,EAAE,EAAE;oCACb,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;oCACpD,8BAA8B,EAAE,OAAO,CAAC,8BAA8B;oCACtE,YAAY,EAAE,eAAe;oCAC7B,qBAAqB,EAAE,EAAE;oCACzB,gBAAgB,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;oCAC1B,cAAc,EAAE,CAAC;iCAClB,EAAC;yBACH;wBACG,WAAW,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG,kBAAkB,CAAC;wBAGpE,KAAA,OAAsB,UAAU,CAAC,qBAAqB,CACxD,OAAO,CAAC,MAAM,EACd,UAAU,EACV,UAAU,EACV,eAAe,EACf,EAAE,EACF,EAAE,EACF,IAAI,CAAC,sBAAsB,CAC5B,IAAA,EARI,KAAK,QAAA,EAAE,KAAK,QAAA,EAAE,GAAG,QAAA,CAQpB;wBAGE,eAAe,GAAkB;4BACnC,MAAM,EAAE,OAAO,CAAC,MAAM;4BACtB,uBAAuB,EAAE,OAAO,CAAC,uBAAuB;4BACxD,IAAI,EAAE,OAAO,CAAC,IAAI;4BAClB,UAAU,EAAE,OAAO,CAAC,UAAU;4BAC9B,QAAQ,EAAE,WAAW;4BACrB,SAAS,EAAE,EAAE;4BACb,qBAAqB,EAAE,OAAO,CAAC,qBAAqB;4BACpD,8BAA8B,EAAE,OAAO,CAAC,8BAA8B;4BACtE,YAAY,EAAE,eAAe;4BAC7B,qBAAqB,EAAE,EAAE;4BACzB,gBAAgB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;4BAChC,cAAc,EAAE,CAAC,GAAG,GAAG;yBACxB,CAAC;wBACF,sBAAO,eAAe,EAAC;;;;KACxB;IAEgB,gCAAqB,GAAtC,UACE,MAAc,EACd,UAAkB,EAClB,gBAAwB,EACxB,YAAoB,EACpB,SAAiB,EACjB,qBAA6B,EAC7B,sBAAwD;QAExD,IAAI,KAAa,EAAE,KAAyB,CAAC;QAC7C,IAAI,GAAG,GAAG,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,qBAAqB,CAAC;QACpE,IAAI,OAAO,GAAG,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAE,CAAC,sBAAsB,CAAC;QACzE,IAAI,OAAO,IAAI,YAAY,CAAC,IAAI,EAAE;YAChC,KAAK,GAAG,uCAAuC,CAAC,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;YACjG,KAAK,GAAG,KAAK,CAAC;SACf;aAAM,IAAI,OAAO,IAAI,YAAY,CAAC,MAAM,EAAE;YACzC,KAAK,GAAG,qBAAqB,CAAC;YAC9B,KAAK,GAAG,yCAAyC,CAC/C,UAAU,EACV,gBAAgB,EAChB,YAAY,EACZ,GAAG,EACH,qBAAqB,EACrB,SAAS,CACV,CAAC;SACH;aAAM;YACL,KAAK,GAAG,wCAAwC,CAAC,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;SACnG;QACD,aAAa;QACb,KAAK,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QAC9B,KAAK,GAAG,KAAK,IAAI,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACvC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED;;;;;OAKG;IACU,qCAAgB,GAA7B,UAA8B,OAAe,EAAE,MAAc;;;;;;wBACvD,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;wBAC9C,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,mBAAmB,CAAC;wBACpE,KAAK,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC,eAAe,EAAE,SAAS,EAAE,IAAI,CAAC,QAAS,CAAC,CAAC;wBACnD,qBAAM,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,EAAA;;wBAAnD,kBAAkB,GAAG,SAA8B;wBACvD,sBAAO,kBAAkB,GAAG,SAAA,EAAE,EAAI,EAAE,CAAA,EAAC;;;;KACtC;IAED;;;;;;;OAOG;IACU,0CAAqB,GAAlC,UAAmC,IAAY,EAAE,YAA2B;;;;;;wBACtE,WAAW,GAAG,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,uBAAuB,CAAC;wBAC9G,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;wBAClC,qBAAM,IAAI,CAAC,aAAc,CAAC,+BAA+B,CAChF,MAAM,EACN,eAAe,CAAC,WAAW,CAAC,EAC5B,IAAI,IAAI,QAAQ,CACjB,EAAA;;wBAJG,kBAAkB,GAAG,SAIxB;wBACD,sBAAO,eAAe,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,EAAC;;;;KAClD;IAED;;;;;OAKG;IACU,sCAAiB,GAA9B,UAA+B,IAAY,EAAE,MAAc;;;;;;wBACrD,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;wBAC1C,KAAK,GAAG,IAAI,IAAI,QAAQ,CAAC;wBACV,qBAAM,IAAI,CAAC,aAAc,CAAC,+BAA+B,CAAC,MAAM,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAA;;wBAA1G,YAAY,GAAG,SAA2F;wBAC9G,sBAAO,eAAe,CAAC,YAAY,CAAC,EAAC;;;;KACtC;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACU,mCAAc,GAA3B,UAA4B,IAAY,EAAE,KAAa;;;;;;wBACrD,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE;4BAC9B,MAAM,KAAK,CAAC,2DAA2D,CAAC,CAAC;yBAC1E;wBACQ,qBAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAA;;wBAA/E,EAAE,GAAG,SAA0E;wBACnF,sBAAO,EAAE,IAAI,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC,EAAC;;;;KAC1D;IAEY,mCAAc,GAA3B,UAA4B,MAAc,EAAE,OAAe;;;;;;wBACzD,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE;4BAC9B,MAAM,KAAK,CAAC,2DAA2D,CAAC,CAAC;yBAC1E;wBACG,iBAAiB,GAA2B,IAAI,CAAC;wBACrD,iBAAiB,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;wBACzC,qBAAM,iBAAiB,CAAC,cAAc,CAAC,OAAO,CAAC,EAAA;;wBAAxD,MAAM,GAAG,SAA+C;wBAC5D,sBAAO,MAAM,EAAC;;;;KACf;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACU,iCAAY,GAAzB,UAA0B,MAAc,EAAE,WAA8B;;;;;;wBACtE,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE;4BAC9B,MAAM,KAAK,CAAC,2DAA2D,CAAC,CAAC;yBAC1E;6BACG,CAAA,WAAW,IAAI,SAAS,CAAA,EAAxB,wBAAwB;wBAChB,qBAAM,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAA;;wBAAhE,GAAG,GAAG,SAA0D;wBACpE,WAAW,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;;4BAE9C,qBAAM,oBAAoB,CAAC,wBAAwB,CACxD,MAAM,EACN,IAAI,CAAC,sBAAsB,EAC3B,IAAI,CAAC,aAAa,EAClB,WAAW,CACZ,EAAA;4BALD,sBAAO,SAKN,EAAC;;;;KACH;IAED;;;;;;;;;;;;;;;;;;;OAmBG;IACU,sCAAiB,GAA9B,UAA+B,MAAc,EAAE,QAAgB,EAAE,WAA8B;;;;;;wBAC7F,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE;4BAC9B,MAAM,KAAK,CAAC,2DAA2D,CAAC,CAAC;yBAC1E;6BACG,CAAA,WAAW,IAAI,SAAS,CAAA,EAAxB,wBAAwB;wBAEhB,qBAAM,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAA;;wBAAhE,GAAG,GAAG,SAA0D;wBACpE,WAAW,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;;4BAE9C,qBAAM,oBAAoB,CAAC,oBAAoB,CACpD,MAAM,EACN,QAAQ,EACR,IAAI,CAAC,sBAAsB,EAC3B,IAAI,CAAC,aAAa,EAClB,WAAW,CACZ,EAAA;4BAND,sBAAO,SAMN,EAAC;;;;KACH;IAED;;;;;OAKG;IACU,sCAAiB,GAA9B,UACE,MAAc,EACd,cAAmD;;;;;;wBAEnD,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE;4BAC9B,MAAM,KAAK,CAAC,2DAA2D,CAAC,CAAC;yBAC1E;6BACG,CAAA,cAAc,IAAI,SAAS,CAAA,EAA3B,wBAA2B;wBACnB,qBAAM,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAA;;wBAAhE,GAAG,GAAG,SAA0D;wBACpE,cAAc,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;;4BAEhE,qBAAM,oBAAoB,CAAC,oBAAoB,CACzE,MAAM,EACN,IAAI,CAAC,sBAAsB,EAC3B,IAAI,CAAC,aAAa,EAClB,cAAc,CACf,EAAA;;wBALG,KAAK,GAAmB,SAK3B;wBACD,sBAAO,KAAK,EAAC;;;;KACd;IAED;;;;;OAKG;IACI,2CAAsB,GAA7B,UAA8B,MAAc;QAC1C,IAAI,QAAQ,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACvD,IAAI,QAAQ,IAAI,SAAS,EAAE;YACzB,MAAM,KAAK,CAAC,gCAAyB,MAAM,2DAAwD,CAAC,CAAC;SACtG;QACD,mCAAmC;QACnC,IAAI,GAAG,GAAwB;YAC7B,EAAE,EAAE,QAAQ,CAAC,EAAE;YACf,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,kBAAkB,EAAE,QAAQ,CAAC,kBAAkB;YAC/C,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;YAC7C,qBAAqB,EAAE,QAAQ,CAAC,qBAAqB;YACrD,sBAAsB,EAAE,QAAQ,CAAC,sBAAsB;YACvD,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,QAAQ,EAAE,QAAQ,CAAC,QAAQ;YAC3B,SAAS,EAAE,QAAQ,CAAC,SAAS;YAC7B,cAAc,EAAE,QAAQ,CAAC,cAAc;YACvC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;SAC5B,CAAC;QACF,OAAO,GAAG,CAAC;IACb,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACU,yCAAoB,GAAjC,UAAkC,MAAc;;;;;wBAC9C,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE;4BAC9B,MAAM,KAAK,CAAC,2DAA2D,CAAC,CAAC;yBAC1E;wBACM,qBAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC,EAAA;4BAA9C,sBAAO,SAAuC,EAAC;;;;KAChD;IAED;;;;;;OAMG;IACa,0CAAqB,GAArC,UAAsC,UAAkB,EAAE,iBAAkC;;;;;4BAC9D,qBAAM,iBAAiB,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,EAAA;;wBAA5E,MAAM,GAAkB,SAAoD;wBAE5E,kBAAkB,GAAY,IAAI,KAAK,EAAS,CAAC;wBACjD,CAAC,GAAG,CAAC,CAAC;wBACV,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,IAAI,YAAY,EAAE;4BAChE,kBAAkB,CAAC,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;4BACtG,CAAC,EAAE,CAAC;yBACL;wBACD,sBAAO,kBAAkB,EAAC;;;;KAC3B;IAED;;;;;;OAMG;IACiB,2BAAgB,GAApC,UAAqC,UAAkB,EAAE,iBAAkC;;;;;4BAC9D,qBAAM,iBAAiB,CAAC,oBAAoB,CAAC,UAAU,EAAE,CAAC,EAAE,EAAE,CAAC,EAAA;;wBAAtF,UAAU,GAAa,SAA+D;wBACtF,CAAC,GAAW,CAAC,CAAC;wBACd,OAAO,GAAa,EAAE,CAAC;wBAC3B,OAAO,CAAC,GAAG,UAAU,CAAC,MAAM,IAAI,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;4BACnE,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;4BAC5B,CAAC,EAAE,CAAC;yBACL;wBACD,sBAAO,OAAO,EAAC;;;;KAChB;IAED;;;;;;;OAOG;IACU,uCAAkB,GAA/B,UAAgC,UAAkB,EAAE,MAAc,EAAE,WAA8B;;;;;;wBAChG,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE;4BAC9B,MAAM,KAAK,CAAC,2DAA2D,CAAC,CAAC;yBAC1E;6BAEG,CAAA,WAAW,IAAI,SAAS,CAAA,EAAxB,wBAAwB;wBAEhB,qBAAM,IAAI,CAAC,eAAe,CAAC,uBAAuB,CAAC,MAAM,CAAC,EAAA;;wBAAhE,GAAG,GAAG,SAA0D;wBACpE,WAAW,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;;;wBAEjD,MAAM,GAAG,oBAAoB,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;wBACzE,qBAAM,IAAI,CAAC,aAAa,CAAC,cAAc,CACvD,MAAM,EACN,UAAU,EACV,WAAW,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,eAAe,CAAC,CAAC,CAAC,EAAlB,CAAkB,CAAC,CAC3C,EAAA;;wBAJG,WAAW,GAAG,SAIjB;wBACK,mBAAmB,GAAG,CAAC,CAAC;wBAC1B,GAAG,GAAG,eAAe,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC;wBAC5D,sBAAO,GAAG,EAAC;;;;KACZ;IAED;;;;;OAKG;IACU,2CAAsB,GAAnC,UAAoC,UAAkB,EAAE,UAAmB;;;;;;wBACzE,IAAI,IAAI,CAAC,aAAa,IAAI,IAAI,EAAE;4BAC9B,MAAM,KAAK,CAAC,qEAAqE,CAAC,CAAC;yBACpF;wBAEG,UAAU,GAA8B,EAAE,CAAC;wBAC3C,UAAU,GAA8B,EAAE,CAAC;wBAC/C,KAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACpD,IAAI,UAAU,IAAI,EAAE,IAAI,UAAU,IAAI,SAAS,EAAE;gCAC3C,YAAU,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;gCACpG,UAAU,CAAC,IAAI,CAAC,SAAO,CAAC,CAAC;6BAC1B;4BACG,YAAU,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;4BACpG,UAAU,CAAC,IAAI,CAAC,SAAO,CAAC,CAAC;yBAC1B;wBAEG,iBAAiB,GAAG,CAAC,CAAC;wBACtB,iBAAiB,GAAG,CAAC,CAAC;wBACZ,qBAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAA;;wBAAvC,OAAO,GAAG,SAA6B;wBAC7B,qBAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,EAAA;;wBAAvC,OAAO,GAAG,SAA6B;wBAC3C,KAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACpD,IAAI,UAAU,IAAI,EAAE,IAAI,UAAU,IAAI,SAAS,EAAE;gCAC/C,iBAAiB,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;6BAClD;4BACD,iBAAiB,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;yBAClD;wBACK,SAAS,GAAG,MAAO,CAAC;wBACtB,KAAK,GAAG,iBAAiB,IAAI,CAAC,CAAC,CAAC,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAAC,CAAC,iBAAiB,CAAC;wBAEnF,KAAK,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;wBAC3D,2DAA2D;wBAC3D,sBAAO,CAAC,GAAG,KAAK,EAAC;;;;KAClB;IAED;;;;;OAKG;IACkB,6BAAkB,GAAvC,UACE,uBAAyD,EACzD,gBAA4B;;;;;;;wBAGxB,MAAM,GAAG,IAAI,GAAG,EAAU,CAAC;;4BAC/B,KAAuB,KAAA,SAAA,uBAAuB,CAAC,IAAI,EAAE,CAAA,4CAAE;gCAA9C,UAAU;gCACb,KAAK,GAAoC,uBAAuB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gCACrF,MAAM,CAAC,GAAG,CAAC,KAAM,CAAC,QAAQ,CAAC,CAAC;gCAC5B,IAAI,KAAM,CAAC,QAAQ,IAAI,EAAE,EAAE;oCACzB,MAAM,CAAC,GAAG,CAAC,KAAM,CAAC,QAAQ,CAAC,CAAC;iCAC7B;6BACF;;;;;;;;;wBACG,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;wBACM,qBAAM,gBAAgB,CAAC,WAAW,CAAC,SAAS,CAAC,EAAA;;wBAA3F,WAAW,GAAmC,SAA6C;wBAC/F,sBAAO,WAAW,EAAC;;;;KACpB;IAED;;;;;;;;OAQG;IACkB,0BAAe,GAApC,UACE,cAA+B,EAC/B,mBAAyC,EACzC,uBAAyD,EACzD,oBAAyC,EACzC,YAA4C;;;;;;wBAGtC,SAAS,GAAG,EAAE,CAAC;wBACjB,iBAAiB,GAAyB,oBAAoB,CAAC,iBAAiB,CAClF,SAAS,EACT,mBAAmB,CACpB,CAAC;wBAEE,WAAW,GAAG,IAAI,GAAG,EAAkB,CAAC;wBACnC,CAAC,GAAG,CAAC;;;6BAAE,CAAA,CAAC,GAAG,iBAAiB,CAAC,MAAM,CAAA;wBACtC,WAAW,GAAgB,EAAE,CAAC;wBAClC,iCAAiC;wBACjC,KAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BAChD,EAAE,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;4BAC7B,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;4BACxC,IAAI,GAAG,uBAAuB,CAAC,GAAG,CAAC,QAAS,CAAC,CAAC;4BAC9C,EAAE,GAAG,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,IAAK,CAAC,QAAQ,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC;4BAC3D,EAAE,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;4BAC3B,IAAI,IAAK,CAAC,QAAQ,IAAI,EAAE,EAAE;gCACxB,EAAE,GAAG,eAAe,CAAC,YAAY,CAAC,GAAG,CAAC,IAAK,CAAC,QAAQ,CAAE,CAAC,CAAC,CAAC,CAAC,CAAC;6BAC5D;4BACD,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;4BACrB,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;yBACtB;wBACe,qBAAM,cAAc,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,EAAA;;wBAAlF,SAAS,GAAG,SAAsE;wBACtF,KAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACrC,EAAE,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;4BAC7B,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;4BAC5C,WAAW,CAAC,GAAG,CAAC,QAAS,EAAE,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;yBAC3D;;;wBApB2C,CAAC,EAAE,CAAA;;4BAsBjD,sBAAO,WAAW,EAAC;;;;KACpB;IAEoB,2BAAgB,GAArC,UACE,cAA+B,EAC/B,gBAAkC,EAClC,SAAiB;;;;;;wBAEX,SAAS,GAAG,CAAC,CAAC;wBAChB,KAAK,GAAG,CAAC,CAAC;wBACV,UAAU,GAAqB,EAAE,CAAC;;;6BAC/B,CAAA,KAAK,IAAI,SAAS,CAAA;wBACX,qBAAM,cAAc,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC,EAAA;;wBAAxE,KAAK,GAAG,SAAgE;wBAC5E,KAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACjC,UAAU,GAAG,gBAAgB,CAAC,KAAK,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC;4BAC9D,SAAS,GAAc;gCACzB,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;gCAC7B,UAAU,EAAE,UAAU;gCACtB,eAAe,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,kBAAkB;gCAC5C,kBAAkB,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB;gCAC9C,iBAAiB,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;gCAC/D,oBAAoB,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC;gCACtE,kBAAkB,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC;gCAC5D,wBAAwB,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,kBAAkB,CAAC;gCACtE,uBAAuB,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC;gCAC3E,UAAU,EAAE,EAAE;6BACf,CAAC;4BACF,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;yBAC5B;wBACD,KAAK,GAAG,KAAK,GAAG,SAAS,GAAG,CAAC,CAAC;;4BAEhC,sBAAO,UAAU,EAAC;;;;KACnB;IAEoB,gCAAqB,GAA1C,UACE,cAA+B,EAC/B,mBAAyC,EACzC,WAAgC;;;;;;wBAG1B,SAAS,GAAG,EAAE,CAAC;wBACjB,iBAAiB,GAAyB,oBAAoB,CAAC,iBAAiB,CAClF,SAAS,EACT,mBAAmB,CACpB,CAAC;wBACE,cAAc,GAAG,IAAI,KAAK,EAAkB,CAAC;wBACxC,CAAC,GAAG,CAAC;;;6BAAE,CAAA,CAAC,GAAG,iBAAiB,CAAC,MAAM,CAAA;wBAC9B,qBAAM,cAAc,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,EAAA;;wBAAhE,KAAK,GAAG,SAAwD;wBACpE,KAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACjC,cAAc,GAAmB;gCACnC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;gCACf,KAAK,EAAE,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;gCACrC,YAAY,EAAE,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,WAAW,CAAE;gCACtE,aAAa,EAAE,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE,WAAW,CAAE;gCACxE,UAAU,EAAE,CAAC;gCACb,qBAAqB,EAAE,CAAC;gCACxB,SAAS,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,sBAAsB,CAAC,MAAM,CAAC;gCAClE,QAAQ,EAAE,CAAC;gCACX,qBAAqB,EAAE,GAAG,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC;gCAC1E,cAAc,EAAE,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC;gCACvD,cAAc,EAAE,KAAK,EAAE,YAAY;6BACpC,CAAC;4BACF,cAAc,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;yBACrC;;;wBAjB2C,CAAC,EAAE,CAAA;;4BAmBjD,sBAAO,cAAc,EAAC;;;;KACvB;IAEmB,wBAAa,GAAjC,UACE,cAA+B,EAC/B,gBAAuC,EACvC,uBAAyD,EACzD,oBAAyC,EACzC,mBAAyC,EACzC,WAAgC,EAChC,gBAA4B;;;;;;wBAGxB,OAAO,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC;wBAChD,IAAI,GAAiB,EAAE,KAAK,EAAE,EAAE,EAAE,iBAAiB,EAAE,OAAO,EAAE,SAAS,EAAE,cAAc,CAAC,OAAO,EAAE,CAAC;wBAChG,QAAQ,GAAG,mBAAmB,CAAC,MAAM,CAAC;wBAG1B,qBAAM,UAAU,CAAC,kBAAkB,CAAC,uBAAuB,EAAE,gBAAgB,CAAC,EAAA;;wBAA5F,WAAW,GAAG,SAA8E;wBAEzD,qBAAM,UAAU,CAAC,eAAe,CACrE,cAAc,EACd,mBAAmB,EACnB,uBAAuB,EACvB,oBAAoB,EACpB,WAAW,CACZ,EAAA;;wBANG,WAAW,GAAwB,SAMtC;wBACoB,qBAAM,UAAU,CAAC,gBAAgB,CAAC,cAAc,EAAE,gBAAgB,EAAE,QAAQ,CAAC,EAAA;;wBAA9F,cAAc,GAAG,SAA6E;wBAC7E,qBAAM,UAAU,CAAC,qBAAqB,CAAC,cAAc,EAAE,mBAAmB,EAAE,WAAW,CAAC,EAAA;;wBAAzG,cAAc,GAAG,SAAwF;wBAC7G,wBAAwB;wBACxB,KAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;4BACxC,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;4BAC3B,QAAQ,GAAG,oBAAoB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;4BAC7C,SAAO,uBAAuB,CAAC,GAAG,CAAC,QAAS,CAAC,CAAC;4BAC5C,cAAc,GAAG,WAAW,CAAC,GAAG,CAAC,MAAK,CAAC,QAAQ,CAAC,CAAC;4BACnD,cAAc,GAAsB,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;4BACnD,IAAI,CAAC,cAAc,GAAG,cAAe,CAAC,CAAC,CAAC,CAAC;4BACzC,IAAI,MAAK,CAAC,QAAQ,IAAI,EAAE,EAAE;gCACxB,cAAc,GAAG,WAAW,CAAC,GAAG,CAAC,MAAK,CAAC,QAAQ,CAAE,CAAC;gCAClD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,cAAe,CAAC,CAAC,CAAC,CAAC;6BACjE;4BACD,IAAI,CAAC,UAAU,GAAG,cAAe,CAAC,CAAC,CAAC,CAAC;4BACrC,IAAI,CAAC,SAAS,GAAG,cAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,0CAA0C;4BAClG,OAAO,GAAG,CAAC,CAAC;4BAChB,IAAI,MAAK,CAAC,sBAAsB,IAAI,wBAAwB,EAAE;gCAC5D,OAAO,GAAG,cAAe,CAAC,CAAC,CAAC,CAAC;6BAC9B;iCAAM,IAAI,MAAK,CAAC,sBAAsB,IAAI,0BAA0B,EAAE;gCACrE,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;6BAC7B;4BACD,IAAI,CAAC,qBAAqB,GAAG,OAAO,CAAC;4BACrC,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,QAAS,CAAE,CAAC;4BAEtC,MAAM,GAAG,MAAK,CAAC,MAAM,CAAC;4BAC5B,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;yBAClD;wBACD,IAAI,CAAC,KAAK,GAAG,cAAc,CAAC;wBAC5B,sBAAO,IAAI,EAAC;;;;KACb;IACH,iBAAC;AAAD,CAAC,AAn+BD,CAAwC,oBAAoB,GAm+B3D"}
@@ -8,6 +8,7 @@ import PriceFeeds from "./priceFeeds";
8
8
  export default class PerpetualDataHandler {
9
9
  PRICE_UPDATE_FEE_GWEI: number;
10
10
  protected symbolToPerpStaticInfo: Map<string, PerpetualStaticInfo>;
11
+ protected perpetualIdToSymbol: Map<number, string>;
11
12
  protected poolStaticInfos: Array<PoolStaticInfo>;
12
13
  protected symbolList: Map<string, string>;
13
14
  protected symbolToTokenAddrMap: Map<string, string>;
@@ -140,13 +141,6 @@ export default class PerpetualDataHandler {
140
141
  * @returns perpetual id or it fails
141
142
  */
142
143
  protected static symbolToPerpetualId(symbol: string, symbolToPerpStaticInfo: Map<string, PerpetualStaticInfo>): number;
143
- /**
144
- * Find the long symbol ("ETH-USD-MATIC") of the given perpetual id
145
- * @param id perpetual id
146
- * @param symbolToPerpStaticInfo map that contains the bytes4-symbol to PerpetualStaticInfo
147
- * @returns symbol string or undefined
148
- */
149
- protected static perpetualIdToSymbol(id: number, symbolToPerpStaticInfo: Map<string, PerpetualStaticInfo>): string | undefined;
150
144
  protected static symbolToBytes4Symbol(symbol: string): string;
151
145
  private static _getByValue;
152
146
  protected static fromSmartContractOrder(order: SmartContractOrder, symbolToPerpInfoMap: Map<string, PerpetualStaticInfo>): Order;
@@ -2,7 +2,7 @@ import { __awaiter, __generator, __read, __values } from "tslib";
2
2
  import { ethers, BigNumber } from "ethers";
3
3
  import { MAX_64x64, CollaterlCCY, COLLATERAL_CURRENCY_BASE, COLLATERAL_CURRENCY_QUOTE, BUY_SIDE, SELL_SIDE, CLOSED_SIDE, ORDER_MAX_DURATION_SEC, ZERO_ADDRESS, ORDER_TYPE_LIMIT, ORDER_TYPE_MARKET, ORDER_TYPE_STOP_MARKET, ORDER_TYPE_STOP_LIMIT, MASK_LIMIT_ORDER, MASK_CLOSE_ONLY, MASK_KEEP_POS_LEVERAGE, MASK_MARKET_ORDER, MASK_STOP_ORDER, ONE_64x64, PERP_STATE_STR, DEFAULT_CONFIG, loadABIs, SYMBOL_LIST, ZERO_ORDER_ID, } from "./nodeSDKTypes";
4
4
  import { to4Chars, combineFlags, containsFlag, contractSymbolToSymbol, symbol4BToLongSymbol } from "./utils";
5
- import { ABK64x64ToFloat, floatToABK64x64, div64x64, calculateLiquidationPriceCollateralQuanto, calculateLiquidationPriceCollateralBase, calculateLiquidationPriceCollateralQuote, } from "./d8XMath";
5
+ import { ABK64x64ToFloat, ABDK29ToFloat, floatToABK64x64, div64x64, calculateLiquidationPriceCollateralQuanto, calculateLiquidationPriceCollateralBase, calculateLiquidationPriceCollateralQuote, } from "./d8XMath";
6
6
  import PriceFeeds from "./priceFeeds";
7
7
  /**
8
8
  * Parent class for MarketData and WriteAccessHandler that handles
@@ -19,6 +19,7 @@ var PerpetualDataHandler = /** @class */ (function () {
19
19
  this.symbolToPerpStaticInfo = new Map();
20
20
  this.poolStaticInfos = new Array();
21
21
  this.symbolToTokenAddrMap = new Map();
22
+ this.perpetualIdToSymbol = new Map();
22
23
  this.nestedPerpetualIDs = new Array();
23
24
  this.chainId = config.chainId;
24
25
  this.proxyAddr = config.proxyAddr;
@@ -92,16 +93,17 @@ var PerpetualDataHandler = /** @class */ (function () {
92
93
  */
93
94
  PerpetualDataHandler.prototype._fillSymbolMaps = function (proxyContract) {
94
95
  return __awaiter(this, void 0, void 0, function () {
95
- var poolInfo, j, info, perpStaticInfos, requiredPairs, j, perp, poolCCY, _a, base, quote, base3, currentSymbol3;
96
- return __generator(this, function (_b) {
97
- switch (_b.label) {
96
+ var poolInfo, j, info, perpStaticInfos, requiredPairs, j, perp, poolCCY, _a, base, quote, base3, currentSymbol3, _b, _c, _d, key, info;
97
+ var e_1, _e;
98
+ return __generator(this, function (_f) {
99
+ switch (_f.label) {
98
100
  case 0:
99
101
  if (proxyContract == null || this.lobFactoryContract == null) {
100
102
  throw Error("proxy or limit order book not defined");
101
103
  }
102
104
  return [4 /*yield*/, PerpetualDataHandler.getPoolStaticInfo(proxyContract)];
103
105
  case 1:
104
- poolInfo = _b.sent();
106
+ poolInfo = _f.sent();
105
107
  this.nestedPerpetualIDs = poolInfo.nestedPerpetualIDs;
106
108
  for (j = 0; j < poolInfo.nestedPerpetualIDs.length; j++) {
107
109
  info = {
@@ -116,7 +118,7 @@ var PerpetualDataHandler = /** @class */ (function () {
116
118
  }
117
119
  return [4 /*yield*/, PerpetualDataHandler.getPerpetualStaticInfo(proxyContract, this.nestedPerpetualIDs, this.symbolList)];
118
120
  case 2:
119
- perpStaticInfos = _b.sent();
121
+ perpStaticInfos = _f.sent();
120
122
  requiredPairs = new Set();
121
123
  // 1) determine pool currency based on its perpetuals
122
124
  // 2) determine which triangulations we need
@@ -154,6 +156,20 @@ var PerpetualDataHandler = /** @class */ (function () {
154
156
  // the prices of price-feeds to the index price required, e.g.
155
157
  // BTC-USDC : BTC-USD / USDC-USD
156
158
  this.priceFeedGetter.initializeTriangulations(requiredPairs);
159
+ try {
160
+ // fill this.perpetualIdToSymbol
161
+ for (_b = __values(this.symbolToPerpStaticInfo), _c = _b.next(); !_c.done; _c = _b.next()) {
162
+ _d = __read(_c.value, 2), key = _d[0], info = _d[1];
163
+ this.perpetualIdToSymbol.set(info.id, key);
164
+ }
165
+ }
166
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
167
+ finally {
168
+ try {
169
+ if (_c && !_c.done && (_e = _b.return)) _e.call(_b);
170
+ }
171
+ finally { if (e_1) throw e_1.error; }
172
+ }
157
173
  return [2 /*return*/];
158
174
  }
159
175
  });
@@ -188,7 +204,7 @@ var PerpetualDataHandler = /** @class */ (function () {
188
204
  * @param perpId perpetual id
189
205
  */
190
206
  PerpetualDataHandler.prototype.getSymbolFromPerpId = function (perpId) {
191
- return PerpetualDataHandler.perpetualIdToSymbol(perpId, this.symbolToPerpStaticInfo);
207
+ return this.perpetualIdToSymbol.get(perpId);
192
208
  };
193
209
  PerpetualDataHandler.prototype.symbol4BToLongSymbol = function (sym) {
194
210
  return symbol4BToLongSymbol(sym, this.symbolList);
@@ -304,13 +320,13 @@ var PerpetualDataHandler = /** @class */ (function () {
304
320
  base3 = contractSymbolToSymbol(perpInfos[j].S3BaseCCY, symbolList);
305
321
  quote3 = contractSymbolToSymbol(perpInfos[j].S3QuoteCCY, symbolList);
306
322
  sym2 = base + "-" + quote;
307
- sym3 = base3 + "-" + quote3;
323
+ sym3 = base3 == "" ? "" : base3 + "-" + quote3;
308
324
  info = {
309
325
  id: perpInfos[j].id,
310
326
  poolId: Math.floor(perpInfos[j].id / 100000),
311
327
  limitOrderBookAddr: perpInfos[j].limitOrderBookAddr,
312
- initialMarginRate: ABK64x64ToFloat(perpInfos[j].fInitialMarginRate),
313
- maintenanceMarginRate: ABK64x64ToFloat(perpInfos[j].fMaintenanceMarginRate),
328
+ initialMarginRate: ABDK29ToFloat(perpInfos[j].fInitialMarginRate),
329
+ maintenanceMarginRate: ABDK29ToFloat(perpInfos[j].fMaintenanceMarginRate),
314
330
  collateralCurrencyType: perpInfos[j].collCurrencyType,
315
331
  S2Symbol: sym2,
316
332
  S3Symbol: sym3,
@@ -577,33 +593,6 @@ var PerpetualDataHandler = /** @class */ (function () {
577
593
  }
578
594
  return id;
579
595
  };
580
- /**
581
- * Find the long symbol ("ETH-USD-MATIC") of the given perpetual id
582
- * @param id perpetual id
583
- * @param symbolToPerpStaticInfo map that contains the bytes4-symbol to PerpetualStaticInfo
584
- * @returns symbol string or undefined
585
- */
586
- PerpetualDataHandler.perpetualIdToSymbol = function (id, symbolToPerpStaticInfo) {
587
- var e_1, _a;
588
- var _b;
589
- var symbol;
590
- try {
591
- for (var _c = __values(symbolToPerpStaticInfo.keys()), _d = _c.next(); !_d.done; _d = _c.next()) {
592
- symbol = _d.value;
593
- if (((_b = symbolToPerpStaticInfo.get(symbol)) === null || _b === void 0 ? void 0 : _b.id) == id) {
594
- return symbol;
595
- }
596
- }
597
- }
598
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
599
- finally {
600
- try {
601
- if (_d && !_d.done && (_a = _c.return)) _a.call(_c);
602
- }
603
- finally { if (e_1) throw e_1.error; }
604
- }
605
- return undefined;
606
- };
607
596
  PerpetualDataHandler.symbolToBytes4Symbol = function (symbol) {
608
597
  //split by dashes BTC-USD-MATIC
609
598
  var symbols = symbol.split("-");