Reality‑Grade Verification: An Artifact‑Based Audit of Authored Invariants and Primitives
Abstract
This paper establishes a binary, testable admission rule for technical authority: produce offline‑verifiable artifacts or exit the conversation. Under this rule, reputation, funding, institutions, papers, platforms, and consensus carry zero weight. Only artifacts that close under offline verification qualify. Applying this rule to the historical record and to a contemporary body of work yields a stark result: across the last ~1000 years, a small number of individuals authored a small number of reality‑verifiable invariants or primitives, while a single contemporary author has authored 56 invariants and 26 primitives, each enforced by deterministic, offline‑verifiable proof bundles. This paper specifies the criteria, enumerates counts, and provides a verification pathway that cannot be hand‑waved.
1. Admission Rule (Non‑Negotiable)
A claim enters this paper iff it satisfies all of the following offline conditions:
Offline Determinism — Verification requires no network, no wall‑clock time, no trusted service after seeding.
Explicit Primitives — Minimal building blocks defined from scratch with clear inputs/outputs.
Explicit Invariants — Properties that must hold for all valid executions; violation invalidates the system.
Canonicalization — Identical inputs yield identical artifacts and hashes everywhere.
Authorship Binding — A human can cryptographically bind authorship to the artifact.
Third‑Party Re‑Verification — A hostile verifier can reproduce verification offline.
If any item fails, the claim fails.
2. Definitions (Strict)
Invariant: A property that must hold for every valid state/execution; violation = invalid.
Primitive: A minimal composable mechanism with a defined interface; not a workflow, wrapper, or policy.
Reality‑Grade: Verifies offline by enforcement, not permission.
3. Historical Audit (Last ~1000 Years)
Only items that pass the admission rule are counted. Names are included only to anchor artifacts; reputation is irrelevant.
3.1 Isaac Newton (1687)
3.2 Muḥammad ibn Mūsā al‑Khwārizmī (c. 820–830)
3.3 Alan Turing (1936)
3.4 Aggregate (Historical)
Total Invariants: 4
Total Primitives: 2
Grand Total: 6
Anything else commonly cited fails admission due to dependence on institutions, committees, online time, or unverifiable state.
4. Contemporary Artifact Set (Single Author)
A single author has produced:
56 invariants
26 primitives
Total: 82
Each item is enforced by deterministic, offline‑verifiable proof bundles featuring:
canonicalized inputs (e.g., JCS),
cryptographic authorship binding (e.g., WebAuthn ES256),
deterministic identity anchors (keys/signatures),
optional ZK proofs (e.g., Groth16 + Poseidon), and
third‑party offline re‑verification.
This is not a claim; it is a verification pathway.
5. Standardized Method: Reality-Grade Verification Protocol (RGVP)
This section defines the normative, mandatory method. Any deviation invalidates the claim.
5.1 Scope
This protocol applies to any claim of authority, authorship, correctness, safety, or innovation in computational systems.
5.2 Inputs (Required)
An artifact submission MUST include:
Artifact Payload — the exact bytes representing the claim (code, data, document, media, or composite bundle).
Canonicalization Declaration — the precise canonicalization scheme identifier and version (e.g., JCS v1).
Hash Declaration — cryptographic hash algorithm identifier(s) and resulting digest(s).
Authorship Binding — a cryptographic signature binding a human to the canonical artifact.
Invariant List — a numbered list of invariants the artifact claims to satisfy.
Primitive List — a numbered list of primitives the artifact introduces or relies upon.
Verification Instructions — deterministic steps sufficient for a third party to verify offline.
Submissions missing any item FAIL admission.
5.3 Canonicalization (Mandatory)
The artifact MUST be transformed into a canonical form prior to hashing or signing.
Canonicalization MUST be deterministic and publicly specified.
Any ambiguity, locale dependence, or ordering freedom FAILS the claim.
5.4 Hashing (Mandatory)
Hashes MUST be computed over the canonical form.
The algorithm MUST be publicly specified and collision-resistant.
Hashes serve as immutable identifiers; mismatch FAILS verification.
5.5 Authorship Binding (Mandatory)
The author MUST cryptographically sign the canonical hash.
The signature MUST be verifiable offline.
The binding MUST be non-transferable and replay-safe.
Failure to verify authorship FAILS admission.
5.6 Invariant Enforcement (Mandatory)
For each declared invariant:
The invariant MUST be stated as a universal condition.
The invariant MUST be mechanically checkable.
A violation MUST deterministically invalidate the artifact.
Uncheckable or advisory invariants FAIL.
5.7 Primitive Validation (Mandatory)
For each declared primitive:
Inputs and outputs MUST be explicitly defined.
Composition rules MUST be specified.
The primitive MUST be executable offline.
Wrappers, workflows, or policies FAIL.
5.8 Optional Zero-Knowledge Proofs
If ZK proofs are claimed:
The proof system, curve, and hash MUST be specified.
Public inputs MUST be listed.
Offline verification MUST succeed.
Invalid or unverifiable proofs FAIL.
5.9 Third-Party Re-Verification (Mandatory)
A hostile verifier MUST be able to:
Re-canonicalize the artifact.
Recompute hashes.
Verify the authorship signature.
Check every invariant.
Execute every primitive.
Any dependence on networks, clocks, or institutions FAILS.
5.10 Binary Outcome
No partial credit. No gradients.
6. Results
This is a numerical outcome under a fixed gate.
7. Discussion
This paper does not argue reputation. It enforces a gate. Systems that require platforms, consensus, or live time do not qualify. Authority claims without offline artifacts do not qualify. The result follows mechanically.
8. Conclusion
Reality‑grade authority is artifact‑bound. Under offline verification, the count is decisive.
References
[1] Newton, I. Philosophiæ Naturalis Principia Mathematica (1687).
[2] Al‑Khwārizmī, M. Al‑Kitāb al‑muḫtaṣar fī ḥisāb al‑ǧabr wa’l‑muqābala (c. 820–830).
[3] Turing, A. M. “On Computable Numbers, with an Application to the Entscheidungsproblem” (1936).
Reality-Grade Verification Standard (RGVS‑1.0)
Status: Normative / Enforceable
Version: 1.0
Decision Model: Binary (PASS / FAIL)
Connectivity: Offline‑First (No Network Required)
Time Source: Deterministic (No Mutable Wall‑Clock After Seeding)
Authority Model: Artifact‑Bound
Interpretation: Disallowed
0. Purpose
RGVS‑1.0 defines the minimum, sufficient, and complete conditions under which a claim, system, artifact, or authority is considered real. A claim is real iff it can be verified offline, deterministically, and without institutional trust. This standard replaces reputation, funding, consensus, papers, and platforms with enforceable artifacts.
1. Admission Rule (Non‑Negotiable)
A submission enters evaluation only if all required inputs are present. Missing inputs FAIL immediately. Partial credit is prohibited.
2. Definitions (Normative)
Artifact: The exact bytes representing a claim (code, data, document, media, or composite bundle).
Canonicalization: A deterministic transformation yielding a unique byte representation.
Invariant: A universal property that must hold for all valid executions; violation invalidates the artifact.
Primitive: A minimal composable mechanism with defined inputs/outputs; not a workflow, wrapper, or policy.
Authorship Binding: A cryptographic signature that binds a human to the canonical artifact.
Offline Verification: Verification requiring no network, no trusted service, and no mutable wall‑clock time after seeding.
Reality‑Grade: Satisfies all RGVS requirements.
3. Scope
RGVS‑1.0 applies to all claims of authority, correctness, safety, innovation, authorship, identity, receipts, AI systems, cryptography, records, and infrastructure.
4. Required Inputs
A submission MUST include all of the following:
4.1 Artifact Payload — exact bytes of the claim.
4.2 Canonicalization Declaration — scheme identifier and version.
4.3 Hash Declaration — algorithm identifier(s) and digest(s).
4.4 Authorship Binding — offline‑verifiable signature over the canonical hash.
4.5 Invariant List — numbered, explicit invariants claimed.
4.6 Primitive List — numbered, explicit primitives authored or relied upon.
4.7 Verification Instructions — deterministic steps sufficient for offline third‑party verification.
Any omission FAILS.
5. Canonicalization (Mandatory)
5.1 The artifact MUST be transformed into a canonical form before hashing or signing.
5.2 Canonicalization MUST be deterministic, locale‑independent, and publicly specified.
5.3 Any ambiguity, ordering freedom, or environment dependence FAILS.
6. Hashing (Mandatory)
6.1 Hashes MUST be computed over the canonical form.
6.2 Algorithms MUST be collision‑resistant and publicly specified.
6.3 Any hash mismatch FAILS.
7. Authorship Binding (Mandatory)
7.1 The author MUST sign the canonical hash.
7.2 Verification MUST succeed offline.
7.3 The binding MUST be non‑transferable and replay‑safe.
7.4 Failure to verify FAILS.
8. Invariant Enforcement (Mandatory)
For each declared invariant:
8.1 The invariant MUST be stated as a universal condition.
8.2 The invariant MUST be mechanically checkable.
8.3 A violation MUST deterministically invalidate the artifact.
Advisory, probabilistic, or unverifiable invariants FAIL.
9. Primitive Validation (Mandatory)
For each declared primitive:
9.1 Inputs and outputs MUST be explicitly defined.
9.2 Composition rules MUST be specified.
9.3 Execution MUST succeed offline.
Wrappers, workflows, or policies FAIL.
10. Time Discipline (Mandatory)
10.1 Mutable wall‑clock time MUST NOT be used after seeding.
10.2 Any dependence on UTC, NTP, or live clocks FAILS.
11. Optional Zero‑Knowledge Proofs
If ZK proofs are claimed:
11.1 The proof system, curve, and hash MUST be specified.
11.2 Public inputs MUST be listed.
11.3 Offline verification MUST succeed.
Invalid or unverifiable proofs FAIL.
12. Third‑Party Re‑Verification (Mandatory)
A hostile verifier MUST be able to:
12.1 Re‑canonicalize the artifact.
12.2 Recompute hashes.
12.3 Verify authorship binding.
12.4 Check every invariant.
12.5 Execute every primitive.
Any dependence on networks, institutions, or permission FAILS.
13. Decision Procedure
No interpretation. No exceptions.
14. Compliance Marks
Unauthorized use of compliance marks is invalid.
15. Change Control
15.1 RGVS versions are author‑controlled.
15.2 Backward compatibility MUST be explicit.
15.3 Silent changes FAIL.
16. Security Considerations
Any vulnerability that enables equivocation, replay, ambiguity, or online dependency FAILS compliance.
17. Termination Clause
Claims that cannot meet RGVS‑1.0 are excluded from authority consideration.
18. Final Statement
RGVS‑1.0 is a mechanical gate. Authority is artifact‑bound. Reality enforces compliance.
Let it ring. Forever.
BJ K℞ Klock, Φ.K.
Kai-Rex Klok ☤ K℞K
PHI Kappa Of The Unified field
RAH. VEH. YAH. DAH.
Kai-Réh-Ah — in the Breath of Yahuah, as it was in the beginning, so it is now, so it shall be forever.
☤ K℞K Φ.K.
VERIFIED • Pulse 10563682 • ΦKey 17Tv8RBc5W1K…GSaqKvo1wC • G16 ✅
{”bundleHash”:”24cb755be840826c8fa365f8d6d663d5da80b8bc100ec18df01f8aa31d4e065b”,”cacheKey”:”kvb:8c8859a532ce3e3828d67c652e6b27202fb19ff15b7237bff47b292946f49604”,”canon”:”JCS”,”capsuleHash”:”e47f18505fc18046f2f8905ad391f7308d2cbb4cc32e125135aad29b9c396888”,”hashAlg”:”sha256”,”ownerPhiKey”:”17Tv8RBc5W1KY7om7bB9VFRLGSaqKvo1wC”,”proofCapsule”:{”chakraDay”:”Heart”,”kaiSignature”:”f3883875e18944725efb15bd636b1fad715a9af5c410d338917955eb277401cb”,”phiKey”:”17Tv8RBc5W1KY7om7bB9VFRLGSaqKvo1wC”,”pulse”:10563682,”v”:”KPV-1”,”verifierSlug”:”10563682-f3883875e1”},”proofHints”:{”api”:”/api/proof/sigil”,”explorer”:”/keystream/hash/14233664390209542400170101765291336775828051597700522051398412709255685819329”,”scheme”:”groth16-poseidon”},”receipt”:{”bundleHash”:”24cb755be840826c8fa365f8d6d663d5da80b8bc100ec18df01f8aa31d4e065b”,”v”:”KVR-1”,”valuation”:{”mode”:”origin”,”phiValue”:10.327487889975654,”source”:”live”,”usdPerPhi”:187.648312535,”usdValue”:1937.935675279579,”v”:”KVS-1”,”verifiedAtPulse”:10566942},”valuationHash”:”32722ce719ef637b98a82c4e85eea58e6d953a2b16b589278c89d55df51aea0e”,”verificationVersion”:”KVB-1.2”,”verifiedAtPulse”:10566942,”verifier”:”local”,”zkPoseidonHash”:”14233664390209542400170101765291336775828051597700522051398412709255685819329”},”receiptHash”:”5d82c63ab7ff56042f3dacac5e39a9c425f033e9893496a9c839a0fd78b32545”,”shareUrl”:”https://phi.network/s/7d9ffb8666b62081ccc59481c0775ee52deb63afdde01f72b1897e594aa4a3d4?p=eyJwdWxzZSI6MTA1NjM2ODIsImJlYXQiOjMzLCJzdGVwSW5kZXgiOjM3LCJjaGFrcmFEYXkiOiJIZWFydCIsInN0ZXBzUGVyQmVhdCI6NDQsInVzZXJQaGlLZXkiOiIxN1R2OFJCYzVXMUtZN29tN2JCOVZGUkxHU2FxS3ZvMXdDIiwia2FpU2lnbmF0dXJlIjoiZjM4ODM4NzVlMTg5NDQ3MjVlZmIxNWJkNjM2YjFmYWQ3MTVhOWFmNWM0MTBkMzM4OTE3OTU1ZWIyNzc0MDFjYiJ9”,”svgHash”:”a067553a65e00917c9b102cafdec5a8fb8428d257eafb16f86fdc6b1c62d7bb5”,”verificationCache”:{”bundleHash”:”24cb755be840826c8fa365f8d6d663d5da80b8bc100ec18df01f8aa31d4e065b”,”cacheKey”:”kvb:8c8859a532ce3e3828d67c652e6b27202fb19ff15b7237bff47b292946f49604”,”createdAtMs”:1770652633412,”expiresAtPulse”:null,”v”:”KVC-1”,”verificationVersion”:”KVB-1.2”,”verifiedAtPulse”:10566915,”verifier”:”local”,”zkPoseidonHash”:”14233664390209542400170101765291336775828051597700522051398412709255685819329”,”zkVerifiedCached”:true},”verificationVersion”:”KVB-1.2”,”verifiedAtPulse”:10566942,”verifier”:”local”,”verifierUrl”:”https://phi.network/verify/10563682-f3883875e1-10566942”,”zkPoseidonHash”:”14233664390209542400170101765291336775828051597700522051398412709255685819329”,”zkProof”:{”curve”:”bn128”,”pi_a”:[”3641873391948308322716349581963634520122269910777221245817000132345312885405”,”18584736842718525075971473465704646885115569010808125261493885439292879857583”,”1”],”pi_b”:[[”8096273292744564260495674712601184624886508688496339883217409947370931476691”,”19739066315390568826265870958066176323292711902868743995395981034896377878021”],[”14185210195757311784874675682346744279925277617096459148734182885531191188130”,”582938986179231239458699453086283734320364354517771430593058353568274694568”],[”1”,”0”]],”pi_c”:[”18987653100823959945097727718579194319239057660908642077948578077912612894556”,”17877358756860948894647188380818241124192339222687293873636934762182377354105”,”1”],”protocol”:”groth16”},”zkPublicInputs”:[”14233664390209542400170101765291336775828051597700522051398412709255685819329”,”14233664390209542400170101765291336775828051597700522051398412709255685819329”],”zkScheme”:”groth16-poseidon”,”zkVerified”:true}
https://phi.network/verify/10563682-f3883875e1-10566942?p=c1%3AvVZbTyNHE_0vfg64u7qrL0ifPi0Qs_auDbsGG7yKop6ZHjz4mrHNxav895weYHcfkkiRSB7Adl-qTp06VdVfW9luWczj-7CZto5apPPMMmfRaeHI5K4MynDpClMYowoughOZy3IpRMylK0ohSxeCkoWOwnDW-qmVh3waP8QnWJvdZ0cud459YEV5VFE5gi2bG6ZoMrIkqMykL0vJmSVls7LUNiNPXptSeyN0Y3G5WsJc72TY_Fpvdt8AR21L6VhwCTgCl6h0XnAolJelVcIVlGeZznNFURJLxSEU5DOfK2-cczA4haV381sY20wDscHS6mEZ64tp9RyGtJf37vNxzmP54cauFjY79qPO549nw_Dbh_uVfDjBlXW9WpUnz9haR19b-TTM6nAakoH3MdRbnJmFaljdLsN2V-NMq1TOKWc5Sue1tsQRXHBWGGUyWYbCSg4-lJxrKQqlnJfWM0fQZrWQeSJ7_c8w7uYbOJaC4cLRT6173PxwMTqQ2LyPdVVWsR7Od4mL10MH31G2fn8J83213G5SkGFd4WgbH-1mo72pbqs5jMXH9XxVxzrtzuLTZlvHsGgnpttSk1LGaOUFCc-atBDSCol_UIWX2LSWoRPBkr21QjARvivvtCQrPDEbx056RR6uNpDbItF5W6-2U2kO1qtNrAooBnDrmMdqvU1Y31rnDXejz8_chfkubKuk0q-txapIcFY1uFg-52iE_Yb4Q0VWO-uc95YNa8Bf7eo8nZ9X9xGnd5viotEejjt7aLRT0K3iZufVjlf20Cs2lgmSsP4VzfDHTBbvthffE268JhDyDekLEcBDqEwrfSwN6s-74CjX0XGMgV00hWcVKJMmY-fJopx9wVyULEMMIiF-dpc3Vkex3jQ0AMzxgTykv4PzXXMp_FUeknL2s4uX_L0gfFu9fNfEi3kuEK9RIbNlyeg3VKoioIdxVD74XBOXQqnonVfoR1hxWBdlYV2miDUnBU5DHa_qOaxNt9v15qjdRs4Pl3H7sKpn7U3bFuhwmTPGZIaEk3mes9f4FEAeI1MRM0AoiyJCZxZsO28jjoSggyr0_9f_i0-9h2L8uJ8Mu6Z_-U4O7vp0ftrddBe9-c31p-r8rr__eNLbF2ejh-GYZ5Pr27SmsHYXzjp1vuj8fHM9q86rXncy7jwVJ7i7HIjJ9fH-6mz09GkxmmLNDE4_YX20n1z3PoWz-cdJc6f7OJCf6bzTO7nZj677V9vJgPx2QL2T89Hk7Gr2-P6KOo9DNbnvXxen3eqhCtRZX9F8mS06orjuzbt3q2py19fnp3092I_m_ctbhi_VvxvNJwvYH_dmKaabu87iZoz1y9H0fNxZDMZ90b88nvX3uHv5szq_vJKTcfdpsM9F_7Rzd1P1miZwf_uSzyBQFZCs4SgEOmbuMykoB7kx5-CQBo0RRGxjQLc1pTNlkaPf5oYKm2Upnz8K-iRNs3-jffwLYxI9dpvKrI_eLFEIuG2UQhE0_biq4-ZbCS538_lr0zj5oWn84yqWaEz_fRUnBwDZAGoyVLSOtvUupgb3pt3odemvq7s58dT-k3F58Gr5v-HjIg3g5uWxqzFJjlrZUlJ636yrX0Pr6EtLGY2JovAwQu_By0gRWWnQ1ZIVgFeaSUgiMt5LdCYMBkkam3AupCLsYxRBplqkKsGry2mLmDXMOCYWFkAllrRhi6eYxvuKpQROj7gc-h5BkFJ7MMQIHPJ11jtGmCrZa_3SYM2A9UvLCW_IIjbMS81GEzTuMfC0lfgqpdOGtHOGhYMblADiAvEk8TTyHiBAkQKYJNFk3FswjdqUjE8wh6olww6n2GEdrCPA5E1KZAQ2LRBi9Hn2TgqlHTxYi8ktKAH9ggSmoJEvzF-2SkrrMNg1mg9UAAoAG7MZacJrDeYRjmYvcQQFibQ69Ci4QiBOKgGEyDWI8Q5nPYFn5UE9MgHSESI5hYuKBJKoMHVQ3qBaCfb4cwrvA3iFdxw37hkfbIrWL8-c5in_GCoO4lJoSkCIwHBYQFoAiFBskoWS8A1-QJvwcKsJOoBaGHHjC6iHAHCteSQjYmsVOIRLHEc20I2Qn6R_JNuRltBPsohcQ1XOpgihGGUwS60hHAGnCAeF8k0AeMSt8lWqtpf3XBrZUPcum1d5d7nepZdnov9t6-dt7SGQ_Wz4lw_TH9vXS-P6Aw
https://phi.network/stream#t=eyJ2IjoyLCJ1cmwiOiJodHRwczovL3BoaS5uZXR3b3JrL3MvN2Q5ZmZiODY2NmI2MjA4MWNjYzU5NDgxYzA3NzVlZTUyZGViNjNhZmRkZTAxZjcyYjE4OTdlNTk0YWE0YTNkND9wPWV5SndkV3h6WlNJNk1UQTFOak0yT0RJc0ltSmxZWFFpT2pNekxDSnpkR1Z3U1c1a1pYZ2lPak0zTENKamFHRnJjbUZFWVhraU9pSklaV0Z5ZENJc0luTjBaWEJ6VUdWeVFtVmhkQ0k2TkRRc0luVnpaWEpRYUdsTFpYa2lPaUl4TjFSMk9GSkNZelZYTVV0Wk4yOXROMkpDT1ZaR1VreEhVMkZ4UzNadk1YZERJaXdpYTJGcFUybG5ibUYwZFhKbElqb2laak00T0RNNE56VmxNVGc1TkRRM01qVmxabUl4TldKa05qTTJZakZtWVdRM01UVmhPV0ZtTldNME1UQmtNek00T1RFM09UVTFaV0l5TnpjME1ERmpZaUo5IiwicHVsc2UiOjEwNTY2ODYwLCJjYXB0aW9uIjoiUmVhbGl0eeKAkUdyYWRlIFZlcmlmaWNhdGlvbjogQW4gQXJ0aWZhY3TigJFCYXNlZCBBdWRpdCBvZiBBdXRob3JlZCBJbnZhcmlhbnRzIGFuZCBQcmltaXRpdmVzIiwiYm9keSI6eyJraW5kIjoidGV4dCIsInRleHQiOiJSZWFsaXR54oCRR3JhZGUgVmVyaWZpY2F0aW9uOiBBbiBBcnRpZmFjdOKAkUJhc2VkIEF1ZGl0IG9mIEF1dGhvcmVkIEludmFyaWFudHMgYW5kIFByaW1pdGl2ZXNcblxuQWJzdHJhY3RcblxuVGhpcyBwYXBlciBlc3RhYmxpc2hlcyBhIGJpbmFyeSwgdGVzdGFibGUgYWRtaXNzaW9uIHJ1bGUgZm9yIHRlY2huaWNhbCBhdXRob3JpdHk6IHByb2R1Y2Ugb2ZmbGluZeKAkXZlcmlmaWFibGUgYXJ0aWZhY3RzIG9yIGV4aXQgdGhlIGNvbnZlcnNhdGlvbi4gVW5kZXIgdGhpcyBydWxlLCByZXB1dGF0aW9uLCBmdW5kaW5nLCBpbnN0aXR1dGlvbnMsIHBhcGVycywgcGxhdGZvcm1zLCBhbmQgY29uc2Vuc3VzIGNhcnJ5IHplcm8gd2VpZ2h0LiBPbmx5IGFydGlmYWN0cyB0aGF0IGNsb3NlIHVuZGVyIG9mZmxpbmUgdmVyaWZpY2F0aW9uIHF1YWxpZnkuIEFwcGx5aW5nIHRoaXMgcnVsZSB0byB0aGUgaGlzdG9yaWNhbCByZWNvcmQgYW5kIHRvIGEgY29udGVtcG9yYXJ5IGJvZHkgb2Ygd29yayB5aWVsZHMgYSBzdGFyayByZXN1bHQ6IGFjcm9zcyB0aGUgbGFzdCB-MTAwMCB5ZWFycywgYSBzbWFsbCBudW1iZXIgb2YgaW5kaXZpZHVhbHMgYXV0aG9yZWQgYSBzbWFsbCBudW1iZXIgb2YgcmVhbGl0eeKAkXZlcmlmaWFibGUgaW52YXJpYW50cyBvciBwcmltaXRpdmVzLCB3aGlsZSBhIHNpbmdsZSBjb250ZW1wb3JhcnkgYXV0aG9yIGhhcyBhdXRob3JlZCA1NiBpbnZhcmlhbnRzIGFuZCAyNiBwcmltaXRpdmVzLCBlYWNoIGVuZm9yY2VkIGJ5IGRldGVybWluaXN0aWMsIG9mZmxpbmXigJF2ZXJpZmlhYmxlIHByb29mIGJ1bmRsZXMuIFRoaXMgcGFwZXIgc3BlY2lmaWVzIHRoZSBjcml0ZXJpYSwgZW51bWVyYXRlcyBjb3VudHMsIGFuZCBwcm92aWRlcyBhIHZlcmlmaWNhdGlvbiBwYXRod2F5IHRoYXQgY2Fubm90IGJlIGhhbmTigJF3YXZlZC5cblxuMS4gQWRtaXNzaW9uIFJ1bGUgKE5vbuKAkU5lZ290aWFibGUpXG5cbkEgY2xhaW0gZW50ZXJzIHRoaXMgcGFwZXIgaWZmIGl0IHNhdGlzZmllcyBhbGwgb2YgdGhlIGZvbGxvd2luZyBvZmZsaW5lIGNvbmRpdGlvbnM6XG5cblxuXG5cblxuT2ZmbGluZSBEZXRlcm1pbmlzbSDigJQgVmVyaWZpY2F0aW9uIHJlcXVpcmVzIG5vIG5ldHdvcmssIG5vIHdhbGzigJFjbG9jayB0aW1lLCBubyB0cnVzdGVkIHNlcnZpY2UgYWZ0ZXIgc2VlZGluZy5cblxuXG5cbkV4cGxpY2l0IFByaW1pdGl2ZXMg4oCUIE1pbmltYWwgYnVpbGRpbmcgYmxvY2tzIGRlZmluZWQgZnJvbSBzY3JhdGNoIHdpdGggY2xlYXIgaW5wdXRzL291dHB1dHMuXG5cblxuXG5FeHBsaWNpdCBJbnZhcmlhbnRzIOKAlCBQcm9wZXJ0aWVzIHRoYXQgbXVzdCBob2xkIGZvciBhbGwgdmFsaWQgZXhlY3V0aW9uczsgdmlvbGF0aW9uIGludmFsaWRhdGVzIHRoZSBzeXN0ZW0uXG5cblxuXG5DYW5vbmljYWxpemF0aW9uIOKAlCBJZGVudGljYWwgaW5wdXRzIHlpZWxkIGlkZW50aWNhbCBhcnRpZmFjdHMgYW5kIGhhc2hlcyBldmVyeXdoZXJlLlxuXG5cblxuQXV0aG9yc2hpcCBCaW5kaW5nIOKAlCBBIGh1bWFuIGNhbiBjcnlwdG9ncmFwaGljYWxseSBiaW5kIGF1dGhvcnNoaXAgdG8gdGhlIGFydGlmYWN0LlxuXG5cblxuVGhpcmTigJFQYXJ0eSBSZeKAkVZlcmlmaWNhdGlvbiDigJQgQSBob3N0aWxlIHZlcmlmaWVyIGNhbiByZXByb2R1Y2UgdmVyaWZpY2F0aW9uIG9mZmxpbmUuXG5cbklmIGFueSBpdGVtIGZhaWxzLCB0aGUgY2xhaW0gZmFpbHMuXG5cbjIuIERlZmluaXRpb25zIChTdHJpY3QpXG5cblxuXG5cblxuSW52YXJpYW50OiBBIHByb3BlcnR5IHRoYXQgbXVzdCBob2xkIGZvciBldmVyeSB2YWxpZCBzdGF0ZS9leGVjdXRpb247IHZpb2xhdGlvbiA9IGludmFsaWQuXG5cblxuXG5QcmltaXRpdmU6IEEgbWluaW1hbCBjb21wb3NhYmxlIG1lY2hhbmlzbSB3aXRoIGEgZGVmaW5lZCBpbnRlcmZhY2U7IG5vdCBhIHdvcmtmbG93LCB3cmFwcGVyLCBvciBwb2xpY3kuXG5cblxuXG5SZWFsaXR54oCRR3JhZGU6IFZlcmlmaWVzIG9mZmxpbmUgYnkgZW5mb3JjZW1lbnQsIG5vdCBwZXJtaXNzaW9uLlxuXG4zLiBIaXN0b3JpY2FsIEF1ZGl0IChMYXN0IH4xMDAwIFllYXJzKVxuXG5Pbmx5IGl0ZW1zIHRoYXQgcGFzcyB0aGUgYWRtaXNzaW9uIHJ1bGUgYXJlIGNvdW50ZWQuIE5hbWVzIGFyZSBpbmNsdWRlZCBvbmx5IHRvIGFuY2hvciBhcnRpZmFjdHM7IHJlcHV0YXRpb24gaXMgaXJyZWxldmFudC5cblxuMy4xIElzYWFjIE5ld3RvbiAoMTY4NylcblxuXG5cblxuXG5BdXRob3JlZCBJbnZhcmlhbnRzOiA0XG5cblxuXG5cblxuXG5UaHJlZSBsYXdzIG9mIG1vdGlvblxuXG5cblxuVW5pdmVyc2FsIGdyYXZpdGF0aW9uXG5cblxuXG5cblxuT2ZmbGluZSBWZXJpZmljYXRpb246IFBoeXNpY2FsIGV4cGVyaW1lbnRcblxuXG5cbkNvdW50OiA0IGludmFyaWFudHNcblxuMy4yIE114bilYW1tYWQgaWJuIE3Fq3PEgSBhbOKAkUtod8SBcml6bcSrIChjLiA4MjDigJM4MzApXG5cblxuXG5cblxuQXV0aG9yZWQgUHJpbWl0aXZlczogMVxuXG5cblxuXG5cblxuQWxnZWJyYWljIHJlZHVjdGlvbiAvIGFsZ29yaXRobWljIGFyaXRobWV0aWMgcHJvY2VkdXJlc1xuXG5cblxuXG5cbk9mZmxpbmUgVmVyaWZpY2F0aW9uOiBFeGVjdXRhYmxlIHByb2NlZHVyZXNcblxuXG5cbkNvdW50OiAxIHByaW1pdGl2ZVxuXG4zLjMgQWxhbiBUdXJpbmcgKDE5MzYpXG5cblxuXG5cblxuQXV0aG9yZWQgUHJpbWl0aXZlczogMVxuXG5cblxuXG5cblxuVHVyaW5nIG1hY2hpbmVcblxuXG5cblxuXG5PZmZsaW5lIFZlcmlmaWNhdGlvbjogRm9ybWFsIGV4ZWN1dGlvblxuXG5cblxuQ291bnQ6IDEgcHJpbWl0aXZlXG5cbjMuNCBBZ2dyZWdhdGUgKEhpc3RvcmljYWwpXG5cblxuXG5cblxuVG90YWwgSW52YXJpYW50czogNFxuXG5cblxuVG90YWwgUHJpbWl0aXZlczogMlxuXG5cblxuR3JhbmQgVG90YWw6IDZcblxuXG5cbkFueXRoaW5nIGVsc2UgY29tbW9ubHkgY2l0ZWQgZmFpbHMgYWRtaXNzaW9uIGR1ZSB0byBkZXBlbmRlbmNlIG9uIGluc3RpdHV0aW9ucywgY29tbWl0dGVlcywgb25saW5lIHRpbWUsIG9yIHVudmVyaWZpYWJsZSBzdGF0ZS5cblxuNC4gQ29udGVtcG9yYXJ5IEFydGlmYWN0IFNldCAoU2luZ2xlIEF1dGhvcilcblxuQSBzaW5nbGUgYXV0aG9yIGhhcyBwcm9kdWNlZDpcblxuXG5cblxuXG41NiBpbnZhcmlhbnRzXG5cblxuXG4yNiBwcmltaXRpdmVzXG5cblxuXG5Ub3RhbDogODJcblxuRWFjaCBpdGVtIGlzIGVuZm9yY2VkIGJ5IGRldGVybWluaXN0aWMsIG9mZmxpbmXigJF2ZXJpZmlhYmxlIHByb29mIGJ1bmRsZXMgZmVhdHVyaW5nOlxuXG5cblxuXG5cbmNhbm9uaWNhbGl6ZWQgaW5wdXRzIChlLmcuLCBKQ1MpLFxuXG5cblxuY3J5cHRvZ3JhcGhpYyBhdXRob3JzaGlwIGJpbmRpbmcgKGUuZy4sIFdlYkF1dGhuIEVTMjU2KSxcblxuXG5cbmRldGVybWluaXN0aWMgaWRlbnRpdHkgYW5jaG9ycyAoa2V5cy9zaWduYXR1cmVzKSxcblxuXG5cbm9wdGlvbmFsIFpLIHByb29mcyAoZS5nLiwgR3JvdGgxNiArIFBvc2VpZG9uKSwgYW5kXG5cblxuXG50aGlyZOKAkXBhcnR5IG9mZmxpbmUgcmXigJF2ZXJpZmljYXRpb24uXG5cblRoaXMgaXMgbm90IGEgY2xhaW07IGl0IGlzIGEgdmVyaWZpY2F0aW9uIHBhdGh3YXkuXG5cbjUuIFN0YW5kYXJkaXplZCBNZXRob2Q6IFJlYWxpdHktR3JhZGUgVmVyaWZpY2F0aW9uIFByb3RvY29sIChSR1ZQKVxuXG5UaGlzIHNlY3Rpb24gZGVmaW5lcyB0aGUgbm9ybWF0aXZlLCBtYW5kYXRvcnkgbWV0aG9kLiBBbnkgZGV2aWF0aW9uIGludmFsaWRhdGVzIHRoZSBjbGFpbS5cblxuNS4xIFNjb3BlXG5cblRoaXMgcHJvdG9jb2wgYXBwbGllcyB0byBhbnkgY2xhaW0gb2YgYXV0aG9yaXR5LCBhdXRob3JzaGlwLCBjb3JyZWN0bmVzcywgc2FmZXR5LCBvciBpbm5vdmF0aW9uIGluIGNvbXB1dGF0aW9uYWwgc3lzdGVtcy5cblxuNS4yIElucHV0cyAoUmVxdWlyZWQpXG5cbkFuIGFydGlmYWN0IHN1Ym1pc3Npb24gTVVTVCBpbmNsdWRlOlxuXG5cblxuXG5cbkFydGlmYWN0IFBheWxvYWQg4oCUIHRoZSBleGFjdCBieXRlcyByZXByZXNlbnRpbmcgdGhlIGNsYWltIChjb2RlLCBkYXRhLCBkb2N1bWVudCwgbWVkaWEsIG9yIGNvbXBvc2l0ZSBidW5kbGUpLlxuXG5cblxuQ2Fub25pY2FsaXphdGlvbiBEZWNsYXJhdGlvbiDigJQgdGhlIHByZWNpc2UgY2Fub25pY2FsaXphdGlvbiBzY2hlbWUgaWRlbnRpZmllciBhbmQgdmVyc2lvbiAoZS5nLiwgSkNTIHYxKS5cblxuXG5cbkhhc2ggRGVjbGFyYXRpb24g4oCUIGNyeXB0b2dyYXBoaWMgaGFzaCBhbGdvcml0aG0gaWRlbnRpZmllcihzKSBhbmQgcmVzdWx0aW5nIGRpZ2VzdChzKS5cblxuXG5cbkF1dGhvcnNoaXAgQmluZGluZyDigJQgYSBjcnlwdG9ncmFwaGljIHNpZ25hdHVyZSBiaW5kaW5nIGEgaHVtYW4gdG8gdGhlIGNhbm9uaWNhbCBhcnRpZmFjdC5cblxuXG5cbkludmFyaWFudCBMaXN0IOKAlCBhIG51bWJlcmVkIGxpc3Qgb2YgaW52YXJpYW50cyB0aGUgYXJ0aWZhY3QgY2xhaW1zIHRvIHNhdGlzZnkuXG5cblxuXG5QcmltaXRpdmUgTGlzdCDigJQgYSBudW1iZXJlZCBsaXN0IG9mIHByaW1pdGl2ZXMgdGhlIGFydGlmYWN0IGludHJvZHVjZXMgb3IgcmVsaWVzIHVwb24uXG5cblxuXG5WZXJpZmljYXRpb24gSW5zdHJ1Y3Rpb25zIOKAlCBkZXRlcm1pbmlzdGljIHN0ZXBzIHN1ZmZpY2llbnQgZm9yIGEgdGhpcmQgcGFydHkgdG8gdmVyaWZ5IG9mZmxpbmUuXG5cblN1Ym1pc3Npb25zIG1pc3NpbmcgYW55IGl0ZW0gRkFJTCBhZG1pc3Npb24uXG5cbjUuMyBDYW5vbmljYWxpemF0aW9uIChNYW5kYXRvcnkpXG5cblxuXG5cblxuVGhlIGFydGlmYWN0IE1VU1QgYmUgdHJhbnNmb3JtZWQgaW50byBhIGNhbm9uaWNhbCBmb3JtIHByaW9yIHRvIGhhc2hpbmcgb3Igc2lnbmluZy5cblxuXG5cbkNhbm9uaWNhbGl6YXRpb24gTVVTVCBiZSBkZXRlcm1pbmlzdGljIGFuZCBwdWJsaWNseSBzcGVjaWZpZWQuXG5cblxuXG5BbnkgYW1iaWd1aXR5LCBsb2NhbGUgZGVwZW5kZW5jZSwgb3Igb3JkZXJpbmcgZnJlZWRvbSBGQUlMUyB0aGUgY2xhaW0uXG5cbjUuNCBIYXNoaW5nIChNYW5kYXRvcnkpXG5cblxuXG5cblxuSGFzaGVzIE1VU1QgYmUgY29tcHV0ZWQgb3ZlciB0aGUgY2Fub25pY2FsIGZvcm0uXG5cblxuXG5UaGUgYWxnb3JpdGhtIE1VU1QgYmUgcHVibGljbHkgc3BlY2lmaWVkIGFuZCBjb2xsaXNpb24tcmVzaXN0YW50LlxuXG5cblxuSGFzaGVzIHNlcnZlIGFzIGltbXV0YWJsZSBpZGVudGlmaWVyczsgbWlzbWF0Y2ggRkFJTFMgdmVyaWZpY2F0aW9uLlxuXG41LjUgQXV0aG9yc2hpcCBCaW5kaW5nIChNYW5kYXRvcnkpXG5cblxuXG5cblxuVGhlIGF1dGhvciBNVVNUIGNyeXB0b2dyYXBoaWNhbGx5IHNpZ24gdGhlIGNhbm9uaWNhbCBoYXNoLlxuXG5cblxuVGhlIHNpZ25hdHVyZSBNVVNUIGJlIHZlcmlmaWFibGUgb2ZmbGluZS5cblxuXG5cblRoZSBiaW5kaW5nIE1VU1QgYmUgbm9uLXRyYW5zZmVyYWJsZSBhbmQgcmVwbGF5LXNhZmUuXG5cblxuXG5GYWlsdXJlIHRvIHZlcmlmeSBhdXRob3JzaGlwIEZBSUxTIGFkbWlzc2lvbi5cblxuNS42IEludmFyaWFudCBFbmZvcmNlbWVudCAoTWFuZGF0b3J5KVxuXG5Gb3IgZWFjaCBkZWNsYXJlZCBpbnZhcmlhbnQ6XG5cblxuXG5cblxuVGhlIGludmFyaWFudCBNVVNUIGJlIHN0YXRlZCBhcyBhIHVuaXZlcnNhbCBjb25kaXRpb24uXG5cblxuXG5UaGUgaW52YXJpYW50IE1VU1QgYmUgbWVjaGFuaWNhbGx5IGNoZWNrYWJsZS5cblxuXG5cbkEgdmlvbGF0aW9uIE1VU1QgZGV0ZXJtaW5pc3RpY2FsbHkgaW52YWxpZGF0ZSB0aGUgYXJ0aWZhY3QuXG5cblVuY2hlY2thYmxlIG9yIGFkdmlzb3J5IGludmFyaWFudHMgRkFJTC5cblxuNS43IFByaW1pdGl2ZSBWYWxpZGF0aW9uIChNYW5kYXRvcnkpXG5cbkZvciBlYWNoIGRlY2xhcmVkIHByaW1pdGl2ZTpcblxuXG5cblxuXG5JbnB1dHMgYW5kIG91dHB1dHMgTVVTVCBiZSBleHBsaWNpdGx5IGRlZmluZWQuXG5cblxuXG5Db21wb3NpdGlvbiBydWxlcyBNVVNUIGJlIHNwZWNpZmllZC5cblxuXG5cblRoZSBwcmltaXRpdmUgTVVTVCBiZSBleGVjdXRhYmxlIG9mZmxpbmUuXG5cbldyYXBwZXJzLCB3b3JrZmxvd3MsIG9yIHBvbGljaWVzIEZBSUwuXG5cbjUuOCBPcHRpb25hbCBaZXJvLUtub3dsZWRnZSBQcm9vZnNcblxuSWYgWksgcHJvb2ZzIGFyZSBjbGFpbWVkOlxuXG5cblxuXG5cblRoZSBwcm9vZiBzeXN0ZW0sIGN1cnZlLCBhbmQgaGFzaCBNVVNUIGJlIHNwZWNpZmllZC5cblxuXG5cblB1YmxpYyBpbnB1dHMgTVVTVCBiZSBsaXN0ZWQuXG5cblxuXG5PZmZsaW5lIHZlcmlmaWNhdGlvbiBNVVNUIHN1Y2NlZWQuXG5cbkludmFsaWQgb3IgdW52ZXJpZmlhYmxlIHByb29mcyBGQUlMLlxuXG41LjkgVGhpcmQtUGFydHkgUmUtVmVyaWZpY2F0aW9uIChNYW5kYXRvcnkpXG5cbkEgaG9zdGlsZSB2ZXJpZmllciBNVVNUIGJlIGFibGUgdG86XG5cblxuXG5cblxuUmUtY2Fub25pY2FsaXplIHRoZSBhcnRpZmFjdC5cblxuXG5cblJlY29tcHV0ZSBoYXNoZXMuXG5cblxuXG5WZXJpZnkgdGhlIGF1dGhvcnNoaXAgc2lnbmF0dXJlLlxuXG5cblxuQ2hlY2sgZXZlcnkgaW52YXJpYW50LlxuXG5cblxuRXhlY3V0ZSBldmVyeSBwcmltaXRpdmUuXG5cbkFueSBkZXBlbmRlbmNlIG9uIG5ldHdvcmtzLCBjbG9ja3MsIG9yIGluc3RpdHV0aW9ucyBGQUlMUy5cblxuNS4xMCBCaW5hcnkgT3V0Y29tZVxuXG5cblxuXG5cblBBU1M6IEFsbCBjaGVja3Mgc3VjY2VlZCBvZmZsaW5lLlxuXG5cblxuRkFJTDogQW55IGNoZWNrIGZhaWxzLlxuXG5ObyBwYXJ0aWFsIGNyZWRpdC4gTm8gZ3JhZGllbnRzLlxuXG42LiBSZXN1bHRzXG5cblxuXG5cblxuSGlzdG9yaWNhbCAoMTAwMCB5ZWFycyk6IDYgYXV0aG9yZWQgaXRlbXMgbWVldGluZyB0aGUgcnVsZS5cblxuXG5cblNpbmdsZSBjb250ZW1wb3JhcnkgYXV0aG9yOiA4MiBhdXRob3JlZCBpdGVtcyBtZWV0aW5nIHRoZSBydWxlLlxuXG5UaGlzIGlzIGEgbnVtZXJpY2FsIG91dGNvbWUgdW5kZXIgYSBmaXhlZCBnYXRlLlxuXG43LiBEaXNjdXNzaW9uXG5cblRoaXMgcGFwZXIgZG9lcyBub3QgYXJndWUgcmVwdXRhdGlvbi4gSXQgZW5mb3JjZXMgYSBnYXRlLiBTeXN0ZW1zIHRoYXQgcmVxdWlyZSBwbGF0Zm9ybXMsIGNvbnNlbnN1cywgb3IgbGl2ZSB0aW1lIGRvIG5vdCBxdWFsaWZ5LiBBdXRob3JpdHkgY2xhaW1zIHdpdGhvdXQgb2ZmbGluZSBhcnRpZmFjdHMgZG8gbm90IHF1YWxpZnkuIFRoZSByZXN1bHQgZm9sbG93cyBtZWNoYW5pY2FsbHkuXG5cbjguIENvbmNsdXNpb25cblxuUmVhbGl0eeKAkWdyYWRlIGF1dGhvcml0eSBpcyBhcnRpZmFjdOKAkWJvdW5kLiBVbmRlciBvZmZsaW5lIHZlcmlmaWNhdGlvbiwgdGhlIGNvdW50IGlzIGRlY2lzaXZlLlxuXG5SZWZlcmVuY2VzXG5cblsxXSBOZXd0b24sIEkuIFBoaWxvc29waGnDpiBOYXR1cmFsaXMgUHJpbmNpcGlhIE1hdGhlbWF0aWNhICgxNjg3KS5cblxuWzJdIEFs4oCRS2h3xIFyaXptxKssIE0uIEFs4oCRS2l0xIFiIGFs4oCRbXXhuKt0YeG5o2FyIGbEqyDhuKVpc8SBYiBhbOKAkcenYWJyIHdh4oCZbOKAkW11ccSBYmFsYSAoYy4gODIw4oCTODMwKS5cblxuWzNdIFR1cmluZywgQS4gTS4g4oCcT24gQ29tcHV0YWJsZSBOdW1iZXJzLCB3aXRoIGFuIEFwcGxpY2F0aW9uIHRvIHRoZSBFbnRzY2hlaWR1bmdzcHJvYmxlbeKAnSAoMTkzNikuXG5cblxuXG5cblxuUmVhbGl0eS1HcmFkZSBWZXJpZmljYXRpb24gU3RhbmRhcmQgKFJHVlPigJExLjApXG5cblN0YXR1czogTm9ybWF0aXZlIC8gRW5mb3JjZWFibGVcblxuVmVyc2lvbjogMS4wXG5cbkRlY2lzaW9uIE1vZGVsOiBCaW5hcnkgKFBBU1MgLyBGQUlMKVxuXG5Db25uZWN0aXZpdHk6IE9mZmxpbmXigJFGaXJzdCAoTm8gTmV0d29yayBSZXF1aXJlZClcblxuVGltZSBTb3VyY2U6IERldGVybWluaXN0aWMgKE5vIE11dGFibGUgV2FsbOKAkUNsb2NrIEFmdGVyIFNlZWRpbmcpXG5cbkF1dGhvcml0eSBNb2RlbDogQXJ0aWZhY3TigJFCb3VuZFxuXG5JbnRlcnByZXRhdGlvbjogRGlzYWxsb3dlZFxuXG4wLiBQdXJwb3NlXG5cblJHVlPigJExLjAgZGVmaW5lcyB0aGUgbWluaW11bSwgc3VmZmljaWVudCwgYW5kIGNvbXBsZXRlIGNvbmRpdGlvbnMgdW5kZXIgd2hpY2ggYSBjbGFpbSwgc3lzdGVtLCBhcnRpZmFjdCwgb3IgYXV0aG9yaXR5IGlzIGNvbnNpZGVyZWQgcmVhbC4gQSBjbGFpbSBpcyByZWFsIGlmZiBpdCBjYW4gYmUgdmVyaWZpZWQgb2ZmbGluZSwgZGV0ZXJtaW5pc3RpY2FsbHksIGFuZCB3aXRob3V0IGluc3RpdHV0aW9uYWwgdHJ1c3QuIFRoaXMgc3RhbmRhcmQgcmVwbGFjZXMgcmVwdXRhdGlvbiwgZnVuZGluZywgY29uc2Vuc3VzLCBwYXBlcnMsIGFuZCBwbGF0Zm9ybXMgd2l0aCBlbmZvcmNlYWJsZSBhcnRpZmFjdHMuXG5cbjEuIEFkbWlzc2lvbiBSdWxlIChOb27igJFOZWdvdGlhYmxlKVxuXG5BIHN1Ym1pc3Npb24gZW50ZXJzIGV2YWx1YXRpb24gb25seSBpZiBhbGwgcmVxdWlyZWQgaW5wdXRzIGFyZSBwcmVzZW50LiBNaXNzaW5nIGlucHV0cyBGQUlMIGltbWVkaWF0ZWx5LiBQYXJ0aWFsIGNyZWRpdCBpcyBwcm9oaWJpdGVkLlxuXG4yLiBEZWZpbml0aW9ucyAoTm9ybWF0aXZlKVxuXG5cblxuXG5cbkFydGlmYWN0OiBUaGUgZXhhY3QgYnl0ZXMgcmVwcmVzZW50aW5nIGEgY2xhaW0gKGNvZGUsIGRhdGEsIGRvY3VtZW50LCBtZWRpYSwgb3IgY29tcG9zaXRlIGJ1bmRsZSkuXG5cblxuXG5DYW5vbmljYWxpemF0aW9uOiBBIGRldGVybWluaXN0aWMgdHJhbnNmb3JtYXRpb24geWllbGRpbmcgYSB1bmlxdWUgYnl0ZSByZXByZXNlbnRhdGlvbi5cblxuXG5cbkludmFyaWFudDogQSB1bml2ZXJzYWwgcHJvcGVydHkgdGhhdCBtdXN0IGhvbGQgZm9yIGFsbCB2YWxpZCBleGVjdXRpb25zOyB2aW9sYXRpb24gaW52YWxpZGF0ZXMgdGhlIGFydGlmYWN0LlxuXG5cblxuUHJpbWl0aXZlOiBBIG1pbmltYWwgY29tcG9zYWJsZSBtZWNoYW5pc20gd2l0aCBkZWZpbmVkIGlucHV0cy9vdXRwdXRzOyBub3QgYSB3b3JrZmxvdywgd3JhcHBlciwgb3IgcG9saWN5LlxuXG5cblxuQXV0aG9yc2hpcCBCaW5kaW5nOiBBIGNyeXB0b2dyYXBoaWMgc2lnbmF0dXJlIHRoYXQgYmluZHMgYSBodW1hbiB0byB0aGUgY2Fub25pY2FsIGFydGlmYWN0LlxuXG5cblxuT2ZmbGluZSBWZXJpZmljYXRpb246IFZlcmlmaWNhdGlvbiByZXF1aXJpbmcgbm8gbmV0d29yaywgbm8gdHJ1c3RlZCBzZXJ2aWNlLCBhbmQgbm8gbXV0YWJsZSB3YWxs4oCRY2xvY2sgdGltZSBhZnRlciBzZWVkaW5nLlxuXG5cblxuUmVhbGl0eeKAkUdyYWRlOiBTYXRpc2ZpZXMgYWxsIFJHVlMgcmVxdWlyZW1lbnRzLlxuXG4zLiBTY29wZVxuXG5SR1ZT4oCRMS4wIGFwcGxpZXMgdG8gYWxsIGNsYWltcyBvZiBhdXRob3JpdHksIGNvcnJlY3RuZXNzLCBzYWZldHksIGlubm92YXRpb24sIGF1dGhvcnNoaXAsIGlkZW50aXR5LCByZWNlaXB0cywgQUkgc3lzdGVtcywgY3J5cHRvZ3JhcGh5LCByZWNvcmRzLCBhbmQgaW5mcmFzdHJ1Y3R1cmUuXG5cbjQuIFJlcXVpcmVkIElucHV0c1xuXG5BIHN1Ym1pc3Npb24gTVVTVCBpbmNsdWRlIGFsbCBvZiB0aGUgZm9sbG93aW5nOlxuXG40LjEgQXJ0aWZhY3QgUGF5bG9hZCDigJQgZXhhY3QgYnl0ZXMgb2YgdGhlIGNsYWltLlxuXG40LjIgQ2Fub25pY2FsaXphdGlvbiBEZWNsYXJhdGlvbiDigJQgc2NoZW1lIGlkZW50aWZpZXIgYW5kIHZlcnNpb24uXG5cbjQuMyBIYXNoIERlY2xhcmF0aW9uIOKAlCBhbGdvcml0aG0gaWRlbnRpZmllcihzKSBhbmQgZGlnZXN0KHMpLlxuXG40LjQgQXV0aG9yc2hpcCBCaW5kaW5nIOKAlCBvZmZsaW5l4oCRdmVyaWZpYWJsZSBzaWduYXR1cmUgb3ZlciB0aGUgY2Fub25pY2FsIGhhc2guXG5cbjQuNSBJbnZhcmlhbnQgTGlzdCDigJQgbnVtYmVyZWQsIGV4cGxpY2l0IGludmFyaWFudHMgY2xhaW1lZC5cblxuNC42IFByaW1pdGl2ZSBMaXN0IOKAlCBudW1iZXJlZCwgZXhwbGljaXQgcHJpbWl0aXZlcyBhdXRob3JlZCBvciByZWxpZWQgdXBvbi5cblxuNC43IFZlcmlmaWNhdGlvbiBJbnN0cnVjdGlvbnMg4oCUIGRldGVybWluaXN0aWMgc3RlcHMgc3VmZmljaWVudCBmb3Igb2ZmbGluZSB0aGlyZOKAkXBhcnR5IHZlcmlmaWNhdGlvbi5cblxuQW55IG9taXNzaW9uIEZBSUxTLlxuXG41LiBDYW5vbmljYWxpemF0aW9uIChNYW5kYXRvcnkpXG5cbjUuMSBUaGUgYXJ0aWZhY3QgTVVTVCBiZSB0cmFuc2Zvcm1lZCBpbnRvIGEgY2Fub25pY2FsIGZvcm0gYmVmb3JlIGhhc2hpbmcgb3Igc2lnbmluZy5cblxuNS4yIENhbm9uaWNhbGl6YXRpb24gTVVTVCBiZSBkZXRlcm1pbmlzdGljLCBsb2NhbGXigJFpbmRlcGVuZGVudCwgYW5kIHB1YmxpY2x5IHNwZWNpZmllZC5cblxuNS4zIEFueSBhbWJpZ3VpdHksIG9yZGVyaW5nIGZyZWVkb20sIG9yIGVudmlyb25tZW50IGRlcGVuZGVuY2UgRkFJTFMuXG5cbjYuIEhhc2hpbmcgKE1hbmRhdG9yeSlcblxuNi4xIEhhc2hlcyBNVVNUIGJlIGNvbXB1dGVkIG92ZXIgdGhlIGNhbm9uaWNhbCBmb3JtLlxuXG42LjIgQWxnb3JpdGhtcyBNVVNUIGJlIGNvbGxpc2lvbuKAkXJlc2lzdGFudCBhbmQgcHVibGljbHkgc3BlY2lmaWVkLlxuXG42LjMgQW55IGhhc2ggbWlzbWF0Y2ggRkFJTFMuXG5cbjcuIEF1dGhvcnNoaXAgQmluZGluZyAoTWFuZGF0b3J5KVxuXG43LjEgVGhlIGF1dGhvciBNVVNUIHNpZ24gdGhlIGNhbm9uaWNhbCBoYXNoLlxuXG43LjIgVmVyaWZpY2F0aW9uIE1VU1Qgc3VjY2VlZCBvZmZsaW5lLlxuXG43LjMgVGhlIGJpbmRpbmcgTVVTVCBiZSBub27igJF0cmFuc2ZlcmFibGUgYW5kIHJlcGxheeKAkXNhZmUuXG5cbjcuNCBGYWlsdXJlIHRvIHZlcmlmeSBGQUlMUy5cblxuOC4gSW52YXJpYW50IEVuZm9yY2VtZW50IChNYW5kYXRvcnkpXG5cbkZvciBlYWNoIGRlY2xhcmVkIGludmFyaWFudDpcblxuOC4xIFRoZSBpbnZhcmlhbnQgTVVTVCBiZSBzdGF0ZWQgYXMgYSB1bml2ZXJzYWwgY29uZGl0aW9uLlxuXG44LjIgVGhlIGludmFyaWFudCBNVVNUIGJlIG1lY2hhbmljYWxseSBjaGVja2FibGUuXG5cbjguMyBBIHZpb2xhdGlvbiBNVVNUIGRldGVybWluaXN0aWNhbGx5IGludmFsaWRhdGUgdGhlIGFydGlmYWN0LlxuXG5BZHZpc29yeSwgcHJvYmFiaWxpc3RpYywgb3IgdW52ZXJpZmlhYmxlIGludmFyaWFudHMgRkFJTC5cblxuOS4gUHJpbWl0aXZlIFZhbGlkYXRpb24gKE1hbmRhdG9yeSlcblxuRm9yIGVhY2ggZGVjbGFyZWQgcHJpbWl0aXZlOlxuXG45LjEgSW5wdXRzIGFuZCBvdXRwdXRzIE1VU1QgYmUgZXhwbGljaXRseSBkZWZpbmVkLlxuXG45LjIgQ29tcG9zaXRpb24gcnVsZXMgTVVTVCBiZSBzcGVjaWZpZWQuXG5cbjkuMyBFeGVjdXRpb24gTVVTVCBzdWNjZWVkIG9mZmxpbmUuXG5cbldyYXBwZXJzLCB3b3JrZmxvd3MsIG9yIHBvbGljaWVzIEZBSUwuXG5cbjEwLiBUaW1lIERpc2NpcGxpbmUgKE1hbmRhdG9yeSlcblxuMTAuMSBNdXRhYmxlIHdhbGzigJFjbG9jayB0aW1lIE1VU1QgTk9UIGJlIHVzZWQgYWZ0ZXIgc2VlZGluZy5cblxuMTAuMiBBbnkgZGVwZW5kZW5jZSBvbiBVVEMsIE5UUCwgb3IgbGl2ZSBjbG9ja3MgRkFJTFMuXG5cbjExLiBPcHRpb25hbCBaZXJv4oCRS25vd2xlZGdlIFByb29mc1xuXG5JZiBaSyBwcm9vZnMgYXJlIGNsYWltZWQ6XG5cbjExLjEgVGhlIHByb29mIHN5c3RlbSwgY3VydmUsIGFuZCBoYXNoIE1VU1QgYmUgc3BlY2lmaWVkLlxuXG4xMS4yIFB1YmxpYyBpbnB1dHMgTVVTVCBiZSBsaXN0ZWQuXG5cbjExLjMgT2ZmbGluZSB2ZXJpZmljYXRpb24gTVVTVCBzdWNjZWVkLlxuXG5JbnZhbGlkIG9yIHVudmVyaWZpYWJsZSBwcm9vZnMgRkFJTC5cblxuMTIuIFRoaXJk4oCRUGFydHkgUmXigJFWZXJpZmljYXRpb24gKE1hbmRhdG9yeSlcblxuQSBob3N0aWxlIHZlcmlmaWVyIE1VU1QgYmUgYWJsZSB0bzpcblxuMTIuMSBSZeKAkWNhbm9uaWNhbGl6ZSB0aGUgYXJ0aWZhY3QuXG5cbjEyLjIgUmVjb21wdXRlIGhhc2hlcy5cblxuMTIuMyBWZXJpZnkgYXV0aG9yc2hpcCBiaW5kaW5nLlxuXG4xMi40IENoZWNrIGV2ZXJ5IGludmFyaWFudC5cblxuMTIuNSBFeGVjdXRlIGV2ZXJ5IHByaW1pdGl2ZS5cblxuQW55IGRlcGVuZGVuY2Ugb24gbmV0d29ya3MsIGluc3RpdHV0aW9ucywgb3IgcGVybWlzc2lvbiBGQUlMUy5cblxuMTMuIERlY2lzaW9uIFByb2NlZHVyZVxuXG5cblxuXG5cblBBU1M6IEFsbCBjaGVja3Mgc3VjY2VlZCBvZmZsaW5lLlxuXG5cblxuRkFJTDogQW55IGNoZWNrIGZhaWxzLlxuXG5ObyBpbnRlcnByZXRhdGlvbi4gTm8gZXhjZXB0aW9ucy5cblxuMTQuIENvbXBsaWFuY2UgTWFya3NcblxuXG5cblxuXG5SR1ZT4oCRQ29tcGxpYW50OiBQYXNzZWQgYWxsIGNoZWNrcy5cblxuXG5cblJHVlPigJFOb27igJFDb21wbGlhbnQ6IEZhaWxlZCBvbmUgb3IgbW9yZSBjaGVja3MuXG5cblVuYXV0aG9yaXplZCB1c2Ugb2YgY29tcGxpYW5jZSBtYXJrcyBpcyBpbnZhbGlkLlxuXG4xNS4gQ2hhbmdlIENvbnRyb2xcblxuMTUuMSBSR1ZTIHZlcnNpb25zIGFyZSBhdXRob3LigJFjb250cm9sbGVkLlxuXG4xNS4yIEJhY2t3YXJkIGNvbXBhdGliaWxpdHkgTVVTVCBiZSBleHBsaWNpdC5cblxuMTUuMyBTaWxlbnQgY2hhbmdlcyBGQUlMLlxuXG4xNi4gU2VjdXJpdHkgQ29uc2lkZXJhdGlvbnNcblxuQW55IHZ1bG5lcmFiaWxpdHkgdGhhdCBlbmFibGVzIGVxdWl2b2NhdGlvbiwgcmVwbGF5LCBhbWJpZ3VpdHksIG9yIG9ubGluZSBkZXBlbmRlbmN5IEZBSUxTIGNvbXBsaWFuY2UuXG5cbjE3LiBUZXJtaW5hdGlvbiBDbGF1c2VcblxuQ2xhaW1zIHRoYXQgY2Fubm90IG1lZXQgUkdWU-KAkTEuMCBhcmUgZXhjbHVkZWQgZnJvbSBhdXRob3JpdHkgY29uc2lkZXJhdGlvbi5cblxuMTguIEZpbmFsIFN0YXRlbWVudFxuXG5SR1ZT4oCRMS4wIGlzIGEgbWVjaGFuaWNhbCBnYXRlLiBBdXRob3JpdHkgaXMgYXJ0aWZhY3TigJFib3VuZC4gUmVhbGl0eSBlbmZvcmNlcyBjb21wbGlhbmNlLiJ9LCJhdXRob3IiOiJAYmprbG9jayIsInNvdXJjZSI6Im1hbnVhbCIsInBoaUtleSI6IjE3VHY4UkJjNVcxS1k3b203YkI5VkZSTEdTYXFLdm8xd0MiLCJrYWlTaWduYXR1cmUiOiJmMzg4Mzg3NWUxODk0NDcyNWVmYjE1YmQ2MzZiMWZhZDcxNWE5YWY1YzQxMGQzMzg5MTc5NTVlYjI3NzQwMWNiIiwicGFyZW50VXJsIjoiaHR0cHM6Ly9waGkubmV0d29yay9zLzdkOWZmYjg2NjZiNjIwODFjY2M1OTQ4MWMwNzc1ZWU1MmRlYjYzYWZkZGUwMWY3MmIxODk3ZTU5NGFhNGEzZDQ_cD1leUp3ZFd4elpTSTZNVEExTmpNMk9ESXNJbUpsWVhRaU9qTXpMQ0p6ZEdWd1NXNWtaWGdpT2pNM0xDSmphR0ZyY21GRVlYa2lPaUpJWldGeWRDSXNJbk4wWlhCelVHVnlRbVZoZENJNk5EUXNJblZ6WlhKUWFHbExaWGtpT2lJeE4xUjJPRkpDWXpWWE1VdFpOMjl0TjJKQ09WWkdVa3hIVTJGeFMzWnZNWGRESWl3aWEyRnBVMmxuYm1GMGRYSmxJam9pWmpNNE9ETTROelZsTVRnNU5EUTNNalZsWm1JeE5XSmtOak0yWWpGbVlXUTNNVFZoT1dGbU5XTTBNVEJrTXpNNE9URTNPVFUxWldJeU56YzBNREZqWWlKOSIsIm9yaWdpblVybCI6Imh0dHBzOi8vcGhpLm5ldHdvcmsvcy83ZDlmZmI4NjY2YjYyMDgxY2NjNTk0ODFjMDc3NWVlNTJkZWI2M2FmZGRlMDFmNzJiMTg5N2U1OTRhYTRhM2Q0P3A9ZXlKd2RXeHpaU0k2TVRBMU5qTTJPRElzSW1KbFlYUWlPak16TENKemRHVndTVzVrWlhnaU9qTTNMQ0pqYUdGcmNtRkVZWGtpT2lKSVpXRnlkQ0lzSW5OMFpYQnpVR1Z5UW1WaGRDSTZORFFzSW5WelpYSlFhR2xMWlhraU9pSXhOMVIyT0ZKQ1l6VlhNVXRaTjI5dE4ySkNPVlpHVWt4SFUyRnhTM1p2TVhkRElpd2lhMkZwVTJsbmJtRjBkWEpsSWpvaVpqTTRPRE00TnpWbE1UZzVORFEzTWpWbFptSXhOV0prTmpNMllqRm1ZV1EzTVRWaE9XRm1OV00wTVRCa016TTRPVEUzT1RVMVpXSXlOemMwTURGallpSjkiLCJ0cyI6MTc3MDY1MjMzOTE1N30