@bananapus/nana-sdk-core 2.24.4 → 2.25.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.
- package/dist/cjs/jbcenter/publish.d.ts +6 -5
- package/dist/cjs/jbcenter/publish.d.ts.map +1 -1
- package/dist/cjs/jbcenter/publish.js +37 -18
- package/dist/cjs/jbcenter/publish.js.map +1 -1
- package/dist/cjs/jbcenter/rateLimit.d.ts +12 -2
- package/dist/cjs/jbcenter/rateLimit.d.ts.map +1 -1
- package/dist/cjs/jbcenter/rateLimit.js +20 -3
- package/dist/cjs/jbcenter/rateLimit.js.map +1 -1
- package/dist/cjs/jbcenter.d.ts +1 -1
- package/dist/cjs/jbcenter.d.ts.map +1 -1
- package/dist/cjs/jbcenter.js +2 -1
- package/dist/cjs/jbcenter.js.map +1 -1
- package/dist/cjs/review/contractWrite.d.ts +3 -1
- package/dist/cjs/review/contractWrite.d.ts.map +1 -1
- package/dist/cjs/review/contractWrite.js +13 -11
- package/dist/cjs/review/contractWrite.js.map +1 -1
- package/dist/cjs/review/index.d.ts +1 -0
- package/dist/cjs/review/index.d.ts.map +1 -1
- package/dist/cjs/review/index.js +1 -0
- package/dist/cjs/review/index.js.map +1 -1
- package/dist/cjs/review/relayr.d.ts +54 -12
- package/dist/cjs/review/relayr.d.ts.map +1 -1
- package/dist/cjs/review/relayr.js +175 -43
- package/dist/cjs/review/relayr.js.map +1 -1
- package/dist/cjs/review/safeRelayr.d.ts +1 -1
- package/dist/cjs/review/safeRelayr.d.ts.map +1 -1
- package/dist/cjs/review/safeRelayr.js +27 -3
- package/dist/cjs/review/safeRelayr.js.map +1 -1
- package/dist/cjs/review/transaction-message.d.ts +3 -0
- package/dist/cjs/review/transaction-message.d.ts.map +1 -0
- package/dist/cjs/review/transaction-message.js +19 -0
- package/dist/cjs/review/transaction-message.js.map +1 -0
- package/dist/cjs/safeService.d.ts +152 -1
- package/dist/cjs/safeService.d.ts.map +1 -1
- package/dist/cjs/safeService.js +325 -1
- package/dist/cjs/safeService.js.map +1 -1
- package/dist/esm/jbcenter/publish.d.ts +6 -5
- package/dist/esm/jbcenter/publish.d.ts.map +1 -1
- package/dist/esm/jbcenter/publish.js +37 -18
- package/dist/esm/jbcenter/publish.js.map +1 -1
- package/dist/esm/jbcenter/rateLimit.d.ts +12 -2
- package/dist/esm/jbcenter/rateLimit.d.ts.map +1 -1
- package/dist/esm/jbcenter/rateLimit.js +19 -3
- package/dist/esm/jbcenter/rateLimit.js.map +1 -1
- package/dist/esm/jbcenter.d.ts +1 -1
- package/dist/esm/jbcenter.d.ts.map +1 -1
- package/dist/esm/jbcenter.js +1 -1
- package/dist/esm/jbcenter.js.map +1 -1
- package/dist/esm/review/contractWrite.d.ts +3 -1
- package/dist/esm/review/contractWrite.d.ts.map +1 -1
- package/dist/esm/review/contractWrite.js +13 -11
- package/dist/esm/review/contractWrite.js.map +1 -1
- package/dist/esm/review/index.d.ts +1 -0
- package/dist/esm/review/index.d.ts.map +1 -1
- package/dist/esm/review/index.js +1 -0
- package/dist/esm/review/index.js.map +1 -1
- package/dist/esm/review/relayr.d.ts +54 -12
- package/dist/esm/review/relayr.d.ts.map +1 -1
- package/dist/esm/review/relayr.js +170 -42
- package/dist/esm/review/relayr.js.map +1 -1
- package/dist/esm/review/safeRelayr.d.ts +1 -1
- package/dist/esm/review/safeRelayr.d.ts.map +1 -1
- package/dist/esm/review/safeRelayr.js +28 -4
- package/dist/esm/review/safeRelayr.js.map +1 -1
- package/dist/esm/review/transaction-message.d.ts +3 -0
- package/dist/esm/review/transaction-message.d.ts.map +1 -0
- package/dist/esm/review/transaction-message.js +16 -0
- package/dist/esm/review/transaction-message.js.map +1 -0
- package/dist/esm/safeService.d.ts +152 -1
- package/dist/esm/safeService.d.ts.map +1 -1
- package/dist/esm/safeService.js +314 -2
- package/dist/esm/safeService.js.map +1 -1
- package/package.json +1 -1
package/dist/esm/safeService.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { getAddress, hashTypedData, isAddress, isAddressEqual, zeroAddress, } from "viem";
|
|
2
|
-
import { encodeMultiSend, isRecognizedSafeDeployment, MULTI_SEND_CALL_ONLY, } from "./safe.js";
|
|
1
|
+
import { decodeAbiParameters, decodeFunctionData, encodeAbiParameters, TransactionNotFoundError, TransactionReceiptNotFoundError, getAddress, hashTypedData, isAddress, isAddressEqual, zeroAddress, } from "viem";
|
|
2
|
+
import { encodeMultiSend, multiSendCallsOf, readBoundedSafeNonce, isRecognizedSafeDeployment, MULTI_SEND_CALL_ONLY, } from "./safe.js";
|
|
3
3
|
import { pause } from "./pause.js";
|
|
4
4
|
import { isBytes32, isHexBytes, retryAfterMs, uint256 } from "./untrusted.js";
|
|
5
5
|
/**
|
|
@@ -527,6 +527,318 @@ export function requireSafeExecutionSuccess(receipt, safe, hash) {
|
|
|
527
527
|
}
|
|
528
528
|
throw new Error(result.reason);
|
|
529
529
|
}
|
|
530
|
+
/** What a Safe app flow says when it cannot confirm its proposal ran. */
|
|
531
|
+
export const SAFE_PROPOSAL_UNCONFIRMED = "Safe proposal submitted, but confirmation is unavailable. Check Safe before taking another action.";
|
|
532
|
+
/** What a Safe app flow says while its proposal waits for the Safe's other signers. */
|
|
533
|
+
export const SAFE_PROPOSAL_AWAITING = "Proposed to your Safe. Its other signers can approve it there.";
|
|
534
|
+
/**
|
|
535
|
+
* Whether the Safe transaction runs exactly the reviewed calls: one CALL,
|
|
536
|
+
* or, when `batch` permits it, a zero-value MultiSendCallOnly DELEGATECALL
|
|
537
|
+
* running every call in order. Persisted decimal values compare in wei.
|
|
538
|
+
*/
|
|
539
|
+
export function safeTransactionRunsCalls(tx, calls, batch = true) {
|
|
540
|
+
if (calls.length === 1 && tx.operation === 0 && sameCall(calls[0], tx))
|
|
541
|
+
return true;
|
|
542
|
+
if (!batch || tx.value !== 0n)
|
|
543
|
+
return false;
|
|
544
|
+
const inner = multiSendCallsOf(tx);
|
|
545
|
+
return (!!inner &&
|
|
546
|
+
inner.length === calls.length &&
|
|
547
|
+
inner.every((call, index) => sameCall(calls[index], call)));
|
|
548
|
+
}
|
|
549
|
+
/** Whether a transaction calls `safe`'s execTransaction of exactly the reviewed calls. */
|
|
550
|
+
export function safeExecutionRunsCalls(transaction, safe, calls, batch = true) {
|
|
551
|
+
if (!transaction.to ||
|
|
552
|
+
!transaction.input ||
|
|
553
|
+
!isAddressEqual(transaction.to, safe))
|
|
554
|
+
return false;
|
|
555
|
+
let decoded;
|
|
556
|
+
try {
|
|
557
|
+
decoded = decodeFunctionData({
|
|
558
|
+
abi: SAFE_EXEC_ABI,
|
|
559
|
+
data: transaction.input,
|
|
560
|
+
});
|
|
561
|
+
}
|
|
562
|
+
catch {
|
|
563
|
+
return false;
|
|
564
|
+
}
|
|
565
|
+
if (decoded.functionName !== "execTransaction")
|
|
566
|
+
return false;
|
|
567
|
+
const [to, value, data, operation] = decoded.args;
|
|
568
|
+
return safeTransactionRunsCalls({ to, value, data, operation }, calls, batch);
|
|
569
|
+
}
|
|
570
|
+
/**
|
|
571
|
+
* What the execution's receipt proves about the proposal a Safe app returned
|
|
572
|
+
* ({@link safeExecutionResult}). When Safe{Wallet} executed it at once, the
|
|
573
|
+
* reply is the execution's own hash and the SDK takes the Safe's one
|
|
574
|
+
* execution event in that receipt whatever its safeTxHash, so the execution
|
|
575
|
+
* must also be the Safe's execTransaction of exactly the reviewed calls, or
|
|
576
|
+
* the result is unproven.
|
|
577
|
+
*/
|
|
578
|
+
export async function readSafeAppExecution({ client, receipt, safe, proposalHash, calls, batch = true, }) {
|
|
579
|
+
const result = safeExecutionResult(receipt, safe, proposalHash);
|
|
580
|
+
const atOnce = typeof receipt.transactionHash === "string" &&
|
|
581
|
+
receipt.transactionHash.toLowerCase() === proposalHash.toLowerCase();
|
|
582
|
+
if (!atOnce || (result.status !== "success" && result.status !== "failed")) {
|
|
583
|
+
return result;
|
|
584
|
+
}
|
|
585
|
+
const transaction = await client
|
|
586
|
+
.getTransaction({ hash: proposalHash })
|
|
587
|
+
.catch(() => null);
|
|
588
|
+
return transaction && safeExecutionRunsCalls(transaction, safe, calls, batch)
|
|
589
|
+
? result
|
|
590
|
+
: {
|
|
591
|
+
status: "unproven",
|
|
592
|
+
reason: `Transaction ${proposalHash} is not Safe ${safe}'s execution of the reviewed call.`,
|
|
593
|
+
};
|
|
594
|
+
}
|
|
595
|
+
/**
|
|
596
|
+
* Throws unless the execution proves the Safe ran the reviewed proposal and
|
|
597
|
+
* its call succeeded ({@link readSafeAppExecution}): `failure` when the Safe
|
|
598
|
+
* ran it and it failed, and SAFE_PROPOSAL_UNCONFIRMED when it does not show
|
|
599
|
+
* this proposal ran.
|
|
600
|
+
*/
|
|
601
|
+
export async function requireSafeProposalSuccess(execution, failure) {
|
|
602
|
+
const { status } = await readSafeAppExecution(execution);
|
|
603
|
+
if (status === "unproven")
|
|
604
|
+
throw new Error(SAFE_PROPOSAL_UNCONFIRMED);
|
|
605
|
+
if (status !== "success")
|
|
606
|
+
throw new Error(failure);
|
|
607
|
+
}
|
|
608
|
+
/**
|
|
609
|
+
* The calls this app stamps with a field at send time, by selector: the
|
|
610
|
+
* stamp's argument, and whether the contract refuses the call once the chain
|
|
611
|
+
* passes it. Universal Router's `execute` and PositionManager's
|
|
612
|
+
* `modifyLiquidities` check a deadline; the expiration Permit2's `approve`
|
|
613
|
+
* sets only bounds the allowance it grants.
|
|
614
|
+
*/
|
|
615
|
+
const STAMPED_CALLS = {
|
|
616
|
+
// execute(bytes commands, bytes[] inputs, uint256 deadline)
|
|
617
|
+
"0x3593564c": {
|
|
618
|
+
params: [{ type: "bytes" }, { type: "bytes[]" }, { type: "uint256" }],
|
|
619
|
+
stamp: 2,
|
|
620
|
+
reverts: true,
|
|
621
|
+
},
|
|
622
|
+
// modifyLiquidities(bytes unlockData, uint256 deadline)
|
|
623
|
+
"0xdd46508f": {
|
|
624
|
+
params: [{ type: "bytes" }, { type: "uint256" }],
|
|
625
|
+
stamp: 1,
|
|
626
|
+
reverts: true,
|
|
627
|
+
},
|
|
628
|
+
// approve(address token, address spender, uint160 amount, uint48 expiration)
|
|
629
|
+
"0x87517c45": {
|
|
630
|
+
params: [
|
|
631
|
+
{ type: "address" },
|
|
632
|
+
{ type: "address" },
|
|
633
|
+
{ type: "uint160" },
|
|
634
|
+
{ type: "uint48" },
|
|
635
|
+
],
|
|
636
|
+
stamp: 3,
|
|
637
|
+
reverts: false,
|
|
638
|
+
},
|
|
639
|
+
};
|
|
640
|
+
/** A stamped call's shape and arguments, when its data is exactly their ABI encoding. */
|
|
641
|
+
function stampedArgs(call) {
|
|
642
|
+
const shape = STAMPED_CALLS[call.data.slice(0, 10).toLowerCase()];
|
|
643
|
+
if (!shape)
|
|
644
|
+
return null;
|
|
645
|
+
const encoded = `0x${call.data.slice(10)}`;
|
|
646
|
+
try {
|
|
647
|
+
const args = decodeAbiParameters(shape.params, encoded);
|
|
648
|
+
// Any other encoding of the same arguments is held exactly as sent.
|
|
649
|
+
return encodeAbiParameters(shape.params, args).toLowerCase() ===
|
|
650
|
+
encoded.toLowerCase()
|
|
651
|
+
? { shape, args }
|
|
652
|
+
: null;
|
|
653
|
+
}
|
|
654
|
+
catch {
|
|
655
|
+
return null;
|
|
656
|
+
}
|
|
657
|
+
}
|
|
658
|
+
/**
|
|
659
|
+
* The call a Safe proposal of `call` holds: `call` with the field it is
|
|
660
|
+
* stamped with at send time zeroed, so the same action sent again with a later
|
|
661
|
+
* stamp is the action the proposal already holds. Any other call is held
|
|
662
|
+
* exactly as sent.
|
|
663
|
+
*/
|
|
664
|
+
export function heldCall(call) {
|
|
665
|
+
const stamped = stampedArgs(call);
|
|
666
|
+
if (!stamped)
|
|
667
|
+
return call;
|
|
668
|
+
const args = [...stamped.args];
|
|
669
|
+
args[stamped.shape.stamp] = 0n;
|
|
670
|
+
return {
|
|
671
|
+
...call,
|
|
672
|
+
data: `${call.data.slice(0, 10)}${encodeAbiParameters(stamped.shape.params, args).slice(2)}`,
|
|
673
|
+
};
|
|
674
|
+
}
|
|
675
|
+
/** The deadline after which the contract refuses `call`, or null for a call without one. */
|
|
676
|
+
export function stampedDeadline(call) {
|
|
677
|
+
const stamped = stampedArgs(call);
|
|
678
|
+
return stamped?.shape.reverts
|
|
679
|
+
? BigInt(stamped.args[stamped.shape.stamp])
|
|
680
|
+
: null;
|
|
681
|
+
}
|
|
682
|
+
function sameCall(a, b) {
|
|
683
|
+
return (isAddressEqual(a.to, b.to) &&
|
|
684
|
+
BigInt(a.value ?? 0n) === BigInt(b.value ?? 0n) &&
|
|
685
|
+
a.data.toLowerCase() === b.data.toLowerCase());
|
|
686
|
+
}
|
|
687
|
+
/** A Safe app proposal's one call, or null for any other Safe transaction. */
|
|
688
|
+
function proposedCall(tx) {
|
|
689
|
+
// Both callers have authenticated the record through the service reader.
|
|
690
|
+
const { to, data, value } = safeTransactionMessage(tx);
|
|
691
|
+
// A zero-refund CALL, as a Safe app proposes it.
|
|
692
|
+
return safeTransactionMatchesCall(tx, { to, data, value })
|
|
693
|
+
? { to, data, value }
|
|
694
|
+
: null;
|
|
695
|
+
}
|
|
696
|
+
/**
|
|
697
|
+
* A pending proposal of the action `call` makes in `safe`'s queue (its
|
|
698
|
+
* service record, its safeTxHash and the call it runs), read from Safe's
|
|
699
|
+
* service from the Safe's nonce in the latest block, or null: a Safe app
|
|
700
|
+
* never proposes an action that is already queued, whoever queued it,
|
|
701
|
+
* whatever its stamp ({@link heldCall}). A queued call the contract refuses
|
|
702
|
+
* once its deadline passed is passed over when that block is past the
|
|
703
|
+
* deadline: it can no longer run. Throws when the block, the nonce or the
|
|
704
|
+
* queue can't be read.
|
|
705
|
+
*/
|
|
706
|
+
export async function findPendingSafeAppProposal(client, chainId, safe, call, service) {
|
|
707
|
+
// One block's view: its time, and the Safe's nonce in it. A proposal listed
|
|
708
|
+
// from that nonce had not run by that block, so a deadline already past then
|
|
709
|
+
// proves it never will.
|
|
710
|
+
const block = await client.getBlock();
|
|
711
|
+
const nonce = await readBoundedSafeNonce(client, safe, {
|
|
712
|
+
blockNumber: block.number ?? undefined,
|
|
713
|
+
}).catch(() => null);
|
|
714
|
+
if (nonce === null || nonce > BigInt(Number.MAX_SAFE_INTEGER)) {
|
|
715
|
+
throw new Error("Could not read the Safe nonce.");
|
|
716
|
+
}
|
|
717
|
+
const held = heldCall(call);
|
|
718
|
+
const queued = (await listPendingSafeTransactions(chainId, safe, Number(nonce), service)).flatMap((tx) => {
|
|
719
|
+
const proposed = proposedCall(tx);
|
|
720
|
+
return proposed && sameCall(heldCall(proposed), held)
|
|
721
|
+
? [{ tx, call: proposed, deadline: stampedDeadline(proposed) }]
|
|
722
|
+
: [];
|
|
723
|
+
});
|
|
724
|
+
const live = queued.find(({ deadline }) => deadline === null || deadline >= block.timestamp);
|
|
725
|
+
return live
|
|
726
|
+
? {
|
|
727
|
+
tx: live.tx,
|
|
728
|
+
proposalHash: canonicalSafeTxHash(chainId, safe, live.tx),
|
|
729
|
+
call: live.call,
|
|
730
|
+
}
|
|
731
|
+
: null;
|
|
732
|
+
}
|
|
733
|
+
/**
|
|
734
|
+
* One look at `safe`'s proposal `proposalHash`: the latest block, the Safe's
|
|
735
|
+
* nonce in that block, and Safe's authenticated record of the proposal. A read
|
|
736
|
+
* that fails makes the look live.
|
|
737
|
+
*/
|
|
738
|
+
export async function lookAtSafeProposal(client, chainId, safe, proposalHash, service) {
|
|
739
|
+
try {
|
|
740
|
+
const block = await client.getBlock();
|
|
741
|
+
const nonce = await readBoundedSafeNonce(client, safe, {
|
|
742
|
+
blockNumber: block.number ?? undefined,
|
|
743
|
+
});
|
|
744
|
+
const record = await readSafeTransaction(chainId, safe, proposalHash, service);
|
|
745
|
+
if (nonce === null || record.isExecuted)
|
|
746
|
+
return "live";
|
|
747
|
+
if (nonce > safeTransactionMessage(record).nonce)
|
|
748
|
+
return "passed";
|
|
749
|
+
const call = proposedCall(record);
|
|
750
|
+
const deadline = call && stampedDeadline(call);
|
|
751
|
+
return deadline !== null && block.timestamp > deadline ? "expired" : "live";
|
|
752
|
+
}
|
|
753
|
+
catch {
|
|
754
|
+
return "live";
|
|
755
|
+
}
|
|
756
|
+
}
|
|
757
|
+
/** A watch looks at its proposal once a minute, so it reads the Safe's nonce at most that often. */
|
|
758
|
+
const SAFE_LOOK_MS = 60_000;
|
|
759
|
+
/** How long looks in a row must find the Safe past a proposal before it counts as replaced. */
|
|
760
|
+
const SAFE_REPLACED_AFTER_MS = 10 * 60_000;
|
|
761
|
+
/**
|
|
762
|
+
* Watches a proposal awaiting its signers, one {@link lookAtSafeProposal} a
|
|
763
|
+
* minute, until `signal` aborts. It ends `expired` at the first look that
|
|
764
|
+
* finds it expired, and `replaced` once looks in a row have found it passed
|
|
765
|
+
* for ten minutes: one such look proves nothing, since Safe's service may list
|
|
766
|
+
* the proposal's own execution later. Any other look starts that count again.
|
|
767
|
+
*/
|
|
768
|
+
export async function watchSafeProposal(client, chainId, safe, proposalHash, signal, service) {
|
|
769
|
+
let passedSince = null;
|
|
770
|
+
for (;;) {
|
|
771
|
+
await pause(SAFE_LOOK_MS, signal, waitAborted);
|
|
772
|
+
const look = await lookAtSafeProposal(client, chainId, safe, proposalHash, service);
|
|
773
|
+
if (look === "expired")
|
|
774
|
+
return look;
|
|
775
|
+
passedSince = look === "passed" ? (passedSince ?? Date.now()) : null;
|
|
776
|
+
if (passedSince !== null &&
|
|
777
|
+
Date.now() - passedSince >= SAFE_REPLACED_AFTER_MS)
|
|
778
|
+
return "replaced";
|
|
779
|
+
}
|
|
780
|
+
}
|
|
781
|
+
/** Looks at the chain for an execution returned at once, and the pause between them. */
|
|
782
|
+
const AT_ONCE_LOOKS = 5;
|
|
783
|
+
const AT_ONCE_LOOK_MS = 2_000;
|
|
784
|
+
/**
|
|
785
|
+
* The transaction `hash` names on the chain, or null: Safe{Wallet} replies
|
|
786
|
+
* with the execution's own hash when the owner executes at once, and the node
|
|
787
|
+
* may learn it a moment later. It looks up to 5 times, 2 seconds apart (8
|
|
788
|
+
* seconds at most), before the reply counts as a proposal.
|
|
789
|
+
*/
|
|
790
|
+
export async function atOnceExecution(client, hash) {
|
|
791
|
+
for (let look = 1; look <= AT_ONCE_LOOKS; look += 1) {
|
|
792
|
+
try {
|
|
793
|
+
return await client.getTransaction({ hash });
|
|
794
|
+
}
|
|
795
|
+
catch {
|
|
796
|
+
if (look < AT_ONCE_LOOKS) {
|
|
797
|
+
await pause(AT_ONCE_LOOK_MS, undefined, waitAborted);
|
|
798
|
+
}
|
|
799
|
+
}
|
|
800
|
+
}
|
|
801
|
+
return null;
|
|
802
|
+
}
|
|
803
|
+
/**
|
|
804
|
+
* The chain's last word before a proposal ends unproven: what `read` returns,
|
|
805
|
+
* or null when the chain says there is none (viem's transaction or receipt
|
|
806
|
+
* not-found). A node that can't answer says nothing, so it is asked again a
|
|
807
|
+
* minute later, for as long as it takes, with `onRetry` called first. With
|
|
808
|
+
* `exists`, the chain already proved the thing exists (its receipt is in
|
|
809
|
+
* hand), so a not-found only says the node is behind, and is asked again too.
|
|
810
|
+
*/
|
|
811
|
+
export async function chainAnswer(read, { exists = false, onRetry } = {}) {
|
|
812
|
+
for (;;) {
|
|
813
|
+
try {
|
|
814
|
+
return await read();
|
|
815
|
+
}
|
|
816
|
+
catch (error) {
|
|
817
|
+
const notFound = error instanceof TransactionNotFoundError ||
|
|
818
|
+
error instanceof TransactionReceiptNotFoundError;
|
|
819
|
+
if (notFound && !exists)
|
|
820
|
+
return null;
|
|
821
|
+
}
|
|
822
|
+
onRetry?.();
|
|
823
|
+
await pause(SAFE_LOOK_MS, undefined, waitAborted);
|
|
824
|
+
}
|
|
825
|
+
}
|
|
826
|
+
/**
|
|
827
|
+
* The execution Safe's authenticated record names for `safeTxHash` when
|
|
828
|
+
* `error` is its service's report that the proposal ran and failed, or null.
|
|
829
|
+
* Only that execution's receipt decides the proposal, never the report alone.
|
|
830
|
+
*/
|
|
831
|
+
export async function reportedSafeExecution(error, chainId, safe, safeTxHash, service) {
|
|
832
|
+
if (!(error instanceof Error) ||
|
|
833
|
+
!/executed the proposal.*failed/i.test(error.message))
|
|
834
|
+
return null;
|
|
835
|
+
const record = await readSafeTransaction(chainId, safe, safeTxHash, service).catch(() => null);
|
|
836
|
+
const hash = record
|
|
837
|
+
?.transactionHash;
|
|
838
|
+
return typeof hash === "string" && /^0x[0-9a-fA-F]{64}$/u.test(hash)
|
|
839
|
+
? hash
|
|
840
|
+
: null;
|
|
841
|
+
}
|
|
530
842
|
// ── Signatures ───────────────────────────────────────────────────────────────
|
|
531
843
|
/**
|
|
532
844
|
* One confirmation's part of Safe's `signatures` bytes, without 0x:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"safeService.js","sourceRoot":"","sources":["../../src/safeService.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,aAAa,EACb,SAAS,EACT,cAAc,EACd,WAAW,GAGZ,MAAM,MAAM,CAAC;AACd,OAAO,EACL,eAAe,EACf,0BAA0B,EAC1B,oBAAoB,GAErB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE9E;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAoC;IAC1D,CAAC,EAAE,KAAK;IACR,EAAE,EAAE,MAAM;IACV,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,WAAW;IACrB,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,UAAU;CACnB,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAoC;IAClE,CAAC,EAAE,KAAK;IACR,EAAE,EAAE,MAAM;IACV,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,KAAK;IACf,KAAK,EAAE,SAAS;CACjB,CAAC;AAEF;6EAC6E;AAC7E,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CACvB,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,iBAAiB,CAAC,IAAI,MAAM,CAC7B,CAAC;QACnC,IAAI,MAAM,EAAE,CAAC,OAAO,CAAC;YAAE,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACnE,CAAC;IAAC,MAAM,CAAC;QACP,gCAAgC;IAClC,CAAC;IACD,MAAM,MAAM,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC5C,OAAO,MAAM,CAAC,CAAC,CAAC,sCAAsC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACxE,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAC9B,+IAA+I,CAAC;AAElJ;qCACqC;AACrC,MAAM,qBAAqB,GAAG,EAAE,GAAG,EAAE,CAAC;AACtC;;qEAEqE;AACrE,MAAM,0BAA0B,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAErD,uEAAuE;AACvE,MAAM,UAAU,YAAY,CAC1B,MAAe,EACf,QAAgB,IAAI,CAAC,GAAG,EAAE;IAE1B,OAAO,MAAM,CACX,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;QACtB,CAAC,MAAM,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAChE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,IAAa;IACzD,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACpC,OAAO,MAAM;QACX,CAAC,CAAC,mDAAmD,MAAM,IAAI,IAAI,EAAE;QACrE,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,8BAA8B,GAAG,EAAE,CAAC;AAE1C;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAuB;IACtD,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,yBAAyB,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,OAAe;IACtC,OAAO,IAAI,KAAK,CACd,qDAAqD,OAAO,6HAA6H,CAC1L,CAAC;AACJ,CAAC;AAUD;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,iBAAiB,CAC9B,MAA2B,EAC3B,IAAS;IAET,OAAO,MAAM,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CACzC,GAAG,EAAE,CAAC,OAAO,EACb,CAAC,KAAc,EAAE,EAAE,CAChB,KAA+C,EAAE,IAAI;QACtD,0BAA0B;QACxB,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,YAAY,CACnB,CAAC;AACJ,CAAC;AAED,2FAA2F;AAC3F,MAAM,wBAAyB,SAAQ,KAAK;CAAG;AAE/C,oDAAoD;AACpD,SAAS,WAAW;IAClB,OAAO,IAAI,YAAY,CAAC,6BAA6B,EAAE,YAAY,CAAC,CAAC;AACvE,CAAC;AAED;;;;GAIG;AACH,SAAS,SAAS,CAChB,IAAgB,EAChB,MAA+B,EAC/B,OAAsB;IAEtB,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACxC,SAAS,OAAO;YACd,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACpB,CAAC;QACD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,IAAI,MAAM,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QAC9B,IAAI;aACD,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;aAC3D,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,OAAe,EACf,UAAe,EACf,UAII,EAAE;IAEN,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,+BAA+B,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC3B,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM;QAAE,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,iBAAiB,IAAI,KAAK,CAAC;IACpD,MAAM,QAAQ,GACZ,IAAI,IAAI,GAAG,IAAI,iCAAiC,UAAU,GAAG,CAAC;IAChE,IAAI,eAAe,GAAG,CAAC,CAAC;IAExB,SAAS,CAAC;QACR,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO;YAAE,MAAM,WAAW,EAAE,CAAC;QACjD,IAAI,IAAI,GAAG,QAAQ,CAAC;QACpB,MAAM,IAAI,GACR,MAAM;YACN,CAAC,MAAM,SAAS,CACd,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,EACrC,OAAO,CAAC,MAAM,EACd,WAAW,CACZ,CAAC,CAAC;QACL,IAAI,IAAI,KAAK,OAAO;YAAE,OAAO,UAAU,CAAC;QACxC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,uEAAuE;YACvE,yEAAyE;YACzE,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBACpB,eAAe,IAAI,CAAC,CAAC;gBACrB,IAAI,eAAe,IAAI,8BAA8B,EAAE,CAAC;oBACtD,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,YAAY,CACjC,QAAQ,EACR,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAC7B,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,CACpD,CAAC;gBACF,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;oBAChB,eAAe,GAAG,CAAC,CAAC;oBACpB,MAAM,WAAW,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAIzC,CAAC;oBACF,IAAI,WAAW,CAAC,UAAU,IAAI,WAAW,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;wBACjE,MAAM,IAAI,wBAAwB,CAChC,iEAAiE,CAClE,CAAC;oBACJ,CAAC;oBACD,IAAI,WAAW,CAAC,UAAU,IAAI,WAAW,CAAC,eAAe,EAAE,CAAC;wBAC1D,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC;4BAC5C,MAAM,IAAI,wBAAwB,CAChC,uCAAuC,UAAU,8CAA8C,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,uCAAuC,CAC1K,CAAC;wBACJ,CAAC;wBACD,OAAO,WAAW,CAAC,eAAe,CAAC;oBACrC,CAAC;gBACH,CAAC;qBAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBACnC,eAAe,IAAI,CAAC,CAAC;oBACrB,IAAI,eAAe,IAAI,8BAA8B,EAAE,CAAC;wBACtD,MAAM,IAAI,wBAAwB,CAChC,6LAA6L,CAC9L,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBACnC,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;oBAChE,8DAA8D;oBAC9D,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,GAAG,QAAQ;wBAAE,IAAI,GAAG,KAAK,CAAC;gBACvD,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,wBAAwB;oBAAE,MAAM,KAAK,CAAC;gBAC3D,yEAAyE;gBACzE,+DAA+D;YACjE,CAAC;QACH,CAAC;QACD,MAAM,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED,gFAAgF;AAEhF,sEAAsE;AACtE,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,MAAM,EAAE;QACN,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;QAC/B,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;QAClC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;QAC/B,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;QACpC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;QACtC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACpC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;QACrC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;QACrC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE;QAC3C,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;KACnC;CACO,CAAC;AAEX,iFAAiF;AACjF,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,iBAAiB;QACvB,eAAe,EAAE,SAAS;QAC1B,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;YAC/B,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;YAClC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;YAC/B,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;YACpC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YACtC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YACpC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;YACrC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;YACrC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE;YAC3C,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;SACtC;QACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;KAC7C;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,aAAa;QACnB,eAAe,EAAE,YAAY;QAC7B,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACpD,OAAO,EAAE,EAAE;KACZ;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,kBAAkB;QACxB,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;YAClD,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;SACrD;KACF;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,kBAAkB;QACxB,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;YAClD,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;SACrD;KACF;CACO,CAAC;AA6CX,SAAS,YAAY,CAAC,IAAY,EAAE,KAAc;IAChD,OAAO,IAAI,KAAK,CACd,0BAA0B,IAAI,gBAAgB,MAAM,CAAC,KAAK,CAAC,GAAG,CAC/D,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,IAAY,EAAE,KAAc;IAChD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACnD,MAAM,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,KAAc;IAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,MAAM,KAAK,IAAI;QAAE,MAAM,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACrD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,wDAAwD;AACxD,SAAS,OAAO,CAAC,KAAc;IAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAChE,MAAM,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CACpC,EAAyB;IAEzB,IAAI,CAAC,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ;QAAE,MAAM,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;IACvD,IAAI,SAAS,GAAG,EAAE;QAAE,MAAM,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC;IAC7B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,MAAM,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IAC3D,OAAO;QACL,EAAE,EAAE,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;QAC7B,KAAK,EAAE,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC;QACnC,IAAI;QACJ,SAAS,EAAE,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,SAAS,EAAE,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC,SAAS,CAAC;QAC/C,OAAO,EAAE,SAAS,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC;QACzC,QAAQ,EAAE,SAAS,CAAC,UAAU,EAAE,EAAE,CAAC,QAAQ,CAAC;QAC5C,yEAAyE;QACzE,2EAA2E;QAC3E,QAAQ,EACN,EAAE,CAAC,QAAQ,KAAK,IAAI;YAClB,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC,QAAQ,CAAC;QAC3C,cAAc,EACZ,EAAE,CAAC,cAAc,KAAK,IAAI;YACxB,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,YAAY,CAAC,gBAAgB,EAAE,EAAE,CAAC,cAAc,CAAC;QACvD,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;KACjC,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,OAAe;IACrC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,qBAAqB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,WAAW,CAAC,IAAa;IAChC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,IAAa,EACb,EAAyB;IAEzB,OAAO,aAAa,CAAC;QACnB,MAAM,EAAE;YACN,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC;YAChC,iBAAiB,EAAE,WAAW,CAAC,IAAI,CAAC;SACrC;QACD,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,QAAQ;QACrB,OAAO,EAAE,sBAAsB,CAAC,EAAE,CAAC;KACpC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,IAAa,EACb,EAAyB,EACzB,QAAc;IAEd,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAClC,IACE,EAAE,EAAE,IAAI,KAAK,SAAS;QACtB,EAAE,CAAC,IAAI,KAAK,IAAI;QAChB,CAAC,OAAO,EAAE,CAAC,IAAI,KAAK,QAAQ;YAC1B,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC;YACnB,CAAC,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EACpC,CAAC;QACD,MAAM,IAAI,KAAK,CACb,mCAAmC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,OAAO,GAAG,CACtE,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IAC3D,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI;QAC/B,CAAC,YAAY,EAAE,EAAE,CAAC,UAAU,CAAC;QAC7B,CAAC,yBAAyB,EAAE,EAAE,CAAC,uBAAuB,CAAC;KAC/C,EAAE,CAAC;QACX,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI;YAAE,SAAS;QAC9D,IACE,CAAC,SAAS,CAAC,UAAU,CAAC;YACtB,UAAU,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAE,EACnD,CAAC;YACD,MAAM,IAAI,KAAK,CACb,0BAA0B,IAAI,IAAI,MAAM,CAAC,UAAU,CAAC,6CAA6C,QAAQ,GAAG,CAC7G,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CACb,2CAA2C,MAAM,CAAC,QAAQ,CAAC,GAAG,CAC/D,CAAC;IACJ,CAAC;IACD,IACE,QAAQ,KAAK,SAAS;QACtB,QAAQ,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAE,EACjD,CAAC;QACD,MAAM,IAAI,KAAK,CACb,8CAA8C,QAAQ,sBAAsB,QAAQ,GAAG,CACxF,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,gFAAgF;AAEhF,iHAAiH;AACjH,MAAM,uBAAuB,GAC3B,oEAAoE,CAAC;AACvE,MAAM,uBAAuB,GAC3B,oEAAoE,CAAC;AACvE,MAAM,SAAS,GACb,kEAAkE,CAAC;AAyBrE;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,GAG3B;IACC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3D,MAAM,KAAK,GAAG,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3E,IAAI,KAAK,KAAK,uBAAuB,IAAI,KAAK,KAAK,uBAAuB,EAAE,CAAC;QAC3E,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,KAAK,uBAAuB,CAAC;IACjD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC;IAC9D,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3D,OAAO,eAAe,IAAI,QAAQ,CAAC;QACrC,CAAC;QACD,OAAO;YACL,MAAM;YACN,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;YAC/B,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC;SACtB,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,eAAe,IAAI,QAAQ,CAAC;QACvE,OAAO;YACL,MAAM;YACN,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YACzB,OAAO,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;SACvC,CAAC;IACJ,CAAC;IACD,OAAO,eAAe,IAAI,QAAQ,CAAC;AACrC,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAIC,EACD,IAAa,EACb,IAAS;IAET,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IAChD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,kCAAkC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,OAAO,EAAE,MAAM,KAAK,UAAU;QAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAClE,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAuB,EAAE,CAAC,CAAC;QACzD,MAAM,EAAE,UAAU;QAClB,MAAM;KACP,CAAC,CAAC;IACH,IAAI,OAAO,EAAE,MAAM,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAClE,OAAO,QAAQ,CACb,uDAAuD,IAAI,YAAY,IAAI,GAAG,CAC/E,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GACV,OAAO,OAAO,CAAC,eAAe,KAAK,QAAQ;QAC3C,OAAO,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;IAC/D,MAAM,MAAM,GAAyB,EAAE,CAAC;IACxC,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,IAIvB,EAAE,CAAC;QACJ,IACE,OAAO,GAAG,EAAE,OAAO,KAAK,QAAQ;YAChC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,OAAO,EACrC,CAAC;YACD,SAAS;QACX,CAAC;QACD,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,QAAQ,CAAC,QAAQ,IAAI,WAAW,KAAK,GAAG,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,KAAK,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAC7D,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,CAAC,oBAAoB,IAAI,EAAE,CAAC;IAC5E,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,QAAQ,CACb,qEAAqE,IAAI,QAAQ,OAAO,GAAG,CAC5F,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,QAAQ,CACb,QAAQ,IAAI,WAAW,MAAM,CAAC,MAAM,uBAAuB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,OAAO,uCAAuC,CAC7M,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;IACvB,OAAO;QACL,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QAC3C,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC;AACJ,CAAC;AAED,kHAAkH;AAClH,MAAM,UAAU,2BAA2B,CACzC,OAAkD,EAClD,IAAa,EACb,IAAS;IAET,MAAM,MAAM,GAAG,mBAAmB,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACxD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO;IACxC,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,6BAA6B,IAAI,YAAY,IAAI,qCAAqC,CACvF,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACb,QAAQ,IAAI,QAAQ,IAAI,2CAA2C,CACpE,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC;AAED,gFAAgF;AAEhF;;;;;;;;;;;;GAYG;AACH,SAAS,aAAa,CACpB,KAAc,EACd,SAAkB;IAElB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC5D,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;QACtE,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,GAAG,SAAS,IAAI,EAAE,CAAC;IAC3C,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,GAAG,GAAG;QAAE,OAAO,IAAI,CAAC;IAClE,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC/C,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAChC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QACf,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;YACxE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC;IACD,IACE,KAAK,CAAC,MAAM,GAAG,GAAG;QAClB,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI;QAC3B,MAAM,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,GAAG,EAC3C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAC7D,IACE,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;QAC1B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,GAAG;QACjC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EACrC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;AACrD,CAAC;AAED,SAAS,aAAa,CAAC,MAA0B;IAC/C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,wBAAwB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,IAAI,GAAG,CACZ,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACnB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,uBAAuB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;IAC7B,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CACrC,EAAgD,EAChD,MAA0B;IAE1B,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,GAAG,EAA4B,CAAC;IACpD,KAAK,MAAM,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,aAAa,CAAC;QACzD,CAAC,CAAC,EAAE,CAAC,aAAa;QAClB,CAAC,CAAC,EAAE,EAAE,CAAC;QACP,MAAM,KAAK,GAAG,YAAY,EAAE,KAAK,CAAC;QAClC,IACE,OAAO,KAAK,KAAK,QAAQ;YACzB,CAAC,SAAS,CAAC,KAAK,CAAC;YACjB,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YACjC,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,SAAS,CAAC,KAAK,IAAI,EACrD,CAAC;YACD,SAAS;QACX,CAAC;QACD,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,IAAI,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;YACjE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE;gBACf,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC;gBACxB,SAAS,EAAE,YAAY,CAAC,SAAS,IAAI,IAAI;aAC1C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,mDAAmD;IACnD,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAChD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAClD,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CACrC,EAAgD,EAChD,MAA0B;IAE1B,MAAM,KAAK,GAAG,uBAAuB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,CACnD,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;QACzB,KAAK;QACL,IAAI,EAAE,aAAa,CAAC,KAAK,EAAE,SAAS,CAAE;KACvC,CAAC,CACH,CAAC;IACF,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,KAAK,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,KAAK,EAAE,CAAC;QACpC,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACnB,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;YAClB,SAAS;QACX,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QACnD,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC;QACtG,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzF,CAAC;IACD,OAAO,KAAK,IAAI,GAAG,IAAI,EAAE,CAAC;AAC5B,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,iBAAiB,CAC/B,EAAyB,EACzB,MAA0B;IAE1B,MAAM,OAAO,GAAG,sBAAsB,CAAC,EAAE,CAAC,CAAC;IAC3C,OAAO;QACL,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,KAAK;QACb,OAAO,CAAC,IAAI;QACZ,OAAO,CAAC,SAAS;QACjB,OAAO,CAAC,SAAS;QACjB,OAAO,CAAC,OAAO;QACf,OAAO,CAAC,QAAQ;QAChB,OAAO,CAAC,QAAQ;QAChB,OAAO,CAAC,cAAc;QACtB,uBAAuB,CAAC,EAAE,EAAE,MAAM,CAAC;KAC3B,CAAC;AACb,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CAAC,EAAyB;IAChE,OAAO,sBAAsB,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC;AAClD,CAAC;AAED,gFAAgF;AAEhF,mFAAmF;AACnF,MAAM,UAAU,eAAe,CAC7B,IAAgD,EAChD,KAAa;IAEb,MAAM,EAAE,GAA0B;QAChC,EAAE,EAAE,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;QAChC,KAAK,EAAE,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE;QACvD,IAAI,EAAE,IAAI,EAAE,IAAI;QAChB,SAAS,EAAE,CAAC;QACZ,SAAS,EAAE,GAAG;QACd,OAAO,EAAE,GAAG;QACZ,QAAQ,EAAE,GAAG;QACb,QAAQ,EAAE,WAAW;QACrB,cAAc,EAAE,WAAW;QAC3B,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC;QACrB,aAAa,EAAE,EAAE;KAClB,CAAC;IACF,sBAAsB,CAAC,EAAE,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAA4D,EAC5D,KAAa;IAEb,OAAO;QACL,GAAG,eAAe,CAChB,EAAE,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE,EAC1D,KAAK,CACN;QACD,SAAS,EAAE,CAAC;KACb,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CACxC,EAAyB,EACzB,IAAmE;IAEnE,IAAI,OAA+B,CAAC;IACpC,IAAI,CAAC;QACH,OAAO,GAAG,sBAAsB,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CACL,OAAO,IAAI,EAAE,EAAE,KAAK,QAAQ;QAC5B,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QAClB,cAAc,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;QACnC,OAAO,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE;QAC9D,OAAO,CAAC,SAAS,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;QAC3C,OAAO,CAAC,SAAS,KAAK,EAAE;QACxB,OAAO,CAAC,OAAO,KAAK,EAAE;QACtB,OAAO,CAAC,QAAQ,KAAK,EAAE;QACvB,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC;QAC7C,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE,WAAW,CAAC,CACpD,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,YAAoB,EACpB,OAAwD;IAExD,OAAO,OAAO,CAAC,MAAM,CACnB,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EACpD,OAAO,CAAC,YAAY,CAAC,CACtB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAClC,OAAO,EACP,QAAQ,EACR,SAAS,GAMV;IAIC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3E,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,EAAE,CAAC;QACnC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAC5D,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;QACtC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE;QACrB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAC1B,CAAC;AAuBD,sHAAsH;AACtH,MAAM,CAAC,MAAM,8BAA8B,GAAG,MAAM,CAAC;AAErD,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,MAAM,WAAW,GAAG,GAAG,CAAC;AACxB,MAAM,yBAAyB,GAAG,GAAG,CAAC;AAEtC,mGAAmG;AACnG,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,OAAO,eAAe,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;AAC3C,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,kBAAkB,CAChC,OAAe,EACf,IAAa,EACb,UAAe;IAEf,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACzE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,gDAAgD,MAAM,IAAI,OAAO,gBAAgB,OAAO,IAAI,UAAU,EAAE,CAAC;AAClH,CAAC;AAED,SAAS,cAAc,CAAC,OAAe;IACrC,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CACb,qDAAqD,OAAO,GAAG,CAChE,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,4EAA4E;AAC5E,SAAS,cAAc,CAAC,IAAI,GAAG,KAAK;IAClC,MAAM,OAAO,GAA2B,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;IACvE,IAAI,IAAI;QAAE,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;IACvD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,GAAG;YAAE,OAAO,CAAC,aAAa,GAAG,UAAU,GAAG,EAAE,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,uBAAuB;IACzB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,YAAY,CACzB,GAAW,EACX,IAAiB,EACjB,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAsB;IAE/D,MAAM,OAAO,GAAG,MAAM,IAAI,KAAK,CAAC;IAChC,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,EAAE,cAAc,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACzE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,OAAO,IAAI,CAAC,IAAI,gBAAgB,KAAK,KAAK,EAAE,CAAC;YAC1E,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACvD,MAAM,IAAI,GACR,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACxE,2DAA2D;QAC3D,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,GAAG,8BAA8B;YAAE,OAAO,QAAQ,CAAC;QAC5E,MAAM,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,MAAO,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,QAAkB;IAC7C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IACnD,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,yBAAyB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACrE,CAAC;AAED,+EAA+E;AAC/E,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAElC;;;;GAIG;AACH,SAAS,UAAU,CACjB,OAAe,EACf,IAAa,EACb,GAAY;IAEZ,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,GAA4B,CAAC;QACxC,IACE,CAAC,EAAE,EAAE,UAAU,KAAK,SAAS,IAAI,EAAE,CAAC,UAAU,KAAK,IAAI,CAAC;YACxD,CAAC,EAAE,EAAE,uBAAuB,KAAK,SAAS;gBACxC,EAAE,CAAC,uBAAuB,KAAK,IAAI,CAAC,EACtC,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QACD,IACE,EAAE,CAAC,aAAa,KAAK,SAAS;YAC9B,EAAE,CAAC,aAAa,KAAK,IAAI;YACzB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC;gBAC/B,EAAE,CAAC,aAAa,CAAC,MAAM,GAAG,qBAAqB,CAAC,EAClD,CAAC;YACD,MAAM,IAAI,KAAK,CACb,+CAA+C,qBAAqB,GAAG,CACxE,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,mBAAmB,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACpD,OAAO,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;IACrE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,4DAA4D,IAAI,aAAa,OAAO,4BAA6B,KAAe,CAAC,OAAO,EAAE,CAC3I,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,OAAe,EACf,IAAa,EACb,YAAoB,EACpB,UAA8B,EAAE;IAEhC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACxC,MAAM,IAAI,GAA4B,EAAE,CAAC;IACzC,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,WAAW,EAAE,MAAM,IAAI,iBAAiB,EAAE,CAAC;QACvE,MAAM,GAAG,GACP,GAAG,IAAI,iBAAiB,OAAO,yBAAyB;YACxD,qDAAqD,iBAAiB,EAAE;YACxE,WAAW,MAAM,eAAe,SAAS,EAAE,CAAC;QAC9C,IAAI,QAAQ,GAAG,MAAM,YAAY,CAC/B,GAAG,EACH,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAC7B,OAAO,CACR,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5C,uEAAuE;YACvE,+CAA+C;YAC/C,MAAM,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAO,CAAC,MAAM,CAAC,CAAC;YAC/D,QAAQ,GAAG,MAAM,YAAY,CAC3B,GAAG,EACH,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAC7B,OAAO,CACR,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,uCAAuC,QAAQ,CAAC,MAAM,8BAA8B,OAAO,aAAa,OAAO,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,EAAE,CAClJ,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAGlC,CAAC;QACF,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CACb,oEAAoE,OAAO,aAAa,OAAO,GAAG,CACnG,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,iBAAiB,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CACb,uCAAuC,IAAI,CAAC,OAAO,CAAC,MAAM,8BAA8B,iBAAiB,aAAa,OAAO,aAAa,OAAO,GAAG,CACrJ,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3E,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,iBAAiB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC1D,OAAO,IAAI,CAAC,MAAM,CAChB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,KAAK,IAAI,IAAI,GAAG,CAAC,KAAK,IAAI,SAAS,CAC3D,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CACb,QAAQ,OAAO,kBAAkB,WAAW,iCAAiC,OAAO,8DAA8D,CACnJ,CAAC;AACJ,CAAC;AAED,kHAAkH;AAClH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,OAAe,EACf,IAAa,EACb,YAAoB,EACpB,IAAsD,EACtD,UAA8B,EAAE;IAEhC,MAAM,OAAO,GAAG,MAAM,2BAA2B,CAC/C,OAAO,EACP,IAAI,EACJ,YAAY,EACZ,OAAO,CACR,CAAC;IACF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,0BAA0B,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC;AAC5E,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAe,EACf,IAAa,EACb,UAAe,EACf,UAA8B,EAAE;IAEhC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,kCAAkC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC3E,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,YAAY,CACjC,GAAG,IAAI,iCAAiC,UAAU,GAAG,EACrD,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAC7B,OAAO,CACR,CAAC;IACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,uCAAuC,QAAQ,CAAC,MAAM,iBAAiB,UAAU,aAAa,OAAO,mCAAmC,CACzI,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA0B,CAAC;IAChE,IAAI,CAAC;QACH,IAAI,MAAM,EAAE,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QACD,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAC5D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,6BAA6B,UAAU,wBAAwB,OAAO,aAAa,OAAO,KAAM,KAAe,CAAC,OAAO,EAAE,CAC1H,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,GAAW,EACX,IAAa,EACb,IAAY,EACZ,OAA2B;IAE3B,MAAM,QAAQ,GAAG,MAAM,YAAY,CACjC,GAAG,EACH;QACE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC;QAC7B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KAC3B,EACD,OAAO,CACR,CAAC;IACF,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CACb,sCAAsC,IAAI,KAAK,QAAQ,CAAC,MAAM,IAAI,MAAM,aAAa,CAAC,QAAQ,CAAC,EAAE,CAClG,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,SAAkB;IAC1C,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,2BAA2B,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAe,EACf,IAAa,EACb,EAAyB,EACzB,EACE,MAAM,EACN,SAAS,EACT,MAAM,GAC8C,EACtD,UAA8B,EAAE;IAEhC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,sBAAsB,CAAC,EAAE,CAAC,CAAC;IAC3C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,aAAa,CACjB,GAAG,IAAI,iBAAiB,OAAO,yBAAyB,EACxD;QACE,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE;QAC/B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE;QACvC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE;QACnC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE;QACrC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE;QAC/B,uBAAuB,EAAE,UAAU;QACnC,MAAM,EAAE,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC;QACtC,SAAS,EAAE,gBAAgB,CAAC,SAAS,CAAC;QACtC,MAAM;KACP,EACD,gBAAgB,UAAU,aAAa,OAAO,aAAa,OAAO,EAAE,EACpE,OAAO,CACR,CAAC;IACF,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAe,EACf,IAAa,EACb,EAAyB,EACzB,SAAc,EACd,UAA8B,EAAE;IAEhC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAC1D,MAAM,aAAa,CACjB,GAAG,IAAI,iCAAiC,UAAU,iBAAiB,EACnE,EAAE,SAAS,EAAE,gBAAgB,CAAC,SAAS,CAAC,EAAE,EAC1C,uBAAuB,UAAU,aAAa,OAAO,EAAE,EACvD,OAAO,CACR,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,MAAM,eAAe,GAAG,GAAG,CAAC;AAE5B;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,KAAa,EACb,QAA2B,EAC3B,UAA8B,EAAE;IAEhC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC9D,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAC7B,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QACrB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,YAAY,CACjC,GAAG,IAAI,kBAAkB,OAAO,SAAS,EACzC,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAC7B,OAAO,CACR,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,OAAO,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAwB,CAAC;YAC5D,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;gBAC/B,CAAC,CAAC,IAAI,CAAC,KAAK;qBACP,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC;qBACzB,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAChB,OAAO,IAAI,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC;oBACzC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvC,CAAC,CAAC,EAAE,CACP;gBACL,CAAC,CAAC,EAAE,CAAC;QACT,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IACF,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,eAAe,CAAC,OAAe,EAAE,IAAY;IAC3D,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACvE,OAAO,GAAG,IAAI,iBAAiB,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AAC9D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAAgB;IAEhB,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACzD,MAAM,MAAM,GAAG,OAAkC,CAAC;IAClD,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IACpE,IACE,OAAO,cAAc,KAAK,QAAQ;QAClC,OAAO,UAAU,KAAK,QAAQ;QAC9B,CAAC,SAAS,CAAC,cAAc,CAAC;QAC1B,CAAC,SAAS,CAAC,UAAU,CAAC;QACtB,CAAC,UAAU,CAAC,SAAS,CAAC;QACtB,SAAS,CAAC,MAAM,GAAG,EAAE;QACrB,OAAO,SAAS,KAAK,QAAQ;QAC7B,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;QACxB,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI;QAC3B,CAAC,0BAA0B,CAAC,cAAc,EAAE,UAAU,CAAC,EACvD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO;QACL,OAAO,EAAE,UAAU,CAAC,cAAc,CAAC;QACnC,SAAS,EAAE,UAAU,CAAC,UAAU,CAAC;QACjC,WAAW,EAAE,SAAS;QACtB,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC;KAC7B,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAAa,EACb,aAAqB,EACrB,UAA8B,EAAE;IAEhC,MAAM,GAAG,GAAG,eAAe,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IACjD,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,YAAY,CACjC,GAAG,EACH,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAC7B,OAAO,CACR,CAAC;QACF,OAAO,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"safeService.js","sourceRoot":"","sources":["../../src/safeService.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,wBAAwB,EACxB,+BAA+B,EAE/B,UAAU,EACV,aAAa,EACb,SAAS,EACT,cAAc,EACd,WAAW,GAGZ,MAAM,MAAM,CAAC;AACd,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,GAErB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE9E;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAoC;IAC1D,CAAC,EAAE,KAAK;IACR,EAAE,EAAE,MAAM;IACV,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,WAAW;IACrB,KAAK,EAAE,SAAS;IAChB,MAAM,EAAE,UAAU;CACnB,CAAC;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAoC;IAClE,CAAC,EAAE,KAAK;IACR,EAAE,EAAE,MAAM;IACV,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,MAAM;IACb,QAAQ,EAAE,KAAK;IACf,KAAK,EAAE,SAAS;CACjB,CAAC;AAEF;6EAC6E;AAC7E,MAAM,UAAU,eAAe,CAAC,OAAe;IAC7C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CACvB,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,iBAAiB,CAAC,IAAI,MAAM,CAC7B,CAAC;QACnC,IAAI,MAAM,EAAE,CAAC,OAAO,CAAC;YAAE,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACnE,CAAC;IAAC,MAAM,CAAC;QACP,gCAAgC;IAClC,CAAC;IACD,MAAM,MAAM,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC5C,OAAO,MAAM,CAAC,CAAC,CAAC,sCAAsC,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACxE,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAC9B,+IAA+I,CAAC;AAElJ;qCACqC;AACrC,MAAM,qBAAqB,GAAG,EAAE,GAAG,EAAE,CAAC;AACtC;;qEAEqE;AACrE,MAAM,0BAA0B,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAErD,uEAAuE;AACvE,MAAM,UAAU,YAAY,CAC1B,MAAe,EACf,QAAgB,IAAI,CAAC,GAAG,EAAE;IAE1B,OAAO,MAAM,CACX,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;QACtB,CAAC,MAAM,CAAC,CAAC,CAAC,0BAA0B,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAChE,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,OAAe,EAAE,IAAa;IACzD,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACpC,OAAO,MAAM;QACX,CAAC,CAAC,mDAAmD,MAAM,IAAI,IAAI,EAAE;QACrE,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,8BAA8B,GAAG,EAAE,CAAC;AAE1C;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAuB;IACtD,IAAI,CAAC;QACH,OAAO,IAAI,GAAG,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,MAAM,KAAK,yBAAyB,CAAC;IACjE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,OAAe;IACtC,OAAO,IAAI,KAAK,CACd,qDAAqD,OAAO,6HAA6H,CAC1L,CAAC;AACJ,CAAC;AAUD;;;;;;;;;;;GAWG;AACH,KAAK,UAAU,iBAAiB,CAC9B,MAA2B,EAC3B,IAAS;IAET,OAAO,MAAM,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CACzC,GAAG,EAAE,CAAC,OAAO,EACb,CAAC,KAAc,EAAE,EAAE,CAChB,KAA+C,EAAE,IAAI;QACtD,0BAA0B;QACxB,CAAC,CAAC,MAAM;QACR,CAAC,CAAC,YAAY,CACnB,CAAC;AACJ,CAAC;AAED,2FAA2F;AAC3F,MAAM,wBAAyB,SAAQ,KAAK;CAAG;AAE/C,oDAAoD;AACpD,SAAS,WAAW;IAClB,OAAO,IAAI,YAAY,CAAC,6BAA6B,EAAE,YAAY,CAAC,CAAC;AACvE,CAAC;AAED;;;;GAIG;AACH,SAAS,SAAS,CAChB,IAAgB,EAChB,MAA+B,EAC/B,OAAsB;IAEtB,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IACzB,OAAO,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACxC,SAAS,OAAO;YACd,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;QACpB,CAAC;QACD,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1D,IAAI,MAAM,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QAC9B,IAAI;aACD,OAAO,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;aAC3D,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,OAAe,EACf,UAAe,EACf,UAII,EAAE;IAEN,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,+BAA+B,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAC3B,IAAI,CAAC,IAAI,IAAI,CAAC,MAAM;QAAE,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,OAAO,CAAC,iBAAiB,IAAI,KAAK,CAAC;IACpD,MAAM,QAAQ,GACZ,IAAI,IAAI,GAAG,IAAI,iCAAiC,UAAU,GAAG,CAAC;IAChE,IAAI,eAAe,GAAG,CAAC,CAAC;IAExB,SAAS,CAAC;QACR,IAAI,OAAO,CAAC,MAAM,EAAE,OAAO;YAAE,MAAM,WAAW,EAAE,CAAC;QACjD,IAAI,IAAI,GAAG,QAAQ,CAAC;QACpB,MAAM,IAAI,GACR,MAAM;YACN,CAAC,MAAM,SAAS,CACd,iBAAiB,CAAC,MAAM,EAAE,UAAU,CAAC,EACrC,OAAO,CAAC,MAAM,EACd,WAAW,CACZ,CAAC,CAAC;QACL,IAAI,IAAI,KAAK,OAAO;YAAE,OAAO,UAAU,CAAC;QACxC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,uEAAuE;YACvE,yEAAyE;YACzE,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;gBACpB,eAAe,IAAI,CAAC,CAAC;gBACrB,IAAI,eAAe,IAAI,8BAA8B,EAAE,CAAC;oBACtD,MAAM,eAAe,CAAC,OAAO,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,YAAY,CACjC,QAAQ,EACR,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAC7B,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,gBAAgB,EAAE,KAAK,EAAE,CACpD,CAAC;gBACF,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;oBAChB,eAAe,GAAG,CAAC,CAAC;oBACpB,MAAM,WAAW,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAIzC,CAAC;oBACF,IAAI,WAAW,CAAC,UAAU,IAAI,WAAW,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;wBACjE,MAAM,IAAI,wBAAwB,CAChC,iEAAiE,CAClE,CAAC;oBACJ,CAAC;oBACD,IAAI,WAAW,CAAC,UAAU,IAAI,WAAW,CAAC,eAAe,EAAE,CAAC;wBAC1D,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,eAAe,CAAC,EAAE,CAAC;4BAC5C,MAAM,IAAI,wBAAwB,CAChC,uCAAuC,UAAU,8CAA8C,MAAM,CAAC,WAAW,CAAC,eAAe,CAAC,uCAAuC,CAC1K,CAAC;wBACJ,CAAC;wBACD,OAAO,WAAW,CAAC,eAAe,CAAC;oBACrC,CAAC;gBACH,CAAC;qBAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBACnC,eAAe,IAAI,CAAC,CAAC;oBACrB,IAAI,eAAe,IAAI,8BAA8B,EAAE,CAAC;wBACtD,MAAM,IAAI,wBAAwB,CAChC,6LAA6L,CAC9L,CAAC;oBACJ,CAAC;gBACH,CAAC;qBAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;oBACnC,MAAM,KAAK,GAAG,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;oBAChE,8DAA8D;oBAC9D,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,GAAG,QAAQ;wBAAE,IAAI,GAAG,KAAK,CAAC;gBACvD,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,KAAK,YAAY,wBAAwB;oBAAE,MAAM,KAAK,CAAC;gBAC3D,yEAAyE;gBACzE,+DAA+D;YACjE,CAAC;QACH,CAAC;QACD,MAAM,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AAED,gFAAgF;AAEhF,sEAAsE;AACtE,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,MAAM,EAAE;QACN,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;QAC/B,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;QAClC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;QAC/B,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;QACpC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;QACtC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;QACpC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;QACrC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;QACrC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE;QAC3C,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;KACnC;CACO,CAAC;AAEX,iFAAiF;AACjF,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,iBAAiB;QACvB,eAAe,EAAE,SAAS;QAC1B,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;YAC/B,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;YAClC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;YAC/B,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,OAAO,EAAE;YACpC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;YACtC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YACpC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;YACrC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;YACrC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE;YAC3C,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;SACtC;QACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;KAC7C;IACD;QACE,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,aAAa;QACnB,eAAe,EAAE,YAAY;QAC7B,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACpD,OAAO,EAAE,EAAE;KACZ;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,kBAAkB;QACxB,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;YAClD,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;SACrD;KACF;IACD;QACE,IAAI,EAAE,OAAO;QACb,IAAI,EAAE,kBAAkB;QACxB,SAAS,EAAE,KAAK;QAChB,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE;YAClD,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;SACrD;KACF;CACO,CAAC;AA6CX,SAAS,YAAY,CAAC,IAAY,EAAE,KAAc;IAChD,OAAO,IAAI,KAAK,CACd,0BAA0B,IAAI,gBAAgB,MAAM,CAAC,KAAK,CAAC,GAAG,CAC/D,CAAC;AACJ,CAAC;AAED,SAAS,YAAY,CAAC,IAAY,EAAE,KAAc;IAChD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACnD,MAAM,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAClC,CAAC;IACD,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,KAAc;IAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,MAAM,KAAK,IAAI;QAAE,MAAM,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IACrD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,wDAAwD;AACxD,SAAS,OAAO,CAAC,KAAc;IAC7B,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAC9B,IAAI,MAAM,KAAK,IAAI,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAChE,MAAM,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;AACxB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CACpC,EAAyB;IAEzB,IAAI,CAAC,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ;QAAE,MAAM,YAAY,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACpE,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;IACvD,IAAI,SAAS,GAAG,EAAE;QAAE,MAAM,YAAY,CAAC,WAAW,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC;IAClE,MAAM,IAAI,GAAG,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC;IAC7B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,MAAM,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IAC3D,OAAO;QACL,EAAE,EAAE,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;QAC7B,KAAK,EAAE,SAAS,CAAC,OAAO,EAAE,EAAE,CAAC,KAAK,CAAC;QACnC,IAAI;QACJ,SAAS,EAAE,SAAS,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACnC,SAAS,EAAE,SAAS,CAAC,WAAW,EAAE,EAAE,CAAC,SAAS,CAAC;QAC/C,OAAO,EAAE,SAAS,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC;QACzC,QAAQ,EAAE,SAAS,CAAC,UAAU,EAAE,EAAE,CAAC,QAAQ,CAAC;QAC5C,yEAAyE;QACzE,2EAA2E;QAC3E,QAAQ,EACN,EAAE,CAAC,QAAQ,KAAK,IAAI;YAClB,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,YAAY,CAAC,UAAU,EAAE,EAAE,CAAC,QAAQ,CAAC;QAC3C,cAAc,EACZ,EAAE,CAAC,cAAc,KAAK,IAAI;YACxB,CAAC,CAAC,WAAW;YACb,CAAC,CAAC,YAAY,CAAC,gBAAgB,EAAE,EAAE,CAAC,cAAc,CAAC;QACvD,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;KACjC,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,OAAe;IACrC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CAAC,qBAAqB,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3D,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,WAAW,CAAC,IAAa;IAChC,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC5D,CAAC;IACD,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;AAED,0EAA0E;AAC1E,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,IAAa,EACb,EAAyB;IAEzB,OAAO,aAAa,CAAC;QACnB,MAAM,EAAE;YACN,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC;YAChC,iBAAiB,EAAE,WAAW,CAAC,IAAI,CAAC;SACrC;QACD,KAAK,EAAE,aAAa;QACpB,WAAW,EAAE,QAAQ;QACrB,OAAO,EAAE,sBAAsB,CAAC,EAAE,CAAC;KACpC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAe,EACf,IAAa,EACb,EAAyB,EACzB,QAAc;IAEd,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAClC,IACE,EAAE,EAAE,IAAI,KAAK,SAAS;QACtB,EAAE,CAAC,IAAI,KAAK,IAAI;QAChB,CAAC,OAAO,EAAE,CAAC,IAAI,KAAK,QAAQ;YAC1B,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC;YACnB,CAAC,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,EACpC,CAAC;QACD,MAAM,IAAI,KAAK,CACb,mCAAmC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,OAAO,GAAG,CACtE,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IAC3D,KAAK,MAAM,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI;QAC/B,CAAC,YAAY,EAAE,EAAE,CAAC,UAAU,CAAC;QAC7B,CAAC,yBAAyB,EAAE,EAAE,CAAC,uBAAuB,CAAC;KAC/C,EAAE,CAAC;QACX,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI;YAAE,SAAS;QAC9D,IACE,CAAC,SAAS,CAAC,UAAU,CAAC;YACtB,UAAU,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAE,EACnD,CAAC;YACD,MAAM,IAAI,KAAK,CACb,0BAA0B,IAAI,IAAI,MAAM,CAAC,UAAU,CAAC,6CAA6C,QAAQ,GAAG,CAC7G,CAAC;QACJ,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CACb,2CAA2C,MAAM,CAAC,QAAQ,CAAC,GAAG,CAC/D,CAAC;IACJ,CAAC;IACD,IACE,QAAQ,KAAK,SAAS;QACtB,QAAQ,CAAC,WAAW,EAAE,KAAK,QAAQ,CAAC,WAAW,EAAE,EACjD,CAAC;QACD,MAAM,IAAI,KAAK,CACb,8CAA8C,QAAQ,sBAAsB,QAAQ,GAAG,CACxF,CAAC;IACJ,CAAC;IACD,OAAO,QAAQ,CAAC;AAClB,CAAC;AAED,gFAAgF;AAEhF,iHAAiH;AACjH,MAAM,uBAAuB,GAC3B,oEAAoE,CAAC;AACvE,MAAM,uBAAuB,GAC3B,oEAAoE,CAAC;AACvE,MAAM,SAAS,GACb,kEAAkE,CAAC;AAyBrE;;;;GAIG;AACH,SAAS,kBAAkB,CAAC,GAG3B;IACC,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3D,MAAM,KAAK,GAAG,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC3E,IAAI,KAAK,KAAK,uBAAuB,IAAI,KAAK,KAAK,uBAAuB,EAAE,CAAC;QAC3E,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,MAAM,GAAG,KAAK,KAAK,uBAAuB,CAAC;IACjD,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC;IAC9D,MAAM,IAAI,GAAG,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACxE,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3D,OAAO,eAAe,IAAI,QAAQ,CAAC;QACrC,CAAC;QACD,OAAO;YACL,MAAM;YACN,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE;YAC/B,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC;SACtB,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO,eAAe,IAAI,QAAQ,CAAC;QACvE,OAAO;YACL,MAAM;YACN,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;YACzB,OAAO,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC;SACvC,CAAC;IACJ,CAAC;IACD,OAAO,eAAe,IAAI,QAAQ,CAAC;AACrC,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAIC,EACD,IAAa,EACb,IAAS;IAET,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,CAAC;IAChD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,kCAAkC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrE,CAAC;IACD,IAAI,OAAO,EAAE,MAAM,KAAK,UAAU;QAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;IAClE,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAuB,EAAE,CAAC,CAAC;QACzD,MAAM,EAAE,UAAU;QAClB,MAAM;KACP,CAAC,CAAC;IACH,IAAI,OAAO,EAAE,MAAM,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QAClE,OAAO,QAAQ,CACb,uDAAuD,IAAI,YAAY,IAAI,GAAG,CAC/E,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GACV,OAAO,OAAO,CAAC,eAAe,KAAK,QAAQ;QAC3C,OAAO,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC;IAC/D,MAAM,MAAM,GAAyB,EAAE,CAAC;IACxC,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,IAIvB,EAAE,CAAC;QACJ,IACE,OAAO,GAAG,EAAE,OAAO,KAAK,QAAQ;YAChC,GAAG,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,OAAO,EACrC,CAAC;YACD,SAAS;QACX,CAAC;QACD,MAAM,KAAK,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;QACtC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,OAAO,QAAQ,CAAC,QAAQ,IAAI,WAAW,KAAK,GAAG,CAAC,CAAC;QACnD,CAAC;QACD,IAAI,KAAK,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;YAC7D,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,CAAC,oBAAoB,IAAI,EAAE,CAAC;IAC5E,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,QAAQ,CACb,qEAAqE,IAAI,QAAQ,OAAO,GAAG,CAC5F,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,OAAO,QAAQ,CACb,QAAQ,IAAI,WAAW,MAAM,CAAC,MAAM,uBAAuB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,OAAO,uCAAuC,CAC7M,CAAC;IACJ,CAAC;IACD,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;IACvB,OAAO;QACL,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;QAC3C,OAAO,EAAE,KAAK,CAAC,OAAO;KACvB,CAAC;AACJ,CAAC;AAED,kHAAkH;AAClH,MAAM,UAAU,2BAA2B,CACzC,OAAkD,EAClD,IAAa,EACb,IAAS;IAET,MAAM,MAAM,GAAG,mBAAmB,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;IACxD,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;QAAE,OAAO;IACxC,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CACb,6BAA6B,IAAI,YAAY,IAAI,qCAAqC,CACvF,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACb,QAAQ,IAAI,QAAQ,IAAI,2CAA2C,CACpE,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC;AAED,yEAAyE;AACzE,MAAM,CAAC,MAAM,yBAAyB,GACpC,oGAAoG,CAAC;AAEvG,uFAAuF;AACvF,MAAM,CAAC,MAAM,sBAAsB,GACjC,gEAAgE,CAAC;AA2BnE;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CACtC,EAAgE,EAChE,KAAkC,EAClC,KAAK,GAAG,IAAI;IAEZ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,SAAS,KAAK,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACpE,OAAO,IAAI,CAAC;IACd,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,KAAK,EAAE;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,KAAK,GAAG,gBAAgB,CAAC,EAAE,CAAC,CAAC;IACnC,OAAO,CACL,CAAC,CAAC,KAAK;QACP,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QAC7B,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,CAC3D,CAAC;AACJ,CAAC;AAED,0FAA0F;AAC1F,MAAM,UAAU,sBAAsB,CACpC,WAAiD,EACjD,IAAa,EACb,KAAkC,EAClC,KAAK,GAAG,IAAI;IAEZ,IACE,CAAC,WAAW,CAAC,EAAE;QACf,CAAC,WAAW,CAAC,KAAK;QAClB,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,CAAC;QAErC,OAAO,KAAK,CAAC;IACf,IAAI,OAAoE,CAAC;IACzE,IAAI,CAAC;QACH,OAAO,GAAG,kBAAkB,CAAC;YAC3B,GAAG,EAAE,aAAa;YAClB,IAAI,EAAE,WAAW,CAAC,KAAK;SACxB,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,OAAO,CAAC,YAAY,KAAK,iBAAiB;QAAE,OAAO,KAAK,CAAC;IAC7D,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAClD,OAAO,wBAAwB,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAChF,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,EACzC,MAAM,EACN,OAAO,EACP,IAAI,EACJ,YAAY,EACZ,KAAK,EACL,KAAK,GAAG,IAAI,GACK;IACjB,MAAM,MAAM,GAAG,mBAAmB,CAAC,OAAO,EAAE,IAAI,EAAE,YAAY,CAAC,CAAC;IAChE,MAAM,MAAM,GACV,OAAO,OAAO,CAAC,eAAe,KAAK,QAAQ;QAC3C,OAAO,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,YAAY,CAAC,WAAW,EAAE,CAAC;IACvE,IAAI,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,EAAE,CAAC;QAC3E,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,MAAM;SAC7B,cAAc,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;SACtC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACrB,OAAO,WAAW,IAAI,sBAAsB,CAAC,WAAW,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC;QAC3E,CAAC,CAAC,MAAM;QACR,CAAC,CAAC;YACE,MAAM,EAAE,UAAU;YAClB,MAAM,EAAE,eAAe,YAAY,gBAAgB,IAAI,oCAAoC;SAC5F,CAAC;AACR,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,SAA2B,EAC3B,OAAe;IAEf,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACzD,IAAI,MAAM,KAAK,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IACtE,IAAI,MAAM,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC;AACrD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,aAAa,GAGf;IACF,4DAA4D;IAC5D,YAAY,EAAE;QACZ,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACrE,KAAK,EAAE,CAAC;QACR,OAAO,EAAE,IAAI;KACd;IACD,wDAAwD;IACxD,YAAY,EAAE;QACZ,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAChD,KAAK,EAAE,CAAC;QACR,OAAO,EAAE,IAAI;KACd;IACD,6EAA6E;IAC7E,YAAY,EAAE;QACZ,MAAM,EAAE;YACN,EAAE,IAAI,EAAE,SAAS,EAAE;YACnB,EAAE,IAAI,EAAE,SAAS,EAAE;YACnB,EAAE,IAAI,EAAE,SAAS,EAAE;YACnB,EAAE,IAAI,EAAE,QAAQ,EAAE;SACnB;QACD,KAAK,EAAE,CAAC;QACR,OAAO,EAAE,KAAK;KACf;CACF,CAAC;AAEF,yFAAyF;AACzF,SAAS,WAAW,CAAC,IAAiB;IACpC,MAAM,KAAK,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAClE,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,OAAO,GAAG,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,EAAS,CAAC;IAClD,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,mBAAmB,CAC9B,KAAK,CAAC,MAAM,EACZ,OAAO,CACc,CAAC;QACxB,oEAAoE;QACpE,OAAO,mBAAmB,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,WAAW,EAAE;YAC1D,OAAO,CAAC,WAAW,EAAE;YACrB,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE;YACjB,CAAC,CAAC,IAAI,CAAC;IACX,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,QAAQ,CAAC,IAAiB;IACxC,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,MAAM,IAAI,GAAG,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;IAC/B,OAAO;QACL,GAAG,IAAI;QACP,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,mBAAmB,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAS;KACpG,CAAC;AACJ,CAAC;AAED,4FAA4F;AAC5F,MAAM,UAAU,eAAe,CAAC,IAAiB;IAC/C,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAClC,OAAO,OAAO,EAAE,KAAK,CAAC,OAAO;QAC3B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAW,CAAC;QACrD,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,SAAS,QAAQ,CAAC,CAAmB,EAAE,CAAmB;IACxD,OAAO,CACL,cAAc,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC;QAC1B,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC/C,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAC9C,CAAC;AACJ,CAAC;AAED,8EAA8E;AAC9E,SAAS,YAAY,CAAC,EAAyB;IAC7C,yEAAyE;IACzE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,sBAAsB,CAAC,EAAE,CAAC,CAAC;IACvD,iDAAiD;IACjD,OAAO,0BAA0B,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;QACxD,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE;QACrB,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAOD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,MAAuB,EACvB,OAAe,EACf,IAAa,EACb,IAAiB,EACjB,OAA4B;IAM5B,4EAA4E;IAC5E,6EAA6E;IAC7E,wBAAwB;IACxB,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;IACtC,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,IAAI,EAAE;QACrD,WAAW,EAAE,KAAK,CAAC,MAAM,IAAI,SAAS;KACvC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACrB,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IACD,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5B,MAAM,MAAM,GAAG,CACb,MAAM,2BAA2B,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,CACzE,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE;QACf,MAAM,QAAQ,GAAG,YAAY,CAAC,EAAE,CAAC,CAAC;QAClC,OAAO,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC;YACnD,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,eAAe,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC/D,CAAC,CAAC,EAAE,CAAC;IACT,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CACtB,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,KAAK,IAAI,IAAI,QAAQ,IAAI,KAAK,CAAC,SAAS,CACnE,CAAC;IACF,OAAO,IAAI;QACT,CAAC,CAAC;YACE,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,YAAY,EAAE,mBAAmB,CAAC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;YACzD,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB;QACH,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAeD;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAuB,EACvB,OAAe,EACf,IAAa,EACb,YAAiB,EACjB,OAA4B;IAE5B,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,MAAM,EAAE,IAAI,EAAE;YACrD,WAAW,EAAE,KAAK,CAAC,MAAM,IAAI,SAAS;SACvC,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,mBAAmB,CACtC,OAAO,EACP,IAAI,EACJ,YAAY,EACZ,OAAO,CACR,CAAC;QACF,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,CAAC,UAAU;YAAE,OAAO,MAAM,CAAC;QACvD,IAAI,KAAK,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC,KAAK;YAAE,OAAO,QAAQ,CAAC;QAClE,MAAM,IAAI,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QAClC,MAAM,QAAQ,GAAG,IAAI,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;QAC/C,OAAO,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;IAC9E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,MAAM,CAAC;IAChB,CAAC;AACH,CAAC;AAED,oGAAoG;AACpG,MAAM,YAAY,GAAG,MAAM,CAAC;AAC5B,+FAA+F;AAC/F,MAAM,sBAAsB,GAAG,EAAE,GAAG,MAAM,CAAC;AAE3C;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,MAAuB,EACvB,OAAe,EACf,IAAa,EACb,YAAiB,EACjB,MAAmB,EACnB,OAA4B;IAE5B,IAAI,WAAW,GAAkB,IAAI,CAAC;IACtC,SAAS,CAAC;QACR,MAAM,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;QAC/C,MAAM,IAAI,GAAG,MAAM,kBAAkB,CACnC,MAAM,EACN,OAAO,EACP,IAAI,EACJ,YAAY,EACZ,OAAO,CACR,CAAC;QACF,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,IAAI,CAAC;QACpC,WAAW,GAAG,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACrE,IACE,WAAW,KAAK,IAAI;YACpB,IAAI,CAAC,GAAG,EAAE,GAAG,WAAW,IAAI,sBAAsB;YAElD,OAAO,UAAU,CAAC;IACtB,CAAC;AACH,CAAC;AAED,wFAAwF;AACxF,MAAM,aAAa,GAAG,CAAC,CAAC;AACxB,MAAM,eAAe,GAAG,KAAK,CAAC;AAE9B;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,MAA2D,EAC3D,IAAS;IAET,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,aAAa,EAAE,IAAI,IAAI,CAAC,EAAE,CAAC;QACpD,IAAI,CAAC;YACH,OAAO,MAAM,MAAM,CAAC,cAAc,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/C,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,IAAI,GAAG,aAAa,EAAE,CAAC;gBACzB,MAAM,KAAK,CAAC,eAAe,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,IAAsB,EACtB,EAAE,MAAM,GAAG,KAAK,EAAE,OAAO,KAAiD,EAAE;IAE5E,SAAS,CAAC;QACR,IAAI,CAAC;YACH,OAAO,MAAM,IAAI,EAAE,CAAC;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GACZ,KAAK,YAAY,wBAAwB;gBACzC,KAAK,YAAY,+BAA+B,CAAC;YACnD,IAAI,QAAQ,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAC;QACvC,CAAC;QACD,OAAO,EAAE,EAAE,CAAC;QACZ,MAAM,KAAK,CAAC,YAAY,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IACpD,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,KAAc,EACd,OAAe,EACf,IAAa,EACb,UAAe,EACf,OAA4B;IAE5B,IACE,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC;QACzB,CAAC,gCAAgC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAErD,OAAO,IAAI,CAAC;IACd,MAAM,MAAM,GAAG,MAAM,mBAAmB,CACtC,OAAO,EACP,IAAI,EACJ,UAAU,EACV,OAAO,CACR,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACpB,MAAM,IAAI,GAAI,MAA+C;QAC3D,EAAE,eAAe,CAAC;IACpB,OAAO,OAAO,IAAI,KAAK,QAAQ,IAAI,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC;QAClE,CAAC,CAAE,IAAY;QACf,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,gFAAgF;AAEhF;;;;;;;;;;;;GAYG;AACH,SAAS,aAAa,CACpB,KAAc,EACd,SAAkB;IAElB,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC5D,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,EAAE,EAAE,CAAC;QACtE,OAAO,EAAE,IAAI,EAAE,GAAG,IAAI,GAAG,SAAS,IAAI,EAAE,CAAC;IAC3C,CAAC;IACD,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,GAAG,GAAG;QAAE,OAAO,IAAI,CAAC;IAClE,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;IAC/C,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAChC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QACf,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;YACxE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC;IACD,IACE,KAAK,CAAC,MAAM,GAAG,GAAG;QAClB,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,IAAI;QAC3B,MAAM,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,EAAE,CAAC,KAAK,GAAG,EAC3C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;IAC7D,IACE,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;QAC1B,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,GAAG;QACjC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EACrC,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;AACrD,CAAC;AAED,SAAS,aAAa,CAAC,MAA0B;IAC/C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,wBAAwB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,IAAI,GAAG,CACZ,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACnB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,uBAAuB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC3D,CAAC;QACD,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;IAC7B,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,uBAAuB,CACrC,EAAgD,EAChD,MAA0B;IAE1B,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACtC,MAAM,OAAO,GAAG,IAAI,GAAG,EAA4B,CAAC;IACpD,KAAK,MAAM,YAAY,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,aAAa,CAAC;QACzD,CAAC,CAAC,EAAE,CAAC,aAAa;QAClB,CAAC,CAAC,EAAE,EAAE,CAAC;QACP,MAAM,KAAK,GAAG,YAAY,EAAE,KAAK,CAAC;QAClC,IACE,OAAO,KAAK,KAAK,QAAQ;YACzB,CAAC,SAAS,CAAC,KAAK,CAAC;YACjB,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YACjC,aAAa,CAAC,KAAK,EAAE,YAAY,CAAC,SAAS,CAAC,KAAK,IAAI,EACrD,CAAC;YACD,SAAS;QACX,CAAC;QACD,MAAM,GAAG,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;QAChC,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,IAAI,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC;YACjE,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE;gBACf,KAAK,EAAE,UAAU,CAAC,KAAK,CAAC;gBACxB,SAAS,EAAE,YAAY,CAAC,SAAS,IAAI,IAAI;aAC1C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IACD,mDAAmD;IACnD,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAChD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAClD,CAAC;AACJ,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CACrC,EAAgD,EAChD,MAA0B;IAE1B,MAAM,KAAK,GAAG,uBAAuB,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC,GAAG,CACnD,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;QACzB,KAAK;QACL,IAAI,EAAE,aAAa,CAAC,KAAK,EAAE,SAAS,CAAE;KACvC,CAAC,CACH,CAAC;IACF,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,KAAK,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,KAAK,EAAE,CAAC;QACpC,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACnB,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;YAClB,SAAS;QACX,CAAC;QACD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QACnD,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC;QACtG,IAAI,IAAI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IACzF,CAAC;IACD,OAAO,KAAK,IAAI,GAAG,IAAI,EAAE,CAAC;AAC5B,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,iBAAiB,CAC/B,EAAyB,EACzB,MAA0B;IAE1B,MAAM,OAAO,GAAG,sBAAsB,CAAC,EAAE,CAAC,CAAC;IAC3C,OAAO;QACL,OAAO,CAAC,EAAE;QACV,OAAO,CAAC,KAAK;QACb,OAAO,CAAC,IAAI;QACZ,OAAO,CAAC,SAAS;QACjB,OAAO,CAAC,SAAS;QACjB,OAAO,CAAC,OAAO;QACf,OAAO,CAAC,QAAQ;QAChB,OAAO,CAAC,QAAQ;QAChB,OAAO,CAAC,cAAc;QACtB,uBAAuB,CAAC,EAAE,EAAE,MAAM,CAAC;KAC3B,CAAC;AACb,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CAAC,EAAyB;IAChE,OAAO,sBAAsB,CAAC,EAAE,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC;AAClD,CAAC;AAED,gFAAgF;AAEhF,mFAAmF;AACnF,MAAM,UAAU,eAAe,CAC7B,IAAgD,EAChD,KAAa;IAEb,MAAM,EAAE,GAA0B;QAChC,EAAE,EAAE,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC;QAChC,KAAK,EAAE,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE;QACvD,IAAI,EAAE,IAAI,EAAE,IAAI;QAChB,SAAS,EAAE,CAAC;QACZ,SAAS,EAAE,GAAG;QACd,OAAO,EAAE,GAAG;QACZ,QAAQ,EAAE,GAAG;QACb,QAAQ,EAAE,WAAW;QACrB,cAAc,EAAE,WAAW;QAC3B,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC;QACrB,aAAa,EAAE,EAAE;KAClB,CAAC;IACF,sBAAsB,CAAC,EAAE,CAAC,CAAC;IAC3B,OAAO,EAAE,CAAC;AACZ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAClC,KAA4D,EAC5D,KAAa;IAEb,OAAO;QACL,GAAG,eAAe,CAChB,EAAE,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE,EAC1D,KAAK,CACN;QACD,SAAS,EAAE,CAAC;KACb,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CACxC,EAAyB,EACzB,IAAmE;IAEnE,IAAI,OAA+B,CAAC;IACpC,IAAI,CAAC;QACH,OAAO,GAAG,sBAAsB,CAAC,EAAE,CAAC,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,CACL,OAAO,IAAI,EAAE,EAAE,KAAK,QAAQ;QAC5B,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;QAClB,cAAc,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC;QACnC,OAAO,CAAC,KAAK,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;QACpC,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE;QAC9D,OAAO,CAAC,SAAS,KAAK,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC;QAC3C,OAAO,CAAC,SAAS,KAAK,EAAE;QACxB,OAAO,CAAC,OAAO,KAAK,EAAE;QACtB,OAAO,CAAC,QAAQ,KAAK,EAAE;QACvB,cAAc,CAAC,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC;QAC7C,cAAc,CAAC,OAAO,CAAC,cAAc,EAAE,WAAW,CAAC,CACpD,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAC/B,YAAoB,EACpB,OAAwD;IAExD,OAAO,OAAO,CAAC,MAAM,CACnB,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,EACpD,OAAO,CAAC,YAAY,CAAC,CACtB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CAAC,EAClC,OAAO,EACP,QAAQ,EACR,SAAS,GAMV;IAIC,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAC3E,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,SAAS,EAAE,CAAC;QACnC,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC;IAC5D,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,MAAM;QACtC,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE;QACrB,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;AAC1B,CAAC;AAuBD,sHAAsH;AACtH,MAAM,CAAC,MAAM,8BAA8B,GAAG,MAAM,CAAC;AAErD,MAAM,iBAAiB,GAAG,EAAE,CAAC;AAC7B,MAAM,WAAW,GAAG,GAAG,CAAC;AACxB,MAAM,yBAAyB,GAAG,GAAG,CAAC;AAEtC,mGAAmG;AACnG,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,OAAO,eAAe,CAAC,OAAO,CAAC,KAAK,IAAI,CAAC;AAC3C,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,kBAAkB,CAChC,OAAe,EACf,IAAa,EACb,UAAe;IAEf,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACpC,IAAI,CAAC,MAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACzE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC;QAAE,OAAO,IAAI,CAAC;IACxC,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;IACjC,OAAO,gDAAgD,MAAM,IAAI,OAAO,gBAAgB,OAAO,IAAI,UAAU,EAAE,CAAC;AAClH,CAAC;AAED,SAAS,cAAc,CAAC,OAAe;IACrC,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CACb,qDAAqD,OAAO,GAAG,CAChE,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,4EAA4E;AAC5E,SAAS,cAAc,CAAC,IAAI,GAAG,KAAK;IAClC,MAAM,OAAO,GAA2B,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC;IACvE,IAAI,IAAI;QAAE,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;IACvD,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,UAAU,CAAC,YAAY,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;QAChE,IAAI,GAAG;YAAE,OAAO,CAAC,aAAa,GAAG,UAAU,GAAG,EAAE,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,uBAAuB;IACzB,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,YAAY,CACzB,GAAW,EACX,IAAiB,EACjB,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,EAAsB;IAE/D,MAAM,OAAO,GAAG,MAAM,IAAI,KAAK,CAAC;IAChC,KAAK,IAAI,OAAO,GAAG,CAAC,GAAI,OAAO,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,EAAE,cAAc,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACzE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,OAAO,IAAI,CAAC,IAAI,gBAAgB,KAAK,KAAK,EAAE,CAAC;YAC1E,OAAO,QAAQ,CAAC;QAClB,CAAC;QACD,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACvD,MAAM,IAAI,GACR,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QACxE,2DAA2D;QAC3D,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,GAAG,8BAA8B;YAAE,OAAO,QAAQ,CAAC;QAC5E,MAAM,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,MAAO,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,QAAkB;IAC7C,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;IACnD,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,yBAAyB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;AACrE,CAAC;AAED,+EAA+E;AAC/E,MAAM,qBAAqB,GAAG,GAAG,CAAC;AAElC;;;;GAIG;AACH,SAAS,UAAU,CACjB,OAAe,EACf,IAAa,EACb,GAAY;IAEZ,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,GAA4B,CAAC;QACxC,IACE,CAAC,EAAE,EAAE,UAAU,KAAK,SAAS,IAAI,EAAE,CAAC,UAAU,KAAK,IAAI,CAAC;YACxD,CAAC,EAAE,EAAE,uBAAuB,KAAK,SAAS;gBACxC,EAAE,CAAC,uBAAuB,KAAK,IAAI,CAAC,EACtC,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QACD,IACE,EAAE,CAAC,aAAa,KAAK,SAAS;YAC9B,EAAE,CAAC,aAAa,KAAK,IAAI;YACzB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,aAAa,CAAC;gBAC/B,EAAE,CAAC,aAAa,CAAC,MAAM,GAAG,qBAAqB,CAAC,EAClD,CAAC;YACD,MAAM,IAAI,KAAK,CACb,+CAA+C,qBAAqB,GAAG,CACxE,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,mBAAmB,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;QACpD,OAAO,EAAE,GAAG,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;IACrE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,4DAA4D,IAAI,aAAa,OAAO,4BAA6B,KAAe,CAAC,OAAO,EAAE,CAC3I,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAC/C,OAAe,EACf,IAAa,EACb,YAAoB,EACpB,UAA8B,EAAE;IAEhC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,SAAS,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IACxC,MAAM,IAAI,GAA4B,EAAE,CAAC;IACzC,KAAK,IAAI,MAAM,GAAG,CAAC,EAAE,MAAM,GAAG,WAAW,EAAE,MAAM,IAAI,iBAAiB,EAAE,CAAC;QACvE,MAAM,GAAG,GACP,GAAG,IAAI,iBAAiB,OAAO,yBAAyB;YACxD,qDAAqD,iBAAiB,EAAE;YACxE,WAAW,MAAM,eAAe,SAAS,EAAE,CAAC;QAC9C,IAAI,QAAQ,GAAG,MAAM,YAAY,CAC/B,GAAG,EACH,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAC7B,OAAO,CACR,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC5C,uEAAuE;YACvE,+CAA+C;YAC/C,MAAM,KAAK,CAAC,GAAG,EAAE,OAAO,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAO,CAAC,MAAM,CAAC,CAAC;YAC/D,QAAQ,GAAG,MAAM,YAAY,CAC3B,GAAG,EACH,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAC7B,OAAO,CACR,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,uCAAuC,QAAQ,CAAC,MAAM,8BAA8B,OAAO,aAAa,OAAO,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,EAAE,CAClJ,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAGlC,CAAC;QACF,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1C,MAAM,IAAI,KAAK,CACb,oEAAoE,OAAO,aAAa,OAAO,GAAG,CACnG,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,iBAAiB,EAAE,CAAC;YAC5C,MAAM,IAAI,KAAK,CACb,uCAAuC,IAAI,CAAC,OAAO,CAAC,MAAM,8BAA8B,iBAAiB,aAAa,OAAO,aAAa,OAAO,GAAG,CACrJ,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;QAC3E,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,iBAAiB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC1D,OAAO,IAAI,CAAC,MAAM,CAChB,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,KAAK,IAAI,IAAI,GAAG,CAAC,KAAK,IAAI,SAAS,CAC3D,CAAC;QACJ,CAAC;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CACb,QAAQ,OAAO,kBAAkB,WAAW,iCAAiC,OAAO,8DAA8D,CACnJ,CAAC;AACJ,CAAC;AAED,kHAAkH;AAClH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,OAAe,EACf,IAAa,EACb,YAAoB,EACpB,IAAsD,EACtD,UAA8B,EAAE;IAEhC,MAAM,OAAO,GAAG,MAAM,2BAA2B,CAC/C,OAAO,EACP,IAAI,EACJ,YAAY,EACZ,OAAO,CACR,CAAC;IACF,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,0BAA0B,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC;AAC5E,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAe,EACf,IAAa,EACb,UAAe,EACf,UAA8B,EAAE;IAEhC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAClC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,kCAAkC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC3E,CAAC;IACD,MAAM,QAAQ,GAAG,MAAM,YAAY,CACjC,GAAG,IAAI,iCAAiC,UAAU,GAAG,EACrD,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAC7B,OAAO,CACR,CAAC;IACF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,uCAAuC,QAAQ,CAAC,MAAM,iBAAiB,UAAU,aAAa,OAAO,mCAAmC,CACzI,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA0B,CAAC;IAChE,IAAI,CAAC;QACH,IAAI,MAAM,EAAE,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACvD,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC/C,CAAC;QACD,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,CAAC,CAAC;IAC5D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,6BAA6B,UAAU,wBAAwB,OAAO,aAAa,OAAO,KAAM,KAAe,CAAC,OAAO,EAAE,CAC1H,CAAC;IACJ,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,GAAW,EACX,IAAa,EACb,IAAY,EACZ,OAA2B;IAE3B,MAAM,QAAQ,GAAG,MAAM,YAAY,CACjC,GAAG,EACH;QACE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC;QAC7B,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KAC3B,EACD,OAAO,CACR,CAAC;IACF,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CACb,sCAAsC,IAAI,KAAK,QAAQ,CAAC,MAAM,IAAI,MAAM,aAAa,CAAC,QAAQ,CAAC,EAAE,CAClG,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB,CAAC,SAAkB;IAC1C,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,2BAA2B,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACnE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAe,EACf,IAAa,EACb,EAAyB,EACzB,EACE,MAAM,EACN,SAAS,EACT,MAAM,GAC8C,EACtD,UAA8B,EAAE;IAEhC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAAC,CAAC;IAC7D,MAAM,OAAO,GAAG,sBAAsB,CAAC,EAAE,CAAC,CAAC;IAC3C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;QACjD,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACrE,CAAC;IACD,MAAM,aAAa,CACjB,GAAG,IAAI,iBAAiB,OAAO,yBAAyB,EACxD;QACE,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE;QAC/B,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,SAAS,EAAE,OAAO,CAAC,SAAS,CAAC,QAAQ,EAAE;QACvC,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE;QACnC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,QAAQ,EAAE;QACrC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,cAAc,EAAE,OAAO,CAAC,cAAc;QACtC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE;QAC/B,uBAAuB,EAAE,UAAU;QACnC,MAAM,EAAE,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC;QACtC,SAAS,EAAE,gBAAgB,CAAC,SAAS,CAAC;QACtC,MAAM;KACP,EACD,gBAAgB,UAAU,aAAa,OAAO,aAAa,OAAO,EAAE,EACpE,OAAO,CACR,CAAC;IACF,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,OAAe,EACf,IAAa,EACb,EAAyB,EACzB,SAAc,EACd,UAA8B,EAAE;IAEhC,MAAM,IAAI,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,UAAU,GAAG,mBAAmB,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAC1D,MAAM,aAAa,CACjB,GAAG,IAAI,iCAAiC,UAAU,iBAAiB,EACnE,EAAE,SAAS,EAAE,gBAAgB,CAAC,SAAS,CAAC,EAAE,EAC1C,uBAAuB,UAAU,aAAa,OAAO,EAAE,EACvD,OAAO,CACR,CAAC;AACJ,CAAC;AAED,+EAA+E;AAC/E,MAAM,eAAe,GAAG,GAAG,CAAC;AAE5B;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,KAAa,EACb,QAA2B,EAC3B,UAA8B,EAAE;IAEhC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC9D,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;IAClC,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QAC7B,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;QACtC,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QACrB,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,YAAY,CACjC,GAAG,IAAI,kBAAkB,OAAO,SAAS,EACzC,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAC7B,OAAO,CACR,CAAC;YACF,IAAI,CAAC,QAAQ,CAAC,EAAE;gBAAE,OAAO,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAwB,CAAC;YAC5D,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;gBAC/B,CAAC,CAAC,IAAI,CAAC,KAAK;qBACP,KAAK,CAAC,CAAC,EAAE,eAAe,CAAC;qBACzB,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAChB,OAAO,IAAI,KAAK,QAAQ,IAAI,SAAS,CAAC,IAAI,CAAC;oBACzC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;oBACvC,CAAC,CAAC,EAAE,CACP;gBACL,CAAC,CAAC,EAAE,CAAC;QACT,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC,CAAC,CACH,CAAC;IACF,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC;AAED,4EAA4E;AAC5E,MAAM,UAAU,eAAe,CAAC,OAAe,EAAE,IAAY;IAC3D,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IACtC,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACvE,OAAO,GAAG,IAAI,iBAAiB,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC;AAC9D,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAAgB;IAEhB,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IACzD,MAAM,MAAM,GAAG,OAAkC,CAAC;IAClD,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IACpE,IACE,OAAO,cAAc,KAAK,QAAQ;QAClC,OAAO,UAAU,KAAK,QAAQ;QAC9B,CAAC,SAAS,CAAC,cAAc,CAAC;QAC1B,CAAC,SAAS,CAAC,UAAU,CAAC;QACtB,CAAC,UAAU,CAAC,SAAS,CAAC;QACtB,SAAS,CAAC,MAAM,GAAG,EAAE;QACrB,OAAO,SAAS,KAAK,QAAQ;QAC7B,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC;QACxB,OAAO,CAAC,SAAS,CAAC,KAAK,IAAI;QAC3B,CAAC,0BAA0B,CAAC,cAAc,EAAE,UAAU,CAAC,EACvD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO;QACL,OAAO,EAAE,UAAU,CAAC,cAAc,CAAC;QACnC,SAAS,EAAE,UAAU,CAAC,UAAU,CAAC;QACjC,WAAW,EAAE,SAAS;QACtB,SAAS,EAAE,MAAM,CAAC,SAAS,CAAC;KAC7B,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAAa,EACb,aAAqB,EACrB,UAA8B,EAAE;IAEhC,MAAM,GAAG,GAAG,eAAe,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;IACjD,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,YAAY,CACjC,GAAG,EACH,EAAE,OAAO,EAAE,cAAc,EAAE,EAAE,EAC7B,OAAO,CACR,CAAC;QACF,OAAO,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,wBAAwB,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|