@cardano-sdk/input-selection 0.6.0-nightly.6 → 0.6.0-nightly.8

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.
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.roundRobinRandomImprove = void 0;
4
4
  const InputSelectionError_1 = require("../InputSelectionError");
5
5
  const util_1 = require("./util");
6
- const change_1 = require("./change");
7
6
  const core_1 = require("@cardano-sdk/core");
7
+ const change_1 = require("./change");
8
8
  const roundRobin_1 = require("./roundRobin");
9
9
  const roundRobinRandomImprove = ({ random = Math.random } = {}) => ({
10
10
  select: async ({ utxo: utxoSet, outputs: outputSet, constraints: { computeMinimumCost, computeSelectionLimit, computeMinimumCoinQuantity, tokenBundleSizeExceedsLimit }, implicitValue: partialImplicitValue = {} }) => {
@@ -21,7 +21,7 @@ const roundRobinRandomImprove = ({ random = Math.random } = {}) => ({
21
21
  computeMinimumCoinQuantity,
22
22
  estimateTxFee: (utxos, changeValues) => computeMinimumCost({
23
23
  change: new Set(changeValues),
24
- fee: core_1.cslUtil.MAX_U64,
24
+ fee: core_1.cmlUtil.MAX_U64,
25
25
  inputs: new Set(utxos),
26
26
  outputs: outputSet
27
27
  }),
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/RoundRobinRandomImprove/index.ts"],"names":[],"mappings":";;;AAAA,gEAAoF;AAEpF,iCAA6E;AAC7E,qCAAwD;AACxD,4CAA4C;AAC5C,6CAAmD;AAM5C,MAAM,uBAAuB,GAAG,CAAC,EACtC,MAAM,GAAG,IAAI,CAAC,MAAM,KACc,EAAE,EAAiB,EAAE,CAAC,CAAC;IACzD,MAAM,EAAE,KAAK,EAAE,EACb,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,SAAS,EAClB,WAAW,EAAE,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,EACnH,aAAa,EAAE,oBAAoB,GAAG,EAAE,EACf,EAA4B,EAAE;QACvD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,GAAG,IAAA,qBAAc,EAAC,OAAO,EAAE,SAAS,EAAE,oBAAoB,CAAC,CAAC;QAEpH,IAAA,gCAAyB,EAAC,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;QAE1E,MAAM,yBAAyB,GAAG,IAAA,gCAAmB,EAAC;YACpD,aAAa;YACb,OAAO;YACP,MAAM;YACN,gBAAgB;YAChB,IAAI;SACL,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,IAAA,qCAA4B,EAAC;YAChD,0BAA0B;YAC1B,aAAa,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,CACrC,kBAAkB,CAAC;gBACjB,MAAM,EAAE,IAAI,GAAG,CAAC,YAAY,CAAC;gBAC7B,GAAG,EAAE,cAAO,CAAC,OAAO;gBACpB,MAAM,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC;gBACtB,OAAO,EAAE,SAAS;aACnB,CAAC;YACJ,aAAa;YACb,YAAY,EAAE,IAAA,eAAQ,EAAC,OAAO,CAAC;YAC/B,MAAM;YACN,2BAA2B;YAC3B,gBAAgB;YAChB,aAAa,EAAE,yBAAyB;SACzC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEtC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,MAAM,qBAAqB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE;YACjH,MAAM,IAAI,yCAAmB,CAAC,2CAAqB,CAAC,yBAAyB,CAAC,CAAC;SAChF;QAED,OAAO;YACL,aAAa,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC;YAC5C,SAAS,EAAE;gBACT,MAAM;gBACN,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,MAAM;gBACN,OAAO,EAAE,SAAS;aACnB;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAvDU,QAAA,uBAAuB,2BAuDjC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/RoundRobinRandomImprove/index.ts"],"names":[],"mappings":";;;AAAA,gEAAoF;AAEpF,iCAA6E;AAC7E,4CAA4C;AAC5C,qCAAwD;AACxD,6CAAmD;AAM5C,MAAM,uBAAuB,GAAG,CAAC,EACtC,MAAM,GAAG,IAAI,CAAC,MAAM,KACc,EAAE,EAAiB,EAAE,CAAC,CAAC;IACzD,MAAM,EAAE,KAAK,EAAE,EACb,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,SAAS,EAClB,WAAW,EAAE,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,0BAA0B,EAAE,2BAA2B,EAAE,EACnH,aAAa,EAAE,oBAAoB,GAAG,EAAE,EACf,EAA4B,EAAE;QACvD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,GAAG,IAAA,qBAAc,EAAC,OAAO,EAAE,SAAS,EAAE,oBAAoB,CAAC,CAAC;QAEpH,IAAA,gCAAyB,EAAC,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;QAE1E,MAAM,yBAAyB,GAAG,IAAA,gCAAmB,EAAC;YACpD,aAAa;YACb,OAAO;YACP,MAAM;YACN,gBAAgB;YAChB,IAAI;SACL,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,IAAA,qCAA4B,EAAC;YAChD,0BAA0B;YAC1B,aAAa,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE,CACrC,kBAAkB,CAAC;gBACjB,MAAM,EAAE,IAAI,GAAG,CAAC,YAAY,CAAC;gBAC7B,GAAG,EAAE,cAAO,CAAC,OAAO;gBACpB,MAAM,EAAE,IAAI,GAAG,CAAC,KAAK,CAAC;gBACtB,OAAO,EAAE,SAAS;aACnB,CAAC;YACJ,aAAa;YACb,YAAY,EAAE,IAAA,eAAQ,EAAC,OAAO,CAAC;YAC/B,MAAM;YACN,2BAA2B;YAC3B,gBAAgB;YAChB,aAAa,EAAE,yBAAyB;SACzC,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAEtC,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,MAAM,qBAAqB,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE;YACjH,MAAM,IAAI,yCAAmB,CAAC,2CAAqB,CAAC,yBAAyB,CAAC,CAAC;SAChF;QAED,OAAO;YACL,aAAa,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC;YAC5C,SAAS,EAAE;gBACT,MAAM;gBACN,GAAG,EAAE,MAAM,CAAC,GAAG;gBACf,MAAM;gBACN,OAAO,EAAE,SAAS;aACnB;SACF,CAAC;IACJ,CAAC;CACF,CAAC,CAAC;AAvDU,QAAA,uBAAuB,2BAuDjC"}
@@ -1,7 +1,7 @@
1
- import { CSL } from '@cardano-sdk/core';
1
+ import { CML } from '@cardano-sdk/core';
2
2
  import { ComputeMinimumCoinQuantity, ComputeSelectionLimit, EstimateTxFee, ProtocolParametersForInputSelection, SelectionConstraints, SelectionSkeleton, TokenBundleSizeExceedsLimit } from './types';
3
3
  import { ProtocolParametersRequiredByInputSelection } from '.';
4
- export declare type BuildTx = (selection: SelectionSkeleton) => Promise<CSL.Transaction>;
4
+ export declare type BuildTx = (selection: SelectionSkeleton) => Promise<CML.Transaction>;
5
5
  export interface DefaultSelectionConstraintsProps {
6
6
  protocolParameters: ProtocolParametersForInputSelection;
7
7
  buildTx: BuildTx;
@@ -1 +1 @@
1
- {"version":3,"file":"selectionConstraints.d.ts","sourceRoot":"","sources":["../../src/selectionConstraints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAsD,MAAM,mBAAmB,CAAC;AAC5F,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,aAAa,EACb,mCAAmC,EACnC,oBAAoB,EACpB,iBAAiB,EACjB,2BAA2B,EAC5B,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,0CAA0C,EAAE,MAAM,GAAG,CAAC;AAE/D,oBAAY,OAAO,GAAG,CAAC,SAAS,EAAE,iBAAiB,KAAK,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAEjF,MAAM,WAAW,gCAAgC;IAC/C,kBAAkB,EAAE,mCAAmC,CAAC;IACxD,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,eAAO,MAAM,kBAAkB,0CAKxB,KAAK,0CAA0C,EAAE,mBAAmB,GAAG,gBAAgB,CAAC,WAClF,OAAO,KACf,aAYF,CAAC;AAEJ,eAAO,MAAM,0BAA0B,qBAClB,0CAA0C,CAAC,kBAAkB,CAAC,KAAG,0BAOjF,CAAC;AAEN,eAAO,MAAM,2BAA2B,iBACvB,0CAA0C,CAAC,cAAc,CAAC,KAAG,2BAQ3E,CAAC;AAWJ,eAAO,MAAM,qBAAqB,cACpB,0CAA0C,CAAC,WAAW,CAAC,WAAW,OAAO,KAAG,qBAQvF,CAAC;AAEJ,eAAO,MAAM,2BAA2B,sHAGrC,gCAAgC,KAAG,oBAYrC,CAAC"}
1
+ {"version":3,"file":"selectionConstraints.d.ts","sourceRoot":"","sources":["../../src/selectionConstraints.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAsD,MAAM,mBAAmB,CAAC;AAC5F,OAAO,EACL,0BAA0B,EAC1B,qBAAqB,EACrB,aAAa,EACb,mCAAmC,EACnC,oBAAoB,EACpB,iBAAiB,EACjB,2BAA2B,EAC5B,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,0CAA0C,EAAE,MAAM,GAAG,CAAC;AAG/D,oBAAY,OAAO,GAAG,CAAC,SAAS,EAAE,iBAAiB,KAAK,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAEjF,MAAM,WAAW,gCAAgC;IAC/C,kBAAkB,EAAE,mCAAmC,CAAC;IACxD,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,eAAO,MAAM,kBAAkB,0CAKxB,KAAK,0CAA0C,EAAE,mBAAmB,GAAG,gBAAgB,CAAC,WAClF,OAAO,KACf,aAuBF,CAAC;AAEJ,eAAO,MAAM,0BAA0B,qBAClB,0CAA0C,CAAC,kBAAkB,CAAC,KAAG,0BASjF,CAAC;AAEN,eAAO,MAAM,2BAA2B,iBACvB,0CAA0C,CAAC,cAAc,CAAC,KAAG,2BAW3E,CAAC;AAWJ,eAAO,MAAM,qBAAqB,cACpB,0CAA0C,CAAC,WAAW,CAAC,WAAW,OAAO,KAAG,qBAQvF,CAAC;AAEJ,eAAO,MAAM,2BAA2B,sHAGrC,gCAAgC,KAAG,oBAYrC,CAAC"}
@@ -2,20 +2,30 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.defaultSelectionConstraints = exports.computeSelectionLimit = exports.tokenBundleSizeExceedsLimit = exports.computeMinimumCoinQuantity = exports.computeMinimumCost = void 0;
4
4
  const core_1 = require("@cardano-sdk/core");
5
+ const util_1 = require("@cardano-sdk/util");
5
6
  const computeMinimumCost = ({ minFeeCoefficient, minFeeConstant }, buildTx) => async (selection) => {
6
7
  const tx = await buildTx(selection);
7
- return BigInt(core_1.CSL.min_fee(tx, core_1.CSL.LinearFee.new(core_1.CSL.BigNum.from_str(minFeeCoefficient.toString()), core_1.CSL.BigNum.from_str(minFeeConstant.toString()))).to_str());
8
+ return (0, util_1.usingAutoFree)((scope) => {
9
+ const priceMem = scope.manage(core_1.CML.UnitInterval.new(scope.manage(core_1.CML.BigNum.from_str('577')), scope.manage(core_1.CML.BigNum.from_str('10000'))));
10
+ const priceStep = scope.manage(core_1.CML.UnitInterval.new(scope.manage(core_1.CML.BigNum.from_str('721')), scope.manage(core_1.CML.BigNum.from_str('100000000'))));
11
+ const exInitPrices = scope.manage(core_1.CML.ExUnitPrices.new(priceMem, priceStep));
12
+ const linearFee = scope.manage(core_1.CML.LinearFee.new(scope.manage(core_1.CML.BigNum.from_str(minFeeCoefficient.toString())), scope.manage(core_1.CML.BigNum.from_str(minFeeConstant.toString()))));
13
+ const minFee = scope.manage(core_1.CML.min_fee(tx, linearFee, exInitPrices));
14
+ return BigInt(minFee.to_str());
15
+ });
8
16
  };
9
17
  exports.computeMinimumCost = computeMinimumCost;
10
- const computeMinimumCoinQuantity = (coinsPerUtxoByte) => (output) => BigInt(core_1.CSL.min_ada_for_output(core_1.coreToCsl.txOut(output), core_1.CSL.DataCost.new_coins_per_byte(core_1.CSL.BigNum.from_str(coinsPerUtxoByte.toString()))).to_str());
18
+ const computeMinimumCoinQuantity = (coinsPerUtxoByte) => (output) => (0, util_1.usingAutoFree)((scope) => BigInt(core_1.CML.min_ada_required(core_1.coreToCml.txOut(scope, output), scope.manage(core_1.CML.BigNum.from_str(coinsPerUtxoByte.toString()))).to_str()));
11
19
  exports.computeMinimumCoinQuantity = computeMinimumCoinQuantity;
12
20
  const tokenBundleSizeExceedsLimit = (maxValueSize) => (tokenBundle) => {
13
21
  if (!tokenBundle) {
14
22
  return false;
15
23
  }
16
- const value = core_1.CSL.Value.new(core_1.cslUtil.maxBigNum);
17
- value.set_multiasset(core_1.coreToCsl.tokenMap(tokenBundle));
18
- return value.to_bytes().length > maxValueSize;
24
+ return (0, util_1.usingAutoFree)((scope) => {
25
+ const value = scope.manage(core_1.CML.Value.new(core_1.cmlUtil.maxBigNum));
26
+ value.set_multiasset(core_1.coreToCml.tokenMap(scope, tokenBundle));
27
+ return value.to_bytes().length > maxValueSize;
28
+ });
19
29
  };
20
30
  exports.tokenBundleSizeExceedsLimit = tokenBundleSizeExceedsLimit;
21
31
  const getTxSize = (tx) => tx.to_bytes().length;
@@ -1 +1 @@
1
- {"version":3,"file":"selectionConstraints.js","sourceRoot":"","sources":["../../src/selectionConstraints.ts"],"names":[],"mappings":";;;AAAA,4CAA4F;AAmBrF,MAAM,kBAAkB,GAC7B,CACE,EACE,iBAAiB,EACjB,cAAc,EAC2E,EAC3F,OAAgB,EACD,EAAE,CACnB,KAAK,EAAE,SAAS,EAAE,EAAE;IAClB,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;IACpC,OAAO,MAAM,CACX,UAAG,CAAC,OAAO,CACT,EAAE,EACF,UAAG,CAAC,SAAS,CAAC,GAAG,CACf,UAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,EACjD,UAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAC/C,CACF,CAAC,MAAM,EAAE,CACX,CAAC;AACJ,CAAC,CAAC;AAnBS,QAAA,kBAAkB,sBAmB3B;AAEG,MAAM,0BAA0B,GACrC,CAAC,gBAAgF,EAA8B,EAAE,CACjH,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,CACJ,UAAG,CAAC,kBAAkB,CACpB,gBAAS,CAAC,KAAK,CAAC,MAAM,CAAC,EACvB,UAAG,CAAC,QAAQ,CAAC,kBAAkB,CAAC,UAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAClF,CAAC,MAAM,EAAE,CACX,CAAC;AARO,QAAA,0BAA0B,8BAQjC;AAEC,MAAM,2BAA2B,GACtC,CAAC,YAAwE,EAA+B,EAAE,CAC1G,CAAC,WAAW,EAAE,EAAE;IACd,IAAI,CAAC,WAAW,EAAE;QAChB,OAAO,KAAK,CAAC;KACd;IACD,MAAM,KAAK,GAAG,UAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAO,CAAC,SAAS,CAAC,CAAC;IAC/C,KAAK,CAAC,cAAc,CAAC,gBAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC;IACtD,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,GAAG,YAAY,CAAC;AAChD,CAAC,CAAC;AATS,QAAA,2BAA2B,+BASpC;AAEJ,MAAM,SAAS,GAAG,CAAC,EAAmB,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC;AASzD,MAAM,qBAAqB,GAChC,CAAC,SAAkE,EAAE,OAAgB,EAAyB,EAAE,CAChH,KAAK,EAAE,iBAAiB,EAAE,EAAE;IAC1B,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;IAC7B,IAAI,MAAM,IAAI,SAAS,EAAE;QACvB,OAAO,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC;KACtC;IACD,OAAO,iBAAiB,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;AAC3C,CAAC,CAAC;AATS,QAAA,qBAAqB,yBAS9B;AAEG,MAAM,2BAA2B,GAAG,CAAC,EAC1C,kBAAkB,EAAE,EAAE,gBAAgB,EAAE,SAAS,EAAE,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,EACpG,OAAO,EAC0B,EAAwB,EAAE;IAC3D,IAAI,CAAC,gBAAgB,IAAI,CAAC,SAAS,IAAI,CAAC,YAAY,IAAI,CAAC,iBAAiB,IAAI,CAAC,cAAc,EAAE;QAC7F,MAAM,IAAI,qCAA8B,CACtC,8FAA8F,CAC/F,CAAC;KACH;IACD,OAAO;QACL,0BAA0B,EAAE,IAAA,kCAA0B,EAAC,gBAAgB,CAAC;QACxE,kBAAkB,EAAE,IAAA,0BAAkB,EAAC,EAAE,iBAAiB,EAAE,cAAc,EAAE,EAAE,OAAO,CAAC;QACtF,qBAAqB,EAAE,IAAA,6BAAqB,EAAC,SAAS,EAAE,OAAO,CAAC;QAChE,2BAA2B,EAAE,IAAA,mCAA2B,EAAC,YAAY,CAAC;KACvE,CAAC;AACJ,CAAC,CAAC;AAfW,QAAA,2BAA2B,+BAetC"}
1
+ {"version":3,"file":"selectionConstraints.js","sourceRoot":"","sources":["../../src/selectionConstraints.ts"],"names":[],"mappings":";;;AAAA,4CAA4F;AAW5F,4CAAkD;AAS3C,MAAM,kBAAkB,GAC7B,CACE,EACE,iBAAiB,EACjB,cAAc,EAC2E,EAC3F,OAAgB,EACD,EAAE,CACnB,KAAK,EAAE,SAAS,EAAE,EAAE;IAClB,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;IAEpC,OAAO,IAAA,oBAAa,EAAC,CAAC,KAAK,EAAE,EAAE;QAE7B,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAC3B,UAAG,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,UAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,UAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAC3G,CAAC;QACF,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAC5B,UAAG,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,UAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,UAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAC/G,CAAC;QACF,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,UAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC;QAE7E,MAAM,SAAS,GAAG,KAAK,CAAC,MAAM,CAC5B,UAAG,CAAC,SAAS,CAAC,GAAG,CACf,KAAK,CAAC,MAAM,CAAC,UAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,CAAC,EAC/D,KAAK,CAAC,MAAM,CAAC,UAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,CAAC,CAC7D,CACF,CAAC;QACF,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,UAAG,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC;QACtE,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AA9BS,QAAA,kBAAkB,sBA8B3B;AAEG,MAAM,0BAA0B,GACrC,CAAC,gBAAgF,EAA8B,EAAE,CACjH,CAAC,MAAM,EAAE,EAAE,CACT,IAAA,oBAAa,EAAC,CAAC,KAAK,EAAE,EAAE,CACtB,MAAM,CACJ,UAAG,CAAC,gBAAgB,CAClB,gBAAS,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,EAC9B,KAAK,CAAC,MAAM,CAAC,UAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,QAAQ,EAAE,CAAC,CAAC,CAC/D,CAAC,MAAM,EAAE,CACX,CACF,CAAC;AAVO,QAAA,0BAA0B,8BAUjC;AAEC,MAAM,2BAA2B,GACtC,CAAC,YAAwE,EAA+B,EAAE,CAC1G,CAAC,WAAW,EAAE,EAAE;IACd,IAAI,CAAC,WAAW,EAAE;QAChB,OAAO,KAAK,CAAC;KACd;IACD,OAAO,IAAA,oBAAa,EAAC,CAAC,KAAK,EAAE,EAAE;QAC7B,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,UAAG,CAAC,KAAK,CAAC,GAAG,CAAC,cAAO,CAAC,SAAS,CAAC,CAAC,CAAC;QAC7D,KAAK,CAAC,cAAc,CAAC,gBAAS,CAAC,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC;QAE7D,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC,MAAM,GAAG,YAAY,CAAC;IAChD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAZS,QAAA,2BAA2B,+BAYpC;AAEJ,MAAM,SAAS,GAAG,CAAC,EAAmB,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM,CAAC;AASzD,MAAM,qBAAqB,GAChC,CAAC,SAAkE,EAAE,OAAgB,EAAyB,EAAE,CAChH,KAAK,EAAE,iBAAiB,EAAE,EAAE;IAC1B,MAAM,EAAE,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC5C,MAAM,MAAM,GAAG,SAAS,CAAC,EAAE,CAAC,CAAC;IAC7B,IAAI,MAAM,IAAI,SAAS,EAAE;QACvB,OAAO,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC;KACtC;IACD,OAAO,iBAAiB,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC;AAC3C,CAAC,CAAC;AATS,QAAA,qBAAqB,yBAS9B;AAEG,MAAM,2BAA2B,GAAG,CAAC,EAC1C,kBAAkB,EAAE,EAAE,gBAAgB,EAAE,SAAS,EAAE,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,EACpG,OAAO,EAC0B,EAAwB,EAAE;IAC3D,IAAI,CAAC,gBAAgB,IAAI,CAAC,SAAS,IAAI,CAAC,YAAY,IAAI,CAAC,iBAAiB,IAAI,CAAC,cAAc,EAAE;QAC7F,MAAM,IAAI,qCAA8B,CACtC,8FAA8F,CAC/F,CAAC;KACH;IACD,OAAO;QACL,0BAA0B,EAAE,IAAA,kCAA0B,EAAC,gBAAgB,CAAC;QACxE,kBAAkB,EAAE,IAAA,0BAAkB,EAAC,EAAE,iBAAiB,EAAE,cAAc,EAAE,EAAE,OAAO,CAAC;QACtF,qBAAqB,EAAE,IAAA,6BAAqB,EAAC,SAAS,EAAE,OAAO,CAAC;QAChE,2BAA2B,EAAE,IAAA,mCAA2B,EAAC,YAAY,CAAC;KACvE,CAAC;AACJ,CAAC,CAAC;AAfW,QAAA,2BAA2B,+BAetC"}