@ixo/openhands-sdk 0.6.0 → 0.7.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/README.md +2 -1
- package/dist/cjs/campaign/spots.js +3 -3
- package/dist/cjs/chain/ask.d.ts +6 -1
- package/dist/cjs/chain/ask.d.ts.map +1 -1
- package/dist/cjs/chain/ask.js +11 -5
- package/dist/cjs/chain/ask.js.map +1 -1
- package/dist/cjs/chain/askyBase.d.ts +36 -0
- package/dist/cjs/chain/askyBase.d.ts.map +1 -0
- package/dist/cjs/chain/askyBase.js +56 -0
- package/dist/cjs/chain/askyBase.js.map +1 -0
- package/dist/cjs/chain/claimIncentives.d.ts +17 -0
- package/dist/cjs/chain/claimIncentives.d.ts.map +1 -0
- package/dist/cjs/chain/claimIncentives.js +22 -0
- package/dist/cjs/chain/claimIncentives.js.map +1 -0
- package/dist/cjs/chain/entityShape.d.ts +1 -1
- package/dist/cjs/chain/entityShape.d.ts.map +1 -1
- package/dist/cjs/chain/entityShape.js +5 -5
- package/dist/cjs/chain/entityShape.js.map +1 -1
- package/dist/cjs/chain/env.js +1 -1
- package/dist/cjs/chain/env.js.map +1 -1
- package/dist/cjs/chain/gate.d.ts +7 -0
- package/dist/cjs/chain/gate.d.ts.map +1 -1
- package/dist/cjs/chain/gate.js +26 -10
- package/dist/cjs/chain/gate.js.map +1 -1
- package/dist/cjs/chain/inviteAnswer.d.ts +32 -0
- package/dist/cjs/chain/inviteAnswer.d.ts.map +1 -0
- package/dist/cjs/chain/inviteAnswer.js +36 -0
- package/dist/cjs/chain/inviteAnswer.js.map +1 -0
- package/dist/cjs/chain/inviteMessages.d.ts +49 -30
- package/dist/cjs/chain/inviteMessages.d.ts.map +1 -1
- package/dist/cjs/chain/inviteMessages.js +64 -30
- package/dist/cjs/chain/inviteMessages.js.map +1 -1
- package/dist/cjs/chain/inviteProof.d.ts +16 -1
- package/dist/cjs/chain/inviteProof.d.ts.map +1 -1
- package/dist/cjs/chain/inviteProof.js +19 -1
- package/dist/cjs/chain/inviteProof.js.map +1 -1
- package/dist/cjs/chain/orgReviewBilling.js +1 -1
- package/dist/cjs/chain/orgReviewBilling.js.map +1 -1
- package/dist/cjs/chain/session.d.ts +8 -0
- package/dist/cjs/chain/session.d.ts.map +1 -1
- package/dist/cjs/chain/session.js +6 -1
- package/dist/cjs/chain/session.js.map +1 -1
- package/dist/cjs/chain/takeBack.d.ts +30 -0
- package/dist/cjs/chain/takeBack.d.ts.map +1 -1
- package/dist/cjs/chain/takeBack.js +44 -4
- package/dist/cjs/chain/takeBack.js.map +1 -1
- package/dist/cjs/chain/union.js +1 -1
- package/dist/cjs/config.d.ts +7 -1
- package/dist/cjs/config.d.ts.map +1 -1
- package/dist/cjs/config.js +4 -1
- package/dist/cjs/config.js.map +1 -1
- package/dist/cjs/data/askyProtocol.d.ts +13 -0
- package/dist/cjs/data/askyProtocol.d.ts.map +1 -0
- package/dist/cjs/data/askyProtocol.js +19 -0
- package/dist/cjs/data/askyProtocol.js.map +1 -0
- package/dist/cjs/data/board/assemble.js +2 -2
- package/dist/cjs/data/board/facts.d.ts +1 -1
- package/dist/cjs/data/board/facts.d.ts.map +1 -1
- package/dist/cjs/data/board/facts.js +5 -1
- package/dist/cjs/data/board/facts.js.map +1 -1
- package/dist/cjs/data/board/fixtures.d.ts.map +1 -1
- package/dist/cjs/data/board/fixtures.js +2 -1
- package/dist/cjs/data/board/fixtures.js.map +1 -1
- package/dist/cjs/data/board/read.d.ts +2 -0
- package/dist/cjs/data/board/read.d.ts.map +1 -1
- package/dist/cjs/data/board/read.js +4 -1
- package/dist/cjs/data/board/read.js.map +1 -1
- package/dist/cjs/data/board/types.d.ts +2 -0
- package/dist/cjs/data/board/types.d.ts.map +1 -1
- package/dist/cjs/data/checkers.d.ts +21 -5
- package/dist/cjs/data/checkers.d.ts.map +1 -1
- package/dist/cjs/data/checkers.js +135 -28
- package/dist/cjs/data/checkers.js.map +1 -1
- package/dist/cjs/data/displayNames.d.ts +7 -1
- package/dist/cjs/data/displayNames.d.ts.map +1 -1
- package/dist/cjs/data/displayNames.js +7 -1
- package/dist/cjs/data/displayNames.js.map +1 -1
- package/dist/cjs/data/engineUrl.d.ts +5 -4
- package/dist/cjs/data/engineUrl.d.ts.map +1 -1
- package/dist/cjs/data/engineUrl.js +12 -6
- package/dist/cjs/data/engineUrl.js.map +1 -1
- package/dist/cjs/data/envelope.d.ts +9 -2
- package/dist/cjs/data/envelope.d.ts.map +1 -1
- package/dist/cjs/data/envelope.js +10 -3
- package/dist/cjs/data/envelope.js.map +1 -1
- package/dist/cjs/data/install.d.ts +2 -2
- package/dist/cjs/data/install.d.ts.map +1 -1
- package/dist/cjs/data/install.js +3 -3
- package/dist/cjs/data/install.js.map +1 -1
- package/dist/cjs/data/onAsks.d.ts +57 -0
- package/dist/cjs/data/onAsks.d.ts.map +1 -0
- package/dist/cjs/data/onAsks.js +78 -0
- package/dist/cjs/data/onAsks.js.map +1 -0
- package/dist/cjs/data/openness.d.ts +3 -0
- package/dist/cjs/data/openness.d.ts.map +1 -1
- package/dist/cjs/data/openness.js +13 -1
- package/dist/cjs/data/openness.js.map +1 -1
- package/dist/cjs/data/orgPayouts.d.ts +1 -0
- package/dist/cjs/data/orgPayouts.d.ts.map +1 -1
- package/dist/cjs/data/orgPayouts.js +4 -2
- package/dist/cjs/data/orgPayouts.js.map +1 -1
- package/dist/cjs/data/profiles.d.ts +37 -2
- package/dist/cjs/data/profiles.d.ts.map +1 -1
- package/dist/cjs/data/profiles.js +121 -16
- package/dist/cjs/data/profiles.js.map +1 -1
- package/dist/cjs/data/threads.d.ts +6 -0
- package/dist/cjs/data/threads.d.ts.map +1 -1
- package/dist/cjs/data/threads.js.map +1 -1
- package/dist/cjs/data/trace.d.ts +1 -0
- package/dist/cjs/data/trace.d.ts.map +1 -1
- package/dist/cjs/data/trace.js +4 -2
- package/dist/cjs/data/trace.js.map +1 -1
- package/dist/cjs/data/traceWords.d.ts +1 -1
- package/dist/cjs/data/traceWords.d.ts.map +1 -1
- package/dist/cjs/data/traceWords.js +3 -1
- package/dist/cjs/data/traceWords.js.map +1 -1
- package/dist/cjs/discovery.d.ts.map +1 -1
- package/dist/cjs/discovery.js +3 -1
- package/dist/cjs/discovery.js.map +1 -1
- package/dist/cjs/names/client.d.ts +10 -0
- package/dist/cjs/names/client.d.ts.map +1 -0
- package/dist/cjs/names/client.js +757 -0
- package/dist/cjs/names/client.js.map +7 -0
- package/dist/cjs/names/names.d.ts +93 -0
- package/dist/cjs/names/names.d.ts.map +1 -0
- package/dist/cjs/names/names.js +154 -0
- package/dist/cjs/names/names.js.map +1 -0
- package/dist/cjs/names.d.ts +14 -0
- package/dist/cjs/names.d.ts.map +1 -0
- package/dist/cjs/names.js +30 -0
- package/dist/cjs/names.js.map +1 -0
- package/dist/cjs/rubric/askyRubric.d.ts +70 -0
- package/dist/cjs/rubric/askyRubric.d.ts.map +1 -0
- package/dist/cjs/rubric/askyRubric.js +163 -0
- package/dist/cjs/rubric/askyRubric.js.map +1 -0
- package/dist/cjs/rubric/bridge.js +2 -2
- package/dist/cjs/rubric/bridge.js.map +1 -1
- package/dist/cjs/rubric/call.js +1 -1
- package/dist/cjs/rubric/call.js.map +1 -1
- package/dist/cjs/rubric/callChecks.js +1 -1
- package/dist/cjs/rubric/callLimits.js +2 -2
- package/dist/cjs/rubric/callPrompt.d.ts +7 -0
- package/dist/cjs/rubric/callPrompt.d.ts.map +1 -0
- package/dist/cjs/rubric/callPrompt.js +9 -0
- package/dist/cjs/rubric/callPrompt.js.map +1 -0
- package/dist/cjs/rubric/draft.d.ts +1 -1
- package/dist/cjs/rubric/draft.d.ts.map +1 -1
- package/dist/cjs/rubric/draft.js +1 -1
- package/dist/cjs/rubric/feeLine.d.ts +12 -3
- package/dist/cjs/rubric/feeLine.d.ts.map +1 -1
- package/dist/cjs/rubric/feeLine.js +19 -8
- package/dist/cjs/rubric/feeLine.js.map +1 -1
- package/dist/cjs/rubric/marketPlan.js +7 -7
- package/dist/cjs/rubric/marketPlan.js.map +1 -1
- package/dist/cjs/rubric/reportTemplate.d.ts +6 -2
- package/dist/cjs/rubric/reportTemplate.d.ts.map +1 -1
- package/dist/cjs/rubric/reportTemplate.js +10 -4
- package/dist/cjs/rubric/reportTemplate.js.map +1 -1
- package/dist/cjs/rubric/survey.js +2 -2
- package/dist/cjs/rubric/survey.js.map +1 -1
- package/dist/cjs/rubric/terms.d.ts +3 -5
- package/dist/cjs/rubric/terms.d.ts.map +1 -1
- package/dist/cjs/rubric/terms.js +3 -4
- package/dist/cjs/rubric/terms.js.map +1 -1
- package/dist/esm/campaign/spots.js +3 -3
- package/dist/esm/chain/ask.d.ts +6 -1
- package/dist/esm/chain/ask.d.ts.map +1 -1
- package/dist/esm/chain/ask.js +12 -6
- package/dist/esm/chain/ask.js.map +1 -1
- package/dist/esm/chain/askyBase.d.ts +36 -0
- package/dist/esm/chain/askyBase.d.ts.map +1 -0
- package/dist/esm/chain/askyBase.js +51 -0
- package/dist/esm/chain/askyBase.js.map +1 -0
- package/dist/esm/chain/claimIncentives.d.ts +17 -0
- package/dist/esm/chain/claimIncentives.d.ts.map +1 -0
- package/dist/esm/chain/claimIncentives.js +19 -0
- package/dist/esm/chain/claimIncentives.js.map +1 -0
- package/dist/esm/chain/entityShape.d.ts +1 -1
- package/dist/esm/chain/entityShape.d.ts.map +1 -1
- package/dist/esm/chain/entityShape.js +5 -5
- package/dist/esm/chain/entityShape.js.map +1 -1
- package/dist/esm/chain/env.js +1 -1
- package/dist/esm/chain/env.js.map +1 -1
- package/dist/esm/chain/gate.d.ts +7 -0
- package/dist/esm/chain/gate.d.ts.map +1 -1
- package/dist/esm/chain/gate.js +24 -10
- package/dist/esm/chain/gate.js.map +1 -1
- package/dist/esm/chain/inviteAnswer.d.ts +32 -0
- package/dist/esm/chain/inviteAnswer.d.ts.map +1 -0
- package/dist/esm/chain/inviteAnswer.js +28 -0
- package/dist/esm/chain/inviteAnswer.js.map +1 -0
- package/dist/esm/chain/inviteMessages.d.ts +49 -30
- package/dist/esm/chain/inviteMessages.d.ts.map +1 -1
- package/dist/esm/chain/inviteMessages.js +52 -25
- package/dist/esm/chain/inviteMessages.js.map +1 -1
- package/dist/esm/chain/inviteProof.d.ts +16 -1
- package/dist/esm/chain/inviteProof.d.ts.map +1 -1
- package/dist/esm/chain/inviteProof.js +16 -0
- package/dist/esm/chain/inviteProof.js.map +1 -1
- package/dist/esm/chain/orgReviewBilling.js +1 -1
- package/dist/esm/chain/orgReviewBilling.js.map +1 -1
- package/dist/esm/chain/session.d.ts +8 -0
- package/dist/esm/chain/session.d.ts.map +1 -1
- package/dist/esm/chain/session.js +6 -1
- package/dist/esm/chain/session.js.map +1 -1
- package/dist/esm/chain/takeBack.d.ts +30 -0
- package/dist/esm/chain/takeBack.d.ts.map +1 -1
- package/dist/esm/chain/takeBack.js +42 -4
- package/dist/esm/chain/takeBack.js.map +1 -1
- package/dist/esm/chain/union.js +1 -1
- package/dist/esm/config.d.ts +7 -1
- package/dist/esm/config.d.ts.map +1 -1
- package/dist/esm/config.js +4 -1
- package/dist/esm/config.js.map +1 -1
- package/dist/esm/data/askyProtocol.d.ts +13 -0
- package/dist/esm/data/askyProtocol.d.ts.map +1 -0
- package/dist/esm/data/askyProtocol.js +14 -0
- package/dist/esm/data/askyProtocol.js.map +1 -0
- package/dist/esm/data/board/assemble.js +2 -2
- package/dist/esm/data/board/facts.d.ts +1 -1
- package/dist/esm/data/board/facts.d.ts.map +1 -1
- package/dist/esm/data/board/facts.js +5 -1
- package/dist/esm/data/board/facts.js.map +1 -1
- package/dist/esm/data/board/fixtures.d.ts.map +1 -1
- package/dist/esm/data/board/fixtures.js +2 -1
- package/dist/esm/data/board/fixtures.js.map +1 -1
- package/dist/esm/data/board/read.d.ts +2 -0
- package/dist/esm/data/board/read.d.ts.map +1 -1
- package/dist/esm/data/board/read.js +4 -1
- package/dist/esm/data/board/read.js.map +1 -1
- package/dist/esm/data/board/types.d.ts +2 -0
- package/dist/esm/data/board/types.d.ts.map +1 -1
- package/dist/esm/data/checkers.d.ts +21 -5
- package/dist/esm/data/checkers.d.ts.map +1 -1
- package/dist/esm/data/checkers.js +130 -27
- package/dist/esm/data/checkers.js.map +1 -1
- package/dist/esm/data/displayNames.d.ts +7 -1
- package/dist/esm/data/displayNames.d.ts.map +1 -1
- package/dist/esm/data/displayNames.js +7 -1
- package/dist/esm/data/displayNames.js.map +1 -1
- package/dist/esm/data/engineUrl.d.ts +5 -4
- package/dist/esm/data/engineUrl.d.ts.map +1 -1
- package/dist/esm/data/engineUrl.js +11 -5
- package/dist/esm/data/engineUrl.js.map +1 -1
- package/dist/esm/data/envelope.d.ts +9 -2
- package/dist/esm/data/envelope.d.ts.map +1 -1
- package/dist/esm/data/envelope.js +10 -3
- package/dist/esm/data/envelope.js.map +1 -1
- package/dist/esm/data/install.d.ts +2 -2
- package/dist/esm/data/install.d.ts.map +1 -1
- package/dist/esm/data/install.js +3 -3
- package/dist/esm/data/install.js.map +1 -1
- package/dist/esm/data/onAsks.d.ts +57 -0
- package/dist/esm/data/onAsks.d.ts.map +1 -0
- package/dist/esm/data/onAsks.js +73 -0
- package/dist/esm/data/onAsks.js.map +1 -0
- package/dist/esm/data/openness.d.ts +3 -0
- package/dist/esm/data/openness.d.ts.map +1 -1
- package/dist/esm/data/openness.js +12 -1
- package/dist/esm/data/openness.js.map +1 -1
- package/dist/esm/data/orgPayouts.d.ts +1 -0
- package/dist/esm/data/orgPayouts.d.ts.map +1 -1
- package/dist/esm/data/orgPayouts.js +4 -2
- package/dist/esm/data/orgPayouts.js.map +1 -1
- package/dist/esm/data/profiles.d.ts +37 -2
- package/dist/esm/data/profiles.d.ts.map +1 -1
- package/dist/esm/data/profiles.js +120 -16
- package/dist/esm/data/profiles.js.map +1 -1
- package/dist/esm/data/threads.d.ts +6 -0
- package/dist/esm/data/threads.d.ts.map +1 -1
- package/dist/esm/data/threads.js.map +1 -1
- package/dist/esm/data/trace.d.ts +1 -0
- package/dist/esm/data/trace.d.ts.map +1 -1
- package/dist/esm/data/trace.js +4 -2
- package/dist/esm/data/trace.js.map +1 -1
- package/dist/esm/data/traceWords.d.ts +1 -1
- package/dist/esm/data/traceWords.d.ts.map +1 -1
- package/dist/esm/data/traceWords.js +3 -1
- package/dist/esm/data/traceWords.js.map +1 -1
- package/dist/esm/discovery.d.ts.map +1 -1
- package/dist/esm/discovery.js +3 -1
- package/dist/esm/discovery.js.map +1 -1
- package/dist/esm/names/client.d.ts +10 -0
- package/dist/esm/names/client.d.ts.map +1 -0
- package/dist/esm/names/client.js +10 -0
- package/dist/esm/names/client.js.map +1 -0
- package/dist/esm/names/names.d.ts +93 -0
- package/dist/esm/names/names.d.ts.map +1 -0
- package/dist/esm/names/names.js +142 -0
- package/dist/esm/names/names.js.map +1 -0
- package/dist/esm/names.d.ts +14 -0
- package/dist/esm/names.d.ts.map +1 -0
- package/dist/esm/names.js +14 -0
- package/dist/esm/names.js.map +1 -0
- package/dist/esm/rubric/askyRubric.d.ts +70 -0
- package/dist/esm/rubric/askyRubric.d.ts.map +1 -0
- package/dist/esm/rubric/askyRubric.js +155 -0
- package/dist/esm/rubric/askyRubric.js.map +1 -0
- package/dist/esm/rubric/bridge.js +2 -2
- package/dist/esm/rubric/bridge.js.map +1 -1
- package/dist/esm/rubric/call.js +1 -1
- package/dist/esm/rubric/call.js.map +1 -1
- package/dist/esm/rubric/callChecks.js +1 -1
- package/dist/esm/rubric/callLimits.js +2 -2
- package/dist/esm/rubric/callPrompt.d.ts +7 -0
- package/dist/esm/rubric/callPrompt.d.ts.map +1 -0
- package/dist/esm/rubric/callPrompt.js +6 -0
- package/dist/esm/rubric/callPrompt.js.map +1 -0
- package/dist/esm/rubric/draft.d.ts +1 -1
- package/dist/esm/rubric/draft.d.ts.map +1 -1
- package/dist/esm/rubric/draft.js +1 -1
- package/dist/esm/rubric/feeLine.d.ts +12 -3
- package/dist/esm/rubric/feeLine.d.ts.map +1 -1
- package/dist/esm/rubric/feeLine.js +16 -7
- package/dist/esm/rubric/feeLine.js.map +1 -1
- package/dist/esm/rubric/marketPlan.js +7 -7
- package/dist/esm/rubric/marketPlan.js.map +1 -1
- package/dist/esm/rubric/reportTemplate.d.ts +6 -2
- package/dist/esm/rubric/reportTemplate.d.ts.map +1 -1
- package/dist/esm/rubric/reportTemplate.js +8 -3
- package/dist/esm/rubric/reportTemplate.js.map +1 -1
- package/dist/esm/rubric/survey.js +2 -2
- package/dist/esm/rubric/survey.js.map +1 -1
- package/dist/esm/rubric/terms.d.ts +3 -5
- package/dist/esm/rubric/terms.d.ts.map +1 -1
- package/dist/esm/rubric/terms.js +3 -4
- package/dist/esm/rubric/terms.js.map +1 -1
- package/package.json +24 -3
- package/dist/cjs/data/sponsors.d.ts +0 -94
- package/dist/cjs/data/sponsors.d.ts.map +0 -1
- package/dist/cjs/data/sponsors.js +0 -147
- package/dist/cjs/data/sponsors.js.map +0 -1
- package/dist/esm/data/sponsors.d.ts +0 -94
- package/dist/esm/data/sponsors.d.ts.map +0 -1
- package/dist/esm/data/sponsors.js +0 -137
- package/dist/esm/data/sponsors.js.map +0 -1
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import type { CallBlock } from "../rubric/terms.ts";
|
|
2
|
-
export type SponsorNetwork = "devnet" | "testnet" | "mainnet";
|
|
3
|
-
export interface Sponsor {
|
|
4
|
-
/** Its name in addresses and in a pro ask's terms: "ixo". */
|
|
5
|
-
slug: string;
|
|
6
|
-
/** As people read it: "IXO". */
|
|
7
|
-
name: string;
|
|
8
|
-
/** The ixo address that publishes offers and signs checks: an approved provider. */
|
|
9
|
-
account: string;
|
|
10
|
-
/** Its node entity per network: the relayer a pro ask through it names, which earns the node share. Absent, the network's default node. */
|
|
11
|
-
node: Partial<Record<SponsorNetwork, string>>;
|
|
12
|
-
/** Its page: "/pro/marketplaces/ixo". */
|
|
13
|
-
page: string;
|
|
14
|
-
/** What it checks and how, in its own words (600 characters at most). */
|
|
15
|
-
method: string;
|
|
16
|
-
/** No check fee in v1, so being checked is free. */
|
|
17
|
-
price: 0;
|
|
18
|
-
/** When it was approved, ISO. */
|
|
19
|
-
since: string;
|
|
20
|
-
state: "approved" | "paused";
|
|
21
|
-
/** Its own mark, from its page: an https address, square. Absent, the identity mark of its account. */
|
|
22
|
-
logo?: string;
|
|
23
|
-
/** Its own line, from its page: drawn under ours, never instead. */
|
|
24
|
-
deck?: string;
|
|
25
|
-
}
|
|
26
|
-
/** The most a sponsor's method may say. */
|
|
27
|
-
export declare const SPONSOR_METHOD_MAX = 600;
|
|
28
|
-
export declare const sponsorBySlug: (list: Sponsor[], slug: string) => Sponsor | null;
|
|
29
|
-
/** A sponsor's slug: its page's address and what a pro ask's terms carry, so a call slug's shape (`CALL_SLUG`). */
|
|
30
|
-
export declare const SPONSOR_SLUG: RegExp;
|
|
31
|
-
/** A slug from an organisation's name, which the staff page prefills: "Acme Testing Guild" → "acme-testing-guild". Not always valid (`SPONSOR_SLUG`), so an approval names its slug. */
|
|
32
|
-
export declare const slugOf: (org: string) => string;
|
|
33
|
-
/**
|
|
34
|
-
* The node a pro ask through this sponsor names on `network` (its deed's relayer, which earns the node share): its
|
|
35
|
-
* own, else the network's default relayer (Qi.Space). Null for a paused sponsor, which takes no new pro asks.
|
|
36
|
-
*/
|
|
37
|
-
export declare const sponsorNode: (sponsor: Pick<Sponsor, "node" | "state">, network: string) => string | null;
|
|
38
|
-
/** The accounts whose checks count today: approved sponsors only, never a paused one. */
|
|
39
|
-
export declare const sponsorAccounts: (list: Sponsor[]) => Set<string>;
|
|
40
|
-
type Picture = {
|
|
41
|
-
url: string;
|
|
42
|
-
alt: string;
|
|
43
|
-
caption?: string;
|
|
44
|
-
};
|
|
45
|
-
/** The facilitator's own part of its page, signed by its account. Every field optional: a page with none draws the registry entry alone. */
|
|
46
|
-
export interface SponsorPage {
|
|
47
|
-
/** One line under ours, ≤ 120. */
|
|
48
|
-
deck?: string;
|
|
49
|
-
/** https, square; else the identity mark. */
|
|
50
|
-
logo?: string;
|
|
51
|
-
cover?: Picture;
|
|
52
|
-
/** ≤ CALL_LIMITS.paragraphs × paragraph. */
|
|
53
|
-
story?: string[];
|
|
54
|
-
/** "How we check", ≤ CALL_LIMITS.steps. */
|
|
55
|
-
steps?: {
|
|
56
|
-
title: string;
|
|
57
|
-
text?: string;
|
|
58
|
-
}[];
|
|
59
|
-
/** ≤ CALL_LIMITS.items. */
|
|
60
|
-
pictures?: Picture[];
|
|
61
|
-
/** ≤ 6: its site, its published method, press. */
|
|
62
|
-
links?: {
|
|
63
|
-
url: string;
|
|
64
|
-
name: string;
|
|
65
|
-
note?: string;
|
|
66
|
-
}[];
|
|
67
|
-
}
|
|
68
|
-
/** A page as the registry serves it: who wrote it, and when it was signed (null while the operator's seed stands). */
|
|
69
|
-
export interface SponsorPageRecord {
|
|
70
|
-
page: SponsorPage;
|
|
71
|
-
signedAt: string | null;
|
|
72
|
-
by: "account" | "operator";
|
|
73
|
-
}
|
|
74
|
-
/** The rest is CALL_LIMITS. */
|
|
75
|
-
export declare const SPONSOR_PAGE_LIMITS: {
|
|
76
|
-
readonly deck: 120;
|
|
77
|
-
readonly links: 6;
|
|
78
|
-
};
|
|
79
|
-
/**
|
|
80
|
-
* What is wrong with a page, as a sentence, or null. Shared by the worker, the editor, the apply form and the agent
|
|
81
|
-
* tool, so all four refuse the same page in the same words. The call's own rules: pictures and links by https
|
|
82
|
-
* address only, the call's caps, nothing a page cannot show. One-line words are read with their spaces folded;
|
|
83
|
-
* paragraphs keep their line breaks.
|
|
84
|
-
*/
|
|
85
|
-
export declare function checkSponsorPage(page: unknown): string | null;
|
|
86
|
-
/**
|
|
87
|
-
* A page as a form typed it, made the shape it is signed in: words trimmed and one-line words folded, empty fields
|
|
88
|
-
* and empty rows dropped. What the editor and the apply form sign; `checkSponsorPage` then reads it as the worker will.
|
|
89
|
-
*/
|
|
90
|
-
export declare function tidySponsorPage(page: SponsorPage): SponsorPage;
|
|
91
|
-
/** The page as the call renderer draws it: cover, story, diagram ("How <name> verifies"), pictures, files (links). */
|
|
92
|
-
export declare function sponsorBlocks(page: SponsorPage, name: string): CallBlock[];
|
|
93
|
-
export {};
|
|
94
|
-
//# sourceMappingURL=sponsors.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sponsors.d.ts","sourceRoot":"","sources":["../../../src/data/sponsors.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* The facilitators of pro.asks.world, by their code name: a **sponsor** (the
|
|
3
|
-
* word `facilitator` already names the payouts service). A sponsor checks professionals and stands behind them
|
|
4
|
-
* (an approved verification provider: its `account` publishes offers and signs checks) and earns the chain's node
|
|
5
|
-
* share on every pro ask posted through it (its `node`, the entity a pro ask's deed names as its relayer). It never
|
|
6
|
-
* holds anyone's money.
|
|
7
|
-
*
|
|
8
|
-
* The registry lives in the worker's D1 (`sponsors`, migration 0042) and is served at `/sponsors` and, one hop
|
|
9
|
-
* away, the app's `/api/marketplaces`. This module is its shape and the two questions every reader asks of it, and
|
|
10
|
-
* the facilitator's own page (migration 0043): its words and pictures, set up
|
|
11
|
-
* the way a poster sets up a call and drawn by the call's renderer. Pure: no fetch, safe on a client.
|
|
12
|
-
*/
|
|
13
|
-
import { isEntityDid } from "../chain/entityShape.js";
|
|
14
|
-
import { chainEndpointsFor } from "../chain/env.js";
|
|
15
|
-
import { isHttps, oneLine, picture, within } from "../rubric/callChecks.js";
|
|
16
|
-
import { CALL_LIMITS } from "../rubric/callLimits.js";
|
|
17
|
-
/** The most a sponsor's method may say. */
|
|
18
|
-
export const SPONSOR_METHOD_MAX = 600;
|
|
19
|
-
export const sponsorBySlug = (list, slug) => list.find((s) => s.slug === slug) ?? null;
|
|
20
|
-
/** A sponsor's slug: its page's address and what a pro ask's terms carry, so a call slug's shape (`CALL_SLUG`). */
|
|
21
|
-
export const SPONSOR_SLUG = /^[a-z][a-z0-9-]{2,39}$/;
|
|
22
|
-
/** A slug from an organisation's name, which the staff page prefills: "Acme Testing Guild" → "acme-testing-guild". Not always valid (`SPONSOR_SLUG`), so an approval names its slug. */
|
|
23
|
-
export const slugOf = (org) => org
|
|
24
|
-
.normalize("NFKD")
|
|
25
|
-
.replace(/[\u0300-\u036f]/g, "")
|
|
26
|
-
.toLowerCase()
|
|
27
|
-
.replace(/[^a-z0-9]+/g, "-")
|
|
28
|
-
.replace(/^-+|-+$/g, "")
|
|
29
|
-
.slice(0, 40)
|
|
30
|
-
.replace(/-+$/, "");
|
|
31
|
-
/**
|
|
32
|
-
* The node a pro ask through this sponsor names on `network` (its deed's relayer, which earns the node share): its
|
|
33
|
-
* own, else the network's default relayer (Qi.Space). Null for a paused sponsor, which takes no new pro asks.
|
|
34
|
-
*/
|
|
35
|
-
export const sponsorNode = (sponsor, network) => {
|
|
36
|
-
if (sponsor.state !== "approved")
|
|
37
|
-
return null;
|
|
38
|
-
const own = sponsor.node[network];
|
|
39
|
-
return isEntityDid(own) ? own : (chainEndpointsFor(network)?.relayerNodeDid ?? null);
|
|
40
|
-
};
|
|
41
|
-
/** The accounts whose checks count today: approved sponsors only, never a paused one. */
|
|
42
|
-
export const sponsorAccounts = (list) => new Set(list.filter((s) => s.state === "approved").map((s) => s.account));
|
|
43
|
-
/** The rest is CALL_LIMITS. */
|
|
44
|
-
export const SPONSOR_PAGE_LIMITS = { deck: 120, links: 6 };
|
|
45
|
-
const PAGE_FIELDS = new Set(["deck", "logo", "cover", "story", "steps", "pictures", "links"]);
|
|
46
|
-
const L = CALL_LIMITS;
|
|
47
|
-
const words = (value, max, what) => (typeof value === "string" ? within(oneLine(value), max, what) : `${what} is not words`);
|
|
48
|
-
const maybeWords = (value, max, what) => (value === undefined ? null : words(value, max, what));
|
|
49
|
-
const record = (value) => Boolean(value) && typeof value === "object" && !Array.isArray(value);
|
|
50
|
-
const many = (value, max, what, each) => {
|
|
51
|
-
if (value === undefined)
|
|
52
|
-
return null;
|
|
53
|
-
if (!Array.isArray(value))
|
|
54
|
-
return `The ${what} are not a list`;
|
|
55
|
-
if (value.length > max)
|
|
56
|
-
return `${value.length} ${what}; the most is ${max}`;
|
|
57
|
-
for (const [index, one] of value.entries()) {
|
|
58
|
-
const problem = each(one, index);
|
|
59
|
-
if (problem)
|
|
60
|
-
return problem;
|
|
61
|
-
}
|
|
62
|
-
return null;
|
|
63
|
-
};
|
|
64
|
-
const pictureOf = (one, what) => {
|
|
65
|
-
if (!record(one) || typeof one.url !== "string" || typeof one.alt !== "string" || (one.caption !== undefined && typeof one.caption !== "string"))
|
|
66
|
-
return `${what} needs an address and words for it`;
|
|
67
|
-
return picture({ url: one.url, alt: one.alt, ...(one.caption === undefined ? {} : { caption: one.caption }) }, what);
|
|
68
|
-
};
|
|
69
|
-
/**
|
|
70
|
-
* What is wrong with a page, as a sentence, or null. Shared by the worker, the editor, the apply form and the agent
|
|
71
|
-
* tool, so all four refuse the same page in the same words. The call's own rules: pictures and links by https
|
|
72
|
-
* address only, the call's caps, nothing a page cannot show. One-line words are read with their spaces folded;
|
|
73
|
-
* paragraphs keep their line breaks.
|
|
74
|
-
*/
|
|
75
|
-
export function checkSponsorPage(page) {
|
|
76
|
-
if (!record(page))
|
|
77
|
-
return "A page is its deck line, logo, cover, story, steps, pictures and links";
|
|
78
|
-
const stray = Object.keys(page).find((key) => !PAGE_FIELDS.has(key));
|
|
79
|
-
if (stray)
|
|
80
|
-
return `A page has no "${stray.slice(0, 40)}"; it carries a deck line, logo, cover, story, steps, pictures and links`;
|
|
81
|
-
return (maybeWords(page.deck, SPONSOR_PAGE_LIMITS.deck, "The deck line") ??
|
|
82
|
-
(page.logo === undefined ? null : typeof page.logo === "string" && isHttps(page.logo) ? null : `The logo: "${String(page.logo).slice(0, 80)}" is not an https address`) ??
|
|
83
|
-
(page.cover === undefined ? null : pictureOf(page.cover, "The cover")) ??
|
|
84
|
-
many(page.story, L.paragraphs, "paragraphs", (one, index) => (typeof one === "string" ? within(one, L.paragraph, `Paragraph ${index + 1}`, true) : `Paragraph ${index + 1} is not words`)) ??
|
|
85
|
-
many(page.steps, L.steps, "steps", (one, index) => (record(one) ? (words(one.title, L.stepTitle, `Step ${index + 1}'s title`) ?? maybeWords(one.text, L.stepText, `Step ${index + 1}'s words`)) : `Step ${index + 1} needs a title`)) ??
|
|
86
|
-
many(page.pictures, L.items, "pictures", (one, index) => pictureOf(one, `Picture ${index + 1}`)) ??
|
|
87
|
-
many(page.links, SPONSOR_PAGE_LIMITS.links, "links", (one, index) => {
|
|
88
|
-
if (!record(one) || typeof one.url !== "string")
|
|
89
|
-
return `Link ${index + 1} needs an address and a name`;
|
|
90
|
-
if (!isHttps(one.url))
|
|
91
|
-
return `Link ${index + 1}: "${one.url.slice(0, 80)}" is not an https address`;
|
|
92
|
-
return words(one.name, L.name, `Link ${index + 1}'s name`) ?? maybeWords(one.note, L.note, `Link ${index + 1}'s note`);
|
|
93
|
-
}));
|
|
94
|
-
}
|
|
95
|
-
const tidyPicture = (one) => ({ url: one.url.trim(), alt: oneLine(one.alt), ...(one.caption?.trim() ? { caption: oneLine(one.caption) } : {}) });
|
|
96
|
-
/**
|
|
97
|
-
* A page as a form typed it, made the shape it is signed in: words trimmed and one-line words folded, empty fields
|
|
98
|
-
* and empty rows dropped. What the editor and the apply form sign; `checkSponsorPage` then reads it as the worker will.
|
|
99
|
-
*/
|
|
100
|
-
export function tidySponsorPage(page) {
|
|
101
|
-
const out = {};
|
|
102
|
-
if (page.deck?.trim())
|
|
103
|
-
out.deck = oneLine(page.deck);
|
|
104
|
-
if (page.logo?.trim())
|
|
105
|
-
out.logo = page.logo.trim();
|
|
106
|
-
if (page.cover && (page.cover.url.trim() || page.cover.alt.trim()))
|
|
107
|
-
out.cover = tidyPicture(page.cover);
|
|
108
|
-
const story = (page.story ?? []).map((one) => one.trim()).filter(Boolean);
|
|
109
|
-
if (story.length)
|
|
110
|
-
out.story = story;
|
|
111
|
-
const steps = (page.steps ?? []).filter((one) => one.title.trim() || one.text?.trim()).map((one) => ({ title: oneLine(one.title), ...(one.text?.trim() ? { text: oneLine(one.text) } : {}) }));
|
|
112
|
-
if (steps.length)
|
|
113
|
-
out.steps = steps;
|
|
114
|
-
const pictures = (page.pictures ?? []).filter((one) => one.url.trim() || one.alt.trim()).map(tidyPicture);
|
|
115
|
-
if (pictures.length)
|
|
116
|
-
out.pictures = pictures;
|
|
117
|
-
const links = (page.links ?? []).filter((one) => one.url.trim() || one.name.trim()).map((one) => ({ url: one.url.trim(), name: oneLine(one.name), ...(one.note?.trim() ? { note: oneLine(one.note) } : {}) }));
|
|
118
|
-
if (links.length)
|
|
119
|
-
out.links = links;
|
|
120
|
-
return out;
|
|
121
|
-
}
|
|
122
|
-
/** The page as the call renderer draws it: cover, story, diagram ("How <name> verifies"), pictures, files (links). */
|
|
123
|
-
export function sponsorBlocks(page, name) {
|
|
124
|
-
const blocks = [];
|
|
125
|
-
if (page.cover)
|
|
126
|
-
blocks.push({ kind: "cover", ...tidyPicture(page.cover) });
|
|
127
|
-
if (page.story?.length)
|
|
128
|
-
blocks.push({ kind: "story", paragraphs: page.story });
|
|
129
|
-
if (page.steps?.length)
|
|
130
|
-
blocks.push({ kind: "diagram", title: `How ${name} verifies`, steps: page.steps.map((one) => ({ title: oneLine(one.title), ...(one.text ? { text: oneLine(one.text) } : {}) })) });
|
|
131
|
-
if (page.pictures?.length)
|
|
132
|
-
blocks.push({ kind: "pictures", items: page.pictures.map(tidyPicture) });
|
|
133
|
-
if (page.links?.length)
|
|
134
|
-
blocks.push({ kind: "files", items: page.links.map((one) => ({ url: one.url, name: oneLine(one.name), ...(one.note ? { note: oneLine(one.note) } : {}) })) });
|
|
135
|
-
return blocks;
|
|
136
|
-
}
|
|
137
|
-
//# sourceMappingURL=sponsors.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sponsors.js","sourceRoot":"","sources":["../../../src/data/sponsors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AA6BtD,2CAA2C;AAC3C,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAG,CAAC;AAEtC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAe,EAAE,IAAY,EAAkB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC;AAE1H,mHAAmH;AACnH,MAAM,CAAC,MAAM,YAAY,GAAG,wBAAwB,CAAC;AAErD,wLAAwL;AACxL,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,GAAW,EAAU,EAAE,CAC5C,GAAG;KACA,SAAS,CAAC,MAAM,CAAC;KACjB,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;KAC/B,WAAW,EAAE;KACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;KAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;KACvB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;KACZ,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AAExB;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,OAAwC,EAAE,OAAe,EAAiB,EAAE;IACtG,IAAI,OAAO,CAAC,KAAK,KAAK,UAAU;QAAE,OAAO,IAAI,CAAC;IAC9C,MAAM,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,OAAyB,CAAC,CAAC;IACpD,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,OAAyB,CAAC,EAAE,cAAc,IAAI,IAAI,CAAC,CAAC;AACzG,CAAC,CAAC;AAEF,yFAAyF;AACzF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAe,EAAe,EAAE,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;AA8B3I,+BAA+B;AAC/B,MAAM,CAAC,MAAM,mBAAmB,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAW,CAAC;AAEpE,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;AAC9F,MAAM,CAAC,GAAG,WAAW,CAAC;AAEtB,MAAM,KAAK,GAAG,CAAC,KAAc,EAAE,GAAW,EAAE,IAAY,EAAiB,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,eAAe,CAAC,CAAC;AACrK,MAAM,UAAU,GAAG,CAAC,KAAc,EAAE,GAAW,EAAE,IAAY,EAAiB,EAAE,CAAC,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;AACxI,MAAM,MAAM,GAAG,CAAC,KAAc,EAAoC,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC1I,MAAM,IAAI,GAAG,CAAC,KAAc,EAAE,GAAW,EAAE,IAAY,EAAE,IAAoD,EAAiB,EAAE;IAC9H,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACrC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,OAAO,IAAI,iBAAiB,CAAC;IAC/D,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG;QAAE,OAAO,GAAG,KAAK,CAAC,MAAM,IAAI,IAAI,iBAAiB,GAAG,EAAE,CAAC;IAC7E,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACjC,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC;IAC9B,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AACF,MAAM,SAAS,GAAG,CAAC,GAAY,EAAE,IAAY,EAAiB,EAAE;IAC9D,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC;QAAE,OAAO,GAAG,IAAI,oCAAoC,CAAC;IACrM,OAAO,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;AACvH,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAa;IAC5C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC;QAAE,OAAO,wEAAwE,CAAC;IACnG,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IACrE,IAAI,KAAK;QAAE,OAAO,kBAAkB,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,0EAA0E,CAAC;IACjI,OAAO,CACL,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,mBAAmB,CAAC,IAAI,EAAE,eAAe,CAAC;QAChE,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,2BAA2B,CAAC;QACvK,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACtE,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,UAAU,EAAE,YAAY,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS,EAAE,aAAa,KAAK,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,KAAK,GAAG,CAAC,eAAe,CAAC,CAAC;QAC1L,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,SAAS,EAAE,QAAQ,KAAK,GAAG,CAAC,UAAU,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,QAAQ,KAAK,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,GAAG,CAAC,gBAAgB,CAAC,CAAC;QACrO,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,EAAE,WAAW,KAAK,GAAG,CAAC,EAAE,CAAC,CAAC;QAChG,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;YAClE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,OAAO,GAAG,CAAC,GAAG,KAAK,QAAQ;gBAAE,OAAO,QAAQ,KAAK,GAAG,CAAC,8BAA8B,CAAC;YACxG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,OAAO,QAAQ,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,2BAA2B,CAAC;YACrG,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,GAAG,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,QAAQ,KAAK,GAAG,CAAC,SAAS,CAAC,CAAC;QACzH,CAAC,CAAC,CACH,CAAC;AACJ,CAAC;AAED,MAAM,WAAW,GAAG,CAAC,GAAY,EAAW,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAEnK;;;GAGG;AACH,MAAM,UAAU,eAAe,CAAC,IAAiB;IAC/C,MAAM,GAAG,GAAgB,EAAE,CAAC;IAC5B,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE;QAAE,GAAG,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrD,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE;QAAE,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;IACnD,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAAE,GAAG,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxG,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAC1E,IAAI,KAAK,CAAC,MAAM;QAAE,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;IACpC,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/L,IAAI,KAAK,CAAC,MAAM;QAAE,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;IACpC,MAAM,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAC1G,IAAI,QAAQ,CAAC,MAAM;QAAE,GAAG,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC7C,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAC/M,IAAI,KAAK,CAAC,MAAM;QAAE,GAAG,CAAC,KAAK,GAAG,KAAK,CAAC;IACpC,OAAO,GAAG,CAAC;AACb,CAAC;AAED,sHAAsH;AACtH,MAAM,UAAU,aAAa,CAAC,IAAiB,EAAE,IAAY;IAC3D,MAAM,MAAM,GAAgB,EAAE,CAAC;IAC/B,IAAI,IAAI,CAAC,KAAK;QAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAC3E,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM;QAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAC/E,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM;QAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,IAAI,WAAW,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IAC3M,IAAI,IAAI,CAAC,QAAQ,EAAE,MAAM;QAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACpG,IAAI,IAAI,CAAC,KAAK,EAAE,MAAM;QAAE,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;IACtL,OAAO,MAAM,CAAC;AAChB,CAAC"}
|