---
author:
- Yujan Shrestha
cta_button_text: Take my concept to clearance
cta_case_studies:
- title: 'We Architected Neosoma''s Fast Lane to FDA: A Modular Strategy Built for
    Rapid Repeat Clearances'
  url: /portfolio/neosomas-fast-lane-to-fda/
- title: We Ran a Gap Analysis — They Passed Their FDA Audit
  url: /portfolio/ai-metrics-gap/
cta_hero_details: Innolitics builds the software, trains the AI, runs the QMS and
  change control, and prepares every submission under one roof, including the call
  on when a software change needs a new 510(k) or a PCCP. 50+ FDA-cleared SaMD, software
  documentation in four months, and 510(k) clearances in as little as nine months,
  backed by our timeline and clearance guarantee.
cta_hero_text: From concept to FDA clearance. One partner.
date: '2026-10-25'
description: FDA's warning letter to O.N. Diagnostics says three changes in VirtuOst
  VFA 3.0.0 (a new machine learning algorithm, a desktop-to-web move and a platform
  migration) each required a new 510(k). Yujan Shrestha, J. David Giese, Mary Vater
  and host James Swink discuss the letter, retraining, the 2017 software-change flowchart,
  the catch-up 510(k), and PCCPs.
related:
- title: 2017 FDA Guidance - Deciding When to Submit a 510(k) for a Software Change
    to an Existing Device
  url: /articles/fda-guidance-deciding-when-to-submit-a-k-for-a-software-change-to-an-existing-device/
- title: A note too far. When a letter to file gets a warning letter instead.
  url: /articles/Nihon-Kohden-Digital-Health-warning-letter/
- title: 'PCCPs: Best Practices, FAQs, and Examples'
  url: /articles/pccps-best-practices-faqs-and-examples/
- title: '10x Talk: Guidance on Device Changes: When to Submit a 510(k)'
  url: /articles/x-talk-guidance-on-device-changes-when-to-submit-a-k/
- title: '10x Coffee Talk: Strategies for PCCP Implementation'
  url: /articles/x-coffee-talk-strategies-for-pccp-implementation/
- title: 2019 FDA Guidance - The Special 510(k) Program
  url: /articles/fda-guidance-the-special-k-program/
- title: How Frequently Can you Release Medical Device Software?
  url: /articles/how-frequently-can-you-release-medical-device-software/
- title: How to Avoid $100k AI/ML Mistake
  url: /articles/how-to-avoid-k-ai-ml-mistake/
- title: 'FDA''s Generative AI Discussion Paper: Notes from a Coffee and Q&A on Risk
    Tiers, Patient-Facing Devices, and the Premarket-Postmarket Trade'
  url: /articles/coffee-and-qa-fda-generative-ai-discussion-paper/
title: 'When a Software Update Needs a New 510(k): Notes from a Coffee and Q&A on
  FDA''s Warning Letter to O.N. Diagnostics'
topics:
- Regulatory
- AI/ML
- Software
---

### Summary

On October 22, 2026, James Swink hosted a Coffee and Q&A session on LinkedIn Live with J. David Giese, Mary Vater, and me. The topic was FDA\'s [warning letter to O.N. Diagnostics, LLC (MARCS-CMS 730301)](https://www.fda.gov/inspections-compliance-enforcement-and-criminal-investigations/warning-letters/diagnostics-llc-730301-09012026), issued on September 1, 2026, and posted on October 6, 2026. FDA says that version 3.0.0 of the VirtuOst Vertebral Fracture Assessment (VFA) software carried three changes and that each one required a new 510(k).

**Key points**

- **One regulatory test.** FDA charges a new machine learning algorithm, a desktop-to-web move, and a platform migration under 21 CFR 807.81(a)(3)(i). The letter does not allege a change in intended use.
- **Quality system context.** The letter also cites corrective and preventive action (CAPA), supplier control, and medical device reporting (MDR) findings. Mary called the warning letter a symptom and the quality management system (QMS) the disease. David and I also tied the warning letter to the CAPA history.
- **Retraining.** Mary said FDA\'s expectations for retraining have become \"a lot heavier\" since 2017 and 2018.
- **Returning to FDA.** I said companies need to stop fearing a new submission. Mary described the catch-up 510(k).
- **PCCPs.** David said a predetermined change control plan (PCCP) could not have helped a company that added AI to a device that had none.

<p class="relative pb-[56.25%] pt-[25px] h-0 w-full"><iframe width="560" height="315" src="https://www.youtube.com/embed/UdQw2LB0EYc" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen class="absolute top-0 left-0 w-full h-full"></iframe></p>

*Replay of the October 22, 2026 Coffee and Q&A (61 minutes).*

### Background

James Swink is Principal Regulatory Specialist at Innolitics and spent 22 years at FDA\'s Center for Devices and Radiological Health. J. David Giese and I are partners and co-founders of Innolitics. Mary Vater, Director of Regulatory Affairs at Innolitics, joined as a guest.

O.N. Diagnostics makes CT-based bone analysis software. FDA cleared VirtuOst VFA under [K171435](https://www.accessdata.fda.gov/scripts/cdrh/cfdocs/cfpmn/pmn.cfm?ID=K171435) on August 3, 2018. The device uses sagittal sections from a spine-containing CT scan to measure vertebral deformities, classify and grade existing vertebral fractures, and identify patients at high risk of a future osteoporosis-related fracture. The [510(k) summary](https://fda.innolitics.com/device/K171435?doc=summary&hl=5%3Aprovides%20semi-automated%2C%20interactive%20tools&hl=7%3AAn%20active%20contour%20segmentation%20routine%20seeded%20by%20a%20user%20mouse%20click%20on%20the%20vertebral%20body&focus=1) describes \"semi-automated, interactive tools,\" including \"an active contour segmentation routine seeded by a user mouse click on the vertebral body.\" The cleared device used no machine learning. The firm also holds [K113725](https://fda.innolitics.com/device/K113725) (VirtuOst, 2012) and [K220402](https://fda.innolitics.com/device/K220402) (VirtuOst, 2023). None of the three clearances lists an authorized PCCP in FDA\'s 510(k) database.

| Date                 | Event                                | Source                                                                                                                                                             |
|----------------------|--------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| May 15, 2017         | K171435 received by FDA              | [FDA 510(k) database](https://www.accessdata.fda.gov/scripts/cdrh/cfdocs/cfpmn/pmn.cfm?ID=K171435)                                                                 |
| August 3, 2018       | K171435 cleared                      | [FDA 510(k) database](https://www.accessdata.fda.gov/scripts/cdrh/cfdocs/cfpmn/pmn.cfm?ID=K171435)                                                                 |
| June 11, 2024        | Date of the \"3.0.0 Release Notes\"  | [Warning letter](https://www.fda.gov/inspections-compliance-enforcement-and-criminal-investigations/warning-letters/diagnostics-llc-730301-09012026)               |
| March 12 to 17, 2026 | FDA inspection                       | [Warning letter](https://www.fda.gov/inspections-compliance-enforcement-and-criminal-investigations/warning-letters/diagnostics-llc-730301-09012026)               |
| April 1, 2026        | Firm\'s response to the Form FDA 483 | [Warning letter](https://www.fda.gov/inspections-compliance-enforcement-and-criminal-investigations/warning-letters/diagnostics-llc-730301-09012026)               |
| September 1, 2026    | Warning letter issued                | [Warning letter](https://www.fda.gov/inspections-compliance-enforcement-and-criminal-investigations/warning-letters/diagnostics-llc-730301-09012026)               |
| October 6, 2026      | Warning letter posted                | [FDA warning letter listing](https://www.fda.gov/inspections-compliance-enforcement-and-criminal-investigations/compliance-actions-and-activities/warning-letters) |

James opened with the case. In his summary, every software company swaps in new models, moves to the web, and upgrades its platform, and most treat these steps as maintenance.

<div class="pl-3 border-solid border-0 border-l-4 border-gray" custom-style="Block Quote" markdown="1" role="blockquote">

\"FDA just made it clear, for a cleared medical device, each of those can be a brand new device.\" (James Swink, quoted from the session)

</div>

### The three changes in VirtuOst VFA 3.0.0

FDA found the changes in the [\"Software Version Control Log\" and the \"3.0.0 Release Notes\"](https://highlighter.yshrestha.workers.dev/v/k6dsnm8LDPbo#h=1).

1.  **New machine learning algorithm for vertebral landmarking.** FDA [writes](https://highlighter.yshrestha.workers.dev/v/k6dsnm8LDPbo#h=2) that \"a new model trained on different data, with different architecture, or optimized for a different objective may perform differently across patient populations, imaging equipment types, or clinical settings,\" and that the feature [\"fundamentally changes how the device performs, fails, and affects patients.\"](https://highlighter.yshrestha.workers.dev/v/k6dsnm8LDPbo#h=3) FDA [lists](https://highlighter.yshrestha.workers.dev/v/k6dsnm8LDPbo#h=4) missed or inadequate diagnosis, absence or delay of results, and overreliance on device output as possible harms.
2.  **Desktop to web.** FDA says the move to [\"a web-based architecture\"](https://highlighter.yshrestha.workers.dev/v/k6dsnm8LDPbo#h=6) introduces network-exposed attack surfaces and authentication vulnerabilities. The firm acknowledged an expanded [\"cyberattack surface area.\"](https://highlighter.yshrestha.workers.dev/v/k6dsnm8LDPbo#h=7) The letter does not use the word \"cloud.\"
3.  **Platform migration.** The platform changed between two redacted platforms. FDA says this [\"necessitates comprehensive re-verification and re-validation of the entire software codebase\"](https://highlighter.yshrestha.workers.dev/v/k6dsnm8LDPbo#h=8) and [notes](https://highlighter.yshrestha.workers.dev/v/k6dsnm8LDPbo#h=9) that FDA has not reviewed the device\'s Software Bill of Materials (SBOM).

FDA [states](https://highlighter.yshrestha.workers.dev/v/k6dsnm8LDPbo#h=10) that each change \"could significantly affect the safety or effectiveness of the device.\" The letter calls VirtuOst VFA 3.0.0 adulterated under section 501(f)(1)(B) and misbranded under section 502(o) of the FD&C Act, and it [asks the firm to stop](https://highlighter.yshrestha.workers.dev/v/k6dsnm8LDPbo#h=15) commercial distribution of that version. The letter cites neither the 2017 software-change guidance nor PCCPs.

Under [21 CFR 807.81(a)(3)](https://www.ecfr.gov/current/title-21/chapter-I/subchapter-H/part-807/subpart-E/section-807.81#p-807.81(a)(3)), a marketed device needs a new 510(k) for (i) a change that could significantly affect safety or effectiveness or (ii) a major change or modification in intended use. FDA charged all three changes under trigger (i).

<figure>
  <img src="/img/articles/When_a_Software_Update_Needs_a_New_510k_Notes_from_a_Coffee_and_QA_on_FDAs_Warning_Letter_to_O.N._Diagnostics-404bd5b7a75481df9767efd6ceb6227f.png">
  <figcaption>
    Figure 1. The two triggers in 21 CFR 807.81(a)(3) and the trigger FDA
    applied to each change in VirtuOst VFA 3.0.0.
  </figcaption>
</figure>

### Quality system and MDR findings

The same letter reports violations of the Quality Management System Regulation.

- **CAPA (ISO 13485:2016, clause 8.5.2).** FDA writes that the firm \"was made aware of the underlying issue related to the need to update your (b)(4) software three times over three years,\" and that CAPA-0088 [\"was opened the day before our inspection began.\"](https://highlighter.yshrestha.workers.dev/v/k6dsnm8LDPbo#h=12) A revision of the CAPA procedure [narrowed the triggers](https://highlighter.yshrestha.workers.dev/v/k6dsnm8LDPbo#h=13) for a CAPA, and \"the impact of these changes was not evaluated prior to implementation.\"
- **Supplier controls (clause 7.4.1).** FDA calls the procedures for supplier re-evaluation and monitoring vague.
- **MDR procedures (21 CFR 803.17).** The firm\'s [written MDR procedures](https://highlighter.yshrestha.workers.dev/v/k6dsnm8LDPbo#h=14) lacked required definitions and reporting instructions.

<figure>
  <img src="/img/articles/When_a_Software_Update_Needs_a_New_510k_Notes_from_a_Coffee_and_QA_on_FDAs_Warning_Letter_to_O.N._Diagnostics-404bd5b7a754810790bcc94f33ad4673.png">
  <figcaption>
    Figure 2. Premarket, quality system, and reporting findings in the
    warning letter.
  </figcaption>
</figure>

### First reactions of the panel

<div class="pl-3 border-solid border-0 border-l-4 border-gray" custom-style="Block Quote" markdown="1" role="blockquote">

\"I wish they had called us. It was a little painful.\" (Mary Vater, quoted from the session)

</div>

David said he was surprised that FDA treated the desktop-to-web move as needing another 510(k) for software that is not time-sensitive, and that FDA first seemed \"pretty conservative.\" Reading further changed his view. \"Maybe that\'s really the underlying story,\" he said, \"is they had several CAPAs, and they had a chance to address this, and they just didn\'t.\"

Mary said that \"the warning letter was a symptom, and that the QMS was the disease in this case.\" In her view, a single change made \"with proper risk assessment, justifications, evaluation, validation, cybersecurity updates\" might not have caused FDA as much concern. The changes may have been \"a little bit scarier, because they were released within what seemed to be an uncontrolled system.\"

I said I thought the biggest trigger was the new AI algorithm added to a device whose cleared version used standard, non-AI image processing. Agreeing with David, I said the other changes may not have been FDA\'s focus and may have been pulled into the dragnet. I would not over-index on every change in the letter. A warning letter usually says more than the change that started it, so I read these letters with the context in mind.

<div class="pl-3 border-solid border-0 border-l-4 border-gray" custom-style="Block Quote" markdown="1" role="blockquote">

\"If I were to rank order the changes that triggered it, probably would be the change that added a new machine learning algorithm, where one didn\'t really exist before.\" (Yujan Shrestha, quoted from the session)

</div>

I added that this change alone might have drawn a slap on the wrist, and that the warning letter may have come from the CAPA history downstream of it. Later, David called the replacement of a traditional algorithm with machine learning \"probably the key thing,\" along with \"the loose quality management system.\"

### A new AI model as a significant change

James asked why a better AI model would worry FDA. David said FDA expects testing on data that represents the intended use population and evidence that performance generalizes across relevant subgroups, such as imaging manufacturers. Statistical significance alone is not sufficient.

<div class="pl-3 border-solid border-0 border-l-4 border-gray" custom-style="Block Quote" markdown="1" role="blockquote">

\"You can\'t just do that without following the process.\" (J. David Giese, quoted from the session, on adding an AI model where a device had a traditional algorithm)

</div>

James asked whether the harms the letter lists, such as misdiagnosis and overreliance on the output, are real for a fracture tool. I described a failure path. A more automated process misses a vertebral fracture, which may have indicated a future fall risk and a later hip fracture. If the new process is worse than the old manual one, users may not know it and may assume the quality they are used to. That can bias diagnosis downstream. FDA\'s letter does not allege that such an event occurred.

Mary noted that FDA\'s listed harms are existing device hazards. In her reading, the new landmarking model can change how often and where misdiagnosis happens, and the move to the web brings outages, logins, and network failures that can delay results.

<div class="pl-3 border-solid border-0 border-l-4 border-gray" custom-style="Block Quote" markdown="1" role="blockquote">

\"One of the biggest areas that the FDA pushes back on the letter to file is your risk assessment and if you changed existing risks.\" (Mary Vater, quoted from the session)

</div>

<figure>
  <img src="/img/articles/When_a_Software_Update_Needs_a_New_510k_Notes_from_a_Coffee_and_QA_on_FDAs_Warning_Letter_to_O.N._Diagnostics-404bd5b7a75481d59572f85ffb876ced.png">
  <figcaption>
    Figure 3. Hazards named in the letter and the change linked to each, in
    Mary Vater's reading.
  </figcaption>
</figure>

### Retraining under the 2017 software-change guidance

FDA\'s 2017 guidance on software changes sets out a flowchart. [Question 2](https://fda.innolitics.com/guidance/deciding-when-submit-510k-software-change-existing-device?v=gfcd3aa43844-a9a26c775d273908&hl=15%3AIs%20the%20change%20made%20solely%20to%20return%20the%20system%20into%20specification%20of%20the%20most%20recently%20cleared%20device&focus=1) asks whether a change is \"made solely to return the system into specification of the most recently cleared device.\" [Question 4](https://fda.innolitics.com/guidance/deciding-when-submit-510k-software-change-existing-device?v=gfcd3aa43844-a9a26c775d273908&hl=17%3ACould%20the%20change%20significantly%20affect%20clinical%20functionality%20or%20performance%20specifications%20that%20are%20directly%20associated%20with%20the%20intended%20use%20of%20the%20device&focus=1) asks whether it \"could significantly affect clinical functionality or performance specifications.\" The guidance does not mention machine learning or retraining.

David said that under the 2017 guidance, \"even if you\'re improving the model, it does require a change.\" He added, \"I\'ve always found that very strange, personally.\" I suggested FDA may write guidance more conservatively than where it wants industry to land. In my view, a retrain for data drift can be argued to return the product to its cleared specification under Question 2. A retrain that adds a new scanner manufacturer probably calls for a Special 510(k) at the least. David agreed that a drift retrain can lead back to a letter to file, while a retrain to improve performance may land on \"yes\" at the performance question, Question 4.

Mary said that in 2017 and 2018, when she worked on early AI/ML submissions, FDA advised her to follow the software change guidance and justify the risk. Retraining was acceptable if the device still met the original acceptance criteria. FDA finalized its [PCCP guidance for AI-enabled device software functions](https://fda.innolitics.com/guidance/marketing-submission-recommendations-predetermined-change-control-plan-artificial-intelligence?v=gfb23b96999e-80f0f423efe0c810) on December 4, 2024, and revised it on August 18, 2025. Mary suggested the company may have formed its understanding at clearance and not kept up with later expectations.

<div class="pl-3 border-solid border-0 border-l-4 border-gray" custom-style="Block Quote" markdown="1" role="blockquote">

\"The retraining is one that\'s gone a lot heavier.\" (Mary Vater, quoted from the session)

</div>

<figure>
  <img src="/img/articles/When_a_Software_Update_Needs_a_New_510k_Notes_from_a_Coffee_and_QA_on_FDAs_Warning_Letter_to_O.N._Diagnostics-404bd5b7a75481308af9c11972cb00b1.png">
  <figcaption>
    Figure 4. FDA expectations for retraining as Mary Vater described them,
    with the clearance, PCCP guidance, and warning letter dates.
  </figcaption>
</figure>

James asked David what he asks a CEO who says \"we just retrained our model.\" First, whether the device has a PCCP, since a PCCP for basic retraining has been \"pretty straightforward to get through.\" Second, why the company retrained. Without a PCCP, a retrain that expands the accepted inputs probably calls for a Special 510(k). A retrain that restores prior performance may not require a new submission.

### Calibration of the 2017 flowchart

James asked me whether retraining, a new architecture, and a swapped model are the same to FDA. I said it depends on many factors and walked through the flowchart on screen. I place the change on a ladder, from a same-architecture retrain on more data from the same population at the bottom to a retrain that adds a new scanner vendor higher up. I highlight loose terms such as [\"solely to strengthen cybersecurity\"](https://fda.innolitics.com/guidance/deciding-when-submit-510k-software-change-existing-device?v=gfcd3aa43844-a9a26c775d273908&hl=15%3AIs%20the%20change%20made%20solely%20to%20strengthen%20cybersecurity%20and%20does%20not%20have%20any%20other%20impact%20on%20the%20software%20or%20device&focus=1) and \"does not have any other impact.\" Then I ask where the client sits on risk. A conservative reading can come from a conservative culture or a high-risk device. I see nothing wrong with a conservative culture, and for a high-risk device, playing it safe is sometimes required.

<figure>
  <img src="/img/articles/When_a_Software_Update_Needs_a_New_510k_Notes_from_a_Coffee_and_QA_on_FDAs_Warning_Letter_to_O.N._Diagnostics-404bd5b7a754814196e0edc35e2e9bed.png">
  <figcaption>
    Figure 5. Flowchart questions in FDA's 2017 software-change guidance,
    with the loose terms highlighted.
  </figcaption>
</figure>

To calibrate these terms, I show a client an FDA example that went to \"yes\" and one that went to \"no,\" and ask where their change falls. On screen I showed the calibration tool embedded below, here in its current version. It traces a change through the 2017 flowchart under conservative, balanced, and lean readings, shows FDA examples on each side of the loose terms, and has a tab that walks through the O.N. Diagnostics letter. The readings in the tool were drafted with Claude, and I said on air that they are not that scientific.

<!-- toc:off -->
<div id="scca-embed" class="scca-embed">
<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=Poppins:wght@500;600&family=Source+Sans+3:ital,wght@0,400;0,600;0,700;1,400&family=JetBrains+Mono:wght@400;500&display=swap">
<style>
#scca-embed {
  all: initial; display: block; box-sizing: border-box; width: 100%; max-width: 100%;
  margin: 28px 0; padding: 0; border: 1px solid #dadeeb; border-radius: 10px; overflow: clip;
  background: #f5f6fa; color: #1b2140; color-scheme: light;
  font-family: "Source Sans 3", "Segoe UI", system-ui, sans-serif; font-size: 15px; font-weight: 400;
  font-style: normal; line-height: 1.5; letter-spacing: normal; word-spacing: normal; text-align: left;
  text-indent: 0; text-transform: none; text-decoration: none; white-space: normal; overflow-wrap: normal;
  -webkit-text-size-adjust: 100%; text-size-adjust: 100%;
  container-type: inline-size; container-name: scca; isolation: isolate;
}
/* Undo whatever the host article sets on common elements; component rules below re-style them. */
#scca-embed :is(div, span, h1, h2, h3, h4, h5, h6, p, a, ul, ol, li, button, input, select, option, optgroup,
  label, table, thead, tbody, tr, th, td, blockquote, figure, figcaption, small, b, strong, em, i, mark,
  details, summary, article, aside, nav, section, header, main, code) { all: revert; }
#scca-embed svg { overflow: hidden; }
#scca-embed svg, #scca-embed svg * { letter-spacing: inherit; word-spacing: inherit; text-transform: inherit; }
#scca-embed {
  --bg: #f5f6fa; --surface: #ffffff; --sunk: #eceef6; --fg: #1b2140; --muted: #5d6585; --line: #dadeeb;
  --navy: #2D3F86; --band: #16224D; --accent: #E85036;
  --doc: #0f766e; --doc-bg: #e0f3ef; --gray: #6b7280; --gray-bg: #eef0f4; --new: #c2401f; --new-bg: #fde9e3; --cont: #2D3F86; --cont-bg: #e5e9f7;
  --s-guid: #2D3F86; --s-letter: #c2401f; --s-510k: #6d3fb0; --s-recall: #a16207; --s-fda: #0e7490; --s-ours: #0f766e;
  --st-0: #c2401f; --st-1: #2D3F86; --st-2: #0f766e;
  --display: "Poppins", "Avenir Next", "Segoe UI", sans-serif;
  --body: "Source Sans 3", "Segoe UI", system-ui, sans-serif;
  --mono: "JetBrains Mono", ui-monospace, Menlo, monospace;
}
#scca-embed *, #scca-embed *::before, #scca-embed *::after { box-sizing: border-box; }
#scca-embed { background: var(--bg); color: var(--fg); font-family: var(--body); font-size: 15px; line-height: 1.5; }
#scca-embed .wrap { max-width: 1560px; margin: 0 auto; padding-left: max(16px, env(safe-area-inset-left, 0px)); padding-right: max(16px, env(safe-area-inset-right, 0px)); }
#scca-embed a { color: var(--navy); }
#scca-embed header.mast { background: #16224D; color: #fff; }
#scca-embed header.mast .wrap { padding-block: 22px 18px; display: grid; gap: 8px; }
#scca-embed .eyebrow { font: 600 11px/1 var(--display); letter-spacing: .14em; text-transform: uppercase; color: #FFC24B; }
#scca-embed .mast-title { font: 500 clamp(24px, 3.4vw, 34px)/1.15 var(--display); margin: 0; text-wrap: balance; }
#scca-embed .sub { margin: 0; color: #c9d0ef; max-width: 85ch; }
#scca-embed .stats { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 6px; color: #c9d0ef; font-size: 13px; }
#scca-embed .stats b { color: #fff; font: 600 18px/1 var(--display); margin-right: 5px; font-variant-numeric: tabular-nums; }
#scca-embed nav.tabs { position: sticky; top: env(safe-area-inset-top, 0px); z-index: 5; background: var(--surface); border-bottom: 1px solid var(--line); }
#scca-embed nav.tabs .wrap { display: flex; gap: 4px; overflow-x: auto; padding-block: 8px; scrollbar-width: none; }
#scca-embed .tab { flex: none; font: 500 13px/1 var(--display); color: var(--muted); background: none; border: 0; padding: 9px 14px; border-radius: 999px; cursor: pointer; }
#scca-embed .tab[aria-selected="true"] { background: var(--navy); color: var(--surface); }
#scca-embed .tab:focus-visible, #scca-embed button:focus-visible, #scca-embed input:focus-visible, #scca-embed select:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
#scca-embed .scca-main .wrap { padding-block: 20px 60px; }
#scca-embed section.view[hidden] { display: none !important; }
#scca-embed .flow { display: flex; gap: 6px; overflow-x: auto; padding-bottom: 6px; align-items: stretch; }
#scca-embed .node { flex: 1 0 150px; min-width: 150px; background: var(--surface); border: 1px solid var(--line); border-radius: 8px; padding: 10px 12px; text-align: left; cursor: pointer; font: inherit; color: inherit; display: grid; gap: 4px; align-content: start; }
#scca-embed .node .nl { font: 600 12px/1 var(--display); color: var(--navy); letter-spacing: .04em; }
#scca-embed .node .nq { font-size: 12.5px; line-height: 1.35; color: var(--muted); display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
#scca-embed .node[aria-pressed="true"] { border-color: var(--navy); box-shadow: inset 0 0 0 1px var(--navy); }
#scca-embed .arrow { flex: none; align-self: center; color: var(--muted); font-size: 18px; }
#scca-embed .atlas { display: grid; grid-template-columns: minmax(0, 290px) minmax(0, 1fr); gap: 20px; margin-top: 18px; }
#scca-embed .index { display: grid; gap: 14px; align-content: start; }
#scca-embed .grp h3 { font: 600 11px/1 var(--display); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); margin: 0 0 6px; }
#scca-embed .term { width: 100%; text-align: left; font: inherit; color: inherit; background: var(--surface); border: 1px solid var(--line); border-radius: 6px; padding: 7px 9px; margin-bottom: 4px; cursor: pointer; display: grid; gap: 5px; }
#scca-embed .term .tn { font-weight: 600; font-size: 13.5px; line-height: 1.25; display: flex; justify-content: space-between; gap: 6px; }
#scca-embed .term .tn span { color: var(--muted); font-weight: 400; font-variant-numeric: tabular-nums; }
#scca-embed .term[aria-current="true"] { border-color: var(--navy); background: var(--cont-bg); }
#scca-embed .bar { display: flex; height: 6px; border-radius: 3px; overflow: hidden; background: var(--sunk); }
#scca-embed .bar i { display: block; height: 100%; }
#scca-embed .b-doc { background: var(--doc); }
#scca-embed .b-gray { background: var(--gray); opacity: .55; }
#scca-embed .b-cont { background: var(--cont); opacity: .6; }
#scca-embed .b-new { background: var(--new); }
#scca-embed .detail { min-width: 0; display: grid; gap: 14px; align-content: start; }
#scca-embed .thead { background: var(--surface); border: 1px solid var(--line); border-radius: 8px; padding: 16px 18px; display: grid; gap: 8px; }
#scca-embed .thead h2 { font: 500 22px/1.2 var(--display); margin: 0; color: var(--fg); text-wrap: balance; }
#scca-embed .verb { font-family: var(--mono); font-size: 13px; background: var(--sunk); border-radius: 4px; padding: 6px 9px; color: var(--fg); }
#scca-embed .verb::before { content: "Verbatim: "; font-family: var(--body); color: var(--muted); font-size: 12px; }
#scca-embed .line { margin: 0; max-width: 95ch; }
#scca-embed .line b { color: var(--navy); font: 600 11px/1 var(--display); letter-spacing: .1em; text-transform: uppercase; margin-right: 8px; }
#scca-embed .filters { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
#scca-embed .chip { font: 500 12px/1 var(--body); border: 1px solid var(--line); background: var(--surface); color: var(--fg); padding: 6px 10px; border-radius: 999px; cursor: pointer; display: inline-flex; gap: 6px; align-items: center; }
#scca-embed .chip[aria-pressed="false"] { opacity: .45; }
#scca-embed .chip i { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }
#scca-embed .search { flex: 1 1 200px; min-width: 0; font: inherit; padding: 6px 10px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); color: var(--fg); }
#scca-embed label.tog { font-size: 13px; color: var(--muted); display: inline-flex; gap: 6px; align-items: center; }
#scca-embed .ruler { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
#scca-embed .zone { min-width: 0; display: grid; gap: 8px; align-content: start; }
#scca-embed .zh { position: sticky; top: calc(env(safe-area-inset-top, 0px) + 50px); z-index: 2; font: 600 12px/1 var(--display); letter-spacing: .06em; text-transform: uppercase; padding: 9px 10px; border-radius: 6px; display: flex; justify-content: space-between; }
#scca-embed .z-doc .zh { background: var(--doc-bg); color: var(--doc); }
#scca-embed .z-gray .zh { background: var(--gray-bg); color: var(--gray); }
#scca-embed .z-new .zh { background: var(--new-bg); color: var(--new); }
#scca-embed .card { background: var(--surface); border: 1px solid var(--line); border-radius: 6px; padding: 10px 11px; display: grid; gap: 6px; min-width: 0; }
#scca-embed .card .meta { display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: center; font-size: 11.5px; color: var(--muted); }
#scca-embed .src { font: 600 10px/1 var(--display); letter-spacing: .06em; text-transform: uppercase; padding: 3px 6px; border-radius: 3px; color: var(--surface); }
#scca-embed .st-guidance_example, #scca-embed .st-guidance_text, #scca-embed .st-other_guidance { background: var(--s-guid); }
#scca-embed .st-warning_letter { background: var(--s-letter); }
#scca-embed .st-clearance_summary { background: var(--s-510k); }
#scca-embed .st-recall_record { background: var(--s-recall); }
#scca-embed .st-fda_communication { background: var(--s-fda); }
#scca-embed .st-innolitics { background: var(--s-ours); }
#scca-embed .cont-tag { font: 600 10px/1 var(--display); color: var(--cont); background: var(--cont-bg); padding: 3px 6px; border-radius: 3px; text-transform: uppercase; letter-spacing: .06em; }
#scca-embed .card .fp { font-weight: 600; font-size: 14px; line-height: 1.35; overflow-wrap: anywhere; }
#scca-embed .card .why { font-size: 13.5px; color: var(--muted); }
#scca-embed blockquote { margin: 0; padding: 6px 9px; border-left: 3px solid var(--line); background: var(--sunk); font-size: 13px; border-radius: 0 4px 4px 0; overflow-wrap: anywhere; }
#scca-embed .foot { display: flex; justify-content: space-between; gap: 8px; flex-wrap: wrap; font-size: 12px; }
#scca-embed .loc { color: var(--muted); font-family: var(--mono); font-size: 11px; overflow-wrap: anywhere; min-width: 0; }
#scca-embed a.open { font-weight: 600; text-decoration: none; white-space: nowrap; }
#scca-embed a.open:hover { text-decoration: underline; }
#scca-embed .empty { color: var(--muted); font-size: 13px; padding: 10px; border: 1px dashed var(--line); border-radius: 6px; }
#scca-embed .more { font: inherit; font-size: 13px; color: var(--navy); background: none; border: 1px dashed var(--line); border-radius: 6px; padding: 8px; cursor: pointer; }
#scca-embed .pairs { display: grid; gap: 14px; }
#scca-embed .pair { background: var(--surface); border: 1px solid var(--line); border-radius: 8px; padding: 14px 16px; display: grid; gap: 10px; }
#scca-embed .pair h3 { font: 500 17px/1.25 var(--display); margin: 0; }
#scca-embed .pair .pt { font-size: 12px; color: var(--muted); }
#scca-embed .pab { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 12px; }
#scca-embed .pab .card { border-width: 1px 1px 1px 4px; }
#scca-embed .pab .card.side-document, #scca-embed .pab .card.side-continue { border-left-color: var(--doc); }
#scca-embed .pab .card.side-new_510k { border-left-color: var(--new); }
#scca-embed .pair p { margin: 0; max-width: 95ch; }
#scca-embed .fc { display: grid; gap: 14px; max-width: 760px; margin: 0 auto; }
#scca-embed .fcbar { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: space-between; }
#scca-embed .fcbar select { font: inherit; padding: 6px 8px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); color: var(--fg); max-width: 100%; }
#scca-embed .flash { background: var(--surface); border: 1px solid var(--line); border-radius: 10px; padding: 22px 24px; min-height: 260px; display: grid; gap: 12px; align-content: start; }
#scca-embed .flash .q { font: 500 19px/1.4 var(--display); text-wrap: pretty; }
#scca-embed .flash .prompt { color: var(--muted); font-size: 13px; }
#scca-embed .answer { display: grid; gap: 10px; border-top: 1px solid var(--line); padding-top: 12px; }
#scca-embed .verdict { justify-self: start; font: 600 13px/1 var(--display); padding: 7px 11px; border-radius: 999px; }
#scca-embed .v-document, #scca-embed .v-continue { background: var(--doc-bg); color: var(--doc); }
#scca-embed .v-new_510k { background: var(--new-bg); color: var(--new); }
#scca-embed .v-gray { background: var(--gray-bg); color: var(--gray); }
#scca-embed .btns { display: flex; gap: 8px; flex-wrap: wrap; }
#scca-embed .btn { font: 600 13px/1 var(--display); padding: 10px 16px; border-radius: 6px; border: 1px solid var(--line); background: var(--surface); color: var(--fg); cursor: pointer; }
#scca-embed .btn.primary { background: var(--navy); color: var(--surface); border-color: var(--navy); }
#scca-embed .score { color: var(--muted); font-size: 13px; font-variant-numeric: tabular-nums; }
#scca-embed .method { display: grid; gap: 18px; max-width: 980px; }
#scca-embed .method h2 { font: 500 20px/1.25 var(--display); margin: 0 0 6px; color: var(--navy); }
#scca-embed .method p, #scca-embed .method li { max-width: 85ch; }
#scca-embed .tbl { overflow-x: auto; background: var(--surface); border: 1px solid var(--line); border-radius: 8px; }
#scca-embed table { border-collapse: collapse; width: 100%; font-size: 14px; }
#scca-embed th, #scca-embed td { text-align: left; padding: 8px 12px; border-bottom: 1px solid var(--line); vertical-align: top; }
#scca-embed td.n, #scca-embed th.n { text-align: right; font-variant-numeric: tabular-nums; }
#scca-embed tr:last-child td { border-bottom: 0; }
#scca-embed .curve { display: flex; gap: 14px; align-items: flex-end; height: 150px; padding: 12px 14px 0; background: var(--surface); border: 1px solid var(--line); border-radius: 8px; }
#scca-embed .curve div { flex: 1; display: grid; justify-items: center; gap: 4px; align-self: stretch; align-content: end; }
#scca-embed .curve i { display: block; width: 70%; background: var(--navy); border-radius: 3px 3px 0 0; }
#scca-embed .curve b { font: 600 14px/1 var(--display); font-variant-numeric: tabular-nums; }
#scca-embed .curve span { font-size: 12px; color: var(--muted); padding-bottom: 8px; }
#scca-embed .fx { display: grid; gap: 0; max-width: 1180px; margin: 0 auto; }
#scca-embed .tk { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 18px; }
#scca-embed .tk p { margin: 0; background: var(--surface); border: 1px solid var(--line); border-radius: 8px; padding: 10px 12px; font-size: 14px; }
#scca-embed .tk b { color: var(--accent); font: 600 13px/1 var(--display); margin-right: 6px; }
#scca-embed .fxh, #scca-embed .fr { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) minmax(0, 1fr); gap: 14px; align-items: center; }
#scca-embed .fxh { font: 600 12px/1 var(--display); letter-spacing: .08em; text-transform: uppercase; padding-bottom: 8px; }
#scca-embed .fxh .hd { color: var(--doc); }
#scca-embed .fxh .hq { color: var(--muted); text-align: center; }
#scca-embed .fxh .hn { color: var(--new); text-align: right; }
#scca-embed .pre { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin-bottom: 6px; }
#scca-embed .pre span { font-size: 13px; background: var(--sunk); border-radius: 999px; padding: 6px 12px; color: var(--muted); }
#scca-embed .pre b { color: var(--fg); font-weight: 600; }
#scca-embed .qb { background: var(--surface); border: 1.5px solid var(--navy); border-radius: 10px; padding: 12px 14px; display: grid; gap: 7px; position: relative; }
#scca-embed .qb .qi { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
#scca-embed .qb .qn { font: 600 15px/1 var(--display); color: var(--navy); }
#scca-embed .yes { font: 600 11px/1 var(--display); padding: 5px 8px; border-radius: 999px; white-space: nowrap; }
#scca-embed .yes.doc { background: var(--doc-bg); color: var(--doc); }
#scca-embed .yes.new { background: var(--new-bg); color: var(--new); }
#scca-embed .qb .qt { font-size: 14px; line-height: 1.4; }
#scca-embed .qb .qt mark { background: var(--sunk); color: var(--fg); font-weight: 700; padding: 0 2px; border-radius: 2px; }
#scca-embed .qb .rl { font-size: 13.5px; color: var(--fg); border-top: 1px dashed var(--line); padding-top: 7px; }
#scca-embed .ex { display: grid; gap: 6px; min-width: 0; }
#scca-embed .ex a { display: grid; gap: 2px; text-decoration: none; color: var(--fg); background: var(--surface); border: 1px solid var(--line); border-radius: 6px; padding: 7px 10px; font-size: 13.5px; line-height: 1.3; }
#scca-embed .ex.d a { border-left: 3px solid var(--doc); }
#scca-embed .ex.n a { border-right: 3px solid var(--new); text-align: right; }
#scca-embed .ex a small { font-size: 11px; color: var(--muted); }
#scca-embed .ex a:hover small { color: var(--navy); text-decoration: underline; }
#scca-embed .ex .lab { display: none; font: 600 11px/1 var(--display); letter-spacing: .08em; text-transform: uppercase; }
#scca-embed .no { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr) minmax(0, 1fr); gap: 14px; }
#scca-embed .no span { grid-column: 2; text-align: center; font: 600 12px/1 var(--display); color: var(--muted); padding: 7px 0; }
#scca-embed .end { grid-column: 2; text-align: center; background: var(--doc-bg); color: var(--doc); border-radius: 10px; padding: 12px; font: 600 14px/1.3 var(--display); }
#scca-embed .fnote { margin-top: 20px; font-size: 12.5px; color: var(--muted); max-width: 95ch; }
@container scca (max-width: 860px) {
#scca-embed .tk { grid-template-columns: minmax(0, 1fr); }
#scca-embed .fxh { display: none; }
#scca-embed .fr, #scca-embed .no { grid-template-columns: minmax(0, 1fr); gap: 8px; }
#scca-embed .no span, #scca-embed .end { grid-column: 1; }
#scca-embed .fr .qb { order: -1; }
#scca-embed .ex .lab { display: block; margin-top: 4px; }
#scca-embed .ex.d .lab { color: var(--doc); }
#scca-embed .ex.n .lab { color: var(--new); }
#scca-embed .ex.n a { text-align: left; border-right: 1px solid var(--line); border-left: 3px solid var(--new); }
}
#scca-embed .tr { display: grid; gap: 16px; }
#scca-embed .tr-ctl { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 10px 24px; align-items: start; background: var(--surface); border: 1px solid var(--line); border-radius: 10px; padding: 14px 16px; }
#scca-embed .tr-lab { grid-column: 1; font: 600 11px/1 var(--display); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
#scca-embed #scca-trChange { grid-column: 1; font: 600 15px/1.3 var(--body); padding: 8px 10px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); color: var(--fg); min-width: 0; max-width: 100%; }
#scca-embed .tr-facts { grid-column: 1; margin: 0; font-size: 14px; color: var(--muted); }
#scca-embed .tr-facts b { color: var(--fg); font-weight: 600; }
#scca-embed .tr-slider { grid-column: 2; grid-row: 1 / span 2; display: grid; gap: 6px; padding-top: 4px; }
#scca-embed #scca-trStance { width: 100%; accent-color: var(--st); height: 26px; cursor: pointer; }
#scca-embed .tr-ticks { display: flex; justify-content: space-between; gap: 6px; }
#scca-embed .tr-ticks span { font: 600 12.5px/1.2 var(--display); color: var(--muted); cursor: pointer; display: grid; gap: 2px; }
#scca-embed .tr-ticks span:nth-child(2) { text-align: center; }
#scca-embed .tr-ticks span:last-child { text-align: right; }
#scca-embed .tr-ticks small { font: 400 11px/1.2 var(--body); }
#scca-embed .tr-ticks span[aria-current="true"] { color: var(--st); }
#scca-embed .tr-out { grid-column: 2; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; font-size: 13px; color: var(--muted); }
#scca-embed .tr-out .res { font: 600 14px/1 var(--display); padding: 7px 12px; border-radius: 999px; }
#scca-embed .res.doc { background: #e0f3ef; color: #0f766e; }
#scca-embed .res.new { background: #fde9e3; color: #c2401f; }
#scca-embed .tr-main { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.95fr) minmax(0, 0.8fr); gap: 18px; align-items: start; }
#scca-embed .tr-fig { margin: 0; position: sticky; top: calc(env(safe-area-inset-top, 0px) + 58px); background: #ffffff; border: 1px solid var(--line); border-radius: 8px; padding: 10px 10px 8px; }
#scca-embed .tr-fig svg { display: block; width: 100%; height: auto; max-height: calc(100vh - 120px); }
#scca-embed .tr-fig figcaption { font: 12px/1.4 var(--body); color: #4b5563; padding: 4px 6px 0; }
#scca-embed .fda .node, #scca-embed .fda .tag, #scca-embed .fda .edges path { transition: opacity .25s; }
#scca-embed .fda.traced .node:not(.on), #scca-embed .fda.traced .tag:not(.on), #scca-embed .fda.traced .edges path:not(.on) { opacity: .38; }
#scca-embed .fda .node.q { cursor: pointer; }
#scca-embed .fda .node.on rect:first-child, #scca-embed .fda .node.on polygon, #scca-embed .fda .node.on ellipse { stroke: var(--stf); stroke-width: 4; }
#scca-embed .fda .tag.on rect { stroke: var(--stf); stroke-width: 3; }
#scca-embed .fda .half.on { fill: var(--stf); fill-opacity: .1; }
#scca-embed #scca-trOverlay path { stroke: var(--stf); stroke-width: 6; stroke-linecap: round; stroke-linejoin: round; opacity: .9; }
@media (prefers-reduced-motion: no-preference) {
#scca-embed #scca-trOverlay path { animation: scca-draw .6s ease-out both; }
}
@keyframes scca-draw { from { stroke-dashoffset: var(--len); } to { stroke-dashoffset: 0; } }
#scca-embed .bdg circle { fill: var(--stf); }
#scca-embed .bdg text { fill: #fff; font: 700 17px/1 Arial, sans-serif; }
#scca-embed .tr-steps { display: grid; gap: 10px; min-width: 0; }
#scca-embed .stp { background: var(--surface); border: 1px solid var(--line); border-left: 4px solid var(--st); border-radius: 8px; padding: 12px 14px; display: grid; gap: 8px; scroll-margin-top: 70px; }
#scca-embed .stp.flash { box-shadow: 0 0 0 3px var(--st); }
#scca-embed .stp-h { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
#scca-embed .stp-h b { font: 600 14px/1 var(--display); color: var(--fg); }
#scca-embed .ans { font: 700 12px/1 var(--display); padding: 5px 9px; border-radius: 4px; letter-spacing: .04em; }
#scca-embed .ans.Y { background: #E4EAD7; color: #3f5f22; }
#scca-embed .ans.N { background: #FAD9C2; color: #7a4520; }
#scca-embed .ans.D { background: #e0f3ef; color: #0f766e; }
#scca-embed .ans.F { background: #fde9e3; color: #c2401f; }
#scca-embed .stp-q { font: italic 14px/1.4 'Times New Roman', Times, serif; color: var(--muted); }
#scca-embed .bw { display: flex; flex-wrap: wrap; gap: 5px; }
#scca-embed .bw .bwc { font: 12px/1.3 var(--mono); background: var(--sunk); color: var(--fg); padding: 3px 7px; border-radius: 4px; border: 0; text-align: left; }
#scca-embed .bw .bwc.has { cursor: pointer; border: 1px solid transparent; }
#scca-embed .bw .bwc.has:hover { border-color: var(--st); }
#scca-embed .bw .bwc.sel { background: var(--st); color: var(--surface); }
#scca-embed .bw .bwc.has::after { content: " →"; font-family: var(--body); opacity: .7; }
#scca-embed .wl-tag { display: inline-block; font: 600 10px/1 var(--display); letter-spacing: .08em; text-transform: uppercase; background: var(--new-bg); color: var(--new); padding: 4px 6px; border-radius: 3px; margin-right: 4px; }
#scca-embed .fda-said { display: block; margin-top: 8px; padding: 8px 10px; border-left: 3px solid var(--new); background: var(--new-bg); color: var(--fg); border-radius: 0 6px 6px 0; }
#scca-embed .fda-said a { font-style: italic; }
#scca-embed .fda-fin { margin: 0; font-size: 14px; }
#scca-embed .tr-cal { position: sticky; top: calc(env(safe-area-inset-top, 0px) + 58px); max-height: calc(100vh - 76px); overflow: auto; background: var(--surface); border: 1px solid var(--line); border-radius: 8px; padding: 12px 14px; display: grid; gap: 10px; align-content: start; font-size: 13.5px; min-width: 0; }
#scca-embed .tr-cal h3, #scca-embed .tr-cal .tr-cal-h { margin: 0; font: 600 11px/1 var(--display); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
#scca-embed #scca-calSel { font: 600 13.5px/1.3 var(--body); padding: 7px 8px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); color: var(--fg); width: 100%; min-width: 0; }
#scca-embed #scca-calBody { display: grid; gap: 12px; }
#scca-embed .cal-term { font: 600 15px/1.35 var(--mono); color: var(--fg); display: grid; gap: 3px; }
#scca-embed .cal-term small { font: 500 11px/1 var(--display); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
#scca-embed .tlab em { font-style: normal; font-weight: 500; text-transform: none; letter-spacing: 0; color: var(--muted); }
#scca-embed #scca-calBody .tcol { display: grid; gap: 6px; }
#scca-embed #scca-calBody .tlab { font: 600 11px/1 var(--display); letter-spacing: .08em; text-transform: uppercase; }
#scca-embed #scca-calBody .tlab.y { color: var(--new); }
#scca-embed #scca-calBody .tlab.n { color: var(--doc); }
#scca-embed #scca-calBody .tex { border-left: 3px solid var(--line); padding: 2px 0 2px 8px; display: grid; gap: 2px; }
#scca-embed #scca-calBody .tex.y { border-left-color: var(--new); }
#scca-embed #scca-calBody .tex.n { border-left-color: var(--doc); }
#scca-embed #scca-calBody .tex b { font-weight: 600; }
#scca-embed #scca-calBody .tex span { color: var(--muted); font-size: 12.5px; }
#scca-embed #scca-calBody .tex a { font-size: 12px; }
#scca-embed #scca-calBody .tnone { color: var(--muted); font-style: italic; font-size: 12.5px; }
#scca-embed #scca-calBody .thint { color: var(--muted); font-size: 11.5px; }
#scca-embed .stp-r, #scca-embed .stp-w { margin: 0; font-size: 14px; }
#scca-embed .stp-r b, #scca-embed .stp-w b { font: 600 11px/1 var(--display); letter-spacing: .08em; text-transform: uppercase; color: var(--st); margin-right: 6px; }
#scca-embed .stp details { font-size: 13px; }
#scca-embed .stp summary { cursor: pointer; color: var(--muted); font-size: 12.5px; }
#scca-embed .stp details ul { margin: 6px 0 0; padding-left: 18px; display: grid; gap: 3px; }
#scca-embed .stp .dl { color: #0f766e; font-weight: 600; }
#scca-embed .stp .nl { color: #c2401f; font-weight: 600; }
#scca-embed .fin { border-radius: 8px; padding: 14px 16px; display: grid; gap: 10px; background: var(--surface); border: 2px solid var(--st); }
#scca-embed .fin h3 { margin: 0; font: 600 18px/1.2 var(--display); }
#scca-embed .cmp { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
#scca-embed .cmp button { font: inherit; text-align: left; border: 1px solid var(--line); background: var(--surface); color: var(--fg); border-radius: 6px; padding: 7px 8px; cursor: pointer; display: grid; gap: 3px; font-size: 12.5px; }
#scca-embed .cmp button[aria-pressed="true"] { border-color: var(--fg); background: var(--sunk); }
#scca-embed .cmp button b { font: 600 12px/1 var(--display); }
#scca-embed .ev { margin: 0; padding-left: 18px; display: grid; gap: 4px; font-size: 13.5px; }
@container scca (max-width: 1200px) {
#scca-embed .tr-main { grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); }
#scca-embed .tr-fig { grid-column: 1; grid-row: 1 / span 2; }
#scca-embed .tr-steps { grid-column: 2; grid-row: 1; }
#scca-embed .tr-cal { grid-column: 2; grid-row: 2; position: static; max-height: none; }
}
@container scca (max-width: 900px) {
#scca-embed .tr-ctl { grid-template-columns: minmax(0, 1fr); }
#scca-embed .tr-slider, #scca-embed .tr-out { grid-column: 1; grid-row: auto; }
#scca-embed .tr-main { grid-template-columns: minmax(0, 1fr); }
#scca-embed .tr-cal, #scca-embed .tr-steps, #scca-embed .tr-fig { grid-column: auto; grid-row: auto; }
#scca-embed .tr-fig { position: static; overflow-x: auto; }
#scca-embed .tr-fig svg { max-height: none; min-width: 640px; }
}
#scca-embed .wl { display: grid; grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.4fr); gap: 18px; align-items: start; }
#scca-embed .wl-side { position: sticky; top: calc(env(safe-area-inset-top, 0px) + 58px); display: grid; gap: 12px; max-height: calc(100vh - 76px); overflow: auto; min-width: 0; }
#scca-embed .wl-card { background: var(--surface); border: 2px solid var(--navy); border-radius: 10px; padding: 14px 16px; display: grid; gap: 8px; }
#scca-embed .wl-card h2 { margin: 0; font: 600 18px/1.3 var(--display); text-wrap: balance; }
#scca-embed .wl-card p { margin: 0; font-size: 14.5px; }
#scca-embed .wl-k { font: 600 11px/1 var(--display); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); display: flex; gap: 6px; align-items: center; }
#scca-embed .wl-nav { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
#scca-embed .wl-nav span { font-size: 13px; color: var(--muted); font-variant-numeric: tabular-nums; }
#scca-embed .wl-list { background: var(--surface); border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; display: grid; gap: 10px; }
#scca-embed .wl-grp h3 { margin: 0 0 4px; font: 600 11px/1.3 var(--display); letter-spacing: .08em; text-transform: uppercase; color: var(--muted); display: flex; gap: 6px; align-items: center; }
#scca-embed .wl-grp ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
#scca-embed .wl-it { width: 100%; text-align: left; font: inherit; font-size: 13.5px; color: var(--fg); background: none; border: 0; border-radius: 6px; padding: 5px 6px; cursor: pointer; display: flex; gap: 8px; align-items: baseline; }
#scca-embed .wl-it:hover { background: var(--sunk); }
#scca-embed .wl-it[aria-current="true"] { background: var(--cont-bg); font-weight: 600; }
#scca-embed .wl-n { font: 600 11px/1 var(--display); color: var(--muted); min-width: 18px; font-variant-numeric: tabular-nums; }
#scca-embed .gdot { width: 9px; height: 9px; border-radius: 2px; display: inline-block; flex: none; }
#scca-embed .g-pre { --gc: #E85036; }
#scca-embed .g-qms { --gc: #2D3F86; }
#scca-embed .g-mdr { --gc: #0e7490; }
#scca-embed .g-next { --gc: #a16207; }
#scca-embed .gdot.g-pre, #scca-embed .gdot.g-qms, #scca-embed .gdot.g-mdr, #scca-embed .gdot.g-next { background: var(--gc); }
#scca-embed .wl-paper { overflow-wrap: anywhere; background: #ffffff; color: #1a1a1a; border: 1px solid var(--line); border-radius: 8px; padding: 28px 34px; font: 16px/1.6 'Times New Roman', Times, 'Liberation Serif', serif; min-width: 0; }
#scca-embed .wl-paper .wl-meta { font: 13px/1.5 var(--body); color: #4b5563; border-bottom: 1px solid #e5e7eb; padding-bottom: 10px; margin-bottom: 14px; display: flex; flex-wrap: wrap; gap: 4px 18px; justify-content: space-between; }
#scca-embed .wl-paper .wl-meta a { color: #2D3F86; }
#scca-embed .wl-paper p { margin: 0 0 12px; max-width: 80ch; }
#scca-embed .wl-paper .wl-h { margin: 16px 0 6px; font: 700 16px/1.4 'Times New Roman', Times, serif; }
#scca-embed mark.wl-m { background: color-mix(in srgb, var(--gc) 14%, white); color: inherit; padding: 1px 0; border-bottom: 2px solid color-mix(in srgb, var(--gc) 45%, white); cursor: pointer; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
#scca-embed mark.wl-m.on { background: color-mix(in srgb, var(--gc) 32%, white); border-bottom-color: var(--gc); outline: 2px solid var(--gc); outline-offset: 1px; }
@container scca (max-width: 900px) {
#scca-embed .wl { grid-template-columns: minmax(0, 1fr); }
#scca-embed .wl-side { position: sticky; top: calc(env(safe-area-inset-top, 0px) + 50px); z-index: 3; max-height: none; overflow: visible; }
#scca-embed .wl-list { display: none; }
#scca-embed .wl-paper { padding: 18px 16px; }
}
@container scca (max-width: 980px) {
#scca-embed .atlas { grid-template-columns: minmax(0, 1fr); }
#scca-embed .detail { order: -1; }
#scca-embed .index { grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); }
}
@container scca (max-width: 760px) {
#scca-embed .ruler { grid-template-columns: minmax(0, 1fr); }
#scca-embed .pab { grid-template-columns: minmax(0, 1fr); }
#scca-embed .zh { position: static; }
}
/* embed overrides */
#scca-embed nav.tabs { position: static; }
#scca-embed .scca-main .wrap { padding-block: 18px 22px; }
#scca-embed .wrap { max-width: none; padding-left: 16px; padding-right: 16px; }
/* The site header is sticky (about 80px), so sticky panels sit below it. */
#scca-embed .tr-fig, #scca-embed .tr-cal, #scca-embed .wl-side { top: 96px; }
#scca-embed .tr-fig svg { max-height: calc(100vh - 150px); }
#scca-embed .tr-cal, #scca-embed .wl-side { max-height: calc(100vh - 112px); }
#scca-embed .fig-zoom { display: none; }
/* The flowchart YES tags share the .yes class with a pill style; keep them at the figure size like NO. */
#scca-embed .fda .tag.yes { font: inherit; padding: 0; border-radius: 0; white-space: normal; }
#scca-embed a { overflow-wrap: anywhere; }
#scca-embed a.open, #scca-embed .ev a { overflow-wrap: normal; }
@container scca (max-width: 900px) {
  #scca-embed .wl-side { top: 96px; max-height: none; }
  #scca-embed .tr-fig { overflow-x: visible; }
  #scca-embed .tr-fig svg { min-width: 0; max-height: none; }
}
@container scca (max-width: 560px) {
  #scca-embed header.mast .wrap { padding-block: 18px 14px; }
  #scca-embed .tr-ctl { padding: 12px; }
  #scca-embed .tr-fig { padding: 6px 4px 6px; }
  #scca-embed .cmp { grid-template-columns: minmax(0, 1fr); }
  #scca-embed .wl-paper { padding: 16px 14px; font-size: 15.5px; }
  #scca-embed .wl-nav .btn { padding: 9px 12px; }
  #scca-embed .fig-zoom { display: inline-block; justify-self: start; margin: 2px 0 8px 4px; font: 600 12.5px/1 var(--display); color: var(--navy); background: var(--surface); border: 1px solid var(--line); border-radius: 999px; padding: 8px 12px; cursor: pointer; }
  #scca-embed .tr-fig.zoomed { overflow-x: auto; }
  #scca-embed .tr-fig.zoomed svg { min-width: 720px; }
}
</style>
<header class="mast"><div class="wrap">
  <span class="eyebrow">Deciding When to Submit a 510(k) for a Software Change to an Existing Device · FDA, Oct 25, 2017</span>
  <div class="mast-title" role="heading" aria-level="2">Note to file or new 510(k)?</div>
  <p class="sub">FDA's 2017 software-change flowchart. Pick an AI change, move the slider from conservative to lean, and follow the path. Each box explains its answer and how that reading interprets FDA's boundary words.</p>
</div></header>
<nav class="tabs" aria-label="Views"><div class="wrap" role="tablist">
  <button class="tab" role="tab" data-view="flow" aria-selected="true">Flowchart</button>
  <button class="tab" role="tab" data-view="letter" aria-selected="false">Warning letter</button>
</div></nav>
<div class="scca-main"><div class="wrap">
  <section class="view" id="scca-v-flow">
<div class="tr">
  <div class="tr-ctl">
    <label class="tr-lab" for="scca-trChange">AI SaMD change</label>
    <select id="scca-trChange"></select>
    <p class="tr-facts" id="scca-trFacts"></p>
    <div class="tr-slider">
      <input type="range" id="scca-trStance" min="0" max="2" step="1" value="1" aria-label="Interpretation stance">
      <div class="tr-ticks"><span data-s="0">Conservative<small>favors a new 510(k)</small></span><span data-s="1">Balanced</span><span data-s="2">Lean<small>favors documenting</small></span></div>
    </div>
    <div class="tr-out" id="scca-trOut"></div>
  </div>
  <div class="tr-main">
    <figure class="tr-fig"><button type="button" class="fig-zoom" aria-pressed="false">Enlarge figure (scroll sideways)</button>
      <svg id="scca-trSvg" viewBox="180 160 1065 1285" role="img" aria-label="FDA Figure 1 flowchart with the traced path">
        <defs>
          <linearGradient id="scca-gBox" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="#ffffff"/><stop offset="1" stop-color="#e6e6e6"/></linearGradient>
          <linearGradient id="scca-gStart" x1="0" y1="0" x2="0" y2="1"><stop offset="0" stop-color="#ffffff"/><stop offset="1" stop-color="#e9e9e9"/></linearGradient>
          <filter id="scca-fSh" x="-5%" y="-5%" width="115%" height="120%"><feDropShadow dx="3" dy="3" stdDeviation="1.5" flood-color="#000" flood-opacity=".18"/></filter>
          <marker id="scca-mA" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="7" markerHeight="7" orient="auto-start-reverse"><path d="M0,0 L10,5 L0,10 z" fill="#333"/></marker>
          <marker id="scca-mAon" viewBox="0 0 10 10" refX="9" refY="5" markerWidth="5" markerHeight="5" orient="auto-start-reverse"><path d="M0,0 L10,5 L0,10 z" fill="context-stroke"/></marker>
        </defs>
        <g class="fda" font-family="'Times New Roman', Times, 'Liberation Serif', serif" font-size="19" fill="#1a1a1a">
          <g class="edges" fill="none" stroke="#333" stroke-width="2">
            <path id="scca-e-start" d="M699 230 V262" marker-end="url(#scca-mA)"/>
            <path id="scca-e-Q1-no" d="M701 390 V432" marker-end="url(#scca-mA)"/>
            <path id="scca-e-Q1-yes" d="M472 305 H445 V395 H387" marker-end="url(#scca-mA)"/>
            <path id="scca-e-Q2-yes" d="M472 485 H445 V395 H387" marker-end="url(#scca-mA)"/>
            <path id="scca-e-Q2-no" d="M701 562 V597" marker-end="url(#scca-mA)"/>
            <path id="scca-e-Q3-yes" d="M937 748 H1138 V1002" marker-end="url(#scca-mA)"/>
            <path id="scca-e-Q3-no" d="M701 968 V1012" marker-end="url(#scca-mA)"/>
            <path id="scca-e-Q4-yes" d="M937 1069 H1038" marker-end="url(#scca-mA)"/>
            <path id="scca-e-Q4-no" d="M701 1160 V1210" marker-end="url(#scca-mA)"/>
            <path id="scca-e-VI-doc" d="M485 1275 H285 V462" marker-end="url(#scca-mA)"/>
            <path id="scca-e-VI-new" d="M913 1275 H1138 V1136" marker-end="url(#scca-mA)"/>
          </g>
          <g id="scca-n-start" class="node"><rect x="636" y="173" width="122" height="57" rx="28" fill="url(#scca-gStart)" stroke="#7a7a7a" stroke-width="1.5" filter="url(#scca-fSh)"/><text x="697" y="208" text-anchor="middle">START</text></g>
          <g id="scca-n-doc" class="node term"><ellipse cx="285" cy="395" rx="98" ry="65" fill="#92D050" stroke="#3f5f22" stroke-width="1.5"/><text x="285" y="401" text-anchor="middle">Document</text></g>
          <g id="scca-n-new" class="node term"><ellipse cx="1138" cy="1069" rx="98" ry="65" fill="#C6D7EC" stroke="#2f4a73" stroke-width="1.5"/><text x="1138" y="1075" text-anchor="middle">New 510(k)</text></g>
          <g id="scca-n-Q1" class="node q"><rect x="521" y="262" width="359" height="91" fill="url(#scca-gBox)" stroke="#7a7a7a" stroke-width="1.5" filter="url(#scca-fSh)"/>
            <text text-anchor="middle"><tspan x="700" y="290">1. Is the change made solely to strengthen</tspan><tspan x="700" y="314">cybersecurity and does not have any other</tspan><tspan x="700" y="338">impact on the software or device?</tspan></text></g>
          <g id="scca-n-Q2" class="node q"><rect x="521" y="432" width="359" height="93" fill="url(#scca-gBox)" stroke="#7a7a7a" stroke-width="1.5" filter="url(#scca-fSh)"/>
            <text text-anchor="middle"><tspan x="700" y="461">2. Is the change made solely to return the</tspan><tspan x="700" y="485">system into specification of the most</tspan><tspan x="700" y="509">recently cleared device?</tspan></text></g>
          <g id="scca-n-Q3" class="node q"><rect x="517" y="597" width="363" height="335" fill="url(#scca-gBox)" stroke="#7a7a7a" stroke-width="1.5" filter="url(#scca-fSh)"/>
            <rect id="scca-h-Q3a" class="half" x="521" y="624" width="355" height="128" fill="transparent"/>
            <rect id="scca-h-Q3b" class="half" x="521" y="770" width="355" height="128" fill="transparent"/>
            <text text-anchor="middle"><tspan x="698" y="650">3a.Does the change introduce a new risk or</tspan><tspan x="698" y="674">modify an existing risk that could result in</tspan><tspan x="698" y="698">significant harm and that is not effectively</tspan><tspan x="698" y="722">mitigated in the most recently cleared</tspan><tspan x="698" y="746">device?</tspan><tspan x="698" y="770" font-weight="700">or</tspan><tspan x="698" y="794">3b. Does the change create or necessitate a</tspan><tspan x="698" y="818">new risk control measure or a modification</tspan><tspan x="698" y="842">of an existing risk control measure for a</tspan><tspan x="698" y="866">hazardous situation that could result in</tspan><tspan x="698" y="890">significant harm?</tspan></text></g>
          <g id="scca-n-Q4" class="node q"><rect x="517" y="1013" width="363" height="109" fill="url(#scca-gBox)" stroke="#7a7a7a" stroke-width="1.5" filter="url(#scca-fSh)"/>
            <text text-anchor="middle"><tspan x="698" y="1039">4. Could the change significantly affect</tspan><tspan x="698" y="1063">clinical functionality or performance</tspan><tspan x="698" y="1087">specifications that are directly associated</tspan><tspan x="698" y="1111">with the intended use of the device?</tspan></text></g>
          <g id="scca-n-VI" class="node q"><polygon points="485,1275 520,1211 880,1211 913,1275 880,1338 520,1338" fill="url(#scca-gBox)" stroke="#7a7a7a" stroke-width="1.5" filter="url(#scca-fSh)"/>
            <text text-anchor="middle"><tspan x="699" y="1256">Evaluate additional software factors that</tspan><tspan x="699" y="1280">may affect the decision to file. See section</tspan><tspan x="699" y="1304">VI for examples.</tspan></text></g>
          <g class="tags" font-weight="700">
            <g id="scca-t-Q1-yes" class="tag yes"><rect x="472" y="280" width="49" height="52" fill="#E4EAD7" stroke="#8a9a6a"/><text x="497" y="312" text-anchor="middle" font-style="italic">YES</text></g>
            <g id="scca-t-Q2-yes" class="tag yes"><rect x="472" y="460" width="49" height="51" fill="#E4EAD7" stroke="#8a9a6a"/><text x="497" y="491" text-anchor="middle" font-style="italic">YES</text></g>
            <g id="scca-t-Q1-no" class="tag no"><rect x="677" y="353" width="47" height="37" fill="#FAD9C2" stroke="#b48a6a"/><text x="701" y="378" text-anchor="middle">NO</text></g>
            <g id="scca-t-Q2-no" class="tag no"><rect x="677" y="525" width="47" height="37" fill="#FAD9C2" stroke="#b48a6a"/><text x="701" y="550" text-anchor="middle">NO</text></g>
            <g id="scca-t-Q3-yes" class="tag yes"><rect x="880" y="722" width="57" height="53" fill="#E4EAD7" stroke="#8a9a6a"/><text x="908" y="755" text-anchor="middle" font-style="italic">YES</text></g>
            <g id="scca-t-Q3-no" class="tag no"><rect x="678" y="932" width="47" height="36" fill="#FAD9C2" stroke="#b48a6a"/><text x="701" y="956" text-anchor="middle">NO</text></g>
            <g id="scca-t-Q4-yes" class="tag yes"><rect x="880" y="1043" width="57" height="52" fill="#E4EAD7" stroke="#8a9a6a"/><text x="908" y="1075" text-anchor="middle" font-style="italic">YES</text></g>
            <g id="scca-t-Q4-no" class="tag no"><rect x="678" y="1122" width="47" height="38" fill="#FAD9C2" stroke="#b48a6a"/><text x="701" y="1147" text-anchor="middle">NO</text></g>
          </g>
          <g id="scca-trOverlay" fill="none"></g>
          <g id="scca-trBadges"></g>
          <text x="694" y="1405" text-anchor="middle" font-size="18" fill="#333">This flowchart is not intended to be used as a 'stand-alone' document and should</text>
          <text x="694" y="1430" text-anchor="middle" font-size="18" fill="#333">only be considered in conjunction with the accompanying text in this guidance.</text>
        </g>
      </svg>
      <figcaption>Figure 1. When to Submit a New 510(k) For a Software Change to an Existing Device. Redrawn from FDA's 2017 guidance; the colored line is the traced path. Select a box to jump to its explanation. Select a boundary term to see FDA's examples in the Calibrating examples panel.</figcaption>
    </figure>
    <div class="tr-steps" id="scca-trSteps" aria-live="polite"></div>
    <aside class="tr-cal" id="scca-trCal" aria-label="Calibrating examples">
      <div class="tr-cal-h" role="heading" aria-level="3">Calibrating examples</div>
      <select id="scca-calSel" aria-label="Boundary term"></select>
      <div id="scca-calBody"></div>
    </aside>
  </div>
</div>
</section>
  <section class="view" id="scca-v-letter" hidden>
<div class="wl">
  <div class="wl-side">
    <div class="wl-card" id="scca-wlCard"></div>
    <nav class="wl-list" id="scca-wlList" aria-label="Findings in the letter"></nav>
  </div>
  <article class="wl-paper">
    <div class="wl-meta"><span>FDA warning letter · O.N. Diagnostics, LLC · MARCS-CMS 730301 · issued Sept 1, 2026 · posted Oct 6, 2026</span><a href="https://www.fda.gov/inspections-compliance-enforcement-and-criminal-investigations/warning-letters/diagnostics-llc-730301-09012026" target="_blank" rel="noopener">Original on fda.gov ↗</a></div>
    <div id="scca-wlDoc"></div>
  </article>
</div>
</section>
</div></div>
<script id="scca-data" type="text/plain">eyJsZXR0ZXIiOiB7Imh0bWwiOiAiPGg0IGNsYXNzPVwid2wtaFwiPldBUk5JTkcgTEVUVEVSPFwvaDQ+PGg0IGNsYXNzPVwid2wtaFwiPkNNUyA3MzAzMDE8XC9oND48aDQgY2xhc3M9XCJ3bC1oXCI+OS8xLzIwMjY8XC9oND48cD5EZWFyIE1zLiBXb25nLDxcL3A+PHA+RHVyaW5nIGFuIGluc3BlY3Rpb24gb2YgeW91ciBmaXJtIGxvY2F0ZWQgaW4gQmVya2xleSwgQ0EsIGZyb20gTWFyY2ggMTItMTcsIDIwMjYsIGludmVzdGlnYXRvcnMgZnJvbSB0aGUgVW5pdGVkIFN0YXRlcyBGb29kIGFuZCBEcnVnIEFkbWluaXN0cmF0aW9uIChGREEpIGRldGVybWluZWQgdGhhdCB5b3VyIGZpcm0gbWFudWZhY3R1cmVzIChvciBtYXJrZXRzKSB0aGUgVmlydHVPc3QgYW5kIFZpcnR1T3N0IFZlcnRlYnJhbCBGcmFjdHVyZSBBc3Nlc3NtZW50IChWRkEpIHNvZnR3YXJlIHByb2R1Y3RzLiBVbmRlciBzZWN0aW9uIDIwMShoKSBvZiB0aGUgRmVkZXJhbCBGb29kLCBEcnVnLCBhbmQgQ29zbWV0aWMgQWN0ICh0aGUgQWN0KSwgMjEgVS5TLkMuIMKnIDMyMShoKSwgdGhlc2UgcHJvZHVjdHMgYXJlIGRldmljZXMgYmVjYXVzZSB0aGV5IGFyZSBpbnRlbmRlZCBmb3IgdXNlIGluIHRoZSBkaWFnbm9zaXMgb2YgZGlzZWFzZSBvciBvdGhlciBjb25kaXRpb25zIG9yIGluIHRoZSBjdXJlLCBtaXRpZ2F0aW9uLCB0cmVhdG1lbnQsIG9yIHByZXZlbnRpb24gb2YgZGlzZWFzZSwgb3IgdG8gYWZmZWN0IHRoZSBzdHJ1Y3R1cmUgb3IgYW55IGZ1bmN0aW9uIG9mIHRoZSBib2R5LiBUaGUgVmlydHVPc3QgYW5kIFZpcnR1T3N0IFZGQSBzb2Z0d2FyZSBwcm9kdWN0cyBhcmUgZGV2aWNlIHNvZnR3YXJlIGZ1bmN0aW9ucyBiZWNhdXNlIHRoZXkgYW5hbHl6ZSBtZWRpY2FsIGltYWdlcyBmb3IgdXNlIGluIHRoZSBkaWFnbm9zaXMgb2YgZXhpc3RpbmcgdmVydGVicmFsIGZyYWN0dXJlcyBhbmQgdGhlIG1hbmFnZW1lbnQgb2Ygb3N0ZW9wb3Jvc2lzLiBBcyBzdWNoLCB5b3VyIGZpcm0gaGFzIHJlc3BvbnNpYmlsaXR5IGZvciBtYWludGFpbmluZyBmdWxsIGNvbXBsaWFuY2Ugd2l0aCBhbGwgYXBwbGljYWJsZSBwcmUtIGFuZCBwb3N0LW1hcmtldCByZXF1aXJlbWVudHMgYXNzb2NpYXRlZCB3aXRoIHRoZXNlIGRldmljZSBzb2Z0d2FyZSBmdW5jdGlvbnMuPFwvcD48aDQgY2xhc3M9XCJ3bC1oXCI+VW5hcHByb3ZlZCBEZXZpY2UgVmlvbGF0aW9uKHMpPFwvaDQ+PHA+T3VyIGluc3BlY3Rpb24gcmV2ZWFsZWQgdGhhdCA8bWFyayBjbGFzcz1cIndsLW0gZy1wcmVcIiBkYXRhLWk9XCI2XCI+dGhlIFZpcnR1T3N0IFZGQSAzLjAuMCBpcyBhZHVsdGVyYXRlZCB1bmRlciBzZWN0aW9uIDUwMShmKSgxKShCKSBvZiB0aGUgQWN0PFwvbWFyaz4sIDIxIFUuUy5DLiDCpyAzNTEoZikoMSkoQiksIGJlY2F1c2UgeW91ciBmaXJtIGRvZXMgbm90IGhhdmUgYW4gYXBwcm92ZWQgYXBwbGljYXRpb24gZm9yIHByZW1hcmtldCBhcHByb3ZhbCAoUE1BKSBpbiBlZmZlY3QgcHVyc3VhbnQgdG8gc2VjdGlvbiA1MTUoYSkgb2YgdGhlIEFjdCwgMjEgVS5TLkMuIMKnIDM2MGUoYSksIG9yIGFuIGFwcHJvdmVkIGFwcGxpY2F0aW9uIGZvciBhbiBpbnZlc3RpZ2F0aW9uYWwgZGV2aWNlIGV4ZW1wdGlvbiAoSURFKSB1bmRlciBzZWN0aW9uIDUyMChnKSBvZiB0aGUgQWN0LCAyMSBVLlMuQy4gwqcgMzYwaihnKSBmb3IgdGhlIGRldmljZSBhcyBkZXNjcmliZWQgYW5kIG1hcmtldGVkLiA8bWFyayBjbGFzcz1cIndsLW0gZy1wcmVcIiBkYXRhLWk9XCI2XCI+VGhlIFZpcnR1T3N0IFZGQSAzLjAuMCBpcyBhbHNvIG1pc2JyYW5kZWQgdW5kZXIgc2VjdGlvbiA1MDIobykgb2YgdGhlIEFjdDxcL21hcms+LCAyMSBVLlMuQy4gwqcgMzUyKG8pLCBiZWNhdXNlIHlvdXIgZmlybSBpbnRyb2R1Y2VkIG9yIGRlbGl2ZXJlZCBmb3IgaW50cm9kdWN0aW9uIGludG8gaW50ZXJzdGF0ZSBjb21tZXJjZSBmb3IgY29tbWVyY2lhbCBkaXN0cmlidXRpb24gdGhpcyBkZXZpY2Ugd2l0aCBjaGFuZ2VzIG9yIG1vZGlmaWNhdGlvbnMgaW4gdGhlIGRldmljZSB0aGF0IGNvdWxkIHNpZ25pZmljYW50bHkgYWZmZWN0IHRoZSBzYWZldHkgb3IgZWZmZWN0aXZlbmVzcyBvZiB0aGUgZGV2aWNlIHdpdGhvdXQgc3VibWl0dGluZyBhIG5ldyBwcmVtYXJrZXQgbm90aWZpY2F0aW9uIHRvIEZEQSBhcyByZXF1aXJlZCBieSBzZWN0aW9uIDUxMChrKSBvZiB0aGUgQWN0LCAyMSBVLlMuQy4gwqcgMzYwKGspLCBhbmQgMjEgQ0ZSIDgwNy44MShhKSgzKShpKS48XC9wPjxwPlNwZWNpZmljYWxseSwgPG1hcmsgY2xhc3M9XCJ3bC1tIGctcHJlXCIgZGF0YS1pPVwiMFwiPnRoZSBWaXJ0dU9zdCBWRkEgd2FzIGNsZWFyZWQgdW5kZXIgSzE3MTQzNSB3aXRoIHRoZSBmb2xsb3dpbmcgaW5kaWNhdGlvbnM8XC9tYXJrPjogVmlydHVPc3QgVkZBIHVzZXMgc2FnaXR0YWwgc2VjdGlvbnMgZnJvbSBhIHNwaW5lLWNvbnRhaW5pbmcgQ1Qgc2Nhbiwgd2l0aCBvciB3aXRob3V0IGNvbnRyYXN0IGVuaGFuY2VtZW50LCB0byB2aXN1YWxpemUgYW5kIG1lYXN1cmUgdmVydGVicmFsIGRlZm9ybWl0aWVzLCBjbGFzc2lmeSB0aGUgdHlwZSBhbmQgZ3JhZGUgb2YgYW55IGV4aXN0aW5nIHZlcnRlYnJhbCBmcmFjdHVyZSwgYW5kIGZyb20gdGhpcyBpZGVudGlmeSBwYXRpZW50cyBhdCBoaWdoIHJpc2sgb2YgYSBmdXR1cmUgb3N0ZW9wb3Jvc2lzLXJlbGF0ZWQgZnJhY3R1cmUuIFRoaXMgaW5mb3JtYXRpb24gY2FuIGJlIGludGVycHJldGVkIGJ5IGEgcGh5c2ljaWFuIHRvIGRpYWdub3NlIGV4aXN0aW5nIHZlcnRlYnJhbCBmcmFjdHVyZXMgYW5kIHRvIG1hbmFnZSBwYXRpZW50cyBmb3Igb3N0ZW9wb3Jvc2lzLjxcL3A+PHA+QSByZXZpZXcgb2YgdGhlIFNvZnR3YXJlIFZlcnNpb24gQ29udHJvbCBMb2cgYW5kIOKAnDMuMC4wIFJlbGVhc2UgTm90ZXPigJ0gZGF0ZWQgSnVuZSAxMSwgMjAyNCwgPG1hcmsgY2xhc3M9XCJ3bC1tIGctcHJlXCIgZGF0YS1pPVwiMVwiPnNob3dzIHRoYXQgYSBuZXcgbWFjaGluZSBsZWFybmluZyBhbGdvcml0aG0gd2FzIGludHJvZHVjZWQgZm9yIHZlcnRlYnJhbCBsYW5kbWFya2luZzxcL21hcms+LiA8bWFyayBjbGFzcz1cIndsLW0gZy1wcmVcIiBkYXRhLWk9XCIxXCI+QSBuZXcgbW9kZWwgdHJhaW5lZCBvbiBkaWZmZXJlbnQgZGF0YSwgd2l0aCBkaWZmZXJlbnQgYXJjaGl0ZWN0dXJlLCBvciBvcHRpbWl6ZWQgZm9yIGEgZGlmZmVyZW50IG9iamVjdGl2ZSBtYXkgcGVyZm9ybSBkaWZmZXJlbnRseSBhY3Jvc3MgcGF0aWVudCBwb3B1bGF0aW9ucywgaW1hZ2luZyBlcXVpcG1lbnQgdHlwZXMsIG9yIGNsaW5pY2FsIHNldHRpbmdzPFwvbWFyaz4uIDxtYXJrIGNsYXNzPVwid2wtbSBnLXByZVwiIGRhdGEtaT1cIjFcIj5UaGlzIG5ldyBmZWF0dXJlIGZ1bmRhbWVudGFsbHkgY2hhbmdlcyBob3cgdGhlIGRldmljZSBwZXJmb3JtcywgZmFpbHMsIGFuZCBhZmZlY3RzIHBhdGllbnRzIGluIHdheXMgdGhhdCBnbyBiZXlvbmQgd2hhdCB3YXMgb3JpZ2luYWxseSBjbGVhcmVkPFwvbWFyaz4gYW5kIHRoZXJlZm9yZSB0aGUgZmVhdHVyZSBtdXN0IGJlIGFkZXF1YXRlbHkgdmFsaWRhdGVkLiBJbmFkZXF1YXRlIHZhbGlkYXRpb24gb2YgdGhpcyBuZXcgZmVhdHVyZSBtYXkgbGVhZCB0byBhIGRldmljZSB0aGF0IGlzIHVuYWJsZSB0byBwZXJmb3JtIGNsaW5pY2FsbHkgYXMgZXhwZWN0ZWQsIHdoaWNoIG1heSByZXN1bHQgaW4gPG1hcmsgY2xhc3M9XCJ3bC1tIGctcHJlXCIgZGF0YS1pPVwiMlwiPnBhdGllbnQgaGFybSBzdWNoIGFzIG1pc3NlZCBvciBpbmFkZXF1YXRlIGRpYWdub3NpcywgYWJzZW5jZSBvciBkZWxheSBvZiByZXN1bHRzPFwvbWFyaz4sIGxlYWRpbmcgdG8gbWlzc2luZywgaW5hY2N1cmF0ZSwgb3IgZGVsYXllZCBwYXRpZW50IGFzc2Vzc21lbnQuIEl0IGNhbiBhbHNvIGxlYWQgdG8gaW5jb3JyZWN0IHBhdGllbnQgbWFuYWdlbWVudCBkdWUgdG8gbWlzaW50ZXJwcmV0YXRpb24gb2YgZGV2aWNlIG91dHB1dCBvciA8bWFyayBjbGFzcz1cIndsLW0gZy1wcmVcIiBkYXRhLWk9XCIyXCI+b3ZlcnJlbGlhbmNlIG9uIGRldmljZSBvdXRwdXQgZm9yIHJhZGlvbG9naWNhbCBpbWFnZSBpbnRlcnByZXRhdGlvbjxcL21hcms+LiA8bWFyayBjbGFzcz1cIndsLW0gZy1wcmVcIiBkYXRhLWk9XCIyXCI+VGh1cywgYSBuZXcgcHJlbWFya2V0IG5vdGlmaWNhdGlvbiBpcyByZXF1aXJlZC48XC9tYXJrPjxcL3A+PHA+QWRkaXRpb25hbGx5LCB0aGUgVmlydHVPc3QgVkZBIDMuMC4wIHZlcnNpb24gaW52b2x2ZXMgPG1hcmsgY2xhc3M9XCJ3bC1tIGctcHJlXCIgZGF0YS1pPVwiNVwiPnR3byBvdGhlciBjaGFuZ2VzIHRoYXQgZWFjaCBpbmRlcGVuZGVudGx5IHJhaXNlIHNpZ25pZmljYW50IHJlZ3VsYXRvcnkgY29uY2VybnM8XC9tYXJrPi4gRmlyc3QsIDxtYXJrIGNsYXNzPVwid2wtbSBnLXByZVwiIGRhdGEtaT1cIjNcIj50aGUgZGV2aWNlIGhhcyBtaWdyYXRlZCBmcm9tIGEgZGVza3RvcCBhcHBsaWNhdGlvbiB0byBhIHdlYi1iYXNlZCBhcmNoaXRlY3R1cmUsIHdoaWNoIGludHJvZHVjZXMgbmV0d29yay1leHBvc2VkIGF0dGFjayBzdXJmYWNlcywgYXV0aGVudGljYXRpb24gdnVsbmVyYWJpbGl0aWVzLCBhbmQgb3RoZXIgY3liZXJzZWN1cml0eSByaXNrcyBpbmhlcmVudCB0byBpbnRlcm5ldC1hY2Nlc3NpYmxlIHBsYXRmb3JtczxcL21hcms+LiBBcyB5b3VyIGZpcm0gYWNrbm93bGVkZ2VkIGR1cmluZyB0aGUgaW5zcGVjdGlvbiwgdGhlIGNoYW5nZSBmcm9tIGEgZGVza3RvcCBhcHBsaWNhdGlvbiB0byBhIHdlYi1iYXNlZCBhcmNoaXRlY3R1cmUgZXhwYW5kZWQgdGhlIOKAnDxtYXJrIGNsYXNzPVwid2wtbSBnLXByZVwiIGRhdGEtaT1cIjNcIj5jeWJlcmF0dGFjayBzdXJmYWNlIGFyZWE8XC9tYXJrPi7igJ0gU2Vjb25kLCA8bWFyayBjbGFzcz1cIndsLW0gZy1wcmVcIiBkYXRhLWk9XCI0XCI+dGhlIHRlY2hub2xvZ3kgcGxhdGZvcm0gaGFzIGJlZW4gbWlncmF0ZWQgZnJvbSAoYikoNCkgdG8gKGIpKDQpIG9ubHksIHdoaWNoIG5lY2Vzc2l0YXRlcyBjb21wcmVoZW5zaXZlIHJlLXZlcmlmaWNhdGlvbiBhbmQgcmUtdmFsaWRhdGlvbiBvZiB0aGUgZW50aXJlIHNvZnR3YXJlIGNvZGViYXNlLCBpbmNsdWRpbmcgY2hhbmdlcyB0byB0aGlyZC1wYXJ0eSBsaWJyYXJpZXMgYW5kIGRlcGVuZGVuY2llczxcL21hcms+LiA8bWFyayBjbGFzcz1cIndsLW0gZy1wcmVcIiBkYXRhLWk9XCI0XCI+RkRBIGhhcyBub3QgcmV2aWV3ZWQgeW91ciBkZXZpY2UmI3gyNztzIFNvZnR3YXJlIEJpbGwgb2YgTWF0ZXJpYWxzIChTQk9NKTxcL21hcms+IG9yIGRvY3VtZW50YXRpb24gb2YgdGhpcmQtcGFydHkgY29tcG9uZW50cyBhZmZlY3RlZCBieSB0aGlzIG1pZ3JhdGlvbi48XC9wPjxwPjxtYXJrIGNsYXNzPVwid2wtbSBnLXByZVwiIGRhdGEtaT1cIjVcIj5FYWNoIG9mIHRoZXNlIGNoYW5nZXMgY291bGQgc2lnbmlmaWNhbnRseSBhZmZlY3QgdGhlIHNhZmV0eSBvciBlZmZlY3RpdmVuZXNzIG9mIHRoZSBkZXZpY2UgYnkgaW50cm9kdWNpbmcgbmV3IHNvZnR3YXJlIGFuZCBjeWJlcnNlY3VyaXR5IHJpc2tzPFwvbWFyaz4uIEZ1cnRoZXJtb3JlLCB0aGVzZSBjaGFuZ2VzIHJlcXVpcmUgYSBuZXcgcHJlbWFya2V0IG5vdGlmaWNhdGlvbiBwdXJzdWFudCB0byAyMSBDRlIgODA3LjgxKGEpKDMpKGkpLjxcL3A+PHA+Rm9yIGEgZGV2aWNlIHJlcXVpcmluZyBwcmVtYXJrZXQgYXBwcm92YWwsIHRoZSBub3RpZmljYXRpb24gcmVxdWlyZWQgYnkgc2VjdGlvbiA1MTAoaykgb2YgdGhlIEFjdCwgMjEgVS5TLkMuIMKnIDM2MChrKSwgaXMgZGVlbWVkIHNhdGlzZmllZCB3aGVuIGEgUE1BIGlzIHBlbmRpbmcgYmVmb3JlIHRoZSBhZ2VuY3kuIDIxIENGUiA4MDcuODEoYikuIFRoZSBraW5kIG9mIGluZm9ybWF0aW9uIHRoYXQgeW91ciBmaXJtIG5lZWRzIHRvIHN1Ym1pdCBpbiBvcmRlciB0byBvYnRhaW4gYXBwcm92YWwgb3IgY2xlYXJhbmNlIGZvciB0aGUgZGV2aWNlIGlzIGRlc2NyaWJlZCBvbiB0aGUgSW50ZXJuZXQgYXQgaHR0cDovL3d3dy5mZGEuZ292L01lZGljYWxEZXZpY2VzL0RldmljZVJlZ3VsYXRpb25hbmRHdWlkYW5jZS9Ib3d0b01hcmtldFlvdXJEZXZpY2UvZGVmYXVsdC5odG0uIFRoZSBGREEgd2lsbCBldmFsdWF0ZSB0aGUgaW5mb3JtYXRpb24gdGhhdCB5b3VyIGZpcm0gc3VibWl0cyBhbmQgZGVjaWRlIHdoZXRoZXIgdGhlIHByb2R1Y3QgbWF5IGJlIGxlZ2FsbHkgbWFya2V0ZWQuPFwvcD48cD5PdXIgb2ZmaWNlIHJlcXVlc3RzIHRoYXQgTy5OLiBEaWFnbm9zdGljcyA8bWFyayBjbGFzcz1cIndsLW0gZy1wcmVcIiBkYXRhLWk9XCI3XCI+Y2Vhc2UgYW55IGFjdGl2aXRpZXMgdGhhdCByZXN1bHQgaW4gdGhlIG1pc2JyYW5kaW5nIG9yIGFkdWx0ZXJhdGlvbiBvZiB0aGUgVmlydHVPc3QgVkZBIDMuMC4wPFwvbWFyaz4sIHN1Y2ggYXMgdGhlIGNvbW1lcmNpYWwgZGlzdHJpYnV0aW9uIG9mIHRoZSBkZXZpY2UgZm9yIHRoZSB1c2VzIGRpc2N1c3NlZCBhYm92ZS48XC9wPjxoNCBjbGFzcz1cIndsLWhcIj5RdWFsaXR5IE1hbmFnZW1lbnQgU3lzdGVtIFJlZ3VsYXRpb24gVmlvbGF0aW9uKHMpPFwvaDQ+PHA+VGhpcyBpbnNwZWN0aW9uIGFsc28gcmV2ZWFsZWQgdGhhdCB0aGVzZSBkZXZpY2VzIGFyZSBhZHVsdGVyYXRlZCB3aXRoaW4gdGhlIG1lYW5pbmcgb2Ygc2VjdGlvbiA1MDEoaCkgb2YgdGhlIEFjdCwgMjEgVS5TLkMuIMKnIDM1MShoKSwgaW4gdGhhdCB0aGUgbWV0aG9kcyB1c2VkIGluLCBvciB0aGUgZmFjaWxpdGllcyBvciBjb250cm9scyB1c2VkIGZvciwgdGhlaXIgbWFudWZhY3R1cmUsIHBhY2tpbmcsIHN0b3JhZ2UsIG9yIGluc3RhbGxhdGlvbiBhcmUgbm90IGluIGNvbmZvcm1pdHkgd2l0aCB0aGUgY3VycmVudCBnb29kIG1hbnVmYWN0dXJpbmcgcHJhY3RpY2UgcmVxdWlyZW1lbnRzIG9mIHRoZSBRdWFsaXR5IE1hbmFnZW1lbnQgU3lzdGVtIFJlZ3VsYXRpb24gZm91bmQgYXQgVGl0bGUgMjEsIENvZGUgb2YgRmVkZXJhbCBSZWd1bGF0aW9ucyAoQ0ZSKSwgUGFydCA4MjAuIFdlIHJlY2VpdmVkIGEgcmVzcG9uc2UgZnJvbSBEci4gS29wcGVyZGFobCwgRGlyZWN0b3Igb2YgUmVzZWFyY2ggYW5kIERldmVsb3BtZW50LCBkYXRlZCBBcHJpbCAxLCAyMDI2LCBjb25jZXJuaW5nIG91ciBpbnZlc3RpZ2F0b3LigJlzIG9ic2VydmF0aW9ucyBub3RlZCBvbiB0aGUgRm9ybSBGREEgNDgzIChGREEgNDgzKSwgTGlzdCBvZiBJbnNwZWN0aW9uYWwgT2JzZXJ2YXRpb25zLCB0aGF0IHdhcyBpc3N1ZWQgdG8geW91ciBmaXJtLiBXZSBhZGRyZXNzIHRoaXMgcmVzcG9uc2UgYmVsb3csIGluIHJlbGF0aW9uIHRvIGVhY2ggb2YgdGhlIG5vdGVkIHZpb2xhdGlvbnMuIFRoZXNlIHZpb2xhdGlvbnMgaW5jbHVkZSwgYnV0IGFyZSBub3QgbGltaXRlZCB0bywgdGhlIGZvbGxvd2luZzo8XC9wPjxwPjEuIEZhaWx1cmUgdG8gZG9jdW1lbnQgcHJvY2VkdXJlcyBmb3IgY29ycmVjdGl2ZSBhY3Rpb25zIGFuZCB0YWtlIGFjdGlvbiB0byBlbGltaW5hdGUgdGhlIGNhdXNlIG9mIG5vbmNvbmZvcm1pdGllcyBpbiBvcmRlciB0byBwcmV2ZW50IHJlY3VycmVuY2UsIGFzIHJlcXVpcmVkIGJ5IElTTyAxMzQ4NToyMDE2LCBDbGF1c2UgOC41LjIuPFwvcD48cD5SZXZpZXcgb2YgeW91ciBDQVBBIHByb2NlZHVyZSwgRE9DOiBTT1AtMDE3LCBhbmQgcmVsYXRlZCByZWNvcmRzIGZvdW5kOjxcL3A+PHA+QS4gRmFpbHVyZSB0byB0YWtlIG5lY2Vzc2FyeSBjb3JyZWN0aXZlIGFjdGlvbnMgd2l0aG91dCB1bmR1ZSBkZWxheS4gRm9yIGV4YW1wbGU6PFwvcD48cD5pLiBXaXRoaW4gQ0FQQS0wMDgwLCA8bWFyayBjbGFzcz1cIndsLW0gZy1xbXNcIiBkYXRhLWk9XCI4XCI+cHJvY2VkdXJhbCB1cGRhdGVzIGZyb20gZm91ciBvdGhlciBDQVBBIHJlY29yZHMgaWRlbnRpZmllZCBhcyBuZWNlc3NhcnkgdG8gZWxpbWluYXRlIHRoZSBjYXVzZSBvZiBub25jb25mb3JtaXRpZXMgYW5kIHByZXZlbnQgdGhlaXIgcmVjdXJyZW5jZSB3ZXJlIG5vdCBtYWRlIGZvciBvdmVyIGEgeWVhciBhbmQgYSBoYWxmPFwvbWFyaz4uPFwvcD48cD5paS4gQWRkaXRpb25hbGx5LCB5b3VyIG9yZ2FuaXphdGlvbiB3YXMgbWFkZSBhd2FyZSBvZiB0aGUgdW5kZXJseWluZyBpc3N1ZSByZWxhdGVkIHRvIHRoZSBuZWVkIHRvIHVwZGF0ZSB5b3VyIChiKSg0KSBzb2Z0d2FyZSB0aHJlZSB0aW1lcyBvdmVyIHRocmVlIHllYXJzLiBBbHRob3VnaCA8bWFyayBjbGFzcz1cIndsLW0gZy1xbXNcIiBkYXRhLWk9XCI5XCI+Q0FQQS0wMDg4IHdhcyBvcGVuZWQgdGhlIGRheSBiZWZvcmUgb3VyIGluc3BlY3Rpb24gYmVnYW4gdG8gYWRkcmVzcyB0aGlzIHRocmVlIHllYXJsb25nIHNvZnR3YXJlIGlzc3VlLCBpdCB3YXMgdW5zaWduZWQ8XC9tYXJrPiAoZXZlbiB0byBkZW1vbnN0cmF0ZSBvcGVuaW5nIGEgbmV3IHJlY29yZCkgYW5kIG5vIGNvcnJlY3RpdmUgYWN0aW9ucyBoYWQgYmVlbiBpZGVudGlmaWVkIG9yIGluaXRpYXRlZCB3aXRoaW4gdGhlIHJlY29yZC48XC9wPjxwPkIuIEZhaWx1cmUgdG8gY2xlYXJseSBkZWZpbmUgdGhlIHJlcXVpcmVtZW50cyB0byBldmFsdWF0ZSB0aGUgbmVlZCBmb3IgYWN0aW9uIHRvIGVuc3VyZSB0aGF0IG5vbmNvbmZvcm1pdGllcyBkbyBub3QgcmVjdXIuIEZvciBleGFtcGxlOjxcL3A+PHA+aS4gPG1hcmsgY2xhc3M9XCJ3bC1tIGctcW1zXCIgZGF0YS1pPVwiMTBcIj5Zb3VyIHByb2NlZHVyZSBhbGxvd3MgdXNlIG9mIGEgKGIpKDQpIHRpY2tldCBpbnN0ZWFkIG9mIGEgY29ycmVjdGl2ZSBhY3Rpb248XC9tYXJrPiB3aGVuIHRoZXJlIGFyZSDigJxJbmRpdmlkdWFsIGFuZCBzcG9yYWRpYyBpbnN0YW5jZXMgb2YgaXNzdWVzIHRoYXQgbmVlZCBjb3JyZWN0aW9uIGRvIG5vdCByZXF1aXJlIGEgQ0FQQeKAnS4gVGhpcyBpcyBvbmUgcmVhc29uIGZvciBzb21lIG9mIHRoZSB1bnRpbWVseSBjb3JyZWN0aXZlIGFjdGlvbnMgZGlzY3Vzc2VkIGluIGl0ZW0gQSBhYm92ZS4gVGhlIHByb2NlZHVyZSBuZWVkcyB0byBtb3JlIGNsZWFybHkgZGVmaW5lIHdoZW4gYSAoYikoNCkgdGlja2V0IG1heSBiZSB1c2VkIHZzLiBvcGVuaW5nIGEgQ0FQQSB0byBlbnN1cmUgY29ycmVjdGl2ZSBhY3Rpb24gaXMgdGFrZW4gYXBwcm9wcmlhdGVseS48XC9wPjxwPmlpLiBZb3VyIG9yZ2FuaXphdGlvbiBoYXMgY2hhbmdlZCB0aGUgcmVxdWlyZW1lbnRzIHVzZWQgdG8gZXZhbHVhdGUgdGhlIG5lZWQgZm9yIGFjdGlvbiAvIGRldGVybWluZSB3aGVuIGEgY29ycmVjdGl2ZSBhY3Rpb24gaXMgbmVjZXNzYXJ5LiBDQVBBLTAwODMgaW5jbHVkZWQgYSBjb3JyZWN0aXZlIGFjdGlvbiB0byB1cGRhdGUgdG8geW91ciBDQVBBIHByb2NlZHVyZS4gWW91ciBmaW5kaW5ncyBzdGF0ZWQgdGhlIGxhbmd1YWdlIGdvdmVybmluZyB3aGVuIGEgQ0FQQSBzaG91bGQgYmUgb3BlbmVkIHdhcyB0b28gYnJvYWQgYW5kIGRpZCBub3QgaW5jbHVkZSB0aGUgcG90ZW50aWFsIGZvciBwcm9jZXNzIGJhc2VkIENBUEFzIHRvIGJlIG9wZW5lZC4gVGhlIGxhbmd1YWdlIHRhcmdldGVkIGZvciB1cGRhdGUgc3RhdGVkLCDigJxJbiBnZW5lcmFsLCBhIENBUEEgaW52ZXN0aWdhdGlvbiB3aWxsIGJlIGluaXRpYXRlZCBmb3IgYW55IHF1YWxpdHkgcHJvYmxlbSB0aGF0IGlzIGEgbm9uLWNvbmZvcm1hbmNlIHdpdGggcmVzcGVjdCB0byBtZWRpY2FsIGRldmljZSByZXF1aXJlbWVudHMgdGhhdCBoYXMgYW4gYXNzb2NpYXRlZCBzYWZldHkgaGF6YXJkLuKAnTxcL3A+PHA+VGhlcmVmb3JlLCBpbiByZXZpc2lvbiAxMSByZWxlYXNlZCAxMC8yLzIwMjQsIHlvdXIgb3JnYW5pemF0aW9uIGltcGxlbWVudGVkIGEgY2hhbmdlIHRvIOKAnDxtYXJrIGNsYXNzPVwid2wtbSBnLXFtc1wiIGRhdGEtaT1cIjExXCI+bmFycm93IHRoZSBDQVBBIHRyaWdnZXJzIGFuZCBwbGFjZSBtb3JlIGVtcGhhc2lzIG9uIHN5c3RlbWljIG9yIHJlY3VycmluZyBpc3N1ZXM8XC9tYXJrPuKAnS4gVGhpcyB1cGRhdGUgYWxzbyBpbmNsdWRlZCBhbGxvd2FuY2UgdG8gZG9jdW1lbnQgb3RoZXIgaXNzdWVzIGFzIGEgKGIpKDQpIHRpY2tldCwgYXMgcHJldmlvdXNseSBtZW50aW9uZWQgYWJvdmUuIFRoZXNlIGNoYW5nZXMgYWx0ZXJlZCB0aGUgdGhyZXNob2xkIG9mIHdoZW4gdG8gb3BlbiBhIENBUEEgZnJvbSBhIHNhZmV0eSBoYXphcmQgZm9jdXMgdG8gc3lzdGVtaWMgaXNzdWVzIGFuZCBhbGxvd2VkIG1vcmUgZmxleGliaWxpdHkgdG8gaGFuZGxlIOKAnGluZGl2aWR1YWwgYW5kIHNwb3JhZGljIGluc3RhbmNlc+KAnSB0aHJvdWdoIHRoZSAoYikoNCkgc3lzdGVtLiBJbiBkb2luZyBzbywgaXQgYXBwZWFycyB5b3VyIHByb2NlZHVyZSBub3cgbGFja3MgY2xhcml0eSBmb3Igd2hlbiBpdCBpcyBuZWNlc3NhcnkgdG8gb3BlbiBhIGNvcnJlY3RpdmUgYWN0aW9uLCBiYXNlZCBvbiByaXNrLjxcL3A+PHA+QWRkaXRpb25hbGx5LCA8bWFyayBjbGFzcz1cIndsLW0gZy1xbXNcIiBkYXRhLWk9XCIxMVwiPnRoZSBpbXBhY3Qgb2YgdGhlc2UgY2hhbmdlcyB3YXMgbm90IGV2YWx1YXRlZCBwcmlvciB0byBpbXBsZW1lbnRhdGlvbjxcL21hcms+LiBUbyBtYWludGFpbiB0aGUgaW50ZWdyaXR5IG9mIHRoZSBRTVMsIGFsbCBjaGFuZ2VzIG11c3QgYmUgZXZhbHVhdGVkIHRvIGRldGVybWluZSB0aGVpciBwb3RlbnRpYWwgaW1wYWN0IG9uIGl0LiBUaGlzIGV2YWx1YXRpb24gbXVzdCBiZSBjb25kdWN0ZWQgYmVmb3JlIGltcGxlbWVudGluZyB0aGUgY2hhbmdlLjxcL3A+PHA+Qy4gRmFpbHVyZSB0byByZXF1aXJlIGRvY3VtZW50YXRpb24gb2YgdmVyaWZpY2F0aW9uIG9mIGVmZmVjdGl2ZW5lc3MgZm9sbG93aW5nIGNvcnJlY3RpdmUgYWN0aW9uIGltcGxlbWVudGF0aW9uLjxcL3A+PHA+VGhlIHByb2NlZHVyZSBhbGxvd3MgY2xvc3VyZSBhZnRlciDigJxBIGZhaWx1cmUgaW52ZXN0aWdhdGlvbiBoYXMgYmVlbiBjb21wbGV0ZWQsIGEgY29ycmVjdGl2ZSBhY3Rpb24gaGFzIGJlZW4gZGVmaW5lZCBhbmQgaW1wbGVtZW50ZWQsIGFuZCB0aGUgZWZmZWN0aXZlbmVzcyBvZiB0aGUgaW1wbGVtZW50ZWQgYWN0aW9uIGhhcyBiZWVuIGV2YWx1YXRlZC7igJ08XC9wPjxwPldpdGhpbiBDQVBBLTAwODAsIDxtYXJrIGNsYXNzPVwid2wtbSBnLXFtc1wiIGRhdGEtaT1cIjEyXCI+dGhlIHJlY29yZCBpbmNsdWRlcyB2ZXJpZmljYXRpb24gb2YgaW1wbGVtZW50YXRpb24sIGJ1dCBub3Qgb2YgZWZmZWN0aXZlbmVzczxcL21hcms+LiBUaGVyZSBpcyBubyBkZXZlbG9wZWQgcGxhbiB0byBkZXRlcm1pbmUgaG93IHRvIHZlcmlmeSBlZmZlY3RpdmVuZXNzIG9yIGEgcGxhY2UgdG8gZG8gc28gd2l0aGluIHRoZSBmb3JtLCBvbmx5IGEgeWVzIC8gbm8gY2hlY2tib3guPFwvcD48cD48bWFyayBjbGFzcz1cIndsLW0gZy1xbXNcIiBkYXRhLWk9XCIxM1wiPldlIHJldmlld2VkIHlvdXIgZmlybeKAmXMgcmVzcG9uc2UgcmVnYXJkaW5nIGl0ZW1zIDFBIGFuZCBDIGFib3ZlIGFuZCBjb25jbHVkZSB0aGF0IGl0IGlzIG5vdCBhZGVxdWF0ZTxcL21hcms+LiBXZSB1bmRlcnN0YW5kIHlvdXIgaW50ZW50IGlzIHRvIHVwZGF0ZSB0aGUgQ0FQQSBwcm9jZWR1cmUgdG8g4oCcc3RyZW5ndGhlbiByZXF1aXJlbWVudHMgZm9yIGVmZmVjdGl2ZW5lc3MgdmVyaWZpY2F0aW9uLCBpbmNsdWRpbmcgcHJlZGVmaW5lZCBhY2NlcHRhbmNlIGNyaXRlcmlhIGFuZCBzdWZmaWNpZW50IHByb3NwZWN0aXZlIGV2aWRlbmNlLCB0byBlbnN1cmUgbm9uY29uZm9ybWl0aWVzIGRvIG5vdCByZWN1cuKAnSwgYXMgd2VsbCBhcyB0cmFpbiBzdGFmZiwgY29uZHVjdCBhIHJldHJvc3BlY3RpdmUgcmV2aWV3IHRvIGluY2x1ZGUgcGVyZm9ybWluZyBhZGRpdGlvbmFsIGFuYWx5c2lzIHdoZXJlIG5lY2Vzc2FyeSwgYW5kIGRvY3VtZW50IGZpbmRpbmdzLiBZb3UgYW50aWNpcGF0ZSBhbiBvdmVyYWxsIHRpbWVsaW5lIG9mIDkwIGRheXMgdG8gY29tcGxldGUgYWxsIHRoZXNlIHN0ZXBzIChlYXJseSBBdWd1c3QgMjAyNikuIFRoZSBDQVBBIGRvY3VtZW50aW5nIHRoZXNlIGFjdGlvbnMgd2lsbCBiZSBjbG9zZWQgd2hlbiAxMDAlIG9mIENBUEFzIG92ZXIgYSBzaXgtbW9udGggcGVyaW9kIGFuZCBhdCBsZWFzdCB0aHJlZSBDQVBBcyBoYXZlIGRlbW9uc3RyYXRlZCBjb3JyZWN0IGltcGxlbWVudGF0aW9uIG9mIHRoZSByZXZpc2VkIHByb2NlZHVyZS4gVGhpcyBvdmVyYWxsIGFwcHJvYWNoIHNlZW1zIHJlYXNvbmFibGUsIGhvd2V2ZXIgeW91ciByZXNwb25zZSBpcyBpbmFkZXF1YXRlIGJlY2F1c2UgdGhlIHJlcXVpcmVtZW50IG9mIGVuc3VyaW5nIG5lY2Vzc2FyeSBjb3JyZWN0aXZlIGFjdGlvbnMgYXJlIHRha2VuIHdpdGhvdXQgdW5kdWUgZGVsYXkgaGFzIG5vdCBiZWVuIGFkZHJlc3NlZCB0byBjb21wbGV0ZSBuZWNlc3NhcnkgcHJvY2VkdXJhbCB1cGRhdGVzLCBhbmQgbm8gcmVjb3JkcyB3ZXJlIHByb3ZpZGVkIGZvciBldmlkZW5jZSBvZiBpbXBsZW1lbnRhdGlvbiBvZiBjb3JyZWN0aXZlIGFjdGlvbnMuPFwvcD48cD5Zb3VyIHJlc3BvbnNlIHJlbGF0ZWQgdG8gaXRlbSAxQiBzdGF0ZXMgeW91IGludGVuZCB0byByZXF1aXJlIGRvY3VtZW50ZWQgcmlzayBhc3Nlc3NtZW50cyBwcmlvciB0byBpbXBsZW1lbnRhdGlvbiBhcyBwYXJ0IG9mIGNoYW5nZSBjb250cm9sIHByb2NlZHVyZXMsIGVzdGFibGlzaCBjcml0ZXJpYSBmb3Igd2hlbiBhIGNoYW5nZSBpcyDigJhjcml0aWNhbOKAmSBvciBBTEFSUCwgY3JlYXRlIGEgbmV3IGZvcm0gZm9yIHRoaXMgYXNzZXNzbWVudCBmb2xsb3dpbmcgSVNPIDE0OTcxLCB0cmFpbiBzdGFmZiwgcGVyZm9ybSBhIHJldHJvc3BlY3RpdmUgcmV2aWV3IG9mIFFNUyBjaGFuZ2VzIG92ZXIgdGhlIGxhc3Qgc2l4IG1vbnRocyBhbmQgYWN0IG9uIHRob3NlIHRoYXQgbWVldCBuZXcgY3JpdGVyaWEsIGFuZCBzdW1tYXJpemUgZmluZGluZ3MuIFlvdSBlc3RpbWF0ZSBhbGwgdGhlc2UgYWN0aW9ucyB0byB0YWtlIGFib3V0IDkwIGRheXMgKGVhcmx5IEF1Z3VzdCAyMDI2KSBhbmQgc3RhdGUgdGhpcyBDQVBBIHdpbGwgYmUgY2xvc2VkIGlmIG5vIHJlY3VycmVuY2Ugb3ZlciBhIHNpeC1tb250aCBwZXJpb2QgZGVmaW5lZCBhcyBmYWlsdXJlIHRvIGlkZW50aWZ5IGNyaXRpY2FsIHByb2Nlc3MgY2hhbmdlcyBvciBwZXJmb3JtIHJpc2sgYXNzZXNzbWVudHMgb2YgdGhvc2UgY2hhbmdlcy4gPG1hcmsgY2xhc3M9XCJ3bC1tIGctcW1zXCIgZGF0YS1pPVwiMTNcIj5UaGUgYWRlcXVhY3kgb2YgeW91ciByZXNwb25zZSB0byBpdGVtIDFCIGNhbm5vdCBiZSBkZXRlcm1pbmVkPFwvbWFyaz4gYXMgbm8gcmVjb3JkcyB3ZXJlIHByb3ZpZGVkIGZvciBldmlkZW5jZSBvZiBpbXBsZW1lbnRhdGlvbiBvZiBjb3JyZWN0aXZlIGFjdGlvbnMuPFwvcD48cD4yLiBGYWlsdXJlIHRvIGFkZXF1YXRlbHkgZG9jdW1lbnQgcHJvY2VkdXJlcyB0byBlbnN1cmUgdGhhdCBwdXJjaGFzZWQgcHJvZHVjdCBjb25mb3JtcyB0byBzcGVjaWZpZWQgcHVyY2hhc2luZyBpbmZvcm1hdGlvbiBhbmQgcGxhbiB0aGUgbW9uaXRvcmluZyBhbmQgcmUtZXZhbHVhdGlvbiBvZiBzdXBwbGllcnMsIGFzIHJlcXVpcmVkIGJ5IDIxIENGUiA4MjAsIElTTyAxMzQ4NTogMjAxNiBDbGF1c2UgNy40LjEuPFwvcD48cD5Gb3IgZXhhbXBsZTogdGhlIHByb2NlZHVyYWwgcmVxdWlyZW1lbnRzIGluIHlvdXIgb3JnYW5pemF0aW9u4oCZcyBQdXJjaGFzaW5nIENvbnRyb2xzIHByb2NlZHVyZSwgcmV2IDExLCA8bWFyayBjbGFzcz1cIndsLW0gZy1xbXNcIiBkYXRhLWk9XCIxNFwiPmNvbmNlcm5pbmcgaG93IHlvdXIgZmlybSB3aWxsIHJlLWV2YWx1YXRlIGFuZCBjb25kdWN0IG1vbml0b3JpbmcgYW5kIHRyZW5kaW5nIG9mIHN1cHBsaWVycyAvIHZlbmRvcnMgaXMgdmFndWU8XC9tYXJrPi4gU3BlY2lmaWNhbGx5LCBub25lIG9mIHRoZXNlIGdpdmUgZGV0YWlscyBvZiB3aGVuIGFjdGlvbiBzaG91bGQgYmUgdGFrZW4uIEZvciBleGFtcGxlLCB0aGUgcHJvY2VkdXJlIG1lbnRpb25zIHJlLWV2YWx1YXRpb24gZnJlcXVlbmN5IHdpbGwgYmUgZXZlcnkgKGIpKDQpIHdoaWNoIG1heWJlIGluY3JlYXNlZCBiYXNlZCBvbiB0aGUgY3JpdGljYWxpdHksIGJ1dCBnaXZlcyBubyBzcGVjaWZpYyBjcml0ZXJpYSBvciBleGFtcGxlcyBvZiB3aGVuIHRoaXMgc2hvdWxkIG9jY3VyLiBSZWdhcmRpbmcgbW9uaXRvcmluZyB0aGUgcHJvY2VkdXJlLCBpdCBkaXNjdXNzZXMg4oCccGVyaW9kaWMgcHJvZ3Jlc3MgcmVwb3J0cyBhbmQgaW5jcmVtZW50YWwgZGVsaXZlcmFibGVz4oCdIGJ1dCBkb2VzbuKAmXQgZXhwbGFpbiB3aGVuIHRoZXkgc2hvdWxkIGJlIHJ1biBvciBob3cgdGhvc2Ugd2lsbCBiZSBhc3Nlc3NlZC4gVGhlIGV4dGVudCBvZiBtb25pdG9yaW5nIHNob3VsZCBiZSBjb21tZW5zdXJhdGUgd2l0aCB0aGUgcmlzayBvZiB0aGUgZGV2aWNlLCBvciBpbXBhY3Qgb24gdGhlIGRldmljZSBvciBRTVMuIFRoZSBwcm9jZWR1cmUgYWxzbyBtZW50aW9ucyB0cmVuZGluZyBvZiB2ZW5kb3IgcGVyZm9ybWFuY2UgYnV0IGNvbnRhaW5zIG5vIGxpbWl0cyBvciBjcml0ZXJpYSBzdGF0aW5nIHdoZW4gYWN0aW9uIG1pZ2h0IGJlIG5lY2Vzc2FyeS48XC9wPjxwPlRoaXMgd2FzIGRpc2N1c3NlZCBkdXJpbmcgeW91ciByZWNlbnQgaW5zcGVjdGlvbiwgYnV0IGFzIGl0IHdhcyBub3QgY2l0ZWQgaW4gdGhlIDQ4MywgeW91ciByZXNwb25zZSBkaWQgbm90IGFkZHJlc3MgdGhpcyB2aW9sYXRpb24uPFwvcD48aDQgY2xhc3M9XCJ3bC1oXCI+TWVkaWNhbCBEZXZpY2UgUmVwb3J0aW5nIChNRFIpIFZpb2xhdGlvbihzKTxcL2g0PjxwPk91ciBpbnNwZWN0aW9uIChhbHNvKSByZXZlYWxlZCB0aGF0IHlvdXIgZmlybSBoYXMgPG1hcmsgY2xhc3M9XCJ3bC1tIGctbWRyXCIgZGF0YS1pPVwiMTVcIj5mYWlsZWQgdG8gYWRlcXVhdGVseSBkZXZlbG9wLCBtYWludGFpbiwgYW5kIGltcGxlbWVudCB3cml0dGVuIE1EUiBwcm9jZWR1cmVzIGFzIHJlcXVpcmVkIGJ5IDIxIENGUiA4MDMuMTc8XC9tYXJrPi48XC9wPjxwPkZvciBleGFtcGxlLCBkdXJpbmcgdGhlIGluc3BlY3Rpb24sIHlvdXIgb3JnYW5pemF0aW9uIHByZXNlbnRlZCB0aGUgZG9jdW1lbnQgdGl0bGVkIOKAnENvbXBsYWludCBNYW5hZ2VtZW50IFByb2NlZHVyZeKAnSwgU09QLTAxNCwgUmV2aXNpb24gMTUsIGRhdGVkIEphbnVhcnkgMTUsIDIwMjYsIGFzIGl0cyBndWlkYW5jZSBmb3IgTURSIHJlcG9ydGluZy4gU3BlY2lmaWNhbGx5LCB0aGUgcHVycG9zZSBhbmQgc2NvcGUgb2YgdGhlIHByb2NlZHVyZSBoaWdobGlnaHRzIHRoYXQgdGhlIFNPUCBpcyBpbnRlbmRlZCB0byBhZGRyZXNzIHRoZSByZXF1aXJlbWVudHMgb2YgMjEgQ0ZSIDgwMy4gSG93ZXZlciwgYWZ0ZXIgcmV2aWV3aW5nIHRoZSBwcm9jZWR1cmUsIHRoZSBmb2xsb3dpbmcgZGVmaWNpZW5jaWVzIHdlcmUgbm90ZWQ6PFwvcD48cD4xLiBZb3VyIHByb2NlZHVyZSBkb2VzIG5vdCBlc3RhYmxpc2ggaW50ZXJuYWwgc3lzdGVtcyB0aGF0IHByb3ZpZGUgZm9yIHRpbWVseSBhbmQgZWZmZWN0aXZlIGlkZW50aWZpY2F0aW9uLCBjb21tdW5pY2F0aW9uLCBhbmQgZXZhbHVhdGlvbiBvZiBldmVudHMgdGhhdCBtYXkgYmUgc3ViamVjdCB0byBNRFIgcmVxdWlyZW1lbnRzLCBhcyByZXF1aXJlZCBieSAyMSBDRlIgODAzLjE3KGEpKDEpLjxcL3A+PHA+YS4gWW91ciBwcm9jZWR1cmUgPG1hcmsgY2xhc3M9XCJ3bC1tIGctbWRyXCIgZGF0YS1pPVwiMTZcIj5kb2VzIG5vdCBpbmNsdWRlIGFkZXF1YXRlIGRlZmluaXRpb25zIG9mIHdoYXQgY29uc3RpdHV0ZXMgYSByZXBvcnRhYmxlIGV2ZW50PFwvbWFyaz4gdW5kZXIgMjEgQ0ZSIFBhcnQgODAzLiBUaGUgZmFjdCB0aGF0IHRoZSBwcm9jZWR1cmUgZG9lcyBub3QgaW5jbHVkZSBkZWZpbml0aW9ucyBmcm9tIDIxIENGUiA4MDMuMyBmb3IgdGhlIHRlcm1zIOKAnGJlY29tZSBhd2FyZeKAnSBhbmQg4oCcY2F1c2VkIG9yIGNvbnRyaWJ1dGVk4oCdLCBhbmQgdGhlIGRlZmluaXRpb24gZGVzY3JpYmVkIGluIDIxIENGUiA4MDMuMjAoYykoMSkgZm9yIHRoZSB0ZXJtIOKAnHJlYXNvbmFibHkgc3VnZ2VzdHPigJ0sIG1heSBsZWFkIHlvdXIgZmlybSB0byBtYWtlIGFuIGluY29ycmVjdCByZXBvcnRhYmlsaXR5IGRlY2lzaW9uIHdoZW4gZXZhbHVhdGluZyBhIGNvbXBsYWludCB0aGF0IG1heSBtZWV0IHRoZSBjcml0ZXJpYSBmb3IgcmVwb3J0aW5nIHVuZGVyIDIxIENGUiA4MDMuNTAoYSkuPFwvcD48cD5iLiBZb3VyIHByb2NlZHVyZeKAmXMgZGVmaW5pdGlvbiBvZiDigJxzZXJpb3VzIGluanVyeeKAnSBpcyBub3QgY29uc2lzdGVudCB3aXRoIDIxIENGUiA4MDMuMyh3KSBhbmQgd2lsbCBub3QgYWxsb3cgeW91IHRvIGNvcnJlY3RseSBpZGVudGlmeSBjb21wbGFpbnRzIGFzIHJlcG9ydGFibGUgZXZlbnRzLjxcL3A+PHA+U3BlY2lmaWNhbGx5LCBEQzAzMDU1LCBNRFIgUmVwb3J0YWJpbGl0eSBSZXZpZXcgTWVtb3JhbmR1bSA0IDxtYXJrIGNsYXNzPVwid2wtbSBnLW1kclwiIGRhdGEtaT1cIjE2XCI+dGhlIHJlZ3VsYXRvcnkgZGVmaW5pdGlvbiBpbmNsdWRlcyBib3RoIGluanVyeSBhbmQgaWxsbmVzcywgd2hlcmVhcyB0aGUgcHJvY2VkdXJlIGxpbWl0cyB0aGUgZGVmaW5pdGlvbiB0byBpbmp1cnkgb25seTxcL21hcms+LjxcL3A+PHA+Mi4gWW91ciBwcm9jZWR1cmUgPG1hcmsgY2xhc3M9XCJ3bC1tIGctbWRyXCIgZGF0YS1pPVwiMTdcIj5kb2VzIG5vdCBlc3RhYmxpc2ggaW50ZXJuYWwgc3lzdGVtcyB0aGF0IHByb3ZpZGUgZm9yIHRpbWVseSB0cmFuc21pc3Npb24gb2YgY29tcGxldGUgbWVkaWNhbCBkZXZpY2UgcmVwb3J0czxcL21hcms+LCBhcyByZXF1aXJlZCBieSAyMSBDRlIgODAzLjE3KGEpKDMpLiBTcGVjaWZpY2FsbHksIHRoZSBwcm9jZWR1cmUgZG9lcyBub3QgaW5jbHVkZTo8XC9wPjxwPmEuIEluc3RydWN0aW9ucyBmb3Igc3VibWl0dGluZyBpbmZvcm1hdGlvbiB0aGF0IGNvcnJlc3BvbmRzIGdlbmVyYWxseSB0byB0aGUgZm9ybWF0IG9mIEZvcm0gRkRBIDM1MDBBLCBpbmNsdWRpbmcgaG93IHlvdSB3aWxsIGVuc3VyZSB0aGF0IGFsbCBpbmZvcm1hdGlvbiByZWFzb25hYmx5IGtub3duIHRvIHlvdSBpcyBzdWJtaXR0ZWQgZm9yIGVhY2ggZXZlbnQuIFNwZWNpZmljYWxseSwgd2hpY2ggdHlwZXMgb2YgaW5mb3JtYXRpb24gY29ycmVzcG9uZGluZyBnZW5lcmFsbHkgdG8gdGhlIGZvcm1hdCBvZiBGb3JtIDM1MDBBIHdpbGwgbmVlZCB0byBiZSBzdWJtaXR0ZWQsIGluY2x1ZGluZyB0aGUgaW5mb3JtYXRpb24gaW4geW91ciBmaXJt4oCZcyBwb3NzZXNzaW9uIHdoZW4gdGhlIGluaXRpYWwgcmVwb3J0IGlzIGZpbGVkIGFuZCBhbnkgcmVxdWlyZWQgaW5mb3JtYXRpb24gbGF0ZXIgb2J0YWluZWQgdGhhdCB3YXMgbm90IGF2YWlsYWJsZSB3aGVuIHRoZSBpbml0aWFsIHJlcG9ydCBpcyBmaWxlZC48XC9wPjxwPmIuIEluc3RydWN0aW9ucyBmb3IgY29tcGx5aW5nIHdpdGggdGhlIDIxIENGUiA4MDMuMTIoYSkgcmVxdWlyZW1lbnQgdG8gc3VibWl0IHJlcG9ydHMgdG8gRkRBIGluIGFuIGVsZWN0cm9uaWMgZm9ybWF0IHRoYXQgdGhlIEZEQSBjYW4gcHJvY2VzcywgcmV2aWV3LCBhbmQgYXJjaGl2ZS48XC9wPjxwPjMuIFlvdXIgb3JnYW5pemF0aW9u4oCZcyA8bWFyayBjbGFzcz1cIndsLW0gZy1tZHJcIiBkYXRhLWk9XCIxOFwiPk1EUiBldmVudCBmaWxlcyBkbyBub3QgY29udGFpbiBhbGwgZG9jdW1lbnRhdGlvbiBvZiBpdHMgZGVsaWJlcmF0aW9ucyBhbmQgZGVjaXNpb24tbWFraW5nIHByb2Nlc3NlczxcL21hcms+IHVzZWQgdG8gZGV0ZXJtaW5lIGlmIGEgZGV2aWNlLXJlbGF0ZWQgZGVhdGgsIHNlcmlvdXMgaW5qdXJ5LCBvciBtYWxmdW5jdGlvbiB3YXMgb3Igd2FzIG5vdCByZXBvcnRhYmxlIHVuZGVyIDIxIENGUiBQYXJ0IDgwMywgYXMgcmVxdWlyZWQgdW5kZXIgMjEgQ0ZSIDgwMy4xOChiKSgxKShpKS4gU3BlY2lmaWNhbGx5LCBhbHRob3VnaCBTZWN0aW9ucyAyLjIgYW5kIDIuMyBvZiB0aGUgcHJvY2VkdXJlIGRlc2NyaWJlIGRvY3VtZW50YXRpb24gcmVxdWlyZW1lbnRzLCB5b3VyIGZpcm3igJlzIE9ORy1GUk0tMDA3IEV2ZW50IFJlcG9ydCByZXZpZXdlZCBmb3IgRXZlbnQgMDA0NyBkaWQgbm90IGRlbW9uc3RyYXRlIGltcGxlbWVudGF0aW9uIG9mIHRoZXNlIHJlcXVpcmVtZW50cyBmb3IgcmVwb3J0YWJpbGl0eSBkZXRlcm1pbmF0aW9uLjxcL3A+PHA+QSBkZXZpY2UgaXMgZGVlbWVkIHRvIGJlIG1pc2JyYW5kZWQgdW5kZXIgc2VjdGlvbiA1MDEodCkoMikgb2YgdGhlIEFjdCwgMjEgVS5TLkMuIMKnIDM1Mih0KSgyKSwgaWYgdGhlcmUgd2FzIGEgZmFpbHVyZSBvciByZWZ1c2FsIHRvIGZ1cm5pc2ggYW55IG1hdGVyaWFsIG9yIGluZm9ybWF0aW9uIHJlc3BlY3RpbmcgYSBkZXZpY2UgcmVxdWlyZWQgYnkgb3IgdW5kZXIgc2VjdGlvbiA1MTkgb2YgdGhlIEFjdCwgMjEgVS5TLkMuIMKnIDM2MGksIGluY2x1ZGluZyBhZHZlcnNlIGV2ZW50IHJlcG9ydHMgcmVxdWlyZWQgdW5kZXIgQ0ZSIFBhcnQgODAzLjxcL3A+PHA+WW91ciBmaXJt4oCZcyByZXNwb25zZSBkYXRlZCBBcHJpbCAxLCAyMDI2LCBkb2VzIG5vdCBhZGRyZXNzIHRoZSBwcm9jZWR1cmFsIGRlZmljaWVuY2llcywgZ2l2ZW4gdGhhdCBzdWNoIGRlZmljaWVuY2llcyB3ZXJlIG5vdCBjaXRlZCBvbiB0aGUgRkRBIDQ4My48XC9wPjxwPldlIGFsc28gbm90ZSB5b3VyIG9yZ2FuaXphdGlvbuKAmXMgU09QLTAxNCBwcm9jZWR1cmUgaW5jbHVkZXMgcmVmZXJlbmNlcyB0byBiYXNlbGluZSByZXBvcnRzIGluIFNlY3Rpb24gNC40LiA8bWFyayBjbGFzcz1cIndsLW0gZy1tZHJcIiBkYXRhLWk9XCIxOVwiPkJhc2VsaW5lIHJlcG9ydHMgYXJlIG5vIGxvbmdlciByZXF1aXJlZDxcL21hcms+LCBhbmQgd2UgcmVjb21tZW5kIHRoYXQgYWxsIHJlZmVyZW5jZXMgdG8gYSBCYXNlbGluZSBSZXBvcnQgYmUgcmVtb3ZlZCBmcm9tIHlvdXIgZmlybeKAmXMgTURSIHByb2NlZHVyZTsgc2VlOiA3MyBGZWRlcmFsIFJlZ2lzdGVyIE5vdGljZSA1MzY4NiwgZGF0ZWQgU2VwdGVtYmVyIDE3LCAyMDA4LjxcL3A+PHA+QWRkaXRpb25hbGx5LCB3ZSByZWNvbW1lbmQgeW91ciBvcmdhbml6YXRpb24gZXN0YWJsaXNoIGFuIGFjdGl2ZSBFbGVjdHJvbmljIFN1Ym1pc3Npb24gR2F0ZXdheSBOZXh0IEdlbmVyYXRpb24gKEVTRyBOZXh0R2VuKSBwcm9kdWN0aW9uIGFjY291bnQgZm9yIHRoZSBlbGVjdHJvbmljIHN1Ym1pc3Npb24gb2YgTURSIHJlcG9ydHMuIEZEQSB2ZXJpZmllZCB0aGF0LCA8bWFyayBjbGFzcz1cIndsLW0gZy1tZHJcIiBkYXRhLWk9XCIxOVwiPmFzIG9mIEFwcmlsIDI0LCAyMDI2LCB5b3VyIGZpcm0gZG9lcyBub3QgaGF2ZSBzdWNoIGFuIGFjY291bnQ8XC9tYXJrPi4gSW5mb3JtYXRpb24gYWJvdXQgdGhlIEVTRyBOZXh0R2VuIGNhbiBiZSBmb3VuZCBhdDogRWxlY3Ryb25pYyBTdWJtaXNzaW9ucyBHYXRld2F5IE5leHQgR2VuZXJhdGlvbiAoRVNHIE5leHRHZW4pIHwgRkRBLjxcL3A+PHA+WW91ciBmaXJtIHNob3VsZCB0YWtlIHByb21wdCBhY3Rpb24gdG8gYWRkcmVzcyBhbnkgdmlvbGF0aW9ucyBpZGVudGlmaWVkIGluIHRoaXMgbGV0dGVyLiBGYWlsdXJlIHRvIGFkZXF1YXRlbHkgYWRkcmVzcyB0aGlzIG1hdHRlciBtYXkgcmVzdWx0IGluIHJlZ3VsYXRvcnkgYWN0aW9uIGJlaW5nIGluaXRpYXRlZCBieSB0aGUgRkRBIHdpdGhvdXQgZnVydGhlciBub3RpY2UuIFRoZXNlIGFjdGlvbnMgaW5jbHVkZSwgYnV0IGFyZSBub3QgbGltaXRlZCB0bywgPG1hcmsgY2xhc3M9XCJ3bC1tIGctbmV4dFwiIGRhdGEtaT1cIjIxXCI+c2VpenVyZSwgaW5qdW5jdGlvbiwgYW5kIGNpdmlsIG1vbmV5IHBlbmFsdGllczxcL21hcms+LjxcL3A+PHA+T3RoZXIgZmVkZXJhbCBhZ2VuY2llcyBtYXkgdGFrZSB5b3VyIGNvbXBsaWFuY2Ugd2l0aCB0aGUgQWN0IGFuZCBpdHMgaW1wbGVtZW50aW5nIHJlZ3VsYXRpb25zIGludG8gYWNjb3VudCB3aGVuIGNvbnNpZGVyaW5nIHRoZSBhd2FyZCBvZiBmZWRlcmFsIGNvbnRyYWN0cy4gQWRkaXRpb25hbGx5LCBzaG91bGQgRkRBIGRldGVybWluZSB0aGF0IHlvdSBoYXZlIFF1YWxpdHkgTWFuYWdlbWVudCBTeXN0ZW0gUmVndWxhdGlvbiB2aW9sYXRpb25zIHRoYXQgYXJlIHJlYXNvbmFibHkgcmVsYXRlZCB0byBwcmVtYXJrZXQgYXBwcm92YWwgYXBwbGljYXRpb25zIGZvciBDbGFzcyBJSUkgZGV2aWNlcywgc3VjaCBkZXZpY2VzIHdpbGwgbm90IGJlIGFwcHJvdmVkIHVudGlsIHRoZSB2aW9sYXRpb25zIGhhdmUgYmVlbiBhZGRyZXNzZWQuIFNob3VsZCBGREEgZGV0ZXJtaW5lIHRoYXQgeW91ciBkZXZpY2VzIG9yIGZhY2lsaXRpZXMgZG8gbm90IG1lZXQgdGhlIHJlcXVpcmVtZW50cyBvZiB0aGUgQWN0LCByZXF1ZXN0cyBmb3IgQ2VydGlmaWNhdGVzIHRvIEZvcmVpZ24gR292ZXJubWVudHMgKENGRykgbWF5IG5vdCBiZSBncmFudGVkLjxcL3A+PHA+UGxlYXNlIG5vdGlmeSB0aGlzIG9mZmljZSBpbiB3cml0aW5nIDxtYXJrIGNsYXNzPVwid2wtbSBnLW5leHRcIiBkYXRhLWk9XCIyMFwiPndpdGhpbiBmaWZ0ZWVuIGJ1c2luZXNzIGRheXMgZnJvbSB0aGUgZGF0ZSB5b3UgcmVjZWl2ZSB0aGlzIGxldHRlcjxcL21hcms+IG9mIHRoZSBzcGVjaWZpYyBzdGVwcyB5b3VyIGZpcm0gaGFzIHRha2VuIHRvIGFkZHJlc3MgdGhlIG5vdGVkIHZpb2xhdGlvbnMsIGFzIHdlbGwgYXMgYW4gZXhwbGFuYXRpb24gb2YgaG93IHlvdXIgZmlybSBwbGFucyB0byBwcmV2ZW50IHRoZXNlIHZpb2xhdGlvbnMsIG9yIHNpbWlsYXIgdmlvbGF0aW9ucywgZnJvbSBvY2N1cnJpbmcgYWdhaW4uIEluY2x1ZGUgZG9jdW1lbnRhdGlvbiBvZiB0aGUgY29ycmVjdGlvbnMgYW5kL29yIGNvcnJlY3RpdmUgYWN0aW9ucyAod2hpY2ggbXVzdCBhZGRyZXNzIHN5c3RlbWljIHByb2JsZW1zKSB0aGF0IHlvdXIgZmlybSBoYXMgdGFrZW4uIElmIHlvdXIgZmlybeKAmXMgcGxhbm5lZCBjb3JyZWN0aW9ucyBhbmQvb3IgY29ycmVjdGl2ZSBhY3Rpb25zIHdpbGwgb2NjdXIgb3ZlciB0aW1lLCBwbGVhc2UgaW5jbHVkZSBhIHRpbWV0YWJsZSBmb3IgaW1wbGVtZW50YXRpb24gb2YgdGhvc2UgYWN0aXZpdGllcy4gSWYgY29ycmVjdGlvbnMgYW5kL29yIGNvcnJlY3RpdmUgYWN0aW9ucyBjYW5ub3QgYmUgY29tcGxldGVkIHdpdGhpbiBmaWZ0ZWVuIGJ1c2luZXNzIGRheXMsIHN0YXRlIHRoZSByZWFzb24gZm9yIHRoZSBkZWxheSBhbmQgdGhlIHRpbWUgd2l0aGluIHdoaWNoIHRoZXNlIGFjdGl2aXRpZXMgd2lsbCBiZSBjb21wbGV0ZWQuIFlvdXIgZmlybeKAmXMgcmVzcG9uc2Ugc2hvdWxkIGJlIGNvbXByZWhlbnNpdmUgYW5kIGFkZHJlc3MgYW55IHZpb2xhdGlvbnMgaW5jbHVkZWQgaW4gdGhpcyBXYXJuaW5nIExldHRlci4gSWYgeW91IGJlbGlldmUgdGhhdCB5b3VyIHByb2R1Y3RzIGFyZSBub3QgaW4gdmlvbGF0aW9uIG9mIHRoZSBBY3QsIGluY2x1ZGUgeW91ciByZWFzb25pbmcgYW5kIGFueSBzdXBwb3J0aW5nIGluZm9ybWF0aW9uIGZvciBvdXIgY29uc2lkZXJhdGlvbiBhcyBwYXJ0IG9mIHlvdXIgcmVzcG9uc2UuPFwvcD48cD5Zb3VyIGZpcm3igJlzIHJlc3BvbnNlIHNob3VsZCBiZSBzZW50IHZpYSBlbWFpbCB0byBKZWZmIFdvb2xleSBhdCBDRFJIRW5mb3JjZW1lbnRAZmRhLmhocy5nb3YuIFBsZWFzZSBpbmNsdWRlIGluIHRoZSBzdWJqZWN0IGxpbmUsIOKAnENNUyBDYXNlIDczMDMwMeKAnSB3aGVuIHJlcGx5aW5nLiBJZiB5b3UgaGF2ZSBhbnkgcXVlc3Rpb25zIGFib3V0IHRoZSBjb250ZW50cyBvZiB0aGlzIGxldHRlciwgcGxlYXNlIGNvbnRhY3Q6IExhdXJlbiBQcmllc3QgYXQgTGF1cmVuLlByaWVzdEBmZGEuaGhzLmdvdi48XC9wPjxwPkZpbmFsbHksIHlvdSBzaG91bGQga25vdyB0aGF0IHRoaXMgbGV0dGVyIGlzIG5vdCBpbnRlbmRlZCB0byBiZSBhbiBhbGwtaW5jbHVzaXZlIGxpc3Qgb2YgdGhlIHZpb2xhdGlvbnMgYXQgeW91ciBmaXJt4oCZcyBmYWNpbGl0eS4gSXQgaXMgeW91ciBmaXJt4oCZcyByZXNwb25zaWJpbGl0eSB0byBlbnN1cmUgY29tcGxpYW5jZSB3aXRoIGFwcGxpY2FibGUgbGF3cyBhbmQgcmVndWxhdGlvbnMgYWRtaW5pc3RlcmVkIGJ5IEZEQS4gVGhlIHNwZWNpZmljIHZpb2xhdGlvbnMgbm90ZWQgaW4gdGhpcyBsZXR0ZXIgYW5kIGluIHRoZSBJbnNwZWN0aW9uYWwgT2JzZXJ2YXRpb25zLCBGREEgNDgzLCBpc3N1ZWQgYXQgdGhlIGNsb3NlIG9mIHRoZSBpbnNwZWN0aW9uIG1heSBiZSBzeW1wdG9tYXRpYyBvZiBzZXJpb3VzIHByb2JsZW1zIGluIHlvdXIgZmlybeKAmXMgbWFudWZhY3R1cmluZyBhbmQgcXVhbGl0eSBtYW5hZ2VtZW50IHN5c3RlbXMuIFlvdXIgZmlybSBzaG91bGQgaW52ZXN0aWdhdGUgYW5kIGRldGVybWluZSB0aGUgY2F1c2VzIG9mIGFueSB2aW9sYXRpb25zIGFuZCB0YWtlIHByb21wdCBhY3Rpb25zIHRvIGFkZHJlc3MgYW55IHZpb2xhdGlvbnMgYW5kIGJyaW5nIHRoZSBwcm9kdWN0cyBpbnRvIGNvbXBsaWFuY2UuPFwvcD48aDQgY2xhc3M9XCJ3bC1oXCI+U2luY2VyZWx5LCAvUy88XC9oND48aDQgY2xhc3M9XCJ3bC1oXCI+QmFyYmFyYSBDLiBNYXJzZGVuPFwvaDQ+PGg0IGNsYXNzPVwid2wtaFwiPkRpcmVjdG9yPFwvaDQ+PGg0IGNsYXNzPVwid2wtaFwiPk9mZmljZSBvZiBSZWd1bGF0b3J5IFByb2dyYW1zPFwvaDQ+PGg0IGNsYXNzPVwid2wtaFwiPk9mZmljZSBvZiBQcm9kdWN0IEV2YWx1YXRpb24gYW5kIFF1YWxpdHk8XC9oND48aDQgY2xhc3M9XCJ3bC1oXCI+Q2VudGVyIGZvciBEZXZpY2VzIGFuZCBSYWRpb2xvZ2ljYWwgSGVhbHRoPFwvaDQ+IiwgIml0ZW1zIjogW3siZyI6ICJwcmUiLCAidGl0bGUiOiAiVGhlIGNsZWFyZWQgYmFzZWxpbmU6IEsxNzE0MzUiLCAic3VtbWFyeSI6ICJGREEgc3RhcnRzIGZyb20gdGhlIGNsZWFyZWQgaW5kaWNhdGlvbnMuIFRoZSAyMDE4IGNsZWFyYW5jZSBjb3ZlcnMgbWVhc3VyaW5nIHZlcnRlYnJhbCBkZWZvcm1pdGllcyBhbmQgY2xhc3NpZnlpbmcgZnJhY3R1cmVzIG9uIENULCBpbnRlcnByZXRlZCBieSBhIHBoeXNpY2lhbi4iLCAic2NlbmFyaW8iOiBudWxsfSwgeyJnIjogInByZSIsICJ0aXRsZSI6ICJDaGFuZ2UgMTogYSBuZXcgbWFjaGluZSBsZWFybmluZyBhbGdvcml0aG0gZm9yIGxhbmRtYXJraW5nIiwgInN1bW1hcnkiOiAiVGhlIGluc3BlY3RvcnMgcmVhZCB0aGUgZmlybSdzIG93biB2ZXJzaW9uIGNvbnRyb2wgbG9nIGFuZCAzLjAuMCByZWxlYXNlIG5vdGVzLiBGREEgc2F5cyBhIG5ldyBtb2RlbCBjYW4gcGVyZm9ybSBkaWZmZXJlbnRseSBhY3Jvc3MgcG9wdWxhdGlvbnMsIGVxdWlwbWVudCBhbmQgc2V0dGluZ3MsIGFuZCB0aGF0IHRoaXMgZmVhdHVyZSBjaGFuZ2VzIGhvdyB0aGUgZGV2aWNlIHBlcmZvcm1zIGFuZCBmYWlscy4iLCAic2NlbmFyaW8iOiAid2xfbWwifSwgeyJnIjogInByZSIsICJ0aXRsZSI6ICJUaGUgaGFybXMgRkRBIGxpbmtzIHRvIGluYWRlcXVhdGUgdmFsaWRhdGlvbiIsICJzdW1tYXJ5IjogIk1pc3NlZCBvciBkZWxheWVkIGRpYWdub3NpcywgYWJzZW50IHJlc3VsdHMsIGFuZCBpbmNvcnJlY3QgbWFuYWdlbWVudCBmcm9tIG1pc3JlYWRpbmcgb3Igb3ZlcnJlbHlpbmcgb24gdGhlIG91dHB1dC4gRkRBIGNvbmNsdWRlcyBhIG5ldyA1MTAoaykgaXMgcmVxdWlyZWQgZm9yIHRoZSBNTCBmZWF0dXJlLiIsICJzY2VuYXJpbyI6ICJ3bF9tbCJ9LCB7ImciOiAicHJlIiwgInRpdGxlIjogIkNoYW5nZSAyOiBkZXNrdG9wIGFwcGxpY2F0aW9uIHRvIHdlYi1iYXNlZCBhcmNoaXRlY3R1cmUiLCAic3VtbWFyeSI6ICJGREEgc2F5cyB0aGUgbW92ZSBhZGRzIG5ldHdvcmstZXhwb3NlZCBhdHRhY2sgc3VyZmFjZXMgYW5kIGF1dGhlbnRpY2F0aW9uIHZ1bG5lcmFiaWxpdGllcy4gVGhlIGZpcm0gaXRzZWxmIHRvbGQgaW5zcGVjdG9ycyB0aGUgY2hhbmdlIGV4cGFuZGVkIGl0cyBjeWJlcmF0dGFjayBzdXJmYWNlIGFyZWEuIiwgInNjZW5hcmlvIjogIndsX3dlYiJ9LCB7ImciOiAicHJlIiwgInRpdGxlIjogIkNoYW5nZSAzOiB0ZWNobm9sb2d5IHBsYXRmb3JtIG1pZ3JhdGlvbiIsICJzdW1tYXJ5IjogIkJvdGggcGxhdGZvcm1zIGFyZSByZWRhY3RlZC4gRkRBIHNheXMgdGhlIG1pZ3JhdGlvbiByZXF1aXJlcyByZS12ZXJpZnlpbmcgYW5kIHJlLXZhbGlkYXRpbmcgdGhlIHdob2xlIGNvZGViYXNlLCBpbmNsdWRpbmcgdGhpcmQtcGFydHkgbGlicmFyaWVzLCBhbmQgbm90ZXMgaXQgbmV2ZXIgcmV2aWV3ZWQgdGhlIGRldmljZSdzIFNCT00uIiwgInNjZW5hcmlvIjogIndsX3BsYXRmb3JtIn0sIHsiZyI6ICJwcmUiLCAidGl0bGUiOiAiRWFjaCBjaGFuZ2UgaXMgZW5vdWdoIG9uIGl0cyBvd24iLCAic3VtbWFyeSI6ICJGREEgc2F5cyB0aGUgd2ViIGFuZCBwbGF0Zm9ybSBjaGFuZ2VzIGVhY2ggaW5kZXBlbmRlbnRseSByYWlzZSBzaWduaWZpY2FudCBjb25jZXJucywgYW5kIHRoYXQgZWFjaCBjaGFuZ2UgY291bGQgc2lnbmlmaWNhbnRseSBhZmZlY3Qgc2FmZXR5IG9yIGVmZmVjdGl2ZW5lc3MgdW5kZXIgMjEgQ0ZSIDgwNy44MShhKSgzKShpKS4iLCAic2NlbmFyaW8iOiAid2xfcmVsZWFzZSJ9LCB7ImciOiAicHJlIiwgInRpdGxlIjogIlRoZSBjaGFyZ2VzOiBhZHVsdGVyYXRlZCBhbmQgbWlzYnJhbmRlZCIsICJzdW1tYXJ5IjogIlZlcnNpb24gMy4wLjAgaXMgYWR1bHRlcmF0ZWQgYmVjYXVzZSBubyBQTUEgb3IgSURFIGlzIGluIGVmZmVjdCwgYW5kIG1pc2JyYW5kZWQgYmVjYXVzZSB0aGUgZmlybSBzaGlwcGVkIHNpZ25pZmljYW50IGNoYW5nZXMgd2l0aG91dCBhIG5ldyA1MTAoaykuIiwgInNjZW5hcmlvIjogIndsX3JlbGVhc2UifSwgeyJnIjogInByZSIsICJ0aXRsZSI6ICJGREEncyByZXF1ZXN0OiBzdG9wIGRpc3RyaWJ1dGluZyAzLjAuMCIsICJzdW1tYXJ5IjogIkZEQSBhc2tzIHRoZSBmaXJtIHRvIGNlYXNlIGFjdGl2aXRpZXMgdGhhdCBtaXNicmFuZCBvciBhZHVsdGVyYXRlIHZlcnNpb24gMy4wLjAsIHN1Y2ggYXMgY29tbWVyY2lhbCBkaXN0cmlidXRpb24uIiwgInNjZW5hcmlvIjogbnVsbH0sIHsiZyI6ICJxbXMiLCAidGl0bGUiOiAiQ0FQQSB1cGRhdGVzIGRlbGF5ZWQgZm9yIG92ZXIgYSB5ZWFyIGFuZCBhIGhhbGYiLCAic3VtbWFyeSI6ICJVbmRlciBJU08gMTM0ODUgY2xhdXNlIDguNS4yLCBwcm9jZWR1cmFsIHVwZGF0ZXMgdGhhdCBmb3VyIENBUEEgcmVjb3JkcyBzYWlkIHdlcmUgbmVlZGVkIGhhZCBub3QgYmVlbiBtYWRlIGZvciBtb3JlIHRoYW4gMTggbW9udGhzLiIsICJzY2VuYXJpbyI6IG51bGx9LCB7ImciOiAicW1zIiwgInRpdGxlIjogIkNBUEEtMDA4OCBvcGVuZWQgdGhlIGRheSBiZWZvcmUgdGhlIGluc3BlY3Rpb24iLCAic3VtbWFyeSI6ICJBIHNvZnR3YXJlIGlzc3VlIGtub3duIGZvciB0aHJlZSB5ZWFycyBnb3QgYSBDQVBBIG9ubHkgdGhlIGRheSBiZWZvcmUgaW5zcGVjdG9ycyBhcnJpdmVkLiBUaGUgcmVjb3JkIHdhcyB1bnNpZ25lZCBhbmQgaGFkIG5vIGFjdGlvbnMuIiwgInNjZW5hcmlvIjogbnVsbH0sIHsiZyI6ICJxbXMiLCAidGl0bGUiOiAiVGlja2V0cyB1c2VkIGluc3RlYWQgb2YgY29ycmVjdGl2ZSBhY3Rpb25zIiwgInN1bW1hcnkiOiAiVGhlIHByb2NlZHVyZSBsZXQgc3RhZmYgbG9nIGEgdGlja2V0IGluc3RlYWQgb2Ygb3BlbmluZyBhIENBUEEgZm9yIFwiaW5kaXZpZHVhbCBhbmQgc3BvcmFkaWNcIiBpc3N1ZXMsIHdoaWNoIEZEQSB0aWVzIHRvIHRoZSBkZWxheXMuIiwgInNjZW5hcmlvIjogbnVsbH0sIHsiZyI6ICJxbXMiLCAidGl0bGUiOiAiQ0FQQSB0cmlnZ2VycyBuYXJyb3dlZCB3aXRob3V0IGFuIGltcGFjdCBhc3Nlc3NtZW50IiwgInN1bW1hcnkiOiAiUmV2aXNpb24gMTEgKE9jdCAyLCAyMDI0KSBtb3ZlZCB0aGUgQ0FQQSB0cmlnZ2VyIGZyb20gYW55IHNhZmV0eSBoYXphcmQgdG8gc3lzdGVtaWMgb3IgcmVjdXJyaW5nIGlzc3VlcywgYW5kIHRoZSBmaXJtIGRpZCBub3QgZXZhbHVhdGUgdGhlIGltcGFjdCBvZiB0aGF0IGNoYW5nZSBmaXJzdC4iLCAic2NlbmFyaW8iOiBudWxsfSwgeyJnIjogInFtcyIsICJ0aXRsZSI6ICJObyB2ZXJpZmljYXRpb24gb2YgZWZmZWN0aXZlbmVzcyIsICJzdW1tYXJ5IjogIkNBUEEtMDA4MCB2ZXJpZmllZCB0aGF0IGFjdGlvbnMgd2VyZSBpbXBsZW1lbnRlZCBidXQgbm90IHRoYXQgdGhleSB3b3JrZWQuIFRoZSBmb3JtIGhhZCBvbmx5IGEgeWVzIG9yIG5vIGNoZWNrYm94LiIsICJzY2VuYXJpbyI6IG51bGx9LCB7ImciOiAicW1zIiwgInRpdGxlIjogIlRoZSBmaXJtJ3MgcmVzcG9uc2UganVkZ2VkIG5vdCBhZGVxdWF0ZSIsICJzdW1tYXJ5IjogIkZEQSBmb3VuZCB0aGUgcmVzcG9uc2Ugb24gaXRlbXMgMUEgYW5kIDFDIG5vdCBhZGVxdWF0ZSwgYW5kIGNvdWxkIG5vdCBqdWRnZSBpdGVtIDFCIGJlY2F1c2Ugbm8gcmVjb3JkcyBvZiBpbXBsZW1lbnRhdGlvbiB3ZXJlIHByb3ZpZGVkLiIsICJzY2VuYXJpbyI6IG51bGx9LCB7ImciOiAicW1zIiwgInRpdGxlIjogIlN1cHBsaWVyIGNvbnRyb2xzIHRvbyB2YWd1ZSIsICJzdW1tYXJ5IjogIlVuZGVyIGNsYXVzZSA3LjQuMSwgdGhlIHB1cmNoYXNpbmcgcHJvY2VkdXJlIGdpdmVzIG5vIGNyaXRlcmlhIGZvciB3aGVuIHRvIHJlLWV2YWx1YXRlLCBtb25pdG9yIG9yIGFjdCBvbiBzdXBwbGllciBwZXJmb3JtYW5jZS4iLCAic2NlbmFyaW8iOiBudWxsfSwgeyJnIjogIm1kciIsICJ0aXRsZSI6ICJNRFIgcHJvY2VkdXJlcyBmYWxsIHNob3J0IG9mIDIxIENGUiA4MDMuMTciLCAic3VtbWFyeSI6ICJUaGUgY29tcGxhaW50IHByb2NlZHVyZSB0aGUgZmlybSB1c2VkIGZvciBhZHZlcnNlIGV2ZW50IHJlcG9ydGluZyBkb2VzIG5vdCBtZWV0IHRoZSB3cml0dGVuIE1EUiBwcm9jZWR1cmUgcmVxdWlyZW1lbnRzLiIsICJzY2VuYXJpbyI6IG51bGx9LCB7ImciOiAibWRyIiwgInRpdGxlIjogIlJlcG9ydGFibGUtZXZlbnQgZGVmaW5pdGlvbnMgbWlzc2luZyBvciB3cm9uZyIsICJzdW1tYXJ5IjogIlRoZSBwcm9jZWR1cmUgbGFja3MgdGhlIHJlZ3VsYXRvcnkgZGVmaW5pdGlvbnMgb2YgXCJiZWNvbWUgYXdhcmVcIiwgXCJjYXVzZWQgb3IgY29udHJpYnV0ZWRcIiBhbmQgXCJyZWFzb25hYmx5IHN1Z2dlc3RzXCIsIGFuZCBkZWZpbmVzIHNlcmlvdXMgaW5qdXJ5IHdpdGhvdXQgaWxsbmVzcy4iLCAic2NlbmFyaW8iOiBudWxsfSwgeyJnIjogIm1kciIsICJ0aXRsZSI6ICJObyBpbnN0cnVjdGlvbnMgZm9yIGNvbXBsZXRlLCBlbGVjdHJvbmljIHJlcG9ydHMiLCAic3VtbWFyeSI6ICJUaGUgcHJvY2VkdXJlIGRvZXMgbm90IGV4cGxhaW4gaG93IHRvIHN1Ym1pdCBjb21wbGV0ZSByZXBvcnRzIGluIHRoZSBGb3JtIDM1MDBBIGZvcm1hdCBvciBlbGVjdHJvbmljYWxseSBhcyA4MDMuMTIoYSkgcmVxdWlyZXMuIiwgInNjZW5hcmlvIjogbnVsbH0sIHsiZyI6ICJtZHIiLCAidGl0bGUiOiAiRXZlbnQgZmlsZXMgbWlzc2luZyB0aGUgcmVwb3J0YWJpbGl0eSByZWFzb25pbmciLCAic3VtbWFyeSI6ICJUaGUgZXZlbnQgZmlsZSByZXZpZXdlZCBkaWQgbm90IHJlY29yZCBob3cgdGhlIGZpcm0gZGVjaWRlZCB3aGV0aGVyIHRoZSBldmVudCB3YXMgcmVwb3J0YWJsZSAoMjEgQ0ZSIDgwMy4xOCkuIiwgInNjZW5hcmlvIjogbnVsbH0sIHsiZyI6ICJtZHIiLCAidGl0bGUiOiAiTm8gZVN1Ym1pdHRlciAoRVNHIE5leHRHZW4pIGFjY291bnQiLCAic3VtbWFyeSI6ICJGREEgcmVjb21tZW5kcyByZW1vdmluZyBvdXRkYXRlZCBiYXNlbGluZS1yZXBvcnQgcmVmZXJlbmNlcyBhbmQgbm90ZXMgdGhlIGZpcm0gaGFkIG5vIGVsZWN0cm9uaWMgc3VibWlzc2lvbiBhY2NvdW50IGFzIG9mIEFwcmlsIDI0LCAyMDI2LiIsICJzY2VuYXJpbyI6IG51bGx9LCB7ImciOiAibmV4dCIsICJ0aXRsZSI6ICJSZXNwb25kIHdpdGhpbiAxNSBidXNpbmVzcyBkYXlzIiwgInN1bW1hcnkiOiAiVGhlIGZpcm0gbXVzdCBkZXNjcmliZSBpdHMgY29ycmVjdGlvbnMsIGhvdyBpdCB3aWxsIHByZXZlbnQgcmVjdXJyZW5jZSwgYW5kIGEgdGltZXRhYmxlIGZvciBhbnl0aGluZyBub3QgZmluaXNoZWQuIiwgInNjZW5hcmlvIjogbnVsbH0sIHsiZyI6ICJuZXh0IiwgInRpdGxlIjogIldoYXQgaGFwcGVucyBpZiBpdCBkb2VzIG5vdCIsICJzdW1tYXJ5IjogIkZEQSBtYXkgYWN0IHdpdGhvdXQgZnVydGhlciBub3RpY2UsIGluY2x1ZGluZyBzZWl6dXJlLCBpbmp1bmN0aW9uIGFuZCBjaXZpbCBtb25leSBwZW5hbHRpZXMuIiwgInNjZW5hcmlvIjogbnVsbH1dLCAiZ3JvdXBzIjogeyJwcmUiOiAiVGhlIGNoYW5nZXMgdGhhdCB0cmlnZ2VyZWQgdGhlIDUxMChrKSBjaGFyZ2UiLCAicW1zIjogIlF1YWxpdHkgbWFuYWdlbWVudCBzeXN0ZW0gZmluZGluZ3MiLCAibWRyIjogIk1lZGljYWwgZGV2aWNlIHJlcG9ydGluZyBmaW5kaW5ncyIsICJuZXh0IjogIldoYXQgRkRBIGFza3MgZm9yIG5leHQifSwgInVybCI6ICJodHRwczovL3d3dy5mZGEuZ292L2luc3BlY3Rpb25zLWNvbXBsaWFuY2UtZW5mb3JjZW1lbnQtYW5kLWNyaW1pbmFsLWludmVzdGlnYXRpb25zL3dhcm5pbmctbGV0dGVycy9kaWFnbm9zdGljcy1sbGMtNzMwMzAxLTA5MDEyMDI2In0sICJ0cmFjZXIiOiB7InN0YW5jZXMiOiBbIkNvbnNlcnZhdGl2ZSIsICJCYWxhbmNlZCIsICJMZWFuIl0sICJsZW5zIjogeyJRMSI6IHsid29yZHMiOiBbInNvbGVseSB0byBzdHJlbmd0aGVuIGN5YmVyc2VjdXJpdHkiLCAiZG9lcyBub3QgaGF2ZSBhbnkgb3RoZXIgaW1wYWN0Il0sICJyZWFkIjogWyJcIlNvbGVseVwiIGlzIHN0cmljdDogYW55IGFjY29tcGFueWluZyBjaGFuZ2UsIGV2ZW4gYSBkZXBlbmRlbmN5IGJ1bXAgb3IgYSBuZXcgT1MsIGlzIFwib3RoZXIgaW1wYWN0XCIuIiwgIlRoZSBjaGFuZ2UgZXhpc3RzIGZvciBzZWN1cml0eSwgYW5kIHRoZSBhbmFseXNpcyBzaG93cyBubyBlZmZlY3Qgb24gb3RoZXIgc29mdHdhcmUgb3IgZGV2aWNlIGJlaGF2aW9yLiIsICJTZWN1cml0eSBpcyB0aGUgcHJpbWFyeSBwdXJwb3NlLCBhbmQgaW5jaWRlbnRhbCBjaGFuZ2VzIHZlcmlmaWVkIGFzIGVxdWl2YWxlbnQgZG8gbm90IGNvdW50IGFzIFwib3RoZXIgaW1wYWN0XCIuIl19LCAiUTIiOiB7IndvcmRzIjogWyJzb2xlbHkgdG8gcmV0dXJuIHRoZSBzeXN0ZW0gaW50byBzcGVjaWZpY2F0aW9uIiwgIm1vc3QgcmVjZW50bHkgY2xlYXJlZCBkZXZpY2UiXSwgInJlYWQiOiBbIk9ubHkgY29kZSByZXN0b3JlZCB0byBiZWhhdmlvciBhbHJlYWR5IHdyaXR0ZW4gaW50byB0aGUgY2xlYXJlZCBkZXZpY2UncyBzcGVjaWZpY2F0aW9uOyBhbnkgbmV3IHNwZWNpZmljYXRpb24gdGV4dCBkaXNxdWFsaWZpZXMgKGV4YW1wbGUgMi41KS4iLCAiUmVzdG9yZXMgdGhlIGNsZWFyZWQgc3BlY2lmaWNhdGlvbiB3aXRob3V0IGFkZGluZyBiZWhhdmlvciwgYXMgaW4gZXhhbXBsZXMgMi4xIHRvIDIuNC4iLCAiUmVzdG9yZXMgdGhlIGJlaGF2aW9yIHRoZSBjbGVhcmVkIGRldmljZSB3YXMgbWVhbnQgdG8gaGF2ZSwgZXZlbiBpZiB0aGUgc3BlY2lmaWNhdGlvbiBuZWVkZWQgY2xhcmlmeWluZy4iXX0sICJRM2EiOiB7IndvcmRzIjogWyJuZXcgcmlzayBvciBtb2RpZnkgYW4gZXhpc3RpbmcgcmlzayIsICJzaWduaWZpY2FudCBoYXJtIiwgIm5vdCBlZmZlY3RpdmVseSBtaXRpZ2F0ZWQgaW4gdGhlIG1vc3QgcmVjZW50bHkgY2xlYXJlZCBkZXZpY2UiXSwgInJlYWQiOiBbIkEgbmV3IG1vZGVsIG9yIG5ldyBpbnB1dCBicmluZ3MgbmV3IGNhdXNlcyBvZiBlcnJvci4gTWlzZGlhZ25vc2lzIGlzIHNpZ25pZmljYW50IGhhcm0uIENsaW5pY2lhbiByZXZpZXcgZG9lcyBub3QgY291bnQgYXMgYW4gZWZmZWN0aXZlIGNvbnRyb2wuIiwgIkEgbmV3IGNhdXNlIGNvdW50cyBvbmx5IGlmIGl0IGlzIGEgbmV3IHdheSB0byByZWFjaCBhIGhhemFyZG91cyBzaXR1YXRpb24gdGhhdCB0aGUgY2xlYXJlZCByaXNrIGZpbGUncyBjb250cm9scyAoY2xpbmljaWFuIHJldmlldywgbGFiZWxpbmcsIHRyaWFnZSB0aGF0IG5ldmVyIHJlbW92ZXMgY2FzZXMpIGRvIG5vdCBjb3Zlci4iLCAiU2FtZSBoYXphcmQgKG1pc3NlZCBvciB3cm9uZyBmaW5kaW5nKSwgc2FtZSBjYXRlZ29yeSBvZiBjYXVzZXMsIGFuZCB0aGUgc3RhbmRhcmQgb2YgY2FyZSBzdGlsbCBtaXRpZ2F0ZXMgaXQuIl19LCAiUTNiIjogeyJ3b3JkcyI6IFsibmV3IHJpc2sgY29udHJvbCBtZWFzdXJlIG9yIGEgbW9kaWZpY2F0aW9uIG9mIGFuIGV4aXN0aW5nIHJpc2sgY29udHJvbCBtZWFzdXJlIiwgImhhemFyZG91cyBzaXR1YXRpb24gdGhhdCBjb3VsZCByZXN1bHQgaW4gc2lnbmlmaWNhbnQgaGFybSJdLCAicmVhZCI6IFsiQSB0aHJlc2hvbGQgb3Igb3BlcmF0aW5nIHBvaW50IGlzIGEgcmlzayBjb250cm9sIGFnYWluc3QgZmFsc2UgbmVnYXRpdmVzLCBzbyBjaGFuZ2luZyBpdCBtb2RpZmllcyBhIGNvbnRyb2wuIiwgIkEgdGhyZXNob2xkIGlzIGEgcGVyZm9ybWFuY2UgcGFyYW1ldGVyIHVubGVzcyB0aGUgcmlzayBmaWxlIG5hbWVzIGl0IGFzIGEgY29udHJvbC4gVGhlIHRlc3QgaXMgd2hldGhlciB0aGUgY29udHJvbCBjaGFuZ2UgaXMgbmVjZXNzYXJ5IHRvIHByZXZlbnQgc2lnbmlmaWNhbnQgaGFybS4iLCAiVGhyZXNob2xkcyBhbmQgb3V0cHV0cyBhcmUgcGVyZm9ybWFuY2UgcGFyYW1ldGVycywgbmV2ZXIgcmlzayBjb250cm9scy4gT25seSBleHBsaWNpdCBzYWZldHkgbWVjaGFuaXNtcyBjb3VudC4iXX0sICJRNCI6IHsid29yZHMiOiBbImNvdWxkIHNpZ25pZmljYW50bHkgYWZmZWN0IiwgImNsaW5pY2FsIGZ1bmN0aW9uYWxpdHkgb3IgcGVyZm9ybWFuY2Ugc3BlY2lmaWNhdGlvbnMiLCAiZGlyZWN0bHkgYXNzb2NpYXRlZCB3aXRoIHRoZSBpbnRlbmRlZCB1c2UiXSwgInJlYWQiOiBbIlwiQ291bGRcIiBtZWFucyBwb3NzaWJsZTogaWYgYW4gZWZmZWN0IGNhbm5vdCBiZSBydWxlZCBvdXQsIGl0IGNvdWxkLiBBbnkgbWV0cmljIGNvdW50cyAoQVVDLCBEaWNlLCBsYXRlbmN5KS4iLCAiXCJDb3VsZFwiIGlzIGFuc3dlcmVkIGJ5IHRoZSBhbmFseXNpcyBhbmQgdGhlIGxvY2tlZCB0ZXN0LiBcIlNpZ25pZmljYW50bHlcIiBtZWFucyBhIGNsZWFyZWQgcGVyZm9ybWFuY2UgZmlndXJlIG1vdmVzIGJleW9uZCBpdHMgdmFsaWRhdGVkIHJhbmdlLCB1cCBvciBkb3duLCBvciB1c2VycyB3b3VsZCBhY3QgZGlmZmVyZW50bHkuIiwgIklmIHRoZSBsb2NrZWQgdGVzdCBzaG93cyBubyBjaGFuZ2UgYmV5b25kIHRoZSBhY2NlcHRhbmNlIGNyaXRlcmlhLCBpdCBjb3VsZCBub3QuIE9ubHkgbWV0cmljcyB0aWVkIHRvIHRoZSBjbGluaWNhbCBjbGFpbSBjb3VudC4iXX0sICJWSSI6IHsid29yZHMiOiBbImNvcmUgYWxnb3JpdGhtIiwgImluZnJhc3RydWN0dXJlIiwgImFyY2hpdGVjdHVyZSIsICJzaWduaWZpY2FudCBzb2Z0d2FyZSByZS13cml0ZSJdLCAicmVhZCI6IFsiV2VpZ2h0cyBhcmUgdGhlIGNvcmUgYWxnb3JpdGhtLCBhbmQgYW55IHJ1bnRpbWUsIGxhbmd1YWdlLCBPUyBvciBob3N0aW5nIGNoYW5nZSBcIm1heSBpbXBhY3QgdGhlIG92ZXJhbGwgcGVyZm9ybWFuY2VcIi4gVHJlYXQgdGhlc2UgYXMgZmlsaW5ncy4iLCAiV2VpZ2ggdGhlIGV4dGVudCBhbmQgaW1wYWN0LiBBIHJld3JpdGUsIGEgbmV3IHBsYXRmb3JtIG9yIGEgbmV3IGFyY2hpdGVjdHVyZSBnZXRzIGZpbGVkLiBBIHJ1bnRpbWUgb3IgT1MgY2hhbmdlIHByb3ZlbiBlcXVpdmFsZW50IGdldHMgZG9jdW1lbnRlZC4iLCAiRXF1aXZhbGVudCBvdXRwdXRzIG9uIHRoZSBsb2NrZWQgdGVzdCBtZWFuIG5vIGltcGFjdCwgd2hhdGV2ZXIgY2hhbmdlZCB1bmRlcm5lYXRoLiJdfSB9LCAiY2hhbmdlcyI6IFt7ImlkIjogInJldHJhaW4iLCAidGl0bGUiOiAiUmV0cmFpbiwgc2FtZSBhcmNoaXRlY3R1cmUsIG1vcmUgZGF0YSBmcm9tIHRoZSBzYW1lIHBvcHVsYXRpb24iLCAiZmFjdHMiOiAiU2FtZSBjb2RlIGFuZCBhcmNoaXRlY3R1cmUuIFRyYWluaW5nIGRhdGEgZ3Jvd3MgNDAlIGZyb20gdGhlIHNhbWUgc2l0ZXMgYW5kIHNjYW5uZXJzLiBPbiB0aGUgbG9ja2VkIHRlc3Qgc2V0IGV2ZXJ5IGNsZWFyZWQgcGVyZm9ybWFuY2UgZmlndXJlIGFuZCBzdWJncm91cCBzdGF5cyB3aXRoaW4gaXRzIHByZS1zZXQgYWNjZXB0YW5jZSBjcml0ZXJpYSAoQVVDIDAuOTMgdG8gMC45NCkuIiwgInBhdGhzIjogW3sic3RlcHMiOiBbeyJub2RlIjogIlExIiwgImFucyI6ICJOIiwgIndoeSI6ICJOb3QgYSBzZWN1cml0eSBjaGFuZ2UuIn0sIHsibm9kZSI6ICJRMiIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTmV3IHdlaWdodHMgYXJlIG5vdCBhIHJlc3RvcmF0aW9uIG9mIHRoZSBjbGVhcmVkIHNwZWNpZmljYXRpb24uIn0sIHsibm9kZSI6ICJRM2EiLCAiYW5zIjogIlkiLCAid2h5IjogIk5ldyB3ZWlnaHRzIGNhbiBmYWlsIG9uIGNhc2VzIHRoZSBvbGQgbW9kZWwgaGFuZGxlZCwgYSBtb2RpZmllZCBjYXVzZSBvZiB0aGUgZXhpc3RpbmcgbWlzZGlhZ25vc2lzIGhhemFyZC4gRkRBJ3MgTy5OLiBEaWFnbm9zdGljcyBsZXR0ZXIgc2F5cyBhIG1vZGVsIFwidHJhaW5lZCBvbiBkaWZmZXJlbnQgZGF0YVwiIG1heSBwZXJmb3JtIGRpZmZlcmVudGx5LiBDbGluaWNpYW4gcmV2aWV3IGlzIG5vdCBjb3VudGVkLCBzbyB0aGUgcmlzayBpcyBub3QgZWZmZWN0aXZlbHkgbWl0aWdhdGVkLiJ9XSwgIm91dGNvbWUiOiAibmV3In0sIHsic3RlcHMiOiBbeyJub2RlIjogIlExIiwgImFucyI6ICJOIiwgIndoeSI6ICJOb3QgYSBzZWN1cml0eSBjaGFuZ2UuIn0sIHsibm9kZSI6ICJRMiIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTmV3IHdlaWdodHMgYXJlIG5vdCBhIHJlc3RvcmF0aW9uIG9mIHRoZSBjbGVhcmVkIHNwZWNpZmljYXRpb24uIn0sIHsibm9kZSI6ICJRM2EiLCAiYW5zIjogIk4iLCAid2h5IjogIlRoZSBoYXphcmQgKGEgbWlzc2VkIG9yIHdyb25nIGZpbmRpbmcpIGFuZCBpdHMgY2F1c2VzIGFyZSB0aGUgb25lcyBhbHJlYWR5IGluIHRoZSByaXNrIGZpbGUsIGFuZCB0aGUgbG9ja2VkIHRlc3Qgc2hvd3MgdGhlIHJldHJhaW5lZCBtb2RlbCBzdGF5cyB3aXRoaW4gdGhlIHZhbGlkYXRlZCBwZXJmb3JtYW5jZSB0aGF0IHRob3NlIGNvbnRyb2xzIHdlcmUgYnVpbHQgYXJvdW5kLiJ9LCB7Im5vZGUiOiAiUTNiIiwgImFucyI6ICJOIiwgIndoeSI6ICJObyByaXNrIGNvbnRyb2wgY2hhbmdlcy4ifSwgeyJub2RlIjogIlE0IiwgImFucyI6ICJOIiwgIndoeSI6ICJFdmVyeSBjbGVhcmVkIGZpZ3VyZSBzdGF5cyBpbnNpZGUgaXRzIHZhbGlkYXRlZCByYW5nZSBvbiB0aGUgbG9ja2VkIHRlc3QsIHNvIHRoZSBjaGFuZ2UgY291bGQgbm90IHNpZ25pZmljYW50bHkgYWZmZWN0IHRoZSBwZXJmb3JtYW5jZSBzcGVjaWZpY2F0aW9ucy4ifSwgeyJub2RlIjogIlZJIiwgImFucyI6ICJEIiwgIndoeSI6ICJBIHJldHJhaW4gaXMgYSBjb3JlLWFsZ29yaXRobSBjaGFuZ2UsIGFuZCBTZWN0aW9uIFZJIHNlbmRzIGl0IGJhY2sgdG8gdGhlIHBlcmZvcm1hbmNlIHF1ZXN0aW9uLCB3aGljaCB0aGUgbG9ja2VkIHRlc3QgYW5zd2VyZWQuIERvY3VtZW50LCB3aXRoIHRoZSBjdW11bGF0aXZlIGRyaWZ0IGxvZyB1cGRhdGVkLiJ9XSwgIm91dGNvbWUiOiAiZG9jIn0sIHsic3RlcHMiOiBbeyJub2RlIjogIlExIiwgImFucyI6ICJOIiwgIndoeSI6ICJOb3QgYSBzZWN1cml0eSBjaGFuZ2UuIn0sIHsibm9kZSI6ICJRMiIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTmV3IHdlaWdodHMgYXJlIG5vdCBhIHJlc3RvcmF0aW9uIG9mIHRoZSBjbGVhcmVkIHNwZWNpZmljYXRpb24uIn0sIHsibm9kZSI6ICJRM2EiLCAiYW5zIjogIk4iLCAid2h5IjogIlNhbWUgaGF6YXJkLCBzYW1lIGNhdXNlcywgc2FtZSBjb250cm9scy4ifSwgeyJub2RlIjogIlEzYiIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTm8gcmlzayBjb250cm9sIGNoYW5nZXMuIn0sIHsibm9kZSI6ICJRNCIsICJhbnMiOiAiTiIsICJ3aHkiOiAiVGhlIGxvY2tlZCB0ZXN0IHNob3dzIG5vIGNoYW5nZSBiZXlvbmQgdGhlIGFjY2VwdGFuY2UgY3JpdGVyaWEuIn0sIHsibm9kZSI6ICJWSSIsICJhbnMiOiAiRCIsICJ3aHkiOiAiU2FtZSBjb2RlIHJlLXJ1biBvbiBtb3JlIGRhdGEgYW5kIHJlLXZlcmlmaWVkIHdpdGggdGhlIG9yaWdpbmFsIHRlc3Qgc2NoZW1lLiBGREEncyBnZW5lcmFsIGd1aWRhbmNlIHNheXMgcnVubmluZyBhIHN1YnNldCBvZiB0aGUgb3JpZ2luYWwgdGVzdHMgaXMgbm90IGEgbmV3IHRlc3Qgc2NoZW1lLiJ9XSwgIm91dGNvbWUiOiAiZG9jIn1dLCAiZXZpZGVuY2UiOiBbeyJsYWJlbCI6ICJPLk4uIERpYWdub3N0aWNzIGxldHRlcjogXCJ0cmFpbmVkIG9uIGRpZmZlcmVudCBkYXRhXCIiLCAibGluayI6ICJodHRwczovL2hpZ2hsaWdodGVyLnlzaHJlc3RoYS53b3JrZXJzLmRldi92L08yRk5WNEJ5UHVCaCNoPTEifSwgeyJsYWJlbCI6ICJBaWRvYyBmaWxlZCBhIHJldHJhaW4gYXMgYSBTcGVjaWFsIChLMjIyMjc3KSIsICJsaW5rIjogImh0dHBzOi8vZmRhLmlubm9saXRpY3MuY29tL2RldmljZS9LMjIyMjc3P2RvYz1zdW1tYXJ5JmhsPTU6ZGlmZmVyJTIwd2l0aCUyMHJlc3BlY3QlMjB0byUyMHRoZWlyJTIwYWxnb3JpdGhtJTIwcGVyZm9ybWFuY2UlMjBkdWUlMjB0byUyMHRyYWluaW5nJTIwdGhlJTIwc3ViamVjdCUyMGRldmljZSUyMG9uJTIwYSUyMGxhcmdlciUyMGRhdGElMjBzZXQlMkMlMjB0aGUlMjBhZGRpdGlvbiUyMG9mJTIwMiUyMG9wZXJhdGluZyUyMHBvaW50cyUyQyUyMGFuZCUyMGFiaWxpdHklMjB0byUyMHByb2Nlc3MlMjBzaW5nbGUlMjBhbmQlMjBkdWFsJTIwZW5lcmd5JTIwZXhhbXMuJmZvY3VzPTEifSwgeyJsYWJlbCI6ICJHZW5lcmFsIGd1aWRhbmNlOiBhIHN1YnNldCBvZiB0aGUgb3JpZ2luYWwgdGVzdHMgaXMgbm90IGEgbmV3IHRlc3Qgc2NoZW1lIiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZhNTk0Njc1MzIyLWIyMDg3MDE1MWFiNjNiZjYmaGw9MzI6Tm90ZSUyMHRoYXQlMjBwZXJmb3JtaW5nJTIwYSUyMHN1YnNldCUyMG9mJTIwdGhlJTIwb3JpZ2luYWwlMjBzdWl0ZSUyMG9mJTIwdGVzdHMlMjBpcyUyMG5vdCUyMGNvbnNpZGVyZWQlMjBhJTIwbmV3JTIwdGVzdCUyMHNjaGVtZSZmb2N1cz0xIn1dLCAiZ3JvdXAiOiAiYWkifSwgeyJpZCI6ICJ2ZW5kb3IiLCAidGl0bGUiOiAiUmV0cmFpbiB0aGF0IGFkZHMgZGF0YSBmcm9tIGEgbmV3IHNjYW5uZXIgdmVuZG9yIiwgImZhY3RzIjogIlJldHJhaW4gYWRkcyBGdWppZmlsbSBpbWFnZXMuIFRoZSBsYWJlbGluZyBhbmQgY2xlYXJlZCB2YWxpZGF0aW9uIGNvdmVyZWQgR0UsIFNpZW1lbnMgYW5kIFBoaWxpcHMgYnV0IHRoZSBpbmRpY2F0aW9ucyBkbyBub3QgbmFtZSB2ZW5kb3JzLiBPdmVyYWxsIHNlbnNpdGl2aXR5IHJpc2VzIGZyb20gOTElIHRvIDkzJTsgdGhlIEZ1amlmaWxtIHN1Ymdyb3VwIG1lZXRzIHRoZSBzYW1lIGNyaXRlcmlhLiIsICJwYXRocyI6IFt7InN0ZXBzIjogW3sibm9kZSI6ICJRMSIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTm90IGEgc2VjdXJpdHkgY2hhbmdlLiJ9LCB7Im5vZGUiOiAiUTIiLCAiYW5zIjogIk4iLCAid2h5IjogIk5vdCBhIHJlc3RvcmF0aW9uLiJ9LCB7Im5vZGUiOiAiUTNhIiwgImFucyI6ICJZIiwgIndoeSI6ICJBIG5ldyB2ZW5kb3IgaXMgYSBuZXcgaW5wdXQgZGlzdHJpYnV0aW9uLCBhIG5ldyBjYXVzZSBvZiBlcnJvciB0aGF0IHRoZSBjbGVhcmVkIHZhbGlkYXRpb24gbmV2ZXIgbWl0aWdhdGVkLiJ9XSwgIm91dGNvbWUiOiAibmV3In0sIHsic3RlcHMiOiBbeyJub2RlIjogIlExIiwgImFucyI6ICJOIiwgIndoeSI6ICJOb3QgYSBzZWN1cml0eSBjaGFuZ2UuIn0sIHsibm9kZSI6ICJRMiIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTm90IGEgcmVzdG9yYXRpb24uIn0sIHsibm9kZSI6ICJRM2EiLCAiYW5zIjogIk4iLCAid2h5IjogIlRoZSBoYXphcmQgaXMgdW5jaGFuZ2VkIGFuZCB0aGUgbmV3IHZlbmRvciBpcyBjb3ZlcmVkIGJ5IHRoZSBzdWJncm91cCBhbmFseXNpcywgc28gbm8gdW5taXRpZ2F0ZWQgbmV3IGNhdXNlLiJ9LCB7Im5vZGUiOiAiUTNiIiwgImFucyI6ICJOIiwgIndoeSI6ICJObyByaXNrIGNvbnRyb2wgY2hhbmdlcy4ifSwgeyJub2RlIjogIlE0IiwgImFucyI6ICJZIiwgIndoeSI6ICJUaGUgbmV3IHZlbmRvciB3aWRlbnMgdGhlIGNvbmRpdGlvbnMgdGhlIHBlcmZvcm1hbmNlIGNsYWltcyBhcHBseSB0bywgYW5kIGEgMi1wb2ludCBzZW5zaXRpdml0eSBnYWluIGlzIGEgc2lnbmlmaWNhbnQgY2hhbmdlIGluIGEgY2xlYXJlZCBmaWd1cmUgKEZEQSBjb3VudHMgaW1wcm92ZW1lbnRzKS4gVGhlIEFJIFBDQ1AgZ3VpZGFuY2UgbGltaXRzIHJvdXRpbmUgcmV0cmFpbmluZyB0byB0aGUgXCJzYW1lIHR5cGUgYW5kIHJhbmdlIG9mIGlucHV0IHNpZ25hbFwiLiJ9XSwgIm91dGNvbWUiOiAibmV3In0sIHsic3RlcHMiOiBbeyJub2RlIjogIlExIiwgImFucyI6ICJOIiwgIndoeSI6ICJOb3QgYSBzZWN1cml0eSBjaGFuZ2UuIn0sIHsibm9kZSI6ICJRMiIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTm90IGEgcmVzdG9yYXRpb24uIn0sIHsibm9kZSI6ICJRM2EiLCAiYW5zIjogIk4iLCAid2h5IjogIlNhbWUgaGF6YXJkIGFuZCBjYXVzZXMuIn0sIHsibm9kZSI6ICJRM2IiLCAiYW5zIjogIk4iLCAid2h5IjogIk5vIHJpc2sgY29udHJvbCBjaGFuZ2VzLiJ9LCB7Im5vZGUiOiAiUTQiLCAiYW5zIjogIk4iLCAid2h5IjogIlRoZSBpbmRpY2F0aW9ucyBkbyBub3QgbmFtZSB2ZW5kb3JzIGFuZCB0aGUgRnVqaWZpbG0gc3ViZ3JvdXAgbWVldHMgdGhlIGFjY2VwdGFuY2UgY3JpdGVyaWEsIHNvIG5vdGhpbmcgZGlyZWN0bHkgYXNzb2NpYXRlZCB3aXRoIHRoZSBpbnRlbmRlZCB1c2UgbW92ZWQuIn0sIHsibm9kZSI6ICJWSSIsICJhbnMiOiAiRCIsICJ3aHkiOiAiUmV0cmFpbiByZS12ZXJpZmllZCB3aXRoIHRoZSBvcmlnaW5hbCB0ZXN0IHNjaGVtZSBwbHVzIGEgcGVyLXZlbmRvciBzdWJncm91cC4gRG9jdW1lbnQuIn1dLCAib3V0Y29tZSI6ICJkb2MifV0sICJldmlkZW5jZSI6IFt7ImxhYmVsIjogIkFJIFBDQ1AgZ3VpZGFuY2U6IHJldHJhaW5pbmcgd2l0aGluIHRoZSBzYW1lIHR5cGUgYW5kIHJhbmdlIG9mIGlucHV0IHNpZ25hbCIsICJsaW5rIjogImh0dHBzOi8vZmRhLmlubm9saXRpY3MuY29tL2d1aWRhbmNlL21hcmtldGluZy1zdWJtaXNzaW9uLXJlY29tbWVuZGF0aW9ucy1wcmVkZXRlcm1pbmVkLWNoYW5nZS1jb250cm9sLXBsYW4tYXJ0aWZpY2lhbC1pbnRlbGxpZ2VuY2U/dj1nZmIyM2I5Njk5OWUtODBmMGY0MjNlZmUwYzgxMCZobD0yNjpNb2RpZmljYXRpb25zJTIwcmVsYXRlZCUyMHRvJTIwcXVhbnRpdGF0aXZlJTIwbWVhc3VyZXMlMjBvZiUyMEFJLURTRiUyMHBlcmZvcm1hbmNlJTIwc3BlY2lmaWNhdGlvbnMlMjBpbmNsdWRlJTIwaW1wcm92ZW1lbnRzJTIwdG8lMjBhbmFseXRpY2FsJTIwYW5kJTIwY2xpbmljYWwlMjBwZXJmb3JtYW5jZSUyMHJlc3VsdGluZyUyMGZyb20lMjByZS10cmFpbmluZyUyMHRoZSUyMEFJJTIwbW9kZWwlMjBiYXNlZCUyMG9uJTIwbmV3JTIwZGF0YSUyMHdpdGhpbiUyMHRoZSUyMGludGVuZGVkJTIwdXNlJTIwcG9wdWxhdGlvbiUyMGZyb20lMjB0aGUlMjBzYW1lJTIwdHlwZSUyMGFuZCUyMHJhbmdlJTIwb2YlMjBpbnB1dCUyMHNpZ25hbC4mZm9jdXM9MSJ9LCB7ImxhYmVsIjogIkd1aWRhbmNlOiB0aGUgc2lnbmlmaWNhbnQgZWZmZWN0IG1heSBiZSBwb3NpdGl2ZSBvciBuZWdhdGl2ZSIsICJsaW5rIjogImh0dHBzOi8vZmRhLmlubm9saXRpY3MuY29tL2d1aWRhbmNlL2RlY2lkaW5nLXdoZW4tc3VibWl0LTUxMGstc29mdHdhcmUtY2hhbmdlLWV4aXN0aW5nLWRldmljZT92PWdmY2QzYWE0Mzg0NC1hOWEyNmM3NzVkMjczOTA4JmhsPTEzJTNBTWFudWZhY3R1cmVycyUyMGFyZSUyMHJlcXVpcmVkJTIwdG8lMjBzdWJtaXQlMjBhJTIwbmV3JTIwNTEwJTI4ayUyOSUyMHdoZW4lMjBhJTIwY2hhbmdlJTIwJTI4b3IlMjBjaGFuZ2VzJTI5JTIwZXhjZWVkcyUyMHRoZSUyMDIxJTIwQ0ZSJTIwODA3LjgxJTI4YSUyOSUyODMlMjklMjB0aHJlc2hvbGQlMkMlMjAlRTIlODAlOUNjb3VsZCUyMHNpZ25pZmljYW50bHklMjBhZmZlY3QlMjB0aGUlMjBzYWZldHklMjBvciUyMGVmZmVjdGl2ZW5lc3MlMjBvZiUyMHRoZSUyMGRldmljZSUyQyVFMiU4MCU5RCUyMG9yJTIwY29uc3RpdHV0ZXMlMjBhJTIwJUUyJTgwJTlDbWFqb3IlMjBjaGFuZ2UlMjBvciUyMG1vZGlmaWNhdGlvbiUyMGluJTIwdGhlJTIwaW50ZW5kZWQlMjB1c2UlMjBvZiUyMHRoZSUyMGRldmljZS4lRTIlODAlOUQmZm9jdXM9MSJ9XSwgImdyb3VwIjogImFpIn0sIHsiaWQiOiAibmV3aW5wdXQiLCAidGl0bGUiOiAiU3VwcG9ydCBhIG5ldyBzY2FubmVyIG9yIGlucHV0IHR5cGUgb3V0c2lkZSB0aGUgbGFiZWxlZCBpbnB1dCBzcGVjcyIsICJmYWN0cyI6ICJBZGRzIDEuNVQgTVJJIHN1cHBvcnQgdG8gYSBkZXZpY2Ugd2hvc2UgbGFiZWxpbmcgYW5kIHZhbGlkYXRpb24gY292ZXIgM1Qgb25seS4iLCAicGF0aHMiOiBbeyJzdGVwcyI6IFt7Im5vZGUiOiAiUTEiLCAiYW5zIjogIk4iLCAid2h5IjogIk5vdCBhIHNlY3VyaXR5IGNoYW5nZS4ifSwgeyJub2RlIjogIlEyIiwgImFucyI6ICJOIiwgIndoeSI6ICJOb3QgYSByZXN0b3JhdGlvbi4ifSwgeyJub2RlIjogIlEzYSIsICJhbnMiOiAiWSIsICJ3aHkiOiAiTG93ZXIgZmllbGQgc3RyZW5ndGggaXMgYSBuZXcgY2F1c2Ugb2YgZXJyb3IgdGhlIGNsZWFyZWQgdmFsaWRhdGlvbiBuZXZlciBjb3ZlcmVkLiJ9XSwgIm91dGNvbWUiOiAibmV3In0sIHsic3RlcHMiOiBbeyJub2RlIjogIlExIiwgImFucyI6ICJOIiwgIndoeSI6ICJOb3QgYSBzZWN1cml0eSBjaGFuZ2UuIn0sIHsibm9kZSI6ICJRMiIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTm90IGEgcmVzdG9yYXRpb24uIn0sIHsibm9kZSI6ICJRM2EiLCAiYW5zIjogIk4iLCAid2h5IjogIlNhbWUgaGF6YXJkOyB0aGUgcXVlc3Rpb24gaXMgcGVyZm9ybWFuY2UsIGhhbmRsZWQgYXQgUTQuIn0sIHsibm9kZSI6ICJRM2IiLCAiYW5zIjogIk4iLCAid2h5IjogIk5vIHJpc2sgY29udHJvbCBjaGFuZ2VzLiJ9LCB7Im5vZGUiOiAiUTQiLCAiYW5zIjogIlkiLCAid2h5IjogIlRoZSBjbGVhcmVkIHBlcmZvcm1hbmNlIGNsYWltcyB3ZXJlIHZhbGlkYXRlZCBhdCAzVCBvbmx5LCBzbyB0aGUgZGV2aWNlIHdvdWxkIGJlIG1ha2luZyBjbGFpbXMgb24gaW5wdXRzIGl0cyBwZXJmb3JtYW5jZSBzcGVjaWZpY2F0aW9ucyBkbyBub3QgY292ZXIuIn1dLCAib3V0Y29tZSI6ICJuZXcifSwgeyJzdGVwcyI6IFt7Im5vZGUiOiAiUTEiLCAiYW5zIjogIk4iLCAid2h5IjogIk5vdCBhIHNlY3VyaXR5IGNoYW5nZS4ifSwgeyJub2RlIjogIlEyIiwgImFucyI6ICJOIiwgIndoeSI6ICJOb3QgYSByZXN0b3JhdGlvbi4ifSwgeyJub2RlIjogIlEzYSIsICJhbnMiOiAiTiIsICJ3aHkiOiAiU2FtZSBoYXphcmQ7IGhhbmRsZWQgYXQgUTQuIn0sIHsibm9kZSI6ICJRM2IiLCAiYW5zIjogIk4iLCAid2h5IjogIk5vIHJpc2sgY29udHJvbCBjaGFuZ2VzLiJ9LCB7Im5vZGUiOiAiUTQiLCAiYW5zIjogIlkiLCAid2h5IjogIlRoZSBzdGF0ZWQgaW5wdXQgc3BlY2lmaWNhdGlvbiBpcyAzVCwgc28gMS41VCBzaXRzIG91dHNpZGUgaXQuIEV2ZW4gdGhlIGxlYW4gcmVhZGluZyBmaWxlcy4ifV0sICJvdXRjb21lIjogIm5ldyJ9XSwgImV2aWRlbmNlIjogW3sibGFiZWwiOiAiQUkgUENDUCBndWlkYW5jZTogbmV3IGlucHV0IGRldmljZXMgdHJlYXRlZCBhcyBzdWJtaXNzaW9ucyBvdXRzaWRlIGEgUENDUCIsICJsaW5rIjogImh0dHBzOi8vZmRhLmlubm9saXRpY3MuY29tL2d1aWRhbmNlL21hcmtldGluZy1zdWJtaXNzaW9uLXJlY29tbWVuZGF0aW9ucy1wcmVkZXRlcm1pbmVkLWNoYW5nZS1jb250cm9sLXBsYW4tYXJ0aWZpY2lhbC1pbnRlbGxpZ2VuY2U/dj1nZmIyM2I5Njk5OWUtODBmMGY0MjNlZmUwYzgxMCZobD00NDpUaGUlMjBtYW51ZmFjdHVyZXIlMjB3b3VsZCUyMGxpa2UlMjB0byUyMGV4dGVuZCUyMHRoZSUyMEFJLURTRiUyMGZvciUyMHVzZSUyMG9uJTIwYWRkaXRpb25hbCUyMGdlbmVyYWwtcHVycG9zZSUyMGNvbXB1dGluZyUyMHBsYXRmb3JtcyUyQyUyMGluY2x1ZGluZyUyMHNtYXJ0cGhvbmVzJTIwYW5kJTIwdGFibGV0cy4mZm9jdXM9MSJ9XSwgImdyb3VwIjogImFpIn0sIHsiaWQiOiAidGhyZXNob2xkIiwgInRpdGxlIjogIkNoYW5nZSB0aGUgdGhyZXNob2xkIG9yIG9wZXJhdGluZyBwb2ludCIsICJmYWN0cyI6ICJUaHJlc2hvbGQgcmFpc2VkIHRvIGN1dCBmYWxzZSBwb3NpdGl2ZXMuIFNlbnNpdGl2aXR5IDkzJSB0byA5MSUsIHNwZWNpZmljaXR5IDgyJSB0byA4OCUuIFRoZSBjbGVhcmVkIHN1bW1hcnkgcmVwb3J0ZWQgOTMlIC8gODIlIHdpdGggbG93ZXIgOTUlIGJvdW5kcyBvZiA5MCUgLyA3OSUuIiwgInBhdGhzIjogW3sic3RlcHMiOiBbeyJub2RlIjogIlExIiwgImFucyI6ICJOIiwgIndoeSI6ICJOb3QgYSBzZWN1cml0eSBjaGFuZ2UuIn0sIHsibm9kZSI6ICJRMiIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTm90IGEgcmVzdG9yYXRpb24uIn0sIHsibm9kZSI6ICJRM2EiLCAiYW5zIjogIk4iLCAid2h5IjogIk5vIG5ldyBoYXphcmQgb3IgY2F1c2U6IHRoZSBtb2RlbCBhbmQgaW5wdXRzIGFyZSB1bmNoYW5nZWQuIn0sIHsibm9kZSI6ICJRM2IiLCAiYW5zIjogIlkiLCAid2h5IjogIlRoZSB0aHJlc2hvbGQgaXMgdGhlIGNvbnRyb2wgYWdhaW5zdCBtaXNzZWQgZmluZGluZ3MsIHNvIHJhaXNpbmcgaXQgbW9kaWZpZXMgYSByaXNrIGNvbnRyb2wgZm9yIGEgc2lnbmlmaWNhbnQgaGFybSAobWlzc2VkIGRpYWdub3NpcykuIENvbXBhcmUgZXhhbXBsZSA0LjEsIGEgd2lkZW5lZCBzYWZldHkgdG9sZXJhbmNlLiJ9XSwgIm91dGNvbWUiOiAibmV3In0sIHsic3RlcHMiOiBbeyJub2RlIjogIlExIiwgImFucyI6ICJOIiwgIndoeSI6ICJOb3QgYSBzZWN1cml0eSBjaGFuZ2UuIn0sIHsibm9kZSI6ICJRMiIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTm90IGEgcmVzdG9yYXRpb24uIn0sIHsibm9kZSI6ICJRM2EiLCAiYW5zIjogIk4iLCAid2h5IjogIk5vIG5ldyBoYXphcmQgb3IgY2F1c2U6IHRoZSBtb2RlbCBhbmQgaW5wdXRzIGFyZSB1bmNoYW5nZWQuIn0sIHsibm9kZSI6ICJRM2IiLCAiYW5zIjogIk4iLCAid2h5IjogIlRoZSByaXNrIGZpbGUgZG9lcyBub3QgbmFtZSB0aGUgdGhyZXNob2xkIGFzIGEgcmlzayBjb250cm9sLCBzbyB0aGlzIGlzIGEgcGVyZm9ybWFuY2UgcXVlc3Rpb24uIn0sIHsibm9kZSI6ICJRNCIsICJhbnMiOiAiWSIsICJ3aHkiOiAiQSAyLXBvaW50IHNlbnNpdGl2aXR5IGRyb3AgYW5kIGEgNi1wb2ludCBzcGVjaWZpY2l0eSBnYWluIGNoYW5nZSBob3cgdXNlcnMgYWN0IG9uIHJlc3VsdHMuIEd1aWRhbmNlIGV4YW1wbGUgNS42IChhcnJoeXRobWlhIHNlbnNpdGl2aXR5IGFuZCBzcGVjaWZpY2l0eSBjaGFuZ2VkKSBjcm9zc2VkLiJ9XSwgIm91dGNvbWUiOiAibmV3In0sIHsic3RlcHMiOiBbeyJub2RlIjogIlExIiwgImFucyI6ICJOIiwgIndoeSI6ICJOb3QgYSBzZWN1cml0eSBjaGFuZ2UuIn0sIHsibm9kZSI6ICJRMiIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTm90IGEgcmVzdG9yYXRpb24uIn0sIHsibm9kZSI6ICJRM2EiLCAiYW5zIjogIk4iLCAid2h5IjogIk5vIG5ldyBoYXphcmQgb3IgY2F1c2U6IHRoZSBtb2RlbCBhbmQgaW5wdXRzIGFyZSB1bmNoYW5nZWQuIn0sIHsibm9kZSI6ICJRM2IiLCAiYW5zIjogIk4iLCAid2h5IjogIkEgdGhyZXNob2xkIGlzIGEgcGVyZm9ybWFuY2UgcGFyYW1ldGVyLiJ9LCB7Im5vZGUiOiAiUTQiLCAiYW5zIjogIk4iLCAid2h5IjogIkJvdGggZmlndXJlcyBzdGF5IGFib3ZlIHRoZSBjbGVhcmVkIGxvd2VyIDk1JSBib3VuZHMsIHNvIHRoZSBjbGVhcmVkIGNsYWltcyBzdGlsbCBob2xkLiBGREEncyB3ZWJpbmFyIHB1dCBjaGFuZ2VkIHBhcmFtZXRlcnMgdGhhdCBkbyBub3Qgc2lnbmlmaWNhbnRseSBhZmZlY3QgdGhlIHBlcmZvcm1hbmNlIHNwZWNpZmljYXRpb24gb24gdGhlIGRvY3VtZW50IHNpZGUuIn0sIHsibm9kZSI6ICJWSSIsICJhbnMiOiAiRCIsICJ3aHkiOiAiUGFyYW1ldGVyIGNoYW5nZSBpbnNpZGUgdGhlIHNwZWNpZmljYXRpb24uIERvY3VtZW50LiJ9XSwgIm91dGNvbWUiOiAiZG9jIn1dLCAiZXZpZGVuY2UiOiBbeyJsYWJlbCI6ICJHdWlkYW5jZSA1LjY6IGFycmh5dGhtaWEgYWxnb3JpdGhtIHNlbnNpdGl2aXR5IGNoYW5nZWQiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9kZWNpZGluZy13aGVuLXN1Ym1pdC01MTBrLXNvZnR3YXJlLWNoYW5nZS1leGlzdGluZy1kZXZpY2U/dj1nZmNkM2FhNDM4NDQtYTlhMjZjNzc1ZDI3MzkwOCZobD0zMSUzQVRoZSUyMG1vZGlmaWNhdGlvbiUyMGhhcyUyMGRpcmVjdCUyMGltcGFjdCUyMG9uJTIwZGlhZ25vc3RpYyUyMHBlcmZvcm1hbmNlJTIwb2YlMjB0aGUlMjBkZXZpY2UlMjBpbiUyMHRoYXQlMjB0aGUlMjBwZXJmb3JtYW5jZSUyMG9mJTIwdGhlJTIwYXJyaHl0aG1pYSUyMGRldGVjdGlvbiUyMHdhcyUyMGNoYW5nZWQmZm9jdXM9MSJ9LCB7ImxhYmVsIjogIkd1aWRhbmNlIDQuMTogd2lkZW5lZCBzYWZldHkgdG9sZXJhbmNlIiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1zb2Z0d2FyZS1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZjZDNhYTQzODQ0LWE5YTI2Yzc3NWQyNzM5MDgmaGw9MjclM0FUaGUlMjBtb2RpZmllZCUyMHRocmVzaG9sZCUyMHZhbHVlcyUyMGRvJTIwbm90JTIwbWVldCUyMHRoZSUyMHNwZWNpZmljYXRpb24lMjBmb3IlMjBvdmVyYWxsJTIwdGlwJTIwbW92ZW1lbnQlMkMlMjB3aGljaCUyMHdhcyUyMHJlcXVpcmVkJTIwaW4lMjB0aGUlMjBtb3N0JTIwcmVjZW50bHklMjBjbGVhcmVkJTIwZGV2aWNlJTIwdG8lMjBlZmZlY3RpdmVseSUyMG1pdGlnYXRlJTIwdGhlJTIwaGF6YXJkb3VzJTIwc2l0dWF0aW9uJTIwdGhhdCUyMGNvdWxkJTIwcmVzdWx0JTIwaW4lMjBzaWduaWZpY2FudCUyMGhhcm0mZm9jdXM9MSJ9LCB7ImxhYmVsIjogIkZEQSB3ZWJpbmFyOiBtaW5vciBwYXJhbWV0ZXIgY2hhbmdlcyIsICJsaW5rIjogImh0dHBzOi8vaGlnaGxpZ2h0ZXIueXNocmVzdGhhLndvcmtlcnMuZGV2L3YvVU8wSjZiaHc2RWVZI2g9MTUifV0sICJncm91cCI6ICJhaSJ9LCB7ImlkIjogIm9wcG9pbnRzIiwgInRpdGxlIjogIkFkZCB1c2VyLXNlbGVjdGFibGUgb3BlcmF0aW5nIHBvaW50cyIsICJmYWN0cyI6ICJVc2VycyBjYW4gbm93IGNob29zZSBhIGhpZ2gtc2Vuc2l0aXZpdHkgb3IgaGlnaC1zcGVjaWZpY2l0eSBtb2RlIGluIGFkZGl0aW9uIHRvIHRoZSBjbGVhcmVkIGRlZmF1bHQuIiwgInBhdGhzIjogW3sic3RlcHMiOiBbeyJub2RlIjogIlExIiwgImFucyI6ICJOIiwgIndoeSI6ICJOb3QgYSBzZWN1cml0eSBjaGFuZ2UuIn0sIHsibm9kZSI6ICJRMiIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTm90IGEgcmVzdG9yYXRpb24uIn0sIHsibm9kZSI6ICJRM2EiLCAiYW5zIjogIk4iLCAid2h5IjogIk5vIG5ldyBoYXphcmQ7IHNhbWUgbW9kZWwuIn0sIHsibm9kZSI6ICJRM2IiLCAiYW5zIjogIlkiLCAid2h5IjogIkVhY2ggbW9kZSBjaGFuZ2VzIHRoZSBjb250cm9sIGFnYWluc3QgZmFsc2UgbmVnYXRpdmVzLiJ9XSwgIm91dGNvbWUiOiAibmV3In0sIHsic3RlcHMiOiBbeyJub2RlIjogIlExIiwgImFucyI6ICJOIiwgIndoeSI6ICJOb3QgYSBzZWN1cml0eSBjaGFuZ2UuIn0sIHsibm9kZSI6ICJRMiIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTm90IGEgcmVzdG9yYXRpb24uIn0sIHsibm9kZSI6ICJRM2EiLCAiYW5zIjogIk4iLCAid2h5IjogIk5vIG5ldyBoYXphcmQ7IHNhbWUgbW9kZWwuIn0sIHsibm9kZSI6ICJRM2IiLCAiYW5zIjogIk4iLCAid2h5IjogIk5vdCBhIG5hbWVkIHJpc2sgY29udHJvbDsgaGFuZGxlZCBhdCBRNC4ifSwgeyJub2RlIjogIlE0IiwgImFucyI6ICJZIiwgIndoeSI6ICJOZXcgY2xpbmljYWwgZnVuY3Rpb25hbGl0eTogdXNlcnMgcGljayBhIHBlcmZvcm1hbmNlIHRyYWRlb2ZmIHRoYXQgd2FzIG5ldmVyIGNsZWFyZWQuIn1dLCAib3V0Y29tZSI6ICJuZXcifSwgeyJzdGVwcyI6IFt7Im5vZGUiOiAiUTEiLCAiYW5zIjogIk4iLCAid2h5IjogIk5vdCBhIHNlY3VyaXR5IGNoYW5nZS4ifSwgeyJub2RlIjogIlEyIiwgImFucyI6ICJOIiwgIndoeSI6ICJOb3QgYSByZXN0b3JhdGlvbi4ifSwgeyJub2RlIjogIlEzYSIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTm8gbmV3IGhhemFyZDsgc2FtZSBtb2RlbC4ifSwgeyJub2RlIjogIlEzYiIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTm90IGEgcmlzayBjb250cm9sOyBoYW5kbGVkIGF0IFE0LiJ9LCB7Im5vZGUiOiAiUTQiLCAiYW5zIjogIlkiLCAid2h5IjogIk5ldyBjbGluaWNhbCBmdW5jdGlvbmFsaXR5IHdpdGggdW5jbGVhcmVkIHBlcmZvcm1hbmNlIHBvaW50cy4gRXZlbiB0aGUgbGVhbiByZWFkaW5nIGZpbGVzLiJ9XSwgIm91dGNvbWUiOiAibmV3In1dLCAiZXZpZGVuY2UiOiBbeyJsYWJlbCI6ICJBaWRvYyBhZGRlZCBvcGVyYXRpbmcgcG9pbnRzIGFuZCBmaWxlZCAoSzIyMjI3NykiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9kZXZpY2UvSzIyMjI3Nz9kb2M9c3VtbWFyeSZobD01OmRpZmZlciUyMHdpdGglMjByZXNwZWN0JTIwdG8lMjB0aGVpciUyMGFsZ29yaXRobSUyMHBlcmZvcm1hbmNlJTIwZHVlJTIwdG8lMjB0cmFpbmluZyUyMHRoZSUyMHN1YmplY3QlMjBkZXZpY2UlMjBvbiUyMGElMjBsYXJnZXIlMjBkYXRhJTIwc2V0JTJDJTIwdGhlJTIwYWRkaXRpb24lMjBvZiUyMDIlMjBvcGVyYXRpbmclMjBwb2ludHMlMkMlMjBhbmQlMjBhYmlsaXR5JTIwdG8lMjBwcm9jZXNzJTIwc2luZ2xlJTIwYW5kJTIwZHVhbCUyMGVuZXJneSUyMGV4YW1zLiZmb2N1cz0xIn1dLCAiZ3JvdXAiOiAiYWkifSwgeyJpZCI6ICJhcmNoIiwgInRpdGxlIjogIk5ldyBhcmNoaXRlY3R1cmUsIHNhbWUgdGFzayBhbmQgY2xhaW1zIChDTk4gdG8gdHJhbnNmb3JtZXIpIiwgImZhY3RzIjogIk1vZGVsIHJlYnVpbHQgYXMgYSB2aXNpb24gdHJhbnNmb3JtZXIgdHJhaW5lZCBvbiB0aGUgc2FtZSBkYXRhLiBMb2NrZWQtdGVzdCBtZXRyaWNzIGFuZCBzdWJncm91cHMgYXJlIGVxdWl2YWxlbnQgdG8gdGhlIGNsZWFyZWQgbW9kZWwuIiwgInBhdGhzIjogW3sic3RlcHMiOiBbeyJub2RlIjogIlExIiwgImFucyI6ICJOIiwgIndoeSI6ICJOb3QgYSBzZWN1cml0eSBjaGFuZ2UuIn0sIHsibm9kZSI6ICJRMiIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTm90IGEgcmVzdG9yYXRpb24uIn0sIHsibm9kZSI6ICJRM2EiLCAiYW5zIjogIlkiLCAid2h5IjogIkEgbmV3IGFyY2hpdGVjdHVyZSBoYXMgYSBuZXcgZmFpbHVyZSBwcm9maWxlOiBuZXcgY2F1c2VzIG9mIGVycm9yIHRoYXQgY2xpbmljaWFuIHJldmlldyBpcyBub3QgY291bnRlZCBvbiB0byBjYXRjaC4ifV0sICJvdXRjb21lIjogIm5ldyJ9LCB7InN0ZXBzIjogW3sibm9kZSI6ICJRMSIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTm90IGEgc2VjdXJpdHkgY2hhbmdlLiJ9LCB7Im5vZGUiOiAiUTIiLCAiYW5zIjogIk4iLCAid2h5IjogIk5vdCBhIHJlc3RvcmF0aW9uLiJ9LCB7Im5vZGUiOiAiUTNhIiwgImFucyI6ICJOIiwgIndoeSI6ICJTYW1lIGhhemFyZDsgYWdncmVnYXRlIHBlcmZvcm1hbmNlIGlzIGNvdmVyZWQgYXQgUTQgYW5kIHRoZSByZXdyaXRlIGF0IFNlY3Rpb24gVkkuIn0sIHsibm9kZSI6ICJRM2IiLCAiYW5zIjogIk4iLCAid2h5IjogIk5vIHJpc2sgY29udHJvbCBjaGFuZ2VzLiJ9LCB7Im5vZGUiOiAiUTQiLCAiYW5zIjogIk4iLCAid2h5IjogIkNsZWFyZWQgZmlndXJlcyBhcmUgZXF1aXZhbGVudCBvbiB0aGUgbG9ja2VkIHRlc3QuIn0sIHsibm9kZSI6ICJWSSIsICJhbnMiOiAiRiIsICJ3aHkiOiAiRkRBIHNheXMgYSBjb21wbGV0ZSByZXdyaXRlIG9mIHRoZSBhbGdvcml0aG0sIFwiZXZlbiB3aXRoIHRoZSBzYW1lIHBlcmZvcm1hbmNlIGNsYWltcyBhbmQgcmlzayBwcm9maWxlXCIsIG1heSBiZSBzaWduaWZpY2FudCBlbm91Z2ggYmVjYXVzZSBpdCBtYXkgaW1wYWN0IHBlcmZvcm1hbmNlIGluZGlyZWN0bHkuIEVxdWl2YWxlbnQgYWdncmVnYXRlIG1ldHJpY3MgZG8gbm90IHNob3cgY2FzZS1ieS1jYXNlIGVxdWl2YWxlbmNlLiBGaWxlLiJ9XSwgIm91dGNvbWUiOiAibmV3In0sIHsic3RlcHMiOiBbeyJub2RlIjogIlExIiwgImFucyI6ICJOIiwgIndoeSI6ICJOb3QgYSBzZWN1cml0eSBjaGFuZ2UuIn0sIHsibm9kZSI6ICJRMiIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTm90IGEgcmVzdG9yYXRpb24uIn0sIHsibm9kZSI6ICJRM2EiLCAiYW5zIjogIk4iLCAid2h5IjogIlNhbWUgaGF6YXJkIGFuZCBjYXVzZXMuIn0sIHsibm9kZSI6ICJRM2IiLCAiYW5zIjogIk4iLCAid2h5IjogIk5vIHJpc2sgY29udHJvbCBjaGFuZ2VzLiJ9LCB7Im5vZGUiOiAiUTQiLCAiYW5zIjogIk4iLCAid2h5IjogIkNsZWFyZWQgZmlndXJlcyBhcmUgZXF1aXZhbGVudCBvbiB0aGUgbG9ja2VkIHRlc3QuIn0sIHsibm9kZSI6ICJWSSIsICJhbnMiOiAiRCIsICJ3aHkiOiAiXCJNYXkgYmUgc2lnbmlmaWNhbnRcIiBpcyByZWFkIGFzOiB0aGUgZXZpZGVuY2UgZGVjaWRlcywgYW5kIHRoZSBldmlkZW5jZSBzaG93cyBlcXVpdmFsZW5jZS4gRG9jdW1lbnQuIn1dLCAib3V0Y29tZSI6ICJkb2MifV0sICJldmlkZW5jZSI6IFt7ImxhYmVsIjogIkd1aWRhbmNlIFZJOiBjb21wbGV0ZSByZXdyaXRlIGV2ZW4gd2l0aCB0aGUgc2FtZSBjbGFpbXMiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9kZWNpZGluZy13aGVuLXN1Ym1pdC01MTBrLXNvZnR3YXJlLWNoYW5nZS1leGlzdGluZy1kZXZpY2U/dj1nZmNkM2FhNDM4NDQtYTlhMjZjNzc1ZDI3MzkwOCZobD0yMCUzQWElMjBjb21wbGV0ZSUyMHJld3JpdGUlMjBvZiUyMHRoZSUyMGFsZ29yaXRobSUyQyUyMGV2ZW4lMjB3aXRoJTIwdGhlJTIwc2FtZSUyMHBlcmZvcm1hbmNlJTIwY2xhaW1zJTIwYW5kJTIwcmlzayUyMHByb2ZpbGUlMkMlMjBtYXklMjBiZSUyMHNpZ25pZmljYW50JTIwZW5vdWdoJTIwdG8lMjByZXF1aXJlJTIwc3VibWlzc2lvbiUyMG9mJTIwYSUyMG5ldyUyMDUxMCUyOGslMjklMjBiZWNhdXNlJTIwdGhlJTIwcmV3cml0ZSUyMG1heSUyMGltcGFjdCUyMHBlcmZvcm1hbmNlJTIwaW5kaXJlY3RseSZmb2N1cz0xIn0sIHsibGFiZWwiOiAiRkRBIENBRGUgZ3VpZGFuY2U6IGNsYXNzaWZpZXIgYW5kIGZlYXR1cmUgY2hhbmdlcyBtYXkgYmUgc2lnbmlmaWNhbnQiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9jb21wdXRlci1hc3Npc3RlZC1kZXRlY3Rpb24tZGV2aWNlcy1hcHBsaWVkLXJhZGlvbG9neS1pbWFnZXMtYW5kLXJhZGlvbG9neS1kZXZpY2UtZGF0YS1wcmVtYXJrZXQ/dj1nZmZmMzVjODRkMmItYWFkODY1YjE3ZTE3YzNjMCZobD0xNzpXZSUyMG1heSUyMGNvbnNpZGVyJTIwYSUyMGNoYW5nZSUyMG9yJTIwbW9kaWZpY2F0aW9uJTIwaW4lMjBhJTIwQ0FEZSUyMGFsZ29yaXRobSUyMHRvJTIwc2lnbmlmaWNhbnRseSUyMGFmZmVjdCUyMHRoZSUyMHNhZmV0eSUyMG9yJTIwZWZmZWN0aXZlbmVzcyUyMG9mJTIwdGhlJTIwZGV2aWNlJTJDJTIwZm9yJTIwdGhlJTIwcHVycG9zZXMlMjBvZiUyMHRoaXMlMjBndWlkYW5jZSUyQyUyMGlmJTJDJTIwZm9yJTIwZXhhbXBsZSUyQyUyMGElMjBjaGFuZ2UlMjBoYXMlMjBiZWVuJTIwbWFkZSUyMHRvJTIwdGhlJTIwaW1hZ2UlMjBwcm9jZXNzaW5nJTIwY29tcG9uZW50cyUyQyUyMGZlYXR1cmVzJTJDJTIwY2xhc3NpZmljYXRpb24lMjBhbGdvcml0aG1zJTJDJTIwdHJhaW5pbmclMjBtZXRob2RzJmZvY3VzPTEifV0sICJncm91cCI6ICJhaSJ9LCB7ImlkIjogImZvdW5kYXRpb24iLCAidGl0bGUiOiAiU3dhcCB0byBhIG5ldyBvciB0aGlyZC1wYXJ0eSBmb3VuZGF0aW9uIG1vZGVsIiwgImZhY3RzIjogIlRoZSBpbi1ob3VzZSBtb2RlbCBpcyByZXBsYWNlZCBieSBhIGZpbmUtdHVuZWQgdGhpcmQtcGFydHkgZm91bmRhdGlvbiBtb2RlbCBmb3IgdGhlIHNhbWUgdGFzay4iLCAicGF0aHMiOiBbeyJzdGVwcyI6IFt7Im5vZGUiOiAiUTEiLCAiYW5zIjogIk4iLCAid2h5IjogIk5vdCBhIHNlY3VyaXR5IGNoYW5nZS4ifSwgeyJub2RlIjogIlEyIiwgImFucyI6ICJOIiwgIndoeSI6ICJOb3QgYSByZXN0b3JhdGlvbi4ifSwgeyJub2RlIjogIlEzYSIsICJhbnMiOiAiWSIsICJ3aHkiOiAiQSBuZXcgbW9kZWwgaXMgYSBuZXcgY2F1c2Ugb2YgZXJyb3IuIn1dLCAib3V0Y29tZSI6ICJuZXcifSwgeyJzdGVwcyI6IFt7Im5vZGUiOiAiUTEiLCAiYW5zIjogIk4iLCAid2h5IjogIk5vdCBhIHNlY3VyaXR5IGNoYW5nZS4ifSwgeyJub2RlIjogIlEyIiwgImFucyI6ICJOIiwgIndoeSI6ICJOb3QgYSByZXN0b3JhdGlvbi4ifSwgeyJub2RlIjogIlEzYSIsICJhbnMiOiAiWSIsICJ3aHkiOiAiQSBkaWZmZXJlbnQgbW9kZWwgdHJhaW5lZCBvbiBkaWZmZXJlbnQgZGF0YSBpcyBhIG5ldyBjYXVzZSBvZiB0aGUgbWlzZGlhZ25vc2lzIGhhemFyZCwgdGhlIGNoYW5nZSBGREEncyBPLk4uIERpYWdub3N0aWNzIGxldHRlciB0cmVhdHMgYXMgb25lIHRoYXQgY291bGQgc2lnbmlmaWNhbnRseSBhZmZlY3Qgc2FmZXR5IG9yIGVmZmVjdGl2ZW5lc3MuIn1dLCAib3V0Y29tZSI6ICJuZXcifSwgeyJzdGVwcyI6IFt7Im5vZGUiOiAiUTEiLCAiYW5zIjogIk4iLCAid2h5IjogIk5vdCBhIHNlY3VyaXR5IGNoYW5nZS4ifSwgeyJub2RlIjogIlEyIiwgImFucyI6ICJOIiwgIndoeSI6ICJOb3QgYSByZXN0b3JhdGlvbi4ifSwgeyJub2RlIjogIlEzYSIsICJhbnMiOiAiTiIsICJ3aHkiOiAiU2FtZSBoYXphcmQgY2F0ZWdvcnkuIn0sIHsibm9kZSI6ICJRM2IiLCAiYW5zIjogIk4iLCAid2h5IjogIk5vIHJpc2sgY29udHJvbCBjaGFuZ2VzLiJ9LCB7Im5vZGUiOiAiUTQiLCAiYW5zIjogIlkiLCAid2h5IjogIkEgZGlmZmVyZW50IG1vZGVsIHBlcmZvcm1zIGRpZmZlcmVudGx5OyBlcXVpdmFsZW5jZSBvbiB0aGUgdGVzdCBzZXQgY2Fubm90IGJlIGFzc3VtZWQgZm9yIGEgbmV3IG1vZGVsLiBFdmVuIHRoZSBsZWFuIHJlYWRpbmcgZmlsZXMuIn1dLCAib3V0Y29tZSI6ICJuZXcifV0sICJldmlkZW5jZSI6IFt7ImxhYmVsIjogIk8uTi4gRGlhZ25vc3RpY3MgbGV0dGVyOiBuZXcgTUwgbW9kZWwiLCAibGluayI6ICJodHRwczovL2hpZ2hsaWdodGVyLnlzaHJlc3RoYS53b3JrZXJzLmRldi92L08yRk5WNEJ5UHVCaCNoPTcifV0sICJncm91cCI6ICJhaSJ9LCB7ImlkIjogIm5ld291dHB1dCIsICJ0aXRsZSI6ICJOZXcgb3V0cHV0LCBmaW5kaW5nIGNsYXNzIG9yIG1lYXN1cmVtZW50IiwgImZhY3RzIjogIkFkZHMgYSBuZXcgZmluZGluZyBjbGFzcyAoZm9yIGV4YW1wbGUsIGEgZnJhY3R1cmUtYWdlIGVzdGltYXRlKSB0byBhbiBleGlzdGluZyBkZXRlY3Rpb24gZGV2aWNlLiIsICJwYXRocyI6IFt7InN0ZXBzIjogW3sibm9kZSI6ICJRMSIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTm90IGEgc2VjdXJpdHkgY2hhbmdlLiJ9LCB7Im5vZGUiOiAiUTIiLCAiYW5zIjogIk4iLCAid2h5IjogIk5vdCBhIHJlc3RvcmF0aW9uLiJ9LCB7Im5vZGUiOiAiUTNhIiwgImFucyI6ICJZIiwgIndoeSI6ICJBIG5ldyBjYWxjdWxhdGlvbiBpcyBhIG5ldyBjYXVzZSBvZiBtaXNkaWFnbm9zaXMgdGhhdCBubyBleGlzdGluZyBjb250cm9sIGNvdmVycy4gR3VpZGFuY2UgZXhhbXBsZSAzLjEgKGFkZGluZyBhRUVHKSBjcm9zc2VkIGZvciBleGFjdGx5IHRoaXMgcmVhc29uLiJ9XSwgIm91dGNvbWUiOiAibmV3In0sIHsic3RlcHMiOiBbeyJub2RlIjogIlExIiwgImFucyI6ICJOIiwgIndoeSI6ICJOb3QgYSBzZWN1cml0eSBjaGFuZ2UuIn0sIHsibm9kZSI6ICJRMiIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTm90IGEgcmVzdG9yYXRpb24uIn0sIHsibm9kZSI6ICJRM2EiLCAiYW5zIjogIlkiLCAid2h5IjogIkEgbmV3IGNhbGN1bGF0aW9uIGlzIGEgbmV3IGNhdXNlIG9mIG1pc2RpYWdub3NpcyB0aGF0IG5vIGV4aXN0aW5nIGNvbnRyb2wgY292ZXJzLiBHdWlkYW5jZSBleGFtcGxlIDMuMSAoYWRkaW5nIGFFRUcpIGNyb3NzZWQgZm9yIGV4YWN0bHkgdGhpcyByZWFzb24uIn1dLCAib3V0Y29tZSI6ICJuZXcifSwgeyJzdGVwcyI6IFt7Im5vZGUiOiAiUTEiLCAiYW5zIjogIk4iLCAid2h5IjogIk5vdCBhIHNlY3VyaXR5IGNoYW5nZS4ifSwgeyJub2RlIjogIlEyIiwgImFucyI6ICJOIiwgIndoeSI6ICJOb3QgYSByZXN0b3JhdGlvbi4ifSwgeyJub2RlIjogIlEzYSIsICJhbnMiOiAiWSIsICJ3aHkiOiAiQSBuZXcgY2FsY3VsYXRpb24gaXMgYSBuZXcgY2F1c2Ugb2YgbWlzZGlhZ25vc2lzIHRoYXQgbm8gZXhpc3RpbmcgY29udHJvbCBjb3ZlcnMuIEd1aWRhbmNlIGV4YW1wbGUgMy4xIChhZGRpbmcgYUVFRykgY3Jvc3NlZCBmb3IgZXhhY3RseSB0aGlzIHJlYXNvbi4ifV0sICJvdXRjb21lIjogIm5ldyJ9XSwgImV2aWRlbmNlIjogW3sibGFiZWwiOiAiR3VpZGFuY2UgMy4xOiBuZXcgcXVhbnRpdGF0aXZlIHBhcmFtZXRlciBhZGRlZCIsICJsaW5rIjogImh0dHBzOi8vZmRhLmlubm9saXRpY3MuY29tL2d1aWRhbmNlL2RlY2lkaW5nLXdoZW4tc3VibWl0LTUxMGstc29mdHdhcmUtY2hhbmdlLWV4aXN0aW5nLWRldmljZT92PWdmY2QzYWE0Mzg0NC1hOWEyNmM3NzVkMjczOTA4JmhsPTI1JTNBYUVFRyUyMGludHJvZHVjZXMlMjBhJTIwbmV3JTIwY2F1c2UlMjByZWxhdGVkJTIwdG8lMjBhbiUyMGVycm9yJTIwaW4lMjB0aGUlMjBhRUVHJTIwY2FsY3VsYXRpb24mZm9jdXM9MSJ9XSwgImdyb3VwIjogImFpIn0sIHsiaWQiOiAicHJlcHJvYyIsICJ0aXRsZSI6ICJQcmUtIG9yIHBvc3QtcHJvY2Vzc2luZyBjaGFuZ2UiLCAiZmFjdHMiOiAiSW50ZW5zaXR5IG5vcm1hbGl6YXRpb24gYW5kIHJlc2FtcGxpbmcgYXJlIGNoYW5nZWQuIExvY2tlZC10ZXN0IG91dHB1dHMgbWF0Y2ggdGhlIGNsZWFyZWQgbW9kZWwgKERpY2UgZGlmZmVyZW5jZSB1bmRlciAwLjAwNSwgYWxsIGNsZWFyZWQgZmlndXJlcyB1bmNoYW5nZWQpLiIsICJwYXRocyI6IFt7InN0ZXBzIjogW3sibm9kZSI6ICJRMSIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTm90IGEgc2VjdXJpdHkgY2hhbmdlLiJ9LCB7Im5vZGUiOiAiUTIiLCAiYW5zIjogIk4iLCAid2h5IjogIk5vdCBhIHJlc3RvcmF0aW9uLiJ9LCB7Im5vZGUiOiAiUTNhIiwgImFucyI6ICJOIiwgIndoeSI6ICJObyBuZXcgaGF6YXJkIG9yIGNhdXNlIGJleW9uZCB0aGUgZXhpc3RpbmcgbW9kZWwncy4ifSwgeyJub2RlIjogIlEzYiIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTm8gcmlzayBjb250cm9sIGNoYW5nZXMuIn0sIHsibm9kZSI6ICJRNCIsICJhbnMiOiAiWSIsICJ3aHkiOiAiUHJlcHJvY2Vzc2luZyBmZWVkcyB0aGUgY29yZSBhbGdvcml0aG0sIHNvIGEgY2hhbmdlIHRoZXJlIGNvdWxkIGFmZmVjdCBwZXJmb3JtYW5jZSBvbiBpbnB1dHMgb3V0c2lkZSB0aGUgdGVzdCBzZXQuIn1dLCAib3V0Y29tZSI6ICJuZXcifSwgeyJzdGVwcyI6IFt7Im5vZGUiOiAiUTEiLCAiYW5zIjogIk4iLCAid2h5IjogIk5vdCBhIHNlY3VyaXR5IGNoYW5nZS4ifSwgeyJub2RlIjogIlEyIiwgImFucyI6ICJOIiwgIndoeSI6ICJOb3QgYSByZXN0b3JhdGlvbi4ifSwgeyJub2RlIjogIlEzYSIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTm8gbmV3IGhhemFyZCBvciBjYXVzZSBiZXlvbmQgdGhlIGV4aXN0aW5nIG1vZGVsJ3MuIn0sIHsibm9kZSI6ICJRM2IiLCAiYW5zIjogIk4iLCAid2h5IjogIk5vIHJpc2sgY29udHJvbCBjaGFuZ2VzLiJ9LCB7Im5vZGUiOiAiUTQiLCAiYW5zIjogIk4iLCAid2h5IjogIlRoZSBsb2NrZWQgdGVzdCBzaG93cyBlcXVpdmFsZW50IG91dHB1dHMsIHNvIHRoZSBjaGFuZ2UgY291bGQgbm90IHNpZ25pZmljYW50bHkgYWZmZWN0IHRoZSBjbGVhcmVkIGZpZ3VyZXMuIn0sIHsibm9kZSI6ICJWSSIsICJhbnMiOiAiRCIsICJ3aHkiOiAiQSBzbWFsbCBjaGFuZ2UgaW5zaWRlIHRoZSBwcm9jZXNzaW5nIHNwZWNpZmljYXRpb24gd2l0aCBlcXVpdmFsZW50IG91dHB1dHMuIERvY3VtZW50LiJ9XSwgIm91dGNvbWUiOiAiZG9jIn0sIHsic3RlcHMiOiBbeyJub2RlIjogIlExIiwgImFucyI6ICJOIiwgIndoeSI6ICJOb3QgYSBzZWN1cml0eSBjaGFuZ2UuIn0sIHsibm9kZSI6ICJRMiIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTm90IGEgcmVzdG9yYXRpb24uIn0sIHsibm9kZSI6ICJRM2EiLCAiYW5zIjogIk4iLCAid2h5IjogIk5vIG5ldyBoYXphcmQgb3IgY2F1c2UgYmV5b25kIHRoZSBleGlzdGluZyBtb2RlbCdzLiJ9LCB7Im5vZGUiOiAiUTNiIiwgImFucyI6ICJOIiwgIndoeSI6ICJObyByaXNrIGNvbnRyb2wgY2hhbmdlcy4ifSwgeyJub2RlIjogIlE0IiwgImFucyI6ICJOIiwgIndoeSI6ICJFcXVpdmFsZW50IG91dHB1dHMgb24gdGhlIGxvY2tlZCB0ZXN0LiJ9LCB7Im5vZGUiOiAiVkkiLCAiYW5zIjogIkQiLCAid2h5IjogIkRvY3VtZW50LiJ9XSwgIm91dGNvbWUiOiAiZG9jIn1dLCAiZXZpZGVuY2UiOiBbeyJsYWJlbCI6ICJEZXZpY2UgcG9saWN5OiBub2lzZSBmaWx0ZXIgYWRkZWQgd2l0aG91dCBhIDUxMChrKSIsICJsaW5rIjogImh0dHBzOi8vZmRhLmlubm9saXRpY3MuY29tL2d1aWRhbmNlL21hcmtldGluZy1jbGVhcmFuY2UtZGlhZ25vc3RpYy11bHRyYXNvdW5kLXN5c3RlbXMtYW5kLXRyYW5zZHVjZXJzP3Y9Z2Y1ZWZhMWY0YTMwLTMzZDZjMzM3NjMxMjViY2MmaGw9MTU6QWRkaW5nJTIwYSUyMEItbW9kZSUyMG5vaXNlJTIwcmVkdWN0aW9uJTIwZmlsdGVyJTIwZm9yJTIwZ2VuZXJhbCUyMGltYWdpbmclMjB1c2UlMjB0byUyMGElMjBzeXN0ZW0mZm9jdXM9MSJ9XSwgImdyb3VwIjogImFpIn0sIHsiaWQiOiAicnVudGltZSIsICJ0aXRsZSI6ICJSdW50aW1lIG9yIGxhbmd1YWdlIGNoYW5nZSB3aXRoIHVuY2hhbmdlZCB3ZWlnaHRzIiwgImZhY3RzIjogIkluZmVyZW5jZSBjb2RlIHJld3JpdHRlbiBmcm9tIFB5dGhvbiB0byBDKysgYW5kIHNlcnZlZCB3aXRoIE9OTlggUnVudGltZS4gV2VpZ2h0cyB1bmNoYW5nZWQ7IG91dHB1dHMgbWF0Y2ggdG8gMWUtNiBvbiB0aGUgbG9ja2VkIHRlc3QuIiwgInBhdGhzIjogW3sic3RlcHMiOiBbeyJub2RlIjogIlExIiwgImFucyI6ICJOIiwgIndoeSI6ICJOb3QgYSBzZWN1cml0eSBjaGFuZ2UuIn0sIHsibm9kZSI6ICJRMiIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTm90IGEgcmVzdG9yYXRpb24uIn0sIHsibm9kZSI6ICJRM2EiLCAiYW5zIjogIk4iLCAid2h5IjogIlNhbWUgbW9kZWwsIHNhbWUgaGF6YXJkcy4ifSwgeyJub2RlIjogIlEzYiIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTm8gcmlzayBjb250cm9sIGNoYW5nZXMuIn0sIHsibm9kZSI6ICJRNCIsICJhbnMiOiAiTiIsICJ3aHkiOiAiT3V0cHV0cyBhcmUgZXF1aXZhbGVudCBvbiB0aGUgbG9ja2VkIHRlc3QuIn0sIHsibm9kZSI6ICJWSSIsICJhbnMiOiAiRiIsICJ3aHkiOiAiQ2hhbmdpbmcgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2VzIGlzIGFuIFwiaW5mcmFzdHJ1Y3R1cmVcIiBjaGFuZ2UgRkRBIG5hbWVzLCBhbmQgZmlybXMgZmlsZWQgZXhhY3RseSB0aGlzIChTb25pbyBLMjYxNTE5LCBHRSBLMjEyMDY3IFwid2l0aG91dCByZXRyYWluaW5nXCIpLiBGaWxlLiJ9XSwgIm91dGNvbWUiOiAibmV3In0sIHsic3RlcHMiOiBbeyJub2RlIjogIlExIiwgImFucyI6ICJOIiwgIndoeSI6ICJOb3QgYSBzZWN1cml0eSBjaGFuZ2UuIn0sIHsibm9kZSI6ICJRMiIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTm90IGEgcmVzdG9yYXRpb24uIn0sIHsibm9kZSI6ICJRM2EiLCAiYW5zIjogIk4iLCAid2h5IjogIlNhbWUgbW9kZWwsIHNhbWUgaGF6YXJkcy4ifSwgeyJub2RlIjogIlEzYiIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTm8gcmlzayBjb250cm9sIGNoYW5nZXMuIn0sIHsibm9kZSI6ICJRNCIsICJhbnMiOiAiTiIsICJ3aHkiOiAiT3V0cHV0cyBhcmUgZXF1aXZhbGVudCBvbiB0aGUgbG9ja2VkIHRlc3QuIn0sIHsibm9kZSI6ICJWSSIsICJhbnMiOiAiRiIsICJ3aHkiOiAiVGhlIHBpcGVsaW5lIGNvZGUgd2FzIHJld3JpdHRlbiwgd2hpY2ggaXMgd2hhdCBcInNpZ25pZmljYW50IHNvZnR3YXJlIHJlLXdyaXRlXCIgcG9pbnRzIHRvLiBGaWxlIGEgU3BlY2lhbC4ifV0sICJvdXRjb21lIjogIm5ldyJ9LCB7InN0ZXBzIjogW3sibm9kZSI6ICJRMSIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTm90IGEgc2VjdXJpdHkgY2hhbmdlLiJ9LCB7Im5vZGUiOiAiUTIiLCAiYW5zIjogIk4iLCAid2h5IjogIk5vdCBhIHJlc3RvcmF0aW9uLiJ9LCB7Im5vZGUiOiAiUTNhIiwgImFucyI6ICJOIiwgIndoeSI6ICJTYW1lIG1vZGVsLCBzYW1lIGhhemFyZHMuIn0sIHsibm9kZSI6ICJRM2IiLCAiYW5zIjogIk4iLCAid2h5IjogIk5vIHJpc2sgY29udHJvbCBjaGFuZ2VzLiJ9LCB7Im5vZGUiOiAiUTQiLCAiYW5zIjogIk4iLCAid2h5IjogIk91dHB1dHMgYXJlIGVxdWl2YWxlbnQgb24gdGhlIGxvY2tlZCB0ZXN0LiJ9LCB7Im5vZGUiOiAiVkkiLCAiYW5zIjogIkQiLCAid2h5IjogIlNhbWUgd2VpZ2h0cyBhbmQgb3V0cHV0cyBlcXVpdmFsZW50IHRvIDFlLTYgbGVhdmUgbm8gcG9zc2libGUgcGVyZm9ybWFuY2UgZWZmZWN0LiBEb2N1bWVudCB3aXRoIHRoZSBlcXVpdmFsZW5jZSByZXBvcnQuIn1dLCAib3V0Y29tZSI6ICJkb2MifV0sICJldmlkZW5jZSI6IFt7ImxhYmVsIjogIlNvbmlvIFB5dGhvbiB0byBDKysgZmlsZWQgKEsyNjE1MTkpIiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZGV2aWNlL0syNjE1MTk/ZG9jPXN1bW1hcnkmaGw9NjpUaGUlMjBkZXZpY2UlMjBjaGFuZ2UlMjBjb25zaXN0cyUyMG9mJTIwdGhlJTIwbWlncmF0aW9uJTIwb2YlMjB0aGUlMjBTb25pbyUyMFN1c3BlY3QlMjBhbGdvcml0aG1zJTIwZnJvbSUyMFB5dGhvbiUyMCUyOGNsZWFyZWQlMjB2ZXJzaW9uJTI5JTIwdG8lMjBDJTJCJTJCJTIwcHJvZ3JhbW1pbmclMjBsYW5ndWFnZSUyMHRvJTIwZW5hYmxlJTIwaW50ZWdyYXRpb24lMjBpbnRvJTIwdGhpcmQtcGFydHklMjB1bHRyYXNvdW5kJTIwc3lzdGVtcy4mZm9jdXM9MSJ9LCB7ImxhYmVsIjogIkd1aWRhbmNlIFZJOiBsYW5ndWFnZSBjaGFuZ2Ugd2l0aCBhIHBhcmFkaWdtIHJld3JpdGUiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9kZWNpZGluZy13aGVuLXN1Ym1pdC01MTBrLXNvZnR3YXJlLWNoYW5nZS1leGlzdGluZy1kZXZpY2U/dj1nZmNkM2FhNDM4NDQtYTlhMjZjNzc1ZDI3MzkwOCZobD0xOSUzQW1vdmluZyUyMGZyb20lMjBhJTIwZnVuY3Rpb25hbCUyMG9yJTIwbG9naWNhbCUyMGNvZGluZyUyMHBhcmFkaWdtJTIwdG8lMjBhbiUyME9iamVjdCUyME9yaWVudGVkJTIwUHJvZ3JhbW1pbmclMjBwYXJhZGlnbSUyQyUyMGluJTIwY29uanVuY3Rpb24lMjB3aXRoJTIwdGhlJTIwY2hhbmdlJTIwZnJvbSUyMEMlMjB0byUyMEMlMkIlMkIlMkMlMjBjb3VsZCUyMGludm9sdmUlMjBzaWduaWZpY2FudCUyMHNvZnR3YXJlJTIwcmUtd3JpdGUlMkMlMjBhbmQlMjBzdWJtaXNzaW9uJTIwb2YlMjBhJTIwbmV3JTIwNTEwJTI4ayUyOSUyMGlzJTIwbGlrZWx5JTIwcmVxdWlyZWQmZm9jdXM9MSJ9XSwgImdyb3VwIjogImFpIn0sIHsiaWQiOiAiY2xvdWQiLCAidGl0bGUiOiAiTW92ZSBmcm9tIGRlc2t0b3AgdG8gYSBjbG91ZCB3ZWIgYXBwbGljYXRpb24iLCAiZmFjdHMiOiAiVGhlIGRlc2t0b3AgYXBwbGljYXRpb24gYmVjb21lcyBhIGhvc3RlZCB3ZWIgc2VydmljZSB3aXRoIHVzZXIgbG9naW4sIHVwbG9hZCBhbmQgYSBicm93c2VyIHZpZXdlci4gTW9kZWwgYW5kIG91dHB1dHMgdW5jaGFuZ2VkLiIsICJwYXRocyI6IFt7InN0ZXBzIjogW3sibm9kZSI6ICJRMSIsICJhbnMiOiAiTiIsICJ3aHkiOiAiQWRkcyBzZWN1cml0eSBjb250cm9scywgYnV0IHRoZSBjaGFuZ2UgaXMgbm90IHNvbGVseSBmb3IgY3liZXJzZWN1cml0eS4ifSwgeyJub2RlIjogIlEyIiwgImFucyI6ICJOIiwgIndoeSI6ICJOb3QgYSByZXN0b3JhdGlvbi4ifSwgeyJub2RlIjogIlEzYSIsICJhbnMiOiAiWSIsICJ3aHkiOiAiTmV0d29yayBleHBvc3VyZSwgYXV0aGVudGljYXRpb24gYW5kIGRhdGEtaW50ZWdyaXR5IGZhaWx1cmVzIGFyZSBuZXcgY2F1c2VzIG9mIGhhemFyZG91cyBzaXR1YXRpb25zICh3cm9uZyBvciBtaXNzaW5nIHJlc3VsdHMpLiBGREEncyBPLk4uIERpYWdub3N0aWNzIGxldHRlciBjaXRlZCBhIGRlc2t0b3AtdG8td2ViIG1vdmUgYXMgYW4gaW5kZXBlbmRlbnQgcmVhc29uIGEgbmV3IDUxMChrKSB3YXMgbmVlZGVkLiJ9XSwgIm91dGNvbWUiOiAibmV3In0sIHsic3RlcHMiOiBbeyJub2RlIjogIlExIiwgImFucyI6ICJOIiwgIndoeSI6ICJBZGRzIHNlY3VyaXR5IGNvbnRyb2xzLCBidXQgdGhlIGNoYW5nZSBpcyBub3Qgc29sZWx5IGZvciBjeWJlcnNlY3VyaXR5LiJ9LCB7Im5vZGUiOiAiUTIiLCAiYW5zIjogIk4iLCAid2h5IjogIk5vdCBhIHJlc3RvcmF0aW9uLiJ9LCB7Im5vZGUiOiAiUTNhIiwgImFucyI6ICJZIiwgIndoeSI6ICJMb2dpbiwgdXBsb2FkIGFuZCBob3N0aW5nIGFyZSBwYXJ0IG9mIHRoZSBkZXZpY2UsIHNvIHRoZSBtb3ZlIGFkZHMgbmV3IGNhdXNlcyB0aGUgY2xlYXJlZCBkZXNrdG9wIGRldmljZSBuZXZlciBtaXRpZ2F0ZWQuIn1dLCAib3V0Y29tZSI6ICJuZXcifSwgeyJzdGVwcyI6IFt7Im5vZGUiOiAiUTEiLCAiYW5zIjogIk4iLCAid2h5IjogIkFkZHMgc2VjdXJpdHkgY29udHJvbHMsIGJ1dCB0aGUgY2hhbmdlIGlzIG5vdCBzb2xlbHkgZm9yIGN5YmVyc2VjdXJpdHkuIn0sIHsibm9kZSI6ICJRMiIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTm90IGEgcmVzdG9yYXRpb24uIn0sIHsibm9kZSI6ICJRM2EiLCAiYW5zIjogIk4iLCAid2h5IjogIkxlYW4gdHJlYXRzIGhvc3RpbmcsIGxvZ2luIGFuZCB1cGxvYWQgYXMgaW5mcmFzdHJ1Y3R1cmUgb3V0c2lkZSB0aGUgZGV2aWNlIHNvZnR3YXJlLiBUaGUgZGV2aWNlIHNvZnR3YXJlIGlzIHVuY2hhbmdlZC4ifSwgeyJub2RlIjogIlEzYiIsICJhbnMiOiAiTiIsICJ3aHkiOiAiU2VjdXJpdHkgY29udHJvbHMgcHJvdGVjdCBkYXRhLCBub3QgYSBoYXphcmRvdXMgc2l0dWF0aW9uIGxlYWRpbmcgdG8gc2lnbmlmaWNhbnQgaGFybSBpbiB0aGlzIHJlYWRpbmcuIn0sIHsibm9kZSI6ICJRNCIsICJhbnMiOiAiTiIsICJ3aHkiOiAiT3V0cHV0cyBhcmUgdW5jaGFuZ2VkLiJ9LCB7Im5vZGUiOiAiVkkiLCAiYW5zIjogIkQiLCAid2h5IjogIkhvc3RpbmcgbW92ZWQsIGRldmljZSBzb2Z0d2FyZSB1bmNoYW5nZWQuIERvY3VtZW50LiBUaGlzIGlzIHRoZSByZWFkaW5nIE8uTi4gRGlhZ25vc3RpY3MgY29udHJhZGljdHMgd2hlbiB0aGUgd2ViIGxheWVyIGlzIHBhcnQgb2YgdGhlIGRldmljZS4ifV0sICJvdXRjb21lIjogImRvYyJ9XSwgImV2aWRlbmNlIjogW3sibGFiZWwiOiAiTy5OLiBEaWFnbm9zdGljcyBsZXR0ZXI6IGRlc2t0b3AgdG8gd2ViIiwgImxpbmsiOiAiaHR0cHM6Ly9oaWdobGlnaHRlci55c2hyZXN0aGEud29ya2Vycy5kZXYvdi9PMkZOVjRCeVB1QmgjaD00In0sIHsibGFiZWwiOiAiRGVlcEhlYWx0aCBmaWxlZCBhIGNsb3VkIGRlcGxveW1lbnQgY2hhbmdlIChLMjQzNjg4KSIsICJsaW5rIjogImh0dHBzOi8vZmRhLmlubm9saXRpY3MuY29tL2RldmljZS9LMjQzNjg4P2RvYz1zdW1tYXJ5JmhsPTc6Q29tcGFyZWQlMjB0byUyMHRoZSUyMHByZWRpY2F0ZSUyMGRldmljZSUyQyUyMHRoZSUyMHN1YmplY3QlMjBkZXZpY2UlMjBpbmNsdWRlcyUyMGFkZGVkJTIwY29uc2lkZXJhdGlvbiUyMG9mJTIwZGVwbG95bWVudCUyMGluJTIwYSUyMGNsb3VkLWVuYWJsZWQlMjBlbnZpcm9ubWVudCUyMGFzJTIwd2VsbCUyMGFzJTIwdXBncmFkZXMlMjB0byUyMGltcHJvdmUlMjBzcGVlZCUyMGFuZCUyMG1lbW9yeSUyMHVzZS4lMjBUaGUlMjBkaWZmZXJlbmNlcyUyMGJldHdlZW4lMjB0aGUlMjBzdWJqZWN0JTIwYW5kJTIwcHJlZGljYXRlJTIwZGV2aWNlJTIwZG8lMjBub3QlMjBhbHRlciUyMHRoZSUyMHNhZmV0eSUyMG9yJTIwZWZmZWN0aXZlbmVzcyZmb2N1cz0xIn1dLCAiZ3JvdXAiOiAiYWkifSwgeyJpZCI6ICJvcyIsICJ0aXRsZSI6ICJPcGVyYXRpbmcgc3lzdGVtIHVwZGF0ZSB0aGF0IGluY2x1ZGVzIHNlY3VyaXR5IGZpeGVzIiwgImZhY3RzIjogIldpbmRvd3MgMTAgdG8gV2luZG93cyAxMSBvbiB0aGUgcHJvY2Vzc2luZyBzZXJ2ZXIsIGRvbmUgbWFpbmx5IGZvciBzZWN1cml0eSBzdXBwb3J0LiBUaGUgYXBwbGljYXRpb24gcnVucyBvbiB0b3Agb2YgdGhlIE9TOyBleGlzdGluZyByaXNrIGNvbnRyb2xzIGNvdmVyIE9TIGJlaGF2aW9yOyByZWdyZXNzaW9uIHRlc3RzIHBhc3MuIiwgInBhdGhzIjogW3sic3RlcHMiOiBbeyJub2RlIjogIlExIiwgImFucyI6ICJOIiwgIndoeSI6ICJBIG5ldyBPUyBpcyBcIm90aGVyIGltcGFjdFwiLCBzbyB0aGUgY2hhbmdlIGlzIG5vdCBzb2xlbHkgZm9yIGN5YmVyc2VjdXJpdHkuIEFiYm90dCAoSzIxMDM5MikgYW5kIEluc3RydW1lbnRhdGlvbiBMYWJvcmF0b3J5IChLMjAzNzkwKSBmaWxlZCBPUyB1cGRhdGVzIGJ1bmRsZWQgd2l0aCBzZWN1cml0eSBmaXhlcy4ifSwgeyJub2RlIjogIlEyIiwgImFucyI6ICJOIiwgIndoeSI6ICJOb3QgYSByZXN0b3JhdGlvbi4ifSwgeyJub2RlIjogIlEzYSIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTm8gbmV3IGhhemFyZCBpZGVudGlmaWVkLiJ9LCB7Im5vZGUiOiAiUTNiIiwgImFucyI6ICJOIiwgIndoeSI6ICJObyByaXNrIGNvbnRyb2wgY2hhbmdlcy4ifSwgeyJub2RlIjogIlE0IiwgImFucyI6ICJOIiwgIndoeSI6ICJSZWdyZXNzaW9uIHRlc3RzIHNob3cgbm8gcGVyZm9ybWFuY2UgY2hhbmdlLiJ9LCB7Im5vZGUiOiAiVkkiLCAiYW5zIjogIkYiLCAid2h5IjogIkFuIE9TIGNoYW5nZSBjYW4gXCJ0cmlnZ2VyIHVuaW50ZW5kZWQgZWZmZWN0c1wiIChHdWlkaW5nIFByaW5jaXBsZSAzKSwgYW5kIEZEQSdzIHdlYmluYXIgc2FpZCBldmVuIFdpbmRvd3MgWFAgdG8gMTAgY291bGQgbmVlZCBhIDUxMChrKS4gRmlsZS4ifV0sICJvdXRjb21lIjogIm5ldyJ9LCB7InN0ZXBzIjogW3sibm9kZSI6ICJRMSIsICJhbnMiOiAiTiIsICJ3aHkiOiAiVGhlIE9TIGNoYW5nZSBoYXMgZWZmZWN0cyBiZXlvbmQgc2VjdXJpdHksIHNvIHRoZSBhbmFseXNpcyBjb250aW51ZXMuIn0sIHsibm9kZSI6ICJRMiIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTm90IGEgcmVzdG9yYXRpb24uIn0sIHsibm9kZSI6ICJRM2EiLCAiYW5zIjogIk4iLCAid2h5IjogIk5vIG5ldyBoYXphcmQgaWRlbnRpZmllZC4ifSwgeyJub2RlIjogIlEzYiIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTm8gcmlzayBjb250cm9sIGNoYW5nZXMuIn0sIHsibm9kZSI6ICJRNCIsICJhbnMiOiAiTiIsICJ3aHkiOiAiUmVncmVzc2lvbiB0ZXN0cyBzaG93IG5vIHBlcmZvcm1hbmNlIGNoYW5nZS4ifSwgeyJub2RlIjogIlZJIiwgImFucyI6ICJEIiwgIndoeSI6ICJGREEncyB3ZWJpbmFyOiBhbiBPUyBjaGFuZ2UgdGhlIGFwcGxpY2F0aW9uIHJpZGVzIG9uIHRvcCBvZiwgd2l0aCBleGlzdGluZyBjb250cm9scyBjb3ZlcmluZyBpdCwgaXMgbm90IGxpa2VseSB0byBuZWVkIGEgNTEwKGspLiBEb2N1bWVudC4ifV0sICJvdXRjb21lIjogImRvYyJ9LCB7InN0ZXBzIjogW3sibm9kZSI6ICJRMSIsICJhbnMiOiAiWSIsICJ3aHkiOiAiU2VjdXJpdHkgc3VwcG9ydCBpcyB0aGUgcHVycG9zZSwgYW5kIHRoZSByZWdyZXNzaW9uIHRlc3RzIHZlcmlmeSBubyBvdGhlciBpbXBhY3QuIERvY3VtZW50IHVuZGVyIFExLiJ9XSwgIm91dGNvbWUiOiAiZG9jIn1dLCAiZXZpZGVuY2UiOiBbeyJsYWJlbCI6ICJHdWlkYW5jZSAxLjE6IHNlY3VyaXR5IHBhdGNoIHdpdGggbm8gb3RoZXIgaW1wYWN0IiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1zb2Z0d2FyZS1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZjZDNhYTQzODQ0LWE5YTI2Yzc3NWQyNzM5MDgmaGw9MjElM0FUaGUlMjBjaGFuZ2UlMjBpcyUyMG1hZGUlMjBzb2xlbHklMjB0byUyMGFkZHJlc3MlMjBjeWJlcnNlY3VyaXR5JTIwdnVsbmVyYWJpbGl0aWVzJTIwb3IlMjB0byUyMHN0cmVuZ3RoZW4lMjBjeWJlcnNlY3VyaXR5JmZvY3VzPTEifSwgeyJsYWJlbCI6ICJGREEgd2ViaW5hcjogYXBwIHJpZGVzIG9uIHRvcCBvZiB0aGUgT1MiLCAibGluayI6ICJodHRwczovL2hpZ2hsaWdodGVyLnlzaHJlc3RoYS53b3JrZXJzLmRldi92L1VPMEo2Ymh3NkVlWSNoPTEzIn0sIHsibGFiZWwiOiAiQWJib3R0IGZpbGVkIFdpbmRvd3MgMTAgcGx1cyBzZWN1cml0eSB1cGRhdGVzIChLMjEwMzkyKSIsICJsaW5rIjogImh0dHBzOi8vZmRhLmlubm9saXRpY3MuY29tL2RldmljZS9LMjEwMzkyP2RvYz1zdW1tYXJ5JmhsPTU6VGhlJTIwY2hhbmdlcyUyMGFyZSUyMGxpbWl0ZWQlMjB0byUyMHRoZSUyMG1vZGlmaWNhdGlvbiUyMG9mJTIwc3lzdGVtJTIwc29mdHdhcmUlMjB0byUyMHN1cHBvcnQlMjBhbiUyMG9wZXJhdGluZyUyMHN5c3RlbSUyMHVwZGF0ZSUyMHRvJTIwV2luZG93cyVDMiVBRSUyMDEwJTJDJTIwdG8lMjBtYW5hZ2UlMjBlbmQlMjBvZiUyMGxpZmUlMjBjb21wb25lbnRzJTJDJTIwc2VjdXJpdHklMjB1cGRhdGVzJTJGZW5oYW5jZW1lbnRzJTJDJTIwYW5kJTIwYWRkcmVzcyUyMHNvZnR3YXJlJTIwYnVnJTIwZml4ZXMuJmZvY3VzPTEifV0sICJncm91cCI6ICJhaSJ9LCB7ImlkIjogImRpc3BsYXkiLCAidGl0bGUiOiAiUmVzdWx0cyBkaXNwbGF5IGNoYW5nZTogYWRkIGEgaGVhdG1hcCBvdmVybGF5IiwgImZhY3RzIjogIkEgc2FsaWVuY3kgaGVhdG1hcCBpcyBhZGRlZCB0byB0aGUgZXhpc3RpbmcgZmluZGluZyBkaXNwbGF5LiBUaGUgZmluZGluZyBpdHNlbGYgYW5kIGl0cyBwZXJmb3JtYW5jZSBhcmUgdW5jaGFuZ2VkLiIsICJwYXRocyI6IFt7InN0ZXBzIjogW3sibm9kZSI6ICJRMSIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTm90IGEgc2VjdXJpdHkgY2hhbmdlLiJ9LCB7Im5vZGUiOiAiUTIiLCAiYW5zIjogIk4iLCAid2h5IjogIk5vdCBhIHJlc3RvcmF0aW9uLiJ9LCB7Im5vZGUiOiAiUTNhIiwgImFucyI6ICJZIiwgIndoeSI6ICJBIGhlYXRtYXAgY2hhbmdlcyBob3cgY2xpbmljaWFucyByZWx5IG9uIHRoZSBvdXRwdXQsIGEgbmV3IGNhdXNlIG9mIG1pc2ludGVycHJldGF0aW9uLiBGREEncyBPLk4uIERpYWdub3N0aWNzIGxldHRlciBjaXRlcyBcIm92ZXJyZWxpYW5jZSBvbiBkZXZpY2Ugb3V0cHV0XCIuIn1dLCAib3V0Y29tZSI6ICJuZXcifSwgeyJzdGVwcyI6IFt7Im5vZGUiOiAiUTEiLCAiYW5zIjogIk4iLCAid2h5IjogIk5vdCBhIHNlY3VyaXR5IGNoYW5nZS4ifSwgeyJub2RlIjogIlEyIiwgImFucyI6ICJOIiwgIndoeSI6ICJOb3QgYSByZXN0b3JhdGlvbi4ifSwgeyJub2RlIjogIlEzYSIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTm8gbmV3IGhhemFyZDsgdGhlIGVmZmVjdCBvbiB1c2UgaXMgYSBjbGluaWNhbC1mdW5jdGlvbmFsaXR5IHF1ZXN0aW9uIGF0IFE0LiJ9LCB7Im5vZGUiOiAiUTNiIiwgImFucyI6ICJOIiwgIndoeSI6ICJObyByaXNrIGNvbnRyb2wgY2hhbmdlcy4ifSwgeyJub2RlIjogIlE0IiwgImFucyI6ICJZIiwgIndoeSI6ICJUaGUgaGVhdG1hcCBhZGRzIGluZm9ybWF0aW9uIHVzZXJzIGFjdCBvbiwgd2hpY2ggY2hhbmdlcyBjbGluaWNhbCBmdW5jdGlvbmFsaXR5IGRpcmVjdGx5IGFzc29jaWF0ZWQgd2l0aCB0aGUgaW50ZW5kZWQgdXNlLiJ9XSwgIm91dGNvbWUiOiAibmV3In0sIHsic3RlcHMiOiBbeyJub2RlIjogIlExIiwgImFucyI6ICJOIiwgIndoeSI6ICJOb3QgYSBzZWN1cml0eSBjaGFuZ2UuIn0sIHsibm9kZSI6ICJRMiIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTm90IGEgcmVzdG9yYXRpb24uIn0sIHsibm9kZSI6ICJRM2EiLCAiYW5zIjogIk4iLCAid2h5IjogIlNhbWUgaGF6YXJkLiJ9LCB7Im5vZGUiOiAiUTNiIiwgImFucyI6ICJOIiwgIndoeSI6ICJObyByaXNrIGNvbnRyb2wgY2hhbmdlcy4ifSwgeyJub2RlIjogIlE0IiwgImFucyI6ICJOIiwgIndoeSI6ICJUaGUgb3V0cHV0IGFuZCBpdHMgcGVyZm9ybWFuY2UgYXJlIHVuY2hhbmdlZDsgdGhlIGRpc3BsYXkgaXMgcHJlc2VudGF0aW9uLiBDb21wYXJlIGd1aWRhbmNlIDUuMyBhbmQgNS41LiJ9LCB7Im5vZGUiOiAiVkkiLCAiYW5zIjogIkQiLCAid2h5IjogIkEgZGlzcGxheS1vbmx5IGNoYW5nZSwgY2xvc2UgdG8gdGhlIGd1aWRhbmNlJ3MgY29zbWV0aWMgY2F0ZWdvcnkuIERvY3VtZW50LiJ9XSwgIm91dGNvbWUiOiAiZG9jIn1dLCAiZXZpZGVuY2UiOiBbeyJsYWJlbCI6ICJHdWlkYW5jZSA1LjM6IGZvdXIgaW1hZ2VzIGluIGEgc3VtbWFyeSB2aWV3IiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1zb2Z0d2FyZS1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZjZDNhYTQzODQ0LWE5YTI2Yzc3NWQyNzM5MDgmaGw9MzAlM0FIYXZpbmclMjBtb3JlJTIwaW1hZ2VzJTIwaW4lMjB0aGUlMjB3aW5kb3clMjBhbGxvd3MlMjBmb3IlMjB0aGUlMjBwaHlzaWNpYW4lMjB0byUyMHJldmlldyUyMG1vcmUlMjBpbWFnZXMlMjB3aXRob3V0JTIwaW5jcmVhc2luZyUyMHNvZnR3YXJlJTIwbG9hZGluZyUyMHRpbWUmZm9jdXM9MSJ9LCB7ImxhYmVsIjogIk8uTi4gRGlhZ25vc3RpY3MgbGV0dGVyOiBvdmVycmVsaWFuY2Ugb24gZGV2aWNlIG91dHB1dCIsICJsaW5rIjogImh0dHBzOi8vaGlnaGxpZ2h0ZXIueXNocmVzdGhhLndvcmtlcnMuZGV2L3YvazZkc25tOExEUGJvI2g9NSJ9XSwgImdyb3VwIjogImFpIn0sIHsiaWQiOiAiYnVnZml4IiwgInRpdGxlIjogIkJ1ZyBmaXggdGhhdCByZXN0b3JlcyB0aGUgY2xlYXJlZCBzcGVjaWZpY2F0aW9uIiwgImZhY3RzIjogIkEgcGFyc2luZyBidWcgZHJvcHBlZCBzb21lIERJQ09NIHNlcmllcyB0aGF0IHRoZSBjbGVhcmVkIHNwZWNpZmljYXRpb24gc2F5cyBtdXN0IGJlIHByb2Nlc3NlZC4gVGhlIGZpeCByZXN0b3JlcyB0aGUgc3BlY2lmaWVkIGJlaGF2aW9yOyBubyBzcGVjaWZpY2F0aW9uIHRleHQgY2hhbmdlcy4iLCAicGF0aHMiOiBbeyJzdGVwcyI6IFt7Im5vZGUiOiAiUTEiLCAiYW5zIjogIk4iLCAid2h5IjogIk5vdCBhIHNlY3VyaXR5IGNoYW5nZS4ifSwgeyJub2RlIjogIlEyIiwgImFucyI6ICJZIiwgIndoeSI6ICJUaGUgYmVoYXZpb3Igd2FzIGFscmVhZHkgd3JpdHRlbiBpbnRvIHRoZSBjbGVhcmVkIHNwZWNpZmljYXRpb24gYW5kIG5vIG5ldyBzcGVjaWZpY2F0aW9uIGlzIG5lZWRlZCwgc28gZXZlbiB0aGUgc3RyaWN0IHJlYWRpbmcgb2YgXCJzb2xlbHlcIiBpcyBtZXQgKGV4YW1wbGVzIDIuMSB0byAyLjQpLiJ9XSwgIm91dGNvbWUiOiAiZG9jIn0sIHsic3RlcHMiOiBbeyJub2RlIjogIlExIiwgImFucyI6ICJOIiwgIndoeSI6ICJOb3QgYSBzZWN1cml0eSBjaGFuZ2UuIn0sIHsibm9kZSI6ICJRMiIsICJhbnMiOiAiWSIsICJ3aHkiOiAiUmVzdG9yZXMgdGhlIGNsZWFyZWQgc3BlY2lmaWNhdGlvbiB3aXRob3V0IGFkZGluZyBiZWhhdmlvciAoZXhhbXBsZXMgMi4xLCAyLjIpLiJ9XSwgIm91dGNvbWUiOiAiZG9jIn0sIHsic3RlcHMiOiBbeyJub2RlIjogIlExIiwgImFucyI6ICJOIiwgIndoeSI6ICJOb3QgYSBzZWN1cml0eSBjaGFuZ2UuIn0sIHsibm9kZSI6ICJRMiIsICJhbnMiOiAiWSIsICJ3aHkiOiAiUmVzdG9yZXMgdGhlIGNsZWFyZWQgYmVoYXZpb3IuIn1dLCAib3V0Y29tZSI6ICJkb2MifV0sICJldmlkZW5jZSI6IFt7ImxhYmVsIjogIkd1aWRhbmNlIDIuMjogRElDT00gcXVlcnkgZml4ZWQgdG8gcmVzdG9yZSByZXRyaWV2YWwiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9kZWNpZGluZy13aGVuLXN1Ym1pdC01MTBrLXNvZnR3YXJlLWNoYW5nZS1leGlzdGluZy1kZXZpY2U/dj1nZmNkM2FhNDM4NDQtYTlhMjZjNzc1ZDI3MzkwOCZobD0yMyUzQVRoZSUyMHNvZnR3YXJlJTIwY2hhbmdlJTIwaXMlMjBpbXBsZW1lbnRlZCUyMHNvbGVseSUyMHRvJTIwcmV0dXJuJTIwdGhlJTIwc3lzdGVtJTIwaW50byUyMHNwZWNpZmljYXRpb24lMjBvZiUyMHRoZSUyMG1vc3QlMjByZWNlbnRseSUyMGNsZWFyZWQlMjBkZXZpY2UlMjByZWdhcmRpbmclMjBESUNPTSUyMGNvbmZvcm1hbmNlJmZvY3VzPTEifSwgeyJsYWJlbCI6ICJHdWlkYW5jZSAyLjU6IHNhbWUgYnVnIGZpeGVkIHdpdGggYSBuZXcgZGF0YWJhc2UgY29udGludWVzIiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1zb2Z0d2FyZS1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZjZDNhYTQzODQ0LWE5YTI2Yzc3NWQyNzM5MDgmaGw9MjQlM0FBJTIwY2hhbmdlJTIwd2FzJTIwbWFkZSUyMHRvJTIwY29ycmVjdCUyMGElMjBjb2RpbmclMjBlcnJvciUyMGJ5JTIwYWRkaW5nJTIwYSUyMG5ldyUyMGRhdGFiYXNlLiUyMFRoaXMlMjBjYXVzZWQlMjBhJTIwY2hhbmdlJTIwdG8lMjB0aGUlMjBkZXNpZ24lMjBzcGVjaWZpY2F0aW9ucyUyMG9mJTIwdGhlJTIwc29mdHdhcmUmZm9jdXM9MSJ9XSwgImdyb3VwIjogImFpIn0sIHsiaWQiOiAicmVsYWJlbCIsICJ0aXRsZSI6ICJHcm91bmQtdHJ1dGggcmVsYWJlbGluZywgdGhlbiByZXRyYWluIiwgImZhY3RzIjogIkFubm90YXRpb24gZXJyb3JzIGluIDMlIG9mIHRyYWluaW5nIGxhYmVscyBhcmUgY29ycmVjdGVkIHVuZGVyIHRoZSBzYW1lIHJlZmVyZW5jZS1zdGFuZGFyZCBkZWZpbml0aW9uLCBhbmQgdGhlIG1vZGVsIGlzIHJldHJhaW5lZC4gTG9ja2VkLXRlc3QgZmlndXJlcyBzdGF5IHdpdGhpbiBjcml0ZXJpYS4iLCAicGF0aHMiOiBbeyJzdGVwcyI6IFt7Im5vZGUiOiAiUTEiLCAiYW5zIjogIk4iLCAid2h5IjogIk5vdCBhIHNlY3VyaXR5IGNoYW5nZS4ifSwgeyJub2RlIjogIlEyIiwgImFucyI6ICJOIiwgIndoeSI6ICJOb3QgYSByZXN0b3JhdGlvbi4ifSwgeyJub2RlIjogIlEzYSIsICJhbnMiOiAiTiIsICJ3aHkiOiAiU2FtZSBoYXphcmQgYW5kIGNhdXNlcy4ifSwgeyJub2RlIjogIlEzYiIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTm8gcmlzayBjb250cm9sIGNoYW5nZXMuIn0sIHsibm9kZSI6ICJRNCIsICJhbnMiOiAiWSIsICJ3aHkiOiAiTGFiZWxzIGRlZmluZSB3aGF0IHRoZSBtb2RlbCBsZWFybnMgdG8gY2FsbCBjb3JyZWN0LCBzbyBwZXJmb3JtYW5jZSBjb3VsZCBzaGlmdCBpbiB3YXlzIHRoZSBjbGVhcmVkIGZpZ3VyZXMgZG8gbm90IGNhcHR1cmUuIn1dLCAib3V0Y29tZSI6ICJuZXcifSwgeyJzdGVwcyI6IFt7Im5vZGUiOiAiUTEiLCAiYW5zIjogIk4iLCAid2h5IjogIk5vdCBhIHNlY3VyaXR5IGNoYW5nZS4ifSwgeyJub2RlIjogIlEyIiwgImFucyI6ICJOIiwgIndoeSI6ICJOb3QgYSByZXN0b3JhdGlvbi4ifSwgeyJub2RlIjogIlEzYSIsICJhbnMiOiAiTiIsICJ3aHkiOiAiU2FtZSBoYXphcmQgYW5kIGNhdXNlcy4ifSwgeyJub2RlIjogIlEzYiIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTm8gcmlzayBjb250cm9sIGNoYW5nZXMuIn0sIHsibm9kZSI6ICJRNCIsICJhbnMiOiAiTiIsICJ3aHkiOiAiVGhlIHJlZmVyZW5jZSBzdGFuZGFyZCBpcyB1bmNoYW5nZWQgYW5kIHRoZSBjbGVhcmVkIGZpZ3VyZXMgc3RheSB3aXRoaW4gY3JpdGVyaWEsIHNvIHRyZWF0IGl0IGxpa2UgYSByZXRyYWluIG9uIHRoZSBzYW1lIHBvcHVsYXRpb24uIn0sIHsibm9kZSI6ICJWSSIsICJhbnMiOiAiRCIsICJ3aHkiOiAiUmV0cmFpbiB1bmRlciBhbiB1bmNoYW5nZWQgcmVmZXJlbmNlIHN0YW5kYXJkLiBEb2N1bWVudC4gQSBjaGFuZ2VkIHJlZmVyZW5jZSBzdGFuZGFyZCBmYWxscyBvdXRzaWRlIGV2ZW4gYW4gYXV0aG9yaXplZCBQQ0NQJ3MgcHJvdG9jb2wgaW4gRkRBJ3MgZXhhbXBsZXMsIHNvIGl0IHdvdWxkIGJlIGZpbGVkLiJ9XSwgIm91dGNvbWUiOiAiZG9jIn0sIHsic3RlcHMiOiBbeyJub2RlIjogIlExIiwgImFucyI6ICJOIiwgIndoeSI6ICJOb3QgYSBzZWN1cml0eSBjaGFuZ2UuIn0sIHsibm9kZSI6ICJRMiIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTm90IGEgcmVzdG9yYXRpb24uIn0sIHsibm9kZSI6ICJRM2EiLCAiYW5zIjogIk4iLCAid2h5IjogIlNhbWUgaGF6YXJkIGFuZCBjYXVzZXMuIn0sIHsibm9kZSI6ICJRM2IiLCAiYW5zIjogIk4iLCAid2h5IjogIk5vIHJpc2sgY29udHJvbCBjaGFuZ2VzLiJ9LCB7Im5vZGUiOiAiUTQiLCAiYW5zIjogIk4iLCAid2h5IjogIkNsZWFuZXIgbGFiZWxzIG1lYXN1cmUgdGhlIHNhbWUgY2xhaW0gYmV0dGVyLiJ9LCB7Im5vZGUiOiAiVkkiLCAiYW5zIjogIkQiLCAid2h5IjogIkRvY3VtZW50LiJ9XSwgIm91dGNvbWUiOiAiZG9jIn1dLCAiZXZpZGVuY2UiOiBbeyJsYWJlbCI6ICJBSSBQQ0NQIGd1aWRhbmNlOiByZXRyYWluaW5nIHdpdGggYSBkaWZmZXJlbnQgcmVmZXJlbmNlIHN0YW5kYXJkIGZhbGxzIG91dHNpZGUgdGhlIHBsYW4iLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9tYXJrZXRpbmctc3VibWlzc2lvbi1yZWNvbW1lbmRhdGlvbnMtcHJlZGV0ZXJtaW5lZC1jaGFuZ2UtY29udHJvbC1wbGFuLWFydGlmaWNpYWwtaW50ZWxsaWdlbmNlP3Y9Z2ZiMjNiOTY5OTllLTgwZjBmNDIzZWZlMGM4MTAmaGw9NDY6dW5hYmxlJTIwdG8lMjBmdWxmaWxsJTIwdGhlJTIwcHJvdG9jb2wlMjBiZWNhdXNlJTIwdGhlJTIwbWFudWZhY3R1cmVyJTIwaGFkJTIwdG8lMjBpbXBsZW1lbnQlMjBhJTIwcmVmZXJlbmNlJTIwc3RhbmRhcmQlMjB0aGF0JTIwd2FzJTIwZGlmZmVyZW50JTIwZnJvbSUyMHRoZSUyMG9uZSUyMGRlc2NyaWJlZCUyMGluJTIwdGhlJTIwTW9kaWZpY2F0aW9uJTIwUHJvdG9jb2wmZm9jdXM9MSJ9XSwgImdyb3VwIjogImFpIn0sIHsiaWQiOiAid2xfbWwiLCAidGl0bGUiOiAiTy5OLiBEaWFnbm9zdGljczogbmV3IE1MIGFsZ29yaXRobSBmb3IgdmVydGVicmFsIGxhbmRtYXJraW5nIiwgImZhY3RzIjogIlZpcnR1T3N0IFZGQSB3YXMgY2xlYXJlZCBpbiAyMDE4IChLMTcxNDM1KSBhcyBhIHNlbWktYXV0b21hdGVkIHRvb2w6IGEgdXNlcidzIG1vdXNlIGNsaWNrIG9uIHRoZSB2ZXJ0ZWJyYWwgYm9keSBzZWVkZWQgYW4gYWN0aXZlLWNvbnRvdXIgc2VnbWVudGF0aW9uLiBGREEncyBsZXR0ZXIgc2F5cyB0aGUgdmVyc2lvbiAzLjAuMCByZWxlYXNlIG5vdGVzIChKdW5lIDExLCAyMDI0KSBzaG93IFwiYSBuZXcgbWFjaGluZSBsZWFybmluZyBhbGdvcml0aG0gd2FzIGludHJvZHVjZWQgZm9yIHZlcnRlYnJhbCBsYW5kbWFya2luZ1wiLiBUaGUgbGV0dGVyIGRvZXMgbm90IGRlc2NyaWJlIHRoZSBtb2RlbCdzIHRyYWluaW5nIGRhdGEsIGFyY2hpdGVjdHVyZSBvciB2YWxpZGF0aW9uLCBhbmQgZG9lcyBub3QgYWxsZWdlIGEgY2hhbmdlIHRvIHRoZSBpbmRpY2F0aW9ucy4gTm8gbmV3IDUxMChrKSB3YXMgZmlsZWQuIiwgInBhdGhzIjogW3sic3RlcHMiOiBbeyJub2RlIjogIlExIiwgImFucyI6ICJOIiwgIndoeSI6ICJOb3QgYSBzZWN1cml0eSBjaGFuZ2UuIn0sIHsibm9kZSI6ICJRMiIsICJhbnMiOiAiTiIsICJ3aHkiOiAiQSBuZXcgTUwgZnVuY3Rpb24gaXMgbm90IGEgcmVzdG9yYXRpb24gb2YgdGhlIGNsZWFyZWQgc3BlY2lmaWNhdGlvbi4ifSwgeyJub2RlIjogIlEzYSIsICJhbnMiOiAiWSIsICJ3aHkiOiAiQSBtb2RlbCB0aGF0IHBsYWNlcyBsYW5kbWFya3Mgb24gaXRzIG93biBpcyBhIG5ldyBjYXVzZSBvZiB3cm9uZyB2ZXJ0ZWJyYWwgbWVhc3VyZW1lbnRzIGFuZCBtaXNzZWQgZnJhY3R1cmVzLiBUaGUgY2xlYXJlZCBkZXZpY2UgaGFkIGEgcGVyc29uIHNlZWQgZXZlcnkgY29udG91ciwgc28gbm90aGluZyBpbiBpdCBtaXRpZ2F0ZXMgbW9kZWwgZXJyb3IuIENsaW5pY2lhbiByZXZpZXcgaXMgbm90IGNvdW50ZWQgYXMgYSBjb250cm9sLiJ9XSwgIm91dGNvbWUiOiAibmV3In0sIHsic3RlcHMiOiBbeyJub2RlIjogIlExIiwgImFucyI6ICJOIiwgIndoeSI6ICJOb3QgYSBzZWN1cml0eSBjaGFuZ2UuIn0sIHsibm9kZSI6ICJRMiIsICJhbnMiOiAiTiIsICJ3aHkiOiAiQSBuZXcgTUwgZnVuY3Rpb24gaXMgbm90IGEgcmVzdG9yYXRpb24gb2YgdGhlIGNsZWFyZWQgc3BlY2lmaWNhdGlvbi4ifSwgeyJub2RlIjogIlEzYSIsICJhbnMiOiAiWSIsICJ3aHkiOiAiVGhlIGNsZWFyZWQgcmlzayBmaWxlIHdhcyBidWlsdCBhcm91bmQgYSB1c2VyLXNlZWRlZCBjb250b3VyLiBBbiBNTCBtb2RlbCBjaG9vc2luZyBsYW5kbWFya3MgaXMgYSBuZXcgd2F5IHRvIHJlYWNoIGEgd3JvbmcgbWVhc3VyZW1lbnQsIGFzIHRoZSBhZGRlZCBhRUVHIGNhbGN1bGF0aW9uIHdhcyBpbiBndWlkYW5jZSBleGFtcGxlIDMuMSwgYW5kIHRoZSBjbGVhcmVkIGNvbnRyb2xzIG5ldmVyIGFkZHJlc3NlZCBtb2RlbCBlcnJvci4ifV0sICJvdXRjb21lIjogIm5ldyJ9LCB7InN0ZXBzIjogW3sibm9kZSI6ICJRMSIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTm90IGEgc2VjdXJpdHkgY2hhbmdlLiJ9LCB7Im5vZGUiOiAiUTIiLCAiYW5zIjogIk4iLCAid2h5IjogIkEgbmV3IE1MIGZ1bmN0aW9uIGlzIG5vdCBhIHJlc3RvcmF0aW9uIG9mIHRoZSBjbGVhcmVkIHNwZWNpZmljYXRpb24uIn0sIHsibm9kZSI6ICJRM2EiLCAiYW5zIjogIk4iLCAid2h5IjogIkxlYW4ga2VlcHMgdGhlIGhhemFyZCAoYSBtaXNzZWQgb3Igd3JvbmcgZnJhY3R1cmUgZmluZGluZykgYW5kIGNvdW50cyBwaHlzaWNpYW4gcmV2aWV3IG9mIHRoZSBsYW5kbWFya3MgYXMgdGhlIGV4aXN0aW5nIGNvbnRyb2wuIEZEQSByZWplY3RlZCB0aGF0IGNvbnRyb2w6IHRoZSBsZXR0ZXIgbGlzdHMgXCJvdmVycmVsaWFuY2Ugb24gZGV2aWNlIG91dHB1dFwiIGFtb25nIHRoZSBoYXJtcy4ifSwgeyJub2RlIjogIlEzYiIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTm8gcmlzayBjb250cm9sIGNoYW5nZXMuIn0sIHsibm9kZSI6ICJRNCIsICJhbnMiOiAiWSIsICJ3aHkiOiAiVGhlIGNsZWFyZWQgZGV2aWNlIGhhcyBubyBwZXJmb3JtYW5jZSBmaWd1cmUgZm9yIGF1dG9tYXRlZCBsYW5kbWFya2luZywgc28gbm8gbG9ja2VkIHRlc3QgY2FuIHNob3cgdGhlIG5ldyBtb2RlbCBpbnNpZGUgYSBjbGVhcmVkIHJhbmdlLiBBIG5ldyBNTCBmdW5jdGlvbiByZXBsYWNpbmcgYSBtYW51YWwgc3RlcCBpcyBuZXcgY2xpbmljYWwgZnVuY3Rpb25hbGl0eS4gRXZlbiB0aGUgbGVhbiByZWFkaW5nIGZpbGVzLiJ9XSwgIm91dGNvbWUiOiAibmV3In1dLCAiZXZpZGVuY2UiOiBbeyJsYWJlbCI6ICJPLk4uIERpYWdub3N0aWNzIGxldHRlcjogdGhlIG5ldyBmZWF0dXJlIGNoYW5nZXMgaG93IHRoZSBkZXZpY2UgcGVyZm9ybXMgYW5kIGZhaWxzIiwgImxpbmsiOiAiaHR0cHM6Ly9oaWdobGlnaHRlci55c2hyZXN0aGEud29ya2Vycy5kZXYvdi9Bc1BLNG5Uczg5SmYjaD0xIn0sIHsibGFiZWwiOiAiTy5OLiBEaWFnbm9zdGljcyBsZXR0ZXI6IGEgbmV3IG1vZGVsIG1heSBwZXJmb3JtIGRpZmZlcmVudGx5IiwgImxpbmsiOiAiaHR0cHM6Ly9oaWdobGlnaHRlci55c2hyZXN0aGEud29ya2Vycy5kZXYvdi9PMkZOVjRCeVB1QmgjaD0xIn0sIHsibGFiZWwiOiAiTy5OLiBEaWFnbm9zdGljcyBsZXR0ZXI6IGhhcm1zIG9mIGluYWRlcXVhdGUgdmFsaWRhdGlvbiIsICJsaW5rIjogImh0dHBzOi8vaGlnaGxpZ2h0ZXIueXNocmVzdGhhLndvcmtlcnMuZGV2L3YvTzJGTlY0QnlQdUJoI2g9MyJ9LCB7ImxhYmVsIjogIksxNzE0MzUgNTEwKGspIHN1bW1hcnk6IHNlbWktYXV0b21hdGVkLCBtb3VzZS1zZWVkZWQgYWN0aXZlIGNvbnRvdXIiLCAibGluayI6ICJodHRwczovL3d3dy5hY2Nlc3NkYXRhLmZkYS5nb3YvY2RyaF9kb2NzL3BkZjE3L0sxNzE0MzUucGRmIn0sIHsibGFiZWwiOiAiR3VpZGFuY2UgMy4xOiBuZXcgY2FsY3VsYXRpb24gaXMgYSBuZXcgY2F1c2Ugbm90IG1pdGlnYXRlZCIsICJsaW5rIjogImh0dHBzOi8vZmRhLmlubm9saXRpY3MuY29tL2d1aWRhbmNlL2RlY2lkaW5nLXdoZW4tc3VibWl0LTUxMGstc29mdHdhcmUtY2hhbmdlLWV4aXN0aW5nLWRldmljZT92PWdmY2QzYWE0Mzg0NC1hOWEyNmM3NzVkMjczOTA4JmhsPTI1JTNBYUVFRyUyMGludHJvZHVjZXMlMjBhJTIwbmV3JTIwY2F1c2UlMjByZWxhdGVkJTIwdG8lMjBhbiUyMGVycm9yJTIwaW4lMjB0aGUlMjBhRUVHJTIwY2FsY3VsYXRpb24mZm9jdXM9MSJ9XSwgImdyb3VwIjogIndsIiwgImZkYSI6ICJGREEgc2FpZCB0aGUgTUwgbGFuZG1hcmtpbmcgZmVhdHVyZSBcImZ1bmRhbWVudGFsbHkgY2hhbmdlcyBob3cgdGhlIGRldmljZSBwZXJmb3JtcywgZmFpbHMsIGFuZCBhZmZlY3RzIHBhdGllbnRzXCIgYmV5b25kIHdoYXQgd2FzIGNsZWFyZWQsIGFuZCB0aGF0IGEgbmV3IDUxMChrKSBpcyByZXF1aXJlZC4gSXQgbmFtZWQgbWlzc2VkIG9yIGRlbGF5ZWQgZGlhZ25vc2lzIGFuZCBvdmVycmVsaWFuY2Ugb24gZGV2aWNlIG91dHB1dCBhcyB0aGUgaGFybXMgb2YgaW5hZGVxdWF0ZSB2YWxpZGF0aW9uLiIsICJmZGFfcXVvdGUiOiAiVGhpcyBuZXcgZmVhdHVyZSBmdW5kYW1lbnRhbGx5IGNoYW5nZXMgaG93IHRoZSBkZXZpY2UgcGVyZm9ybXMsIGZhaWxzLCBhbmQgYWZmZWN0cyBwYXRpZW50cyBpbiB3YXlzIHRoYXQgZ28gYmV5b25kIHdoYXQgd2FzIG9yaWdpbmFsbHkgY2xlYXJlZCBhbmQgdGhlcmVmb3JlIHRoZSBmZWF0dXJlIG11c3QgYmUgYWRlcXVhdGVseSB2YWxpZGF0ZWQuIiwgImZkYV9saW5rIjogImh0dHBzOi8vaGlnaGxpZ2h0ZXIueXNocmVzdGhhLndvcmtlcnMuZGV2L3YvQXNQSzRuVHM4OUpmI2g9MSJ9LCB7ImlkIjogIndsX3dlYiIsICJ0aXRsZSI6ICJPLk4uIERpYWdub3N0aWNzOiBkZXNrdG9wIGFwcGxpY2F0aW9uIHRvIHdlYi1iYXNlZCBhcmNoaXRlY3R1cmUiLCAiZmFjdHMiOiAiRkRBJ3MgbGV0dGVyIHNheXMgdGhhdCBpbiB2ZXJzaW9uIDMuMC4wIFwidGhlIGRldmljZSBoYXMgbWlncmF0ZWQgZnJvbSBhIGRlc2t0b3AgYXBwbGljYXRpb24gdG8gYSB3ZWItYmFzZWQgYXJjaGl0ZWN0dXJlXCIuIER1cmluZyB0aGUgaW5zcGVjdGlvbiB0aGUgZmlybSBhY2tub3dsZWRnZWQgdGhhdCB0aGUgbW92ZSBleHBhbmRlZCB0aGUgXCJjeWJlcmF0dGFjayBzdXJmYWNlIGFyZWFcIi4gVGhlIGxldHRlciBkb2VzIG5vdCBzYXkgXCJjbG91ZFwiLCBkb2VzIG5vdCBkZXNjcmliZSB0aGUgaG9zdGluZyBvciBsb2dpbiBkZXNpZ24sIGFuZCBkb2VzIG5vdCBzYXkgd2hldGhlciBvdXRwdXRzIGNoYW5nZWQuIiwgInBhdGhzIjogW3sic3RlcHMiOiBbeyJub2RlIjogIlExIiwgImFucyI6ICJOIiwgIndoeSI6ICJUaGUgbW92ZSBhZGRzIGF0dGFjayBzdXJmYWNlOyBpdCB3YXMgbm90IG1hZGUgdG8gc3RyZW5ndGhlbiBjeWJlcnNlY3VyaXR5LCBhbmQgaXQgaGFzIG90aGVyIGltcGFjdCBvbiB0aGUgc29mdHdhcmUuIEV2ZW4gdGhlIGxlYW4gcmVhZGluZyBjYW5ub3QgZG9jdW1lbnQgaGVyZS4ifSwgeyJub2RlIjogIlEyIiwgImFucyI6ICJOIiwgIndoeSI6ICJOb3QgYSByZXN0b3JhdGlvbiBvZiB0aGUgY2xlYXJlZCBzcGVjaWZpY2F0aW9uLiJ9LCB7Im5vZGUiOiAiUTNhIiwgImFucyI6ICJZIiwgIndoeSI6ICJOZXR3b3JrIGV4cG9zdXJlIGFuZCBhdXRoZW50aWNhdGlvbiBmYWlsdXJlcyBhcmUgbmV3IGNhdXNlcyBvZiBhbHRlcmVkLCBtaXNzaW5nIG9yIGRlbGF5ZWQgcmVzdWx0cywgd2hpY2ggRkRBIHRpZXMgdG8gbWlzc2VkIG9yIGRlbGF5ZWQgZGlhZ25vc2lzLiBUaGUgZGVza3RvcCBkZXZpY2UgaGFkIG5vIGNvbnRyb2xzIGZvciB0aGVtLiJ9XSwgIm91dGNvbWUiOiAibmV3In0sIHsic3RlcHMiOiBbeyJub2RlIjogIlExIiwgImFucyI6ICJOIiwgIndoeSI6ICJUaGUgbW92ZSBhZGRzIGF0dGFjayBzdXJmYWNlOyBpdCB3YXMgbm90IG1hZGUgdG8gc3RyZW5ndGhlbiBjeWJlcnNlY3VyaXR5LCBhbmQgaXQgaGFzIG90aGVyIGltcGFjdCBvbiB0aGUgc29mdHdhcmUuIEV2ZW4gdGhlIGxlYW4gcmVhZGluZyBjYW5ub3QgZG9jdW1lbnQgaGVyZS4ifSwgeyJub2RlIjogIlEyIiwgImFucyI6ICJOIiwgIndoeSI6ICJOb3QgYSByZXN0b3JhdGlvbiBvZiB0aGUgY2xlYXJlZCBzcGVjaWZpY2F0aW9uLiJ9LCB7Im5vZGUiOiAiUTNhIiwgImFucyI6ICJZIiwgIndoeSI6ICJUaGUgd2ViIGxheWVyIGlzIHBhcnQgb2YgdGhlIGRldmljZSwgYXMgRkRBJ3MgbGV0dGVyIHNheXMgdGhlIGRldmljZSBpdHNlbGYgbWlncmF0ZWQuIE5ldHdvcmsgYXR0YWNrIGFuZCBsb2dpbiBmYWlsdXJlIGFyZSBuZXcgY2F1c2VzIHRoZSBjbGVhcmVkIGRlc2t0b3AgZGV2aWNlIG5ldmVyIGhhZCB0byBtaXRpZ2F0ZS4ifV0sICJvdXRjb21lIjogIm5ldyJ9LCB7InN0ZXBzIjogW3sibm9kZSI6ICJRMSIsICJhbnMiOiAiTiIsICJ3aHkiOiAiVGhlIG1vdmUgYWRkcyBhdHRhY2sgc3VyZmFjZTsgaXQgd2FzIG5vdCBtYWRlIHRvIHN0cmVuZ3RoZW4gY3liZXJzZWN1cml0eSwgYW5kIGl0IGhhcyBvdGhlciBpbXBhY3Qgb24gdGhlIHNvZnR3YXJlLiBFdmVuIHRoZSBsZWFuIHJlYWRpbmcgY2Fubm90IGRvY3VtZW50IGhlcmUuIn0sIHsibm9kZSI6ICJRMiIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTm90IGEgcmVzdG9yYXRpb24gb2YgdGhlIGNsZWFyZWQgc3BlY2lmaWNhdGlvbi4ifSwgeyJub2RlIjogIlEzYSIsICJhbnMiOiAiWSIsICJ3aHkiOiAiTGVhbidzIHVzdWFsIG1vdmUsIHRyZWF0aW5nIGhvc3RpbmcgYXMgaW5mcmFzdHJ1Y3R1cmUgb3V0c2lkZSB0aGUgZGV2aWNlLCBmYWlscyBvbiB0aGVzZSBmYWN0czogRkRBIHNheXMgdGhlIGRldmljZSBtaWdyYXRlZCBhbmQgdGhlIGZpcm0gYWNrbm93bGVkZ2VkIHRoZSBleHBhbmRlZCBhdHRhY2sgc3VyZmFjZS4gQ3JpdGVyaW9uIDMgYXNrcyBhYm91dCBjb250cm9scyBpbiB0aGUgbW9zdCByZWNlbnRseSBjbGVhcmVkIGRldmljZSwgYW5kIHRoZSBkZXNrdG9wIGRldmljZSBoYWQgbm9uZSBmb3IgbmV0d29yayBhdHRhY2suIExlYW4gaGFzIG5vIGRlZmVuc2libGUgcGF0aCBhbmQgZmlsZXMuIn1dLCAib3V0Y29tZSI6ICJuZXcifV0sICJldmlkZW5jZSI6IFt7ImxhYmVsIjogIk8uTi4gRGlhZ25vc3RpY3MgbGV0dGVyOiBkZXNrdG9wIHRvIHdlYi1iYXNlZCBhcmNoaXRlY3R1cmUiLCAibGluayI6ICJodHRwczovL2hpZ2hsaWdodGVyLnlzaHJlc3RoYS53b3JrZXJzLmRldi92L0FzUEs0blRzODlKZiNoPTIifSwgeyJsYWJlbCI6ICJPLk4uIERpYWdub3N0aWNzIGxldHRlcjogZmlybSBhY2tub3dsZWRnZWQgdGhlIGV4cGFuZGVkIGF0dGFjayBzdXJmYWNlIiwgImxpbmsiOiAiaHR0cHM6Ly9oaWdobGlnaHRlci55c2hyZXN0aGEud29ya2Vycy5kZXYvdi9PMkZOVjRCeVB1QmgjaD01In0sIHsibGFiZWwiOiAiR3VpZGFuY2UgUTNhOiBjb250cm9scyBtdXN0IGFscmVhZHkgZXhpc3QgaW4gdGhlIGNsZWFyZWQgZGV2aWNlIiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1zb2Z0d2FyZS1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZjZDNhYTQzODQ0LWE5YTI2Yzc3NWQyNzM5MDgmaGw9MTYlM0FUaGlzJTIwY3JpdGVyaW9uJTIwaXMlMjBtZXQlMjBpZiUyMHRoZXJlJTIwYXJlJTIwbm8lMjBleGlzdGluZyUyMHJpc2slMjBjb250cm9sJTIwbWVhc3VyZXMlMjBpbiUyMHRoZSUyMG1vc3QlMjByZWNlbnRseSUyMGNsZWFyZWQlMjBkZXZpY2UlMjB0aGF0JTIwcmVkdWNlJTIwdGhlJTIwcmlzayUyMGFzc29jaWF0ZWQlMjB3aXRoJTIwdGhpcyUyMGhhemFyZCUyQyUyMGhhemFyZG91cyUyMHNpdHVhdGlvbiUyQyUyMG9yJTIwY2F1c2UlMjB0byUyMGFuJTIwYWNjZXB0YWJsZSUyMGxldmVsJmZvY3VzPTEifSwgeyJsYWJlbCI6ICJDeWJlcnNlY3VyaXR5IFFNUyBndWlkYW5jZTogbmV3IGNvbm5lY3Rpdml0eSBmZWF0dXJlcyBtYXkgbmVlZCBhIHN1Ym1pc3Npb24iLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9jeWJlcnNlY3VyaXR5LW1lZGljYWwtZGV2aWNlcy1xdWFsaXR5LW1hbmFnZW1lbnQtc3lzdGVtLWNvbnNpZGVyYXRpb25zLWFuZC1jb250ZW50LXByZW1hcmtldD92PWdmYjMyMGZiZWNkNS1kMDQ2ZmE4MzYwNDg5MzNlJmhsPTM5OmNoYW5nZXMlMjB0aGF0JTIwbWF5JTIwaW1wYWN0JTIwY3liZXJzZWN1cml0eSUyMGFuZCUyMG1heSUyMHJlcXVpcmUlMjBwcmVtYXJrZXQlMjBzdWJtaXNzaW9uJTIwY291bGQlMjBpbmNsdWRlJTIwY2hhbmdlcyUyMHRvJTIwYXV0aGVudGljYXRpb24lMjBvciUyMGVuY3J5cHRpb24lMjBhbGdvcml0aG1zJTJDJTIwbmV3JTIwY29ubmVjdGl2aXR5JTIwZmVhdHVyZXMlMkMlMjBvciUyMGNoYW5naW5nJTIwc29mdHdhcmUlMjB1cGRhdGUlMjBwcm9jZXNzJTJGbWVjaGFuaXNtcyZmb2N1cz0xIn0sIHsibGFiZWwiOiAiR3VpZGFuY2UgVkk6IGFyY2hpdGVjdHVyZSBjaGFuZ2VzIiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1zb2Z0d2FyZS1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZjZDNhYTQzODQ0LWE5YTI2Yzc3NWQyNzM5MDgmaGw9MTklM0ElRTIlODAlOUNBcmNoaXRlY3R1cmUlRTIlODAlOUQlMjBjaGFuZ2VzJTIwYXJlJTIwbW9kaWZpY2F0aW9ucyUyMHRvJTIwdGhlJTIwb3ZlcmFsbCUyMHN0cnVjdHVyZSUyMG9mJTIwdGhlJTIwc29mdHdhcmUuJTIwRXhhbXBsZXMlMjBpbmNsdWRlJTIwYnV0JTIwYXJlJTIwbm90JTIwbGltaXRlZCUyMHRvJTNBJTIwcG9ydGluZyUyMHRvJTIwYSUyMG5ldyUyME9TJTJDJTIwc29mdHdhcmUlMjBjaGFuZ2VzJTIwdG8lMjBzdXBwb3J0JTIwYSUyMG5ldyUyMGhhcmR3YXJlJTIwcGxhdGZvcm0lMkMlMjBhbmQlMjBuZXclMjBtaWRkbGV3YXJlJmZvY3VzPTEifV0sICJncm91cCI6ICJ3bCIsICJmZGEiOiAiRkRBIG5hbWVkIHRoZSBkZXNrdG9wLXRvLXdlYiBtb3ZlIGFzIG9uZSBvZiB0d28gY2hhbmdlcyB0aGF0IFwiZWFjaCBpbmRlcGVuZGVudGx5XCIgcmFpc2Ugc2lnbmlmaWNhbnQgcmVndWxhdG9yeSBjb25jZXJucywgY2l0aW5nIG5ldHdvcmstZXhwb3NlZCBhdHRhY2sgc3VyZmFjZXMgYW5kIGF1dGhlbnRpY2F0aW9uIHZ1bG5lcmFiaWxpdGllcy4gSXQgc2FpZCB0aGUgY2hhbmdlIGNvdWxkIHNpZ25pZmljYW50bHkgYWZmZWN0IHNhZmV0eSBvciBlZmZlY3RpdmVuZXNzIGFuZCByZXF1aXJlcyBhIG5ldyA1MTAoaykgdW5kZXIgMjEgQ0ZSIDgwNy44MShhKSgzKShpKS4iLCAiZmRhX3F1b3RlIjogIkZpcnN0LCB0aGUgZGV2aWNlIGhhcyBtaWdyYXRlZCBmcm9tIGEgZGVza3RvcCBhcHBsaWNhdGlvbiB0byBhIHdlYi1iYXNlZCBhcmNoaXRlY3R1cmUsIHdoaWNoIGludHJvZHVjZXMgbmV0d29yay1leHBvc2VkIGF0dGFjayBzdXJmYWNlcywgYXV0aGVudGljYXRpb24gdnVsbmVyYWJpbGl0aWVzLCBhbmQgb3RoZXIgY3liZXJzZWN1cml0eSByaXNrcyBpbmhlcmVudCB0byBpbnRlcm5ldC1hY2Nlc3NpYmxlIHBsYXRmb3Jtcy4iLCAiZmRhX2xpbmsiOiAiaHR0cHM6Ly9oaWdobGlnaHRlci55c2hyZXN0aGEud29ya2Vycy5kZXYvdi9Bc1BLNG5Uczg5SmYjaD0yIn0sIHsiaWQiOiAid2xfcGxhdGZvcm0iLCAidGl0bGUiOiAiTy5OLiBEaWFnbm9zdGljczogdGVjaG5vbG9neSBwbGF0Zm9ybSBtaWdyYXRpb24iLCAiZmFjdHMiOiAiRkRBJ3MgbGV0dGVyIHNheXMgdGhlIHRlY2hub2xvZ3kgcGxhdGZvcm0gd2FzIG1pZ3JhdGVkIGZyb20gb25lIHBsYXRmb3JtIHRvIGFub3RoZXIuIEJvdGggcGxhdGZvcm0gbmFtZXMgYXJlIHJlZGFjdGVkIGFzIChiKSg0KS4gRkRBIHNheXMgdGhlIG1vdmUgbmVjZXNzaXRhdGVzIHJlLXZlcmlmaWNhdGlvbiBhbmQgcmUtdmFsaWRhdGlvbiBvZiB0aGUgZW50aXJlIHNvZnR3YXJlIGNvZGViYXNlLCBpbmNsdWRpbmcgY2hhbmdlcyB0byB0aGlyZC1wYXJ0eSBsaWJyYXJpZXMgYW5kIGRlcGVuZGVuY2llcywgYW5kIHRoYXQgaXQgaGFzIG5vdCByZXZpZXdlZCB0aGUgZGV2aWNlJ3MgU0JPTSBvciB0aGlyZC1wYXJ0eSBjb21wb25lbnQgZG9jdW1lbnRhdGlvbi4gVGhlIGxldHRlciBkb2VzIG5vdCByZXBvcnQgd2hldGhlciB0aGUgcmUtdmVyaWZpY2F0aW9uIHdhcyBkb25lIG9yIHdoYXQgaXQgc2hvd2VkLiIsICJwYXRocyI6IFt7InN0ZXBzIjogW3sibm9kZSI6ICJRMSIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTm90IGEgc2VjdXJpdHkgY2hhbmdlLiJ9LCB7Im5vZGUiOiAiUTIiLCAiYW5zIjogIk4iLCAid2h5IjogIk5vdCBhIHJlc3RvcmF0aW9uIG9mIHRoZSBjbGVhcmVkIHNwZWNpZmljYXRpb24uIn0sIHsibm9kZSI6ICJRM2EiLCAiYW5zIjogIlkiLCAid2h5IjogIk5ldyB0aGlyZC1wYXJ0eSBsaWJyYXJpZXMgYW5kIGRlcGVuZGVuY2llcyB1bmRlciB0aGUgZW50aXJlIGNvZGViYXNlIGFyZSBuZXcgY2F1c2VzIG9mIHNvZnR3YXJlIGZhaWx1cmUsIGFuZCBldmVyeSBmdW5jdGlvbidzIGZhaWx1cmUgbW9kZXMgcmVvcGVuLiBGREEncyBsZXR0ZXIgc2F5cyB0aGUgY2hhbmdlcyBpbnRyb2R1Y2UgXCJuZXcgc29mdHdhcmUgYW5kIGN5YmVyc2VjdXJpdHkgcmlza3NcIi4gQ2xpbmljaWFuIHJldmlldyBpcyBub3QgY291bnRlZC4ifV0sICJvdXRjb21lIjogIm5ldyJ9LCB7InN0ZXBzIjogW3sibm9kZSI6ICJRMSIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTm90IGEgc2VjdXJpdHkgY2hhbmdlLiJ9LCB7Im5vZGUiOiAiUTIiLCAiYW5zIjogIk4iLCAid2h5IjogIk5vdCBhIHJlc3RvcmF0aW9uIG9mIHRoZSBjbGVhcmVkIHNwZWNpZmljYXRpb24uIn0sIHsibm9kZSI6ICJRM2EiLCAiYW5zIjogIk4iLCAid2h5IjogIlRoZSBsZXR0ZXIgYWxsZWdlcyBubyBuZXcgZnVuY3Rpb24gb3Igb3V0cHV0LiBBIHBsYXRmb3JtIHN3YXAgaXMgYSBjaGFuZ2Ugb2Ygc3Vic3RyYXRlLCB3aGljaCBTZWN0aW9uIFZJIHdlaWdocywgbm90IGEgbmV3IHJvdXRlIHRvIGEgaGF6YXJkb3VzIHNpdHVhdGlvbiB0aGF0IFEzYSBjYW4gaWRlbnRpZnkuIn0sIHsibm9kZSI6ICJRM2IiLCAiYW5zIjogIk4iLCAid2h5IjogIk5vIHJpc2sgY29udHJvbCBjaGFuZ2VzIGFyZSBhbGxlZ2VkLiJ9LCB7Im5vZGUiOiAiUTQiLCAiYW5zIjogIk4iLCAid2h5IjogIk5vIGNsaW5pY2FsIGZ1bmN0aW9uIG9yIHBlcmZvcm1hbmNlIGZpZ3VyZSBpcyBhbGxlZ2VkIHRvIGhhdmUgY2hhbmdlZC4gVGhlIG9wZW4gcXVlc3Rpb24gaXMgdGhlIGV4dGVudCBvZiB0aGUgcmV3cml0ZSwgd2hpY2ggU2VjdGlvbiBWSSBoYW5kbGVzLiJ9LCB7Im5vZGUiOiAiVkkiLCAiYW5zIjogIkYiLCAid2h5IjogIkNoYW5naW5nIGxpYnJhcmllcyBpcyBhbiBcImluZnJhc3RydWN0dXJlXCIgY2hhbmdlIGFuZCBhIG5ldyBwbGF0Zm9ybSBpcyBhbiBcImFyY2hpdGVjdHVyZVwiIGNoYW5nZS4gQSBtb3ZlIHRoYXQgZm9yY2VzIHJlLXZlcmlmaWNhdGlvbiBvZiB0aGUgZW50aXJlIGNvZGViYXNlIGlzIGEgc2lnbmlmaWNhbnQgc29mdHdhcmUgcmUtd3JpdGUsIGFuZCBGREEgZmxhZ3MgaGVhdnkgViZWIGNodXJuIGFzIHRoZSBzaWduYWwuIEZpbGUuIn1dLCAib3V0Y29tZSI6ICJuZXcifSwgeyJzdGVwcyI6IFt7Im5vZGUiOiAiUTEiLCAiYW5zIjogIk4iLCAid2h5IjogIk5vdCBhIHNlY3VyaXR5IGNoYW5nZS4ifSwgeyJub2RlIjogIlEyIiwgImFucyI6ICJOIiwgIndoeSI6ICJOb3QgYSByZXN0b3JhdGlvbiBvZiB0aGUgY2xlYXJlZCBzcGVjaWZpY2F0aW9uLiJ9LCB7Im5vZGUiOiAiUTNhIiwgImFucyI6ICJOIiwgIndoeSI6ICJTYW1lIGZ1bmN0aW9ucywgc2FtZSBoYXphcmRzLCBzYW1lIGNvbnRyb2xzLiJ9LCB7Im5vZGUiOiAiUTNiIiwgImFucyI6ICJOIiwgIndoeSI6ICJObyByaXNrIGNvbnRyb2wgY2hhbmdlcyBhcmUgYWxsZWdlZC4ifSwgeyJub2RlIjogIlE0IiwgImFucyI6ICJOIiwgIndoeSI6ICJMZWFuIHJlYWRzIHRoZSByZS12ZXJpZmljYXRpb24gb2YgdGhlIGVudGlyZSBjb2RlYmFzZSBhcyB0aGUgZXZpZGVuY2U6IGlmIGl0IHBhc3NlcyBhZ2FpbnN0IHRoZSBjbGVhcmVkIHNwZWNpZmljYXRpb24sIG5vIHBlcmZvcm1hbmNlIHNwZWNpZmljYXRpb24gbW92ZWQuIFRoZSBsZXR0ZXIgZG9lcyBub3QgcmVwb3J0IHRoZSByZXN1bHRzLiJ9LCB7Im5vZGUiOiAiVkkiLCAiYW5zIjogIkQiLCAid2h5IjogIkVxdWl2YWxlbnQgb3V0cHV0cyBhZnRlciByZS12ZXJpZmljYXRpb24gbWVhbiBubyBpbXBhY3QsIHdoYXRldmVyIGNoYW5nZWQgdW5kZXJuZWF0aC4gRG9jdW1lbnQuIEZEQSBkaXNhZ3JlZWQ6IGl0IHNhaWQgdGhpcyBjaGFuZ2UgYWxvbmUgcmVxdWlyZXMgYSBuZXcgNTEwKGspLCBhbmQgaXQgaGFkIG5vdCByZXZpZXdlZCB0aGUgU0JPTSBvciB0aGUgdGhpcmQtcGFydHkgY29tcG9uZW50cy4ifV0sICJvdXRjb21lIjogImRvYyJ9XSwgImV2aWRlbmNlIjogW3sibGFiZWwiOiAiTy5OLiBEaWFnbm9zdGljcyBsZXR0ZXI6IHBsYXRmb3JtIG1pZ3JhdGlvbiBhbmQgZnVsbCByZS12ZXJpZmljYXRpb24iLCAibGluayI6ICJodHRwczovL2hpZ2hsaWdodGVyLnlzaHJlc3RoYS53b3JrZXJzLmRldi92L0FzUEs0blRzODlKZiNoPTMifSwgeyJsYWJlbCI6ICJHdWlkYW5jZSBWSTogaW5mcmFzdHJ1Y3R1cmUgaW5jbHVkZXMgY2hhbmdpbmcgbGlicmFyaWVzIiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1zb2Z0d2FyZS1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZjZDNhYTQzODQ0LWE5YTI2Yzc3NWQyNzM5MDgmaGw9MTklM0ElRTIlODAlOUNJbmZyYXN0cnVjdHVyZSVFMiU4MCU5RCUyMGNoYW5nZXMlMjBhcmUlMjBtb2RpZmljYXRpb25zJTIwbWFkZSUyMHRvJTIwdGhlJTIwc29mdHdhcmUlMjBzdXBwb3J0JTIwc3lzdGVtLiUyMEV4YW1wbGVzJTIwaW5jbHVkZSUyMGJ1dCUyMGFyZSUyMG5vdCUyMGxpbWl0ZWQlMjB0byUzQSUyMHN3aXRjaGluZyUyMGNvbXBpbGVycyUyQyUyMGNoYW5naW5nJTIwcHJvZ3JhbW1pbmclMjBsYW5ndWFnZXMlMjAlMjhDJTIwdG8lMjBDJTJCJTJCJTJDJTIwQyUyQiUyQiUyMHRvJTIwSmF2YSUyOSUyQyUyMG9yJTIwY2hhbmdpbmclMjBzb2Z0d2FyZSUyMGRyaXZlcnMlMjBvciUyMGxpYnJhcmllcyZmb2N1cz0xIn0sIHsibGFiZWwiOiAiR3VpZGFuY2UgVkk6IHNpZ25pZmljYW50IHJlLXdyaXRlIGxpa2VseSByZXF1aXJlcyBhIDUxMChrKSIsICJsaW5rIjogImh0dHBzOi8vZmRhLmlubm9saXRpY3MuY29tL2d1aWRhbmNlL2RlY2lkaW5nLXdoZW4tc3VibWl0LTUxMGstc29mdHdhcmUtY2hhbmdlLWV4aXN0aW5nLWRldmljZT92PWdmY2QzYWE0Mzg0NC1hOWEyNmM3NzVkMjczOTA4JmhsPTIwJTNBQ2hhbmdlcyUyMGludm9sdmluZyUyMHNpZ25pZmljYW50JTIwc29mdHdhcmUlMjByZS13cml0ZSUyMGxpa2VseSUyMHJlcXVpcmUlMjBzdWJtaXNzaW9uJTIwb2YlMjBhJTIwbmV3JTIwNTEwJTI4ayUyOSUyMGJlY2F1c2UlMjBvZiUyMHRoZSUyMGltcGFjdCUyMG9uJTIwdGhlJTIwcGVyZm9ybWFuY2UlMjBhbmQlMjBvbiUyMHRoZSUyMHJpc2slMjBjb250cm9scyZmb2N1cz0xIn0sIHsibGFiZWwiOiAiR3VpZGFuY2UgVkk6IFYmViBzY3JpcHQgY2h1cm4gYXMgYSBzaWduYWwiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9kZWNpZGluZy13aGVuLXN1Ym1pdC01MTBrLXNvZnR3YXJlLWNoYW5nZS1leGlzdGluZy1kZXZpY2U/dj1nZmNkM2FhNDM4NDQtYTlhMjZjNzc1ZDI3MzkwOCZobD0xOSUzQXNpZ25pZmljYW50JTIwY2hhbmdlcyUyMHRvJTIwdmVyaWZpY2F0aW9uJTIwYW5kJTIwdmFsaWRhdGlvbiUyMHNjcmlwdHMlMjBtaWdodCUyMGJlJTIwYSUyMHNpZ25hbCUyMHRoYXQlMjBzaWduaWZpY2FudCUyMGluZnJhc3RydWN0dXJlJTIwY2hhbmdlcyUyMGhhdmUlMjB0YWtlbiUyMHBsYWNlJTIwYW5kJTIwc2hvdWxkJTIwYmUlMjBleGFtaW5lZCZmb2N1cz0xIn0sIHsibGFiZWwiOiAiR3VpZGFuY2UgR1A1OiBwYXNzaW5nIFYmViBkb2VzIG5vdCBzZXR0bGUgdGhlIHF1ZXN0aW9uIiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1zb2Z0d2FyZS1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZjZDNhYTQzODQ0LWE5YTI2Yzc3NWQyNzM5MDgmaGw9MTElM0FpZiUyMHRoZSUyMHJlc3VsdCUyMG9mJTIwYSUyMHJpc2stYmFzZWQlMjBhc3Nlc3NtZW50JTIwaXMlMjB0aGF0JTIwYSUyMGNoYW5nZSUyMGNvdWxkJTIwc2lnbmlmaWNhbnRseSUyMGFmZmVjdCUyMHNhZmV0eSUyMG9yJTIwZWZmZWN0aXZlbmVzcyUyQyUyMHN1Ym1pc3Npb24lMjBvZiUyMGElMjBuZXclMjA1MTAlMjhrJTI5JTIwaXMlMjByZXF1aXJlZCUyMGV2ZW4lMjBpZiUyMHJvdXRpbmUlMjB2ZXJpZmljYXRpb24lMjBhbmQlMjB2YWxpZGF0aW9uJTIwYWN0aXZpdGllcyUyMGFyZSUyMGNvbmR1Y3RlZCUyMHN1Y2Nlc3NmdWxseSUyMHdpdGhvdXQlMjBhbnklMjB1bmV4cGVjdGVkJTIwcmVzdWx0cyZmb2N1cz0xIn0sIHsibGFiZWwiOiAiT1RTIGd1aWRhbmNlOiBzYW1lIDUxMChrKSBjb25kaXRpb25zIHdpdGggT1RTIHNvZnR3YXJlIiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2Uvc2hlbGYtc29mdHdhcmUtdXNlLW1lZGljYWwtZGV2aWNlcz92PWdmMTU3YTQwY2M4OS1kNzNkMzYxMTQzY2IwNjIzJmhsPTExOlRoZSUyMGNvbmRpdGlvbnMlMjB1bmRlciUyMHdoaWNoJTIwYSUyMG5ldyUyMG9yJTIwY2hhbmdlZCUyMG1lZGljYWwlMjBkZXZpY2UlMjBpbmNsdWRpbmclMjBPVFMlMjBzb2Z0d2FyZSUyMHdpbGwlMjByZXF1aXJlJTIwYSUyMG5ldyUyMDUxMCUyOGslMjklMjBhcmUlMjB0aGUlMjBzYW1lJTIwYXMlMjBmb3IlMjBhJTIwZGV2aWNlJTIwbm90JTIwaW52b2x2aW5nJTIwT1RTJTIwc29mdHdhcmUuJmZvY3VzPTEifV0sICJncm91cCI6ICJ3bCIsICJmZGEiOiAiRkRBIHNhaWQgdGhlIHBsYXRmb3JtIG1pZ3JhdGlvbiAoYm90aCBwbGF0Zm9ybXMgcmVkYWN0ZWQpIG9uIGl0cyBvd24gY291bGQgc2lnbmlmaWNhbnRseSBhZmZlY3Qgc2FmZXR5IG9yIGVmZmVjdGl2ZW5lc3MgYW5kIHJlcXVpcmVzIGEgbmV3IDUxMChrKSwgYmVjYXVzZSBpdCBmb3JjZXMgcmUtdmVyaWZpY2F0aW9uIGFuZCByZS12YWxpZGF0aW9uIG9mIHRoZSBlbnRpcmUgY29kZWJhc2UgYW5kIGl0cyB0aGlyZC1wYXJ0eSBsaWJyYXJpZXMuIEl0IG5vdGVkIGl0IGhhZCBub3QgcmV2aWV3ZWQgdGhlIFNCT00uIiwgImZkYV9xdW90ZSI6ICJTZWNvbmQsIHRoZSB0ZWNobm9sb2d5IHBsYXRmb3JtIGhhcyBiZWVuIG1pZ3JhdGVkIGZyb20gKGIpKDQpIHRvIChiKSg0KSBvbmx5LCB3aGljaCBuZWNlc3NpdGF0ZXMgY29tcHJlaGVuc2l2ZSByZS12ZXJpZmljYXRpb24gYW5kIHJlLXZhbGlkYXRpb24gb2YgdGhlIGVudGlyZSBzb2Z0d2FyZSBjb2RlYmFzZSwgaW5jbHVkaW5nIGNoYW5nZXMgdG8gdGhpcmQtcGFydHkgbGlicmFyaWVzIGFuZCBkZXBlbmRlbmNpZXMuIiwgImZkYV9saW5rIjogImh0dHBzOi8vaGlnaGxpZ2h0ZXIueXNocmVzdGhhLndvcmtlcnMuZGV2L3YvQXNQSzRuVHM4OUpmI2g9MyJ9LCB7ImlkIjogIndsX3JlbGVhc2UiLCAidGl0bGUiOiAiTy5OLiBEaWFnbm9zdGljczogdGhlIHdob2xlIDMuMC4wIHJlbGVhc2UgKGFsbCB0aHJlZSBjaGFuZ2VzIGF0IG9uY2UpIiwgImZhY3RzIjogIlZlcnNpb24gMy4wLjAgKHJlbGVhc2Ugbm90ZXMgZGF0ZWQgSnVuZSAxMSwgMjAyNCkgY2FycmllZCBhbGwgdGhyZWUgY2hhbmdlczogYSBuZXcgTUwgbGFuZG1hcmtpbmcgYWxnb3JpdGhtLCB0aGUgZGVza3RvcC10by13ZWIgbWlncmF0aW9uLCBhbmQgdGhlIHJlZGFjdGVkIHBsYXRmb3JtIG1pZ3JhdGlvbi4gSXQgd2FzIGRpc3RyaWJ1dGVkIHdpdGhvdXQgYSBuZXcgNTEwKGspIGFuZCBmb3VuZCBhdCBhbiBpbnNwZWN0aW9uIG9uIE1hcmNoIDEyLTE3LCAyMDI2LiBUaGUgbGV0dGVyIGFsbGVnZXMgbm8gY2hhbmdlIHRvIHRoZSBLMTcxNDM1IGluZGljYXRpb25zLiIsICJwYXRocyI6IFt7InN0ZXBzIjogW3sibm9kZSI6ICJRMSIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTm8gcGFydCBvZiB0aGUgcmVsZWFzZSB3YXMgbWFkZSBzb2xlbHkgZm9yIGN5YmVyc2VjdXJpdHksIGFuZCB0aGUgd2ViIG1vdmUgZW5sYXJnZWQgdGhlIGF0dGFjayBzdXJmYWNlLiJ9LCB7Im5vZGUiOiAiUTIiLCAiYW5zIjogIk4iLCAid2h5IjogIk5vdCBhIHJlc3RvcmF0aW9uIG9mIHRoZSBjbGVhcmVkIHNwZWNpZmljYXRpb24uIn0sIHsibm9kZSI6ICJRM2EiLCAiYW5zIjogIlkiLCAid2h5IjogIlRoZSBNTCBtb2RlbCwgdGhlIG5ldHdvcmsgZXhwb3N1cmUgYW5kIHRoZSBuZXcgbGlicmFyaWVzIGVhY2ggYWRkIG5ldyBjYXVzZXMgdGhlIGNsZWFyZWQgZGVza3RvcCBkZXZpY2UgbmV2ZXIgbWl0aWdhdGVkLiJ9XSwgIm91dGNvbWUiOiAibmV3In0sIHsic3RlcHMiOiBbeyJub2RlIjogIlExIiwgImFucyI6ICJOIiwgIndoeSI6ICJObyBwYXJ0IG9mIHRoZSByZWxlYXNlIHdhcyBtYWRlIHNvbGVseSBmb3IgY3liZXJzZWN1cml0eSwgYW5kIHRoZSB3ZWIgbW92ZSBlbmxhcmdlZCB0aGUgYXR0YWNrIHN1cmZhY2UuIn0sIHsibm9kZSI6ICJRMiIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTm90IGEgcmVzdG9yYXRpb24gb2YgdGhlIGNsZWFyZWQgc3BlY2lmaWNhdGlvbi4ifSwgeyJub2RlIjogIlEzYSIsICJhbnMiOiAiWSIsICJ3aHkiOiAiQXNzZXNzZWQgc2VwYXJhdGVseSBhbmQgaW4gYWdncmVnYXRlIChndWlkaW5nIHByaW5jaXBsZSA2KSwgdHdvIG9mIHRoZSB0aHJlZSBjaGFuZ2VzIGNyb3NzIFEzYSBhbG9uZTogdGhlIE1MIGxhbmRtYXJraW5nIGFuZCB0aGUgd2ViIG1vdmUgZWFjaCBhZGQgY2F1c2VzIHRoZSBjbGVhcmVkIHJpc2sgZmlsZSBkaWQgbm90IGNvdmVyLiJ9XSwgIm91dGNvbWUiOiAibmV3In0sIHsic3RlcHMiOiBbeyJub2RlIjogIlExIiwgImFucyI6ICJOIiwgIndoeSI6ICJObyBwYXJ0IG9mIHRoZSByZWxlYXNlIHdhcyBtYWRlIHNvbGVseSBmb3IgY3liZXJzZWN1cml0eSwgYW5kIHRoZSB3ZWIgbW92ZSBlbmxhcmdlZCB0aGUgYXR0YWNrIHN1cmZhY2UuIn0sIHsibm9kZSI6ICJRMiIsICJhbnMiOiAiTiIsICJ3aHkiOiAiTm90IGEgcmVzdG9yYXRpb24gb2YgdGhlIGNsZWFyZWQgc3BlY2lmaWNhdGlvbi4ifSwgeyJub2RlIjogIlEzYSIsICJhbnMiOiAiWSIsICJ3aHkiOiAiSW4gYWdncmVnYXRlIHRoZSByZWxlYXNlIGNhcnJpZXMgdGhlIHdlYiBtb3ZlLCB3aG9zZSBuZXR3b3JrIGNhdXNlcyBoYXZlIG5vIGNvbnRyb2wgaW4gdGhlIGNsZWFyZWQgZGVza3RvcCBkZXZpY2UsIGFuZCB0aGUgTUwgbGFuZG1hcmtpbmcgZmlsZXMgYXQgUTQgZXZlbiBvbiBpdHMgb3duLiBMZWFuJ3MgYmVzdCBjYXNlLCBkb2N1bWVudGluZyB0aGUgcGxhdGZvcm0gcGllY2UsIGNhbm5vdCBjYXJyeSB0aGUgcmVsZWFzZS4gT25lIGNyb3NzaW5nIGlzIGVub3VnaC4ifV0sICJvdXRjb21lIjogIm5ldyJ9XSwgImV2aWRlbmNlIjogW3sibGFiZWwiOiAiTy5OLiBEaWFnbm9zdGljcyBsZXR0ZXI6IHR3byBvdGhlciBjaGFuZ2VzLCBlYWNoIGluZGVwZW5kZW50IiwgImxpbmsiOiAiaHR0cHM6Ly9oaWdobGlnaHRlci55c2hyZXN0aGEud29ya2Vycy5kZXYvdi9Bc1BLNG5Uczg5SmYjaD00In0sIHsibGFiZWwiOiAiTy5OLiBEaWFnbm9zdGljcyBsZXR0ZXI6IGVhY2ggY2hhbmdlIGNvdWxkIHNpZ25pZmljYW50bHkgYWZmZWN0IFMvRSIsICJsaW5rIjogImh0dHBzOi8vaGlnaGxpZ2h0ZXIueXNocmVzdGhhLndvcmtlcnMuZGV2L3YvTzJGTlY0QnlQdUJoI2g9NyJ9LCB7ImxhYmVsIjogIkd1aWRhbmNlIEdQNjogYXNzZXNzIGNoYW5nZXMgc2VwYXJhdGVseSBhbmQgaW4gYWdncmVnYXRlIiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1zb2Z0d2FyZS1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZjZDNhYTQzODQ0LWE5YTI2Yzc3NWQyNzM5MDgmaGw9MTElM0FlYWNoJTIwY2hhbmdlJTIwc2hvdWxkJTIwYmUlMjBhc3Nlc3NlZCUyMHNlcGFyYXRlbHklMkMlMjBhcyUyMHdlbGwlMjBhcyUyMGluJTIwYWdncmVnYXRlLiUyME5vdGUlMjB0aGF0JTJDJTIwZm9yJTIwc29mdHdhcmUlMkMlMjBlYWNoJTIwaW5kaXZpZHVhbCUyMGxpbmUlMjBjaGFuZ2UlMjBpbiUyMHRoZSUyMGNvZGUlMjBtYXklMjBub3QlMjBjb25zdGl0dXRlJTIwYW4lMjBpbmRpdmlkdWFsJTIwY2hhbmdlJTIwaW4lMjB0aGUlMjBkZXZpY2UmZm9jdXM9MSJ9LCB7ImxhYmVsIjogIkd1aWRhbmNlIEdQNzogY3VtdWxhdGl2ZSBlZmZlY3QgdHJpZ2dlcnMgYSA1MTAoaykiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9kZWNpZGluZy13aGVuLXN1Ym1pdC01MTBrLXNvZnR3YXJlLWNoYW5nZS1leGlzdGluZy1kZXZpY2U/dj1nZmNkM2FhNDM4NDQtYTlhMjZjNzc1ZDI3MzkwOCZobD0xMiUzQVdoZW4lMjB0aGUlMjBjdW11bGF0aXZlJTIwZWZmZWN0JTIwb2YlMjBpbmRpdmlkdWFsJTIwY2hhbmdlcyUyMHRyaWdnZXJzJTIwdGhlJTIwcmVndWxhdG9yeSUyMHRocmVzaG9sZCUyMGZvciUyMHN1Ym1pc3Npb24lMkMlMjB0aGUlMjBtYW51ZmFjdHVyZXIlMjBzaG91bGQlMjBzdWJtaXQlMjBhJTIwbmV3JTIwNTEwJTI4ayUyOSZmb2N1cz0xIn0sIHsibGFiZWwiOiAiRkRBIHdhcm5pbmcgbGV0dGVyLCBDTVMgNzMwMzAxIChmdWxsIHRleHQpIiwgImxpbmsiOiAiaHR0cHM6Ly93d3cuZmRhLmdvdi9pbnNwZWN0aW9ucy1jb21wbGlhbmNlLWVuZm9yY2VtZW50LWFuZC1jcmltaW5hbC1pbnZlc3RpZ2F0aW9ucy93YXJuaW5nLWxldHRlcnMvZGlhZ25vc3RpY3MtbGxjLTczMDMwMS0wOTAxMjAyNiJ9XSwgImdyb3VwIjogIndsIiwgImZkYSI6ICJGREEgY2hhcmdlZCBWaXJ0dU9zdCBWRkEgMy4wLjAgYXMgYWR1bHRlcmF0ZWQgdW5kZXIgNTAxKGYpKDEpKEIpIGFuZCBtaXNicmFuZGVkIHVuZGVyIDUwMihvKSBmb3IgZGlzdHJpYnV0aW9uIHdpdGhvdXQgYSBuZXcgNTEwKGspLCBhbmQgdHJlYXRlZCBlYWNoIG9mIHRoZSB0aHJlZSBjaGFuZ2VzIGFzIGluZGVwZW5kZW50bHkgc3VmZmljaWVudC4gSXQgYXNrZWQgdGhlIGZpcm0gdG8gc3RvcCB0aGUgY29tbWVyY2lhbCBkaXN0cmlidXRpb24gb2YgMy4wLjAuIiwgImZkYV9xdW90ZSI6ICJBZGRpdGlvbmFsbHksIHRoZSBWaXJ0dU9zdCBWRkEgMy4wLjAgdmVyc2lvbiBpbnZvbHZlcyB0d28gb3RoZXIgY2hhbmdlcyB0aGF0IGVhY2ggaW5kZXBlbmRlbnRseSByYWlzZSBzaWduaWZpY2FudCByZWd1bGF0b3J5IGNvbmNlcm5zLiIsICJmZGFfbGluayI6ICJodHRwczovL2hpZ2hsaWdodGVyLnlzaHJlc3RoYS53b3JrZXJzLmRldi92L0FzUEs0blRzODlKZiNoPTQifV0sICJob3ZlciI6IHsiUTF8c29sZWx5IHRvIHN0cmVuZ3RoZW4gY3liZXJzZWN1cml0eSI6IHsieWVzIjogW3sibGFiZWwiOiAiUHJvYWN0aXZlIHBhdGNoIHRoYXQgcmVtb3ZlcyBhIHZ1bG5lcmFiaWxpdHkgZm91bmQgaW4gaW50ZXJuYWwgcmV2aWV3IiwgIndoeSI6ICJUaGUgb25seSBwdXJwb3NlIG9mIHRoZSBjb2RlIGNoYW5nZSBpcyB0byByZW1vdmUgdGhlIHNlY3VyaXR5IHZ1bG5lcmFiaWxpdHkuIiwgInF1b3RlIjogIlRoZSBtYW51ZmFjdHVyZXIgbW9kaWZpZXMgdGhlIHNvZnR3YXJlIHNvbGVseSB0byByZW1vdmUgdGhpcyB2dWxuZXJhYmlsaXR5LiIsICJzb3VyY2UiOiAiU29mdHdhcmUgZ3VpZGFuY2UsIEFwcGVuZGl4IEEgMS4xIiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1zb2Z0d2FyZS1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZjZDNhYTQzODQ0LWE5YTI2Yzc3NWQyNzM5MDgmaGw9MjElM0FUaGUlMjBtYW51ZmFjdHVyZXIlMjBtb2RpZmllcyUyMHRoZSUyMHNvZnR3YXJlJTIwc29sZWx5JTIwdG8lMjByZW1vdmUlMjB0aGlzJTIwdnVsbmVyYWJpbGl0eS4mZm9jdXM9MSJ9LCB7ImxhYmVsIjogIkFkZHMgY29uZmlnLWZpbGUgZW5jcnlwdGlvbiwgcmVtb3RlIHBhc3Njb2RlIGFuZCByZW1vdGUtdXNlciB0aW1lb3V0IiwgIndoeSI6ICJFYWNoIGFkZGVkIGNvbnRyb2wgcmVzdHJpY3RzIGFjY2VzcyBvciBwcm90ZWN0cyBkYXRhLCBzbyB0aGUgcHVycG9zZSBpcyBzZWN1cml0eSBhbG9uZS4iLCAicXVvdGUiOiAiVGhlIGNoYW5nZSBpcyBtYWRlIHRvIHJlc3RyaWN0IHVzZXIvY3VzdG9tZXIgYWNjZXNzIHRvIGFwcHJvcHJpYXRlIGxldmVscyBhbmQgcHJvdmlkZSBwcm90ZWN0aW9uIHRvIHRoZSBkZXZpY2UgY29uZmlndXJhdGlvbiBpbmZvcm1hdGlvbiwgaW4gb3JkZXIgdG8gc3RyZW5ndGhlbiB0aGUgY3liZXJzZWN1cml0eSBvZiB0aGUgZGV2aWNlLiIsICJzb3VyY2UiOiAiU29mdHdhcmUgZ3VpZGFuY2UsIEFwcGVuZGl4IEEgMS4yIiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1zb2Z0d2FyZS1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZjZDNhYTQzODQ0LWE5YTI2Yzc3NWQyNzM5MDgmaGw9MjIlM0FUaGUlMjBjaGFuZ2UlMjBpcyUyMG1hZGUlMjB0byUyMHJlc3RyaWN0JTIwdXNlciUyRmN1c3RvbWVyJTIwYWNjZXNzJTIwdG8lMjBhcHByb3ByaWF0ZSUyMGxldmVscyUyMGFuZCUyMHByb3ZpZGUlMjBwcm90ZWN0aW9uJTIwdG8lMjB0aGUlMjBkZXZpY2UlMjBjb25maWd1cmF0aW9uJTIwaW5mb3JtYXRpb24lMkMlMjBpbiUyMG9yZGVyJTIwdG8lMjBzdHJlbmd0aGVuJTIwdGhlJTIwY3liZXJzZWN1cml0eSUyMG9mJTIwdGhlJTIwZGV2aWNlLiZmb2N1cz0xIn0sIHsibGFiZWwiOiAiQ2xvc2VzIHVudXNlZCBjb21tdW5pY2F0aW9uIHBvcnRzIGZsYWdnZWQgYnkgSUNTLUNFUlQiLCAid2h5IjogIkNsb3NpbmcgcG9ydHMgYWRkcyBzZWN1cml0eSBhbmQgY2hhbmdlcyBub3RoaW5nIGVsc2UsIHNvIEZEQSBjYWxscyBpdCBhIHJvdXRpbmUgc2VjdXJpdHkgcGF0Y2guIiwgInF1b3RlIjogIklmIHRoZSBtYW51ZmFjdHVyZXIgY2xvc2VzIHRoZSBvcGVuIGNvbW11bmljYXRpb24gcG9ydHMsIHRoZSBjaGFuZ2Ugd291bGQgYmUgY29uc2lkZXJlZCBhIGN5YmVyc2VjdXJpdHkgcm91dGluZSB1cGRhdGUgb3IgcGF0Y2gsIGEgdHlwZSBvZiBkZXZpY2UgZW5oYW5jZW1lbnQuIiwgInNvdXJjZSI6ICJQb3N0bWFya2V0IEN5YmVyc2VjdXJpdHkgZ3VpZGFuY2UgKDIwMTYpLCBTZWN0aW9uIFZJSS5BIGV4YW1wbGUiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9wb3N0bWFya2V0LW1hbmFnZW1lbnQtY3liZXJzZWN1cml0eS1tZWRpY2FsLWRldmljZXM/dj1nZmIxN2MwNjNhMGYtY2YzNzNkYmUxMmM0NTg5NiZobD0yMiUzQUlmJTIwdGhlJTIwbWFudWZhY3R1cmVyJTIwY2xvc2VzJTIwdGhlJTIwb3BlbiUyMGNvbW11bmljYXRpb24lMjBwb3J0cyUyQyUyMHRoZSUyMGNoYW5nZSUyMHdvdWxkJTIwYmUlMjBjb25zaWRlcmVkJTIwYSUyMGN5YmVyc2VjdXJpdHklMjByb3V0aW5lJTIwdXBkYXRlJTIwb3IlMjBwYXRjaCUyQyUyMGElMjB0eXBlJTIwb2YlMjBkZXZpY2UlMjBlbmhhbmNlbWVudC4mZm9jdXM9MSJ9XSwgIm5vIjogW3sibGFiZWwiOiAiTW92ZXMgZGV2aWNlIGNvbW11bmljYXRpb24gZnJvbSB3aXJlZCB0byB3aXJlbGVzcyIsICJ3aHkiOiAiVGhlIGNoYW5nZSBhZGRzIGEgZmVhdHVyZSB0aGF0IGNyZWF0ZXMgY3liZXJzZWN1cml0eSByaXNrLCBzbyBpdHMgcHVycG9zZSBpcyBub3QgdG8gc3RyZW5ndGhlbiBzZWN1cml0eS4iLCAicXVvdGUiOiAiQ2hhbmdlcyB0byBkZXZpY2UgY29tbXVuaWNhdGlvbiBiZXR3ZWVuIGRldmljZSBjb21wb25lbnRzIG9yIGJldHdlZW4gdGhlIG1vZGlmaWVkIGRldmljZSBhbmQgb3RoZXIgcHJvZHVjdHMsIHBhcnRpY3VsYXJseSBmcm9tIHdpcmVkIHRvIHdpcmVsZXNzLCBtYXkgY2hhbmdlIGEgZGV2aWNl4oCZcyByaXNrIHByb2ZpbGUgYnkgaW50cm9kdWNpbmcgb3IgbW9kaWZ5aW5nIHJpc2tzIHJlZ2FyZGluZyBkYXRhIHRyYW5zbWlzc2lvbiBvciBjeWJlcnNlY3VyaXR5LiIsICJzb3VyY2UiOiAiR2VuZXJhbCBndWlkYW5jZSwgQjUiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9kZWNpZGluZy13aGVuLXN1Ym1pdC01MTBrLWNoYW5nZS1leGlzdGluZy1kZXZpY2U/dj1nZmE1OTQ2NzUzMjItYjIwODcwMTUxYWI2M2JmNiZobD0yOSUzQUNoYW5nZXMlMjB0byUyMGRldmljZSUyMGNvbW11bmljYXRpb24lMjBiZXR3ZWVuJTIwZGV2aWNlJTIwY29tcG9uZW50cyUyMG9yJTIwYmV0d2VlbiUyMHRoZSUyMG1vZGlmaWVkJTIwZGV2aWNlJTIwYW5kJTIwb3RoZXIlMjBwcm9kdWN0cyUyQyUyMHBhcnRpY3VsYXJseSUyMGZyb20lMjB3aXJlZCUyMHRvJTIwd2lyZWxlc3MlMkMlMjBtYXklMjBjaGFuZ2UlMjBhJTIwZGV2aWNlJUUyJTgwJTk5cyUyMHJpc2slMjBwcm9maWxlJTIwYnklMjBpbnRyb2R1Y2luZyUyMG9yJTIwbW9kaWZ5aW5nJTIwcmlza3MlMjByZWdhcmRpbmclMjBkYXRhJTIwdHJhbnNtaXNzaW9uJTIwb3IlMjBjeWJlcnNlY3VyaXR5LiZmb2N1cz0xIn0sIHsibGFiZWwiOiAiQWRkcyBuZXcgY29ubmVjdGl2aXR5IGZlYXR1cmVzIG9yIGEgbmV3IHNvZnR3YXJlIHVwZGF0ZSBtZWNoYW5pc20iLCAid2h5IjogIkZEQSBsaXN0cyB0aGVzZSBhcyBjaGFuZ2VzIHRoYXQgbWF5IGltcGFjdCBjeWJlcnNlY3VyaXR5LCB3aGljaCBkaWZmZXJzIGZyb20gYSBjaGFuZ2UgbWFkZSBvbmx5IHRvIHN0cmVuZ3RoZW4gaXQuIiwgInF1b3RlIjogIm5ldyBjb25uZWN0aXZpdHkgZmVhdHVyZXMsIG9yIGNoYW5naW5nIHNvZnR3YXJlIHVwZGF0ZSBwcm9jZXNzL21lY2hhbmlzbXMiLCAic291cmNlIjogIlByZW1hcmtldCBDeWJlcnNlY3VyaXR5IGd1aWRhbmNlLCBTZWN0aW9uIFZJSS5ELjEiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9jeWJlcnNlY3VyaXR5LW1lZGljYWwtZGV2aWNlcy1xdWFsaXR5LW1hbmFnZW1lbnQtc3lzdGVtLWNvbnNpZGVyYXRpb25zLWFuZC1jb250ZW50LXByZW1hcmtldD92PWdmYjMyMGZiZWNkNS1kMDQ2ZmE4MzYwNDg5MzNlJmhsPTM5JTNBbmV3JTIwY29ubmVjdGl2aXR5JTIwZmVhdHVyZXMlMkMlMjBvciUyMGNoYW5naW5nJTIwc29mdHdhcmUlMjB1cGRhdGUlMjBwcm9jZXNzJTJGbWVjaGFuaXNtcyZmb2N1cz0xIn1dfSwgIlExfGRvZXMgbm90IGhhdmUgYW55IG90aGVyIGltcGFjdCI6IHsieWVzIjogW3sibGFiZWwiOiAiUHJvYWN0aXZlIHNlY3VyaXR5IHBhdGNoIHdpdGggYW5hbHlzaXMgc2hvd2luZyBubyBvdGhlciBlZmZlY3QiLCAid2h5IjogIlRoZSBtYW51ZmFjdHVyZXIncyBhbmFseXNpcyBmb3VuZCBubyBpbXBhY3QgYmV5b25kIHNlY3VyaXR5LCBzbyB0aGUgc2Vjb25kIGhhbGYgb2YgUTEgaXMgbWV0LiIsICJxdW90ZSI6ICJUaGUgbWFudWZhY3R1cmVy4oCZcyBhbmFseXNpcyBkZXRlcm1pbmVkIHRoYXQgdGhlIGNoYW5nZSBkb2VzIG5vdCBpbXBhY3QgYW55IG90aGVyIGFzcGVjdHMgb2YgdGhlIHNvZnR3YXJlIG9yIGRldmljZS4iLCAic291cmNlIjogIlNvZnR3YXJlIGd1aWRhbmNlLCBBcHBlbmRpeCBBIDEuMSIsICJsaW5rIjogImh0dHBzOi8vZmRhLmlubm9saXRpY3MuY29tL2d1aWRhbmNlL2RlY2lkaW5nLXdoZW4tc3VibWl0LTUxMGstc29mdHdhcmUtY2hhbmdlLWV4aXN0aW5nLWRldmljZT92PWdmY2QzYWE0Mzg0NC1hOWEyNmM3NzVkMjczOTA4JmhsPTIxJTNBVGhlJTIwbWFudWZhY3R1cmVyJUUyJTgwJTk5cyUyMGFuYWx5c2lzJTIwZGV0ZXJtaW5lZCUyMHRoYXQlMjB0aGUlMjBjaGFuZ2UlMjBkb2VzJTIwbm90JTIwaW1wYWN0JTIwYW55JTIwb3RoZXIlMjBhc3BlY3RzJTIwb2YlMjB0aGUlMjBzb2Z0d2FyZSUyMG9yJTIwZGV2aWNlLiZmb2N1cz0xIn0sIHsibGFiZWwiOiAiRW5jcnlwdGlvbiwgcmVtb3RlIHBhc3Njb2RlIGFuZCB0aW1lb3V0IHdpdGggYW5hbHlzaXMgc2hvd2luZyBubyBvdGhlciBlZmZlY3QiLCAid2h5IjogIlRoZSBhZGRlZCBhY2Nlc3MgY29udHJvbHMgd2VyZSBhbmFseXplZCBhbmQgZm91bmQgdG8gbGVhdmUgdGhlIHJlc3Qgb2YgdGhlIHNvZnR3YXJlIGFuZCBkZXZpY2UgdW5jaGFuZ2VkLiIsICJxdW90ZSI6ICJUaGUgbWFudWZhY3R1cmVy4oCZcyBhbmFseXNpcyBkZXRlcm1pbmVkIHRoYXQgdGhlIGNoYW5nZSBkb2VzIG5vdCBoYXZlIGFueSBvdGhlciBpbXBhY3Qgb24gdGhlIHNvZnR3YXJlIG9yIHRoZSBkZXZpY2UuIiwgInNvdXJjZSI6ICJTb2Z0d2FyZSBndWlkYW5jZSwgQXBwZW5kaXggQSAxLjIiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9kZWNpZGluZy13aGVuLXN1Ym1pdC01MTBrLXNvZnR3YXJlLWNoYW5nZS1leGlzdGluZy1kZXZpY2U/dj1nZmNkM2FhNDM4NDQtYTlhMjZjNzc1ZDI3MzkwOCZobD0yMiUzQVRoZSUyMG1hbnVmYWN0dXJlciVFMiU4MCU5OXMlMjBhbmFseXNpcyUyMGRldGVybWluZWQlMjB0aGF0JTIwdGhlJTIwY2hhbmdlJTIwZG9lcyUyMG5vdCUyMGhhdmUlMjBhbnklMjBvdGhlciUyMGltcGFjdCUyMG9uJTIwdGhlJTIwc29mdHdhcmUlMjBvciUyMHRoZSUyMGRldmljZS4mZm9jdXM9MSJ9XSwgIm5vIjogW3sibGFiZWwiOiAiU2VjdXJpdHkgY2hhbmdlIGxhdGVyIGZvdW5kIHRvIGhhdmUgaW5jaWRlbnRhbCBvciB1bmludGVuZGVkIGVmZmVjdHMiLCAid2h5IjogIkFueSBzaWRlIGVmZmVjdCBvbiBvdGhlciBzb2Z0d2FyZSBvciBkZXZpY2UgYmVoYXZpb3IgZmFpbHMgdGhpcyBjb25kaXRpb24gYW5kIHNlbmRzIHRoZSBjaGFuZ2UgdG8gUTIgdGhyb3VnaCBRNC4iLCAicXVvdGUiOiAiSWYgYSBtYW51ZmFjdHVyZXIgYmVjb21lcyBhd2FyZSBvZiBhbnkgaW5jaWRlbnRhbCBvciB1bmludGVuZGVkIGltcGFjdHMgb2YgdGhlIGNoYW5nZSBvbiBvdGhlciBhc3BlY3RzIG9mIHRoZSBzb2Z0d2FyZSBvciBkZXZpY2UsIHRoZSBtYW51ZmFjdHVyZXIgc2hvdWxkIGNvbnRpbnVlIHRocm91Z2ggdGhlIHJlbWFpbmluZyBxdWVzdGlvbnMgaW4gdGhpcyBndWlkYW5jZS4iLCAic291cmNlIjogIlNvZnR3YXJlIGd1aWRhbmNlLCBTZWN0aW9uIFYgUTEgdGV4dCIsICJsaW5rIjogImh0dHBzOi8vZmRhLmlubm9saXRpY3MuY29tL2d1aWRhbmNlL2RlY2lkaW5nLXdoZW4tc3VibWl0LTUxMGstc29mdHdhcmUtY2hhbmdlLWV4aXN0aW5nLWRldmljZT92PWdmY2QzYWE0Mzg0NC1hOWEyNmM3NzVkMjczOTA4JmhsPTE1JTNBSWYlMjBhJTIwbWFudWZhY3R1cmVyJTIwYmVjb21lcyUyMGF3YXJlJTIwb2YlMjBhbnklMjBpbmNpZGVudGFsJTIwb3IlMjB1bmludGVuZGVkJTIwaW1wYWN0cyUyMG9mJTIwdGhlJTIwY2hhbmdlJTIwb24lMjBvdGhlciUyMGFzcGVjdHMlMjBvZiUyMHRoZSUyMHNvZnR3YXJlJTIwb3IlMjBkZXZpY2UlMkMlMjB0aGUlMjBtYW51ZmFjdHVyZXIlMjBzaG91bGQlMjBjb250aW51ZSUyMHRocm91Z2glMjB0aGUlMjByZW1haW5pbmclMjBxdWVzdGlvbnMlMjBpbiUyMHRoaXMlMjBndWlkYW5jZS4mZm9jdXM9MSJ9LCB7ImxhYmVsIjogIlNlY3VyaXR5IGhhcmRlbmluZyB0aGF0IHJlcXVpcmVzIGEgZGlmZmVyZW50IG9wZXJhdGluZyBzeXN0ZW0iLCAid2h5IjogIkFuIG9wZXJhdGluZyBzeXN0ZW0gc3dhcCBtYWRlIGZvciBzZWN1cml0eSBhbHNvIGFmZmVjdHMgb3RoZXIgZGV2aWNlIGZ1bmN0aW9ucywgc28gaXQgaGFzIG90aGVyIGltcGFjdC4iLCAicXVvdGUiOiAiUmVjb2duaXplIHRoYXQgc29tZSBjaGFuZ2VzIG1hZGUgdG8gc3RyZW5ndGhlbiBkZXZpY2Ugc2VjdXJpdHkgbWlnaHQgYWxzbyBzaWduaWZpY2FudGx5IGFmZmVjdCBvdGhlciBkZXZpY2UgZnVuY3Rpb25hbGl0eSAoZS5nLiwgdXNlIG9mIGEgZGlmZmVyZW50IG9wZXJhdGluZyBzeXN0ZW0pIGFuZCBhc3Nlc3MgdGhlIHNjb3BlIG9mIGNoYW5nZSIsICJzb3VyY2UiOiAiUG9zdG1hcmtldCBDeWJlcnNlY3VyaXR5IGd1aWRhbmNlICgyMDE2KSwgU2VjdGlvbiBWSUkiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9wb3N0bWFya2V0LW1hbmFnZW1lbnQtY3liZXJzZWN1cml0eS1tZWRpY2FsLWRldmljZXM/dj1nZmIxN2MwNjNhMGYtY2YzNzNkYmUxMmM0NTg5NiZobD0yMCUzQVJlY29nbml6ZSUyMHRoYXQlMjBzb21lJTIwY2hhbmdlcyUyMG1hZGUlMjB0byUyMHN0cmVuZ3RoZW4lMjBkZXZpY2UlMjBzZWN1cml0eSUyMG1pZ2h0JTIwYWxzbyUyMHNpZ25pZmljYW50bHklMjBhZmZlY3QlMjBvdGhlciUyMGRldmljZSUyMGZ1bmN0aW9uYWxpdHklMjAlMjhlLmcuJTJDJTIwdXNlJTIwb2YlMjBhJTIwZGlmZmVyZW50JTIwb3BlcmF0aW5nJTIwc3lzdGVtJTI5JTIwYW5kJTIwYXNzZXNzJTIwdGhlJTIwc2NvcGUlMjBvZiUyMGNoYW5nZSZmb2N1cz0xIn0sIHsibGFiZWwiOiAiU2VjdXJpdHkgY291bnRlcm1lYXN1cmUgdGhhdCBzaWduaWZpY2FudGx5IGNoYW5nZXMgZGVzaWduIG9yIGludGVuZGVkIHVzZSIsICJ3aHkiOiAiQSBjb3VudGVybWVhc3VyZSB0aGF0IGFsdGVycyBkZXNpZ24sIGNvbXBvbmVudHMgb3IgaW50ZW5kZWQgdXNlIGhhcyBpbXBhY3QgYmV5b25kIHNlY3VyaXR5LiIsICJxdW90ZSI6ICJQcmVtYXJrZXQgbm90aWZpY2F0aW9uICg1MTAoaykpIHdvdWxkIGJlIHJlcXVpcmVkIGZvciBjb3VudGVybWVhc3VyZXMgdGhhdCB3b3VsZCBiZSBjb25zaWRlcmVkIHNpZ25pZmljYW50IGNoYW5nZXMgb3IgbW9kaWZpY2F0aW9ucyB0byBhIGRldmljZeKAmXMgZGVzaWduLCBjb21wb25lbnRzLCBtZXRob2Qgb2YgbWFudWZhY3R1cmUgb3IgaW50ZW5kZWQgdXNlIiwgInNvdXJjZSI6ICJQb3N0bWFya2V0IEN5YmVyc2VjdXJpdHkgZ3VpZGFuY2UgKDIwMTYpLCBmb290bm90ZSAzMCIsICJsaW5rIjogImh0dHBzOi8vZmRhLmlubm9saXRpY3MuY29tL2d1aWRhbmNlL3Bvc3RtYXJrZXQtbWFuYWdlbWVudC1jeWJlcnNlY3VyaXR5LW1lZGljYWwtZGV2aWNlcz92PWdmYjE3YzA2M2EwZi1jZjM3M2RiZTEyYzQ1ODk2JmhsPTE5JTNBUHJlbWFya2V0JTIwbm90aWZpY2F0aW9uJTIwJTI4NTEwJTI4ayUyOSUyOSUyMHdvdWxkJTIwYmUlMjByZXF1aXJlZCUyMGZvciUyMGNvdW50ZXJtZWFzdXJlcyUyMHRoYXQlMjB3b3VsZCUyMGJlJTIwY29uc2lkZXJlZCUyMHNpZ25pZmljYW50JTIwY2hhbmdlcyUyMG9yJTIwbW9kaWZpY2F0aW9ucyUyMHRvJTIwYSUyMGRldmljZSVFMiU4MCU5OXMlMjBkZXNpZ24lMkMlMjBjb21wb25lbnRzJTJDJTIwbWV0aG9kJTIwb2YlMjBtYW51ZmFjdHVyZSUyMG9yJTIwaW50ZW5kZWQlMjB1c2UmZm9jdXM9MSJ9XX0sICJRMnxzb2xlbHkgdG8gcmV0dXJuIHRoZSBzeXN0ZW0gaW50byBzcGVjaWZpY2F0aW9uIjogeyJ5ZXMiOiBbeyJsYWJlbCI6ICJTdG9wcyBiYXJjb2RlIHNvZnR3YXJlIHRydW5jYXRpbmcgc3BlY2ltZW4gSURzIGF0IG9uZSBpbnZhbGlkIGNoYXJhY3RlciIsICJ3aHkiOiAiVGhlIGNsZWFyZWQgc3BlY2lmaWNhdGlvbiBhbHJlYWR5IGRlZmluZWQgaW52YWxpZC1jaGFyYWN0ZXIgaGFuZGxpbmcsIGFuZCB0aGUgZml4IG9ubHkgbWFrZXMgdGhlIGNvZGUgZm9sbG93IGl0LiIsICJxdW90ZSI6ICJUaGUgY2hhbmdlIGlzIG1hZGUgc29sZWx5IHRvIGVuc3VyZSB0aGUgc29mdHdhcmUgbWVldHMgdGhlIG9yaWdpbmFsIHNwZWNpZmljYXRpb24uIiwgInNvdXJjZSI6ICJTb2Z0d2FyZSBndWlkYW5jZSwgQXBwZW5kaXggQSAyLjEiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9kZWNpZGluZy13aGVuLXN1Ym1pdC01MTBrLXNvZnR3YXJlLWNoYW5nZS1leGlzdGluZy1kZXZpY2U/dj1nZmNkM2FhNDM4NDQtYTlhMjZjNzc1ZDI3MzkwOCZobD0yMiUzQVRoZSUyMGNoYW5nZSUyMGlzJTIwbWFkZSUyMHNvbGVseSUyMHRvJTIwZW5zdXJlJTIwdGhlJTIwc29mdHdhcmUlMjBtZWV0cyUyMHRoZSUyMG9yaWdpbmFsJTIwc3BlY2lmaWNhdGlvbi4mZm9jdXM9MSJ9LCB7ImxhYmVsIjogIkZpeGVzIG5vbi1jb21wbGlhbnQgRElDT00gcXVlcnkgc28gUEFDUyBmZXRjaGVzIHByaW9yIHN0dWRpZXMgYWdhaW4iLCAid2h5IjogIkRJQ09NIGNvbmZvcm1hbmNlIHdhcyBhbHJlYWR5IHNwZWNpZmllZCwgc28gdGhlIGZpeCBvbmx5IHJlc3RvcmVzIGl0LiIsICJxdW90ZSI6ICJUaGUgc29mdHdhcmUgY2hhbmdlIGlzIGltcGxlbWVudGVkIHNvbGVseSB0byByZXR1cm4gdGhlIHN5c3RlbSBpbnRvIHNwZWNpZmljYXRpb24gb2YgdGhlIG1vc3QgcmVjZW50bHkgY2xlYXJlZCBkZXZpY2UgcmVnYXJkaW5nIERJQ09NIGNvbmZvcm1hbmNlIiwgInNvdXJjZSI6ICJTb2Z0d2FyZSBndWlkYW5jZSwgQXBwZW5kaXggQSAyLjIiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9kZWNpZGluZy13aGVuLXN1Ym1pdC01MTBrLXNvZnR3YXJlLWNoYW5nZS1leGlzdGluZy1kZXZpY2U/dj1nZmNkM2FhNDM4NDQtYTlhMjZjNzc1ZDI3MzkwOCZobD0yMyUzQVRoZSUyMHNvZnR3YXJlJTIwY2hhbmdlJTIwaXMlMjBpbXBsZW1lbnRlZCUyMHNvbGVseSUyMHRvJTIwcmV0dXJuJTIwdGhlJTIwc3lzdGVtJTIwaW50byUyMHNwZWNpZmljYXRpb24lMjBvZiUyMHRoZSUyMG1vc3QlMjByZWNlbnRseSUyMGNsZWFyZWQlMjBkZXZpY2UlMjByZWdhcmRpbmclMjBESUNPTSUyMGNvbmZvcm1hbmNlJmZvY3VzPTEifSwgeyJsYWJlbCI6ICJGaXhlcyBjb2RpbmcgZXJyb3IgdGhhdCBtZXJnZWQgcmVhZ2VudCByZWNvcmRzLCBhZGRpbmcgdGFibGUgY29sdW1ucyIsICJ3aHkiOiAiVGhlIGNvZGluZyBlcnJvciBkaWQgbm90IHRvdWNoIGFueSByZXF1aXJlbWVudCwgc28gZXZlbiB3aXRoIG5ldyB0YWJsZSBjb2x1bW5zIHRoZSBmaXggb25seSByZXN0b3JlcyBzcGVjaWZpZWQgYmVoYXZpb3IuIiwgInF1b3RlIjogIlRoZSBjaGFuZ2Ugd2FzIG9ubHkgdG8gYWRkcmVzcyBhIHNvZnR3YXJlIGFub21hbHkgYW5kIHdhcyBub3QgYSBjaGFuZ2UgaW4gc3BlY2lmaWNhdGlvbiBvciBmdW5jdGlvbmFsaXR5IG9mIHRoZSBtb3N0IHJlY2VudGx5IGNsZWFyZWQgZGV2aWNlLiIsICJzb3VyY2UiOiAiU29mdHdhcmUgZ3VpZGFuY2UsIEFwcGVuZGl4IEEgMi40IiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1zb2Z0d2FyZS1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZjZDNhYTQzODQ0LWE5YTI2Yzc3NWQyNzM5MDgmaGw9MjQlM0FUaGUlMjBjaGFuZ2UlMjB3YXMlMjBvbmx5JTIwdG8lMjBhZGRyZXNzJTIwYSUyMHNvZnR3YXJlJTIwYW5vbWFseSUyMGFuZCUyMHdhcyUyMG5vdCUyMGElMjBjaGFuZ2UlMjBpbiUyMHNwZWNpZmljYXRpb24lMjBvciUyMGZ1bmN0aW9uYWxpdHklMjBvZiUyMHRoZSUyMG1vc3QlMjByZWNlbnRseSUyMGNsZWFyZWQlMjBkZXZpY2UuJmZvY3VzPTEifV0sICJubyI6IFt7ImxhYmVsIjogIkZpeGVzIHJlYWdlbnQtcmVjb3JkIGJ1ZyBieSByZXdyaXRpbmcgcmVxdWlyZW1lbnQgYW5kIGFkZGluZyBhIGRhdGFiYXNlIiwgIndoeSI6ICJUaGUgZml4IGNoYW5nZXMgdGhlIGRlc2lnbiBzcGVjaWZpY2F0aW9uLCBzbyBpdCBkb2VzIG1vcmUgdGhhbiByZXN0b3JlIHRoZSBjbGVhcmVkIG9uZS4iLCAicXVvdGUiOiAiQSBjaGFuZ2Ugd2FzIG1hZGUgdG8gY29ycmVjdCBhIGNvZGluZyBlcnJvciBieSBhZGRpbmcgYSBuZXcgZGF0YWJhc2UuIFRoaXMgY2F1c2VkIGEgY2hhbmdlIHRvIHRoZSBkZXNpZ24gc3BlY2lmaWNhdGlvbnMgb2YgdGhlIHNvZnR3YXJlLiIsICJzb3VyY2UiOiAiU29mdHdhcmUgZ3VpZGFuY2UsIEFwcGVuZGl4IEEgMi41IiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1zb2Z0d2FyZS1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZjZDNhYTQzODQ0LWE5YTI2Yzc3NWQyNzM5MDgmaGw9MjQlM0FBJTIwY2hhbmdlJTIwd2FzJTIwbWFkZSUyMHRvJTIwY29ycmVjdCUyMGElMjBjb2RpbmclMjBlcnJvciUyMGJ5JTIwYWRkaW5nJTIwYSUyMG5ldyUyMGRhdGFiYXNlLiUyMFRoaXMlMjBjYXVzZWQlMjBhJTIwY2hhbmdlJTIwdG8lMjB0aGUlMjBkZXNpZ24lMjBzcGVjaWZpY2F0aW9ucyUyMG9mJTIwdGhlJTIwc29mdHdhcmUuJmZvY3VzPTEifSwgeyJsYWJlbCI6ICJGaXhpbmcgbWlzc2luZyBvciBjb25mbGljdGluZyByZXF1aXJlbWVudHMgYnkgdXBkYXRpbmcgc3BlY3MgYW5kIGNvZGUiLCAid2h5IjogIldoZW4gdGhlIHNwZWNpZmljYXRpb24gaXRzZWxmIG11c3QgY2hhbmdlLCB0aGUgY2hhbmdlIGdvZXMgYmV5b25kIHJlc3RvcmluZyBpdCBhbmQgRkRBIHNheXMgdGhlIGFuc3dlciBpcyBsaWtlbHkgbm8uIiwgInF1b3RlIjogIk1pc3NpbmcsIGluY29tcGxldGUsIGFtYmlndW91cywgb3IgY29uZmxpY3Rpbmcgc29mdHdhcmUgcmVxdWlyZW1lbnRzIG1heSBsZWFkIHRvIGEgc29mdHdhcmUgbW9kaWZpY2F0aW9uIHRoYXQgaW52b2x2ZXMgdXBkYXRpbmcgc3BlY2lmaWNhdGlvbnMsIHJlc3VsdGluZyBpbiBhZGRpdGlvbmFsIHNvZnR3YXJlIGNvZGUgY2hhbmdlcy4iLCAic291cmNlIjogIlNvZnR3YXJlIGd1aWRhbmNlLCBTZWN0aW9uIFYgUTIgdGV4dCIsICJsaW5rIjogImh0dHBzOi8vZmRhLmlubm9saXRpY3MuY29tL2d1aWRhbmNlL2RlY2lkaW5nLXdoZW4tc3VibWl0LTUxMGstc29mdHdhcmUtY2hhbmdlLWV4aXN0aW5nLWRldmljZT92PWdmY2QzYWE0Mzg0NC1hOWEyNmM3NzVkMjczOTA4JmhsPTE1JTNBTWlzc2luZyUyQyUyMGluY29tcGxldGUlMkMlMjBhbWJpZ3VvdXMlMkMlMjBvciUyMGNvbmZsaWN0aW5nJTIwc29mdHdhcmUlMjByZXF1aXJlbWVudHMlMjBtYXklMjBsZWFkJTIwdG8lMjBhJTIwc29mdHdhcmUlMjBtb2RpZmljYXRpb24lMjB0aGF0JTIwaW52b2x2ZXMlMjB1cGRhdGluZyUyMHNwZWNpZmljYXRpb25zJTJDJTIwcmVzdWx0aW5nJTIwaW4lMjBhZGRpdGlvbmFsJTIwc29mdHdhcmUlMjBjb2RlJTIwY2hhbmdlcy4mZm9jdXM9MSJ9LCB7ImxhYmVsIjogIlJlY2FsbCBjb3JyZWN0aW9uIHRoYXQgYWx0ZXJzIHRoZSBkZXZpY2UgaW5zdGVhZCBvZiByZXN0b3JpbmcgaXQiLCAid2h5IjogIkEgY29ycmVjdGlvbiB0aGF0IGNoYW5nZXMgdGhlIGRldmljZSBpcyBub3QgYSBwdXJlIHJlc3RvcmF0aW9uLCBzbyBhIG5ldyA1MTAoaykgbWF5IGJlIG5lZWRlZC4iLCAicXVvdGUiOiAiaWYgYSBjb3JyZWN0aW9uIGFsdGVycyBhIGRldmljZSByYXRoZXIgdGhhbiBzaW1wbHkgcmVzdG9yaW5nIGl0IHRvIGl0cyBvcmlnaW5hbCBzcGVjaWZpY2F0aW9ucywgc3VibWlzc2lvbiBvZiBhIG5ldyA1MTAoaykgbWF5IGJlIHJlcXVpcmVkLiIsICJzb3VyY2UiOiAiU29mdHdhcmUgZ3VpZGFuY2UsIFNlY3Rpb24gSUlJIFNjb3BlIiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1zb2Z0d2FyZS1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZjZDNhYTQzODQ0LWE5YTI2Yzc3NWQyNzM5MDgmaGw9OSUzQWlmJTIwYSUyMGNvcnJlY3Rpb24lMjBhbHRlcnMlMjBhJTIwZGV2aWNlJTIwcmF0aGVyJTIwdGhhbiUyMHNpbXBseSUyMHJlc3RvcmluZyUyMGl0JTIwdG8lMjBpdHMlMjBvcmlnaW5hbCUyMHNwZWNpZmljYXRpb25zJTJDJTIwc3VibWlzc2lvbiUyMG9mJTIwYSUyMG5ldyUyMDUxMCUyOGslMjklMjBtYXklMjBiZSUyMHJlcXVpcmVkLiZmb2N1cz0xIn1dfSwgIlEyfG1vc3QgcmVjZW50bHkgY2xlYXJlZCBkZXZpY2UiOiB7InllcyI6IFt7ImxhYmVsIjogIlNwZWNpZmljYXRpb24gaW4gdGhlIGNsZWFyZWQgNTEwKGspIGRlZmluZWQgaW52YWxpZCBiYXJjb2RlIGNoYXJhY3RlcnMiLCAid2h5IjogIlRoZSBiYXNlbGluZSBpcyB0aGUgc3BlY2lmaWNhdGlvbiBpbiB0aGUgbW9zdCByZWNlbnRseSBjbGVhcmVkIGRldmljZSwgd2hpY2ggYWxyZWFkeSBjb3ZlcmVkIHRoZSBkZWZlY3QuIiwgInF1b3RlIjogIlRoZSBzcGVjaWZpY2F0aW9uIG9mIHRoZSBtb3N0IHJlY2VudGx5IGNsZWFyZWQgZGV2aWNlIGluZGljYXRlZCB3aGF0IGNvbnN0aXR1dGVkIGFuIGludmFsaWQgY2hhcmFjdGVyIGFuZCBob3cgaW52YWxpZCBjaGFyYWN0ZXJzIHdlcmUgdG8gYmUgaGFuZGxlZC4iLCAic291cmNlIjogIlNvZnR3YXJlIGd1aWRhbmNlLCBBcHBlbmRpeCBBIDIuMSIsICJsaW5rIjogImh0dHBzOi8vZmRhLmlubm9saXRpY3MuY29tL2d1aWRhbmNlL2RlY2lkaW5nLXdoZW4tc3VibWl0LTUxMGstc29mdHdhcmUtY2hhbmdlLWV4aXN0aW5nLWRldmljZT92PWdmY2QzYWE0Mzg0NC1hOWEyNmM3NzVkMjczOTA4JmhsPTIyJTNBVGhlJTIwc3BlY2lmaWNhdGlvbiUyMG9mJTIwdGhlJTIwbW9zdCUyMHJlY2VudGx5JTIwY2xlYXJlZCUyMGRldmljZSUyMGluZGljYXRlZCUyMHdoYXQlMjBjb25zdGl0dXRlZCUyMGFuJTIwaW52YWxpZCUyMGNoYXJhY3RlciUyMGFuZCUyMGhvdyUyMGludmFsaWQlMjBjaGFyYWN0ZXJzJTIwd2VyZSUyMHRvJTIwYmUlMjBoYW5kbGVkLiZmb2N1cz0xIn0sIHsibGFiZWwiOiAiRGUgTm92byBkZXZpY2Ugd2l0aCBubyBsYXRlciA1MTAoaykgc2VydmVzIGFzIHRoZSBiYXNlbGluZSIsICJ3aHkiOiAiV2hlbiBubyA1MTAoaykgaGFzIGZvbGxvd2VkIGEgRGUgTm92byBncmFudCwgdGhlIERlIE5vdm8gZGV2aWNlIGlzIHRoZSBjb21wYXJpc29uIGJhc2VsaW5lLiIsICJxdW90ZSI6ICJvciB0byB0aGVpciBkZXZpY2UgdGhhdCBGREEgZ3JhbnRlZCBtYXJrZXRpbmcgYXV0aG9yaXphdGlvbiB2aWEgdGhlIERlIE5vdm8gY2xhc3NpZmljYXRpb24gcHJvY2VzcyAoaWYgdGhlcmUgaGF2ZSBub3QgYmVlbiBjaGFuZ2VzIHRvIGl0IHN1YnNlcXVlbnRseSBjbGVhcmVkIGluIGEgNTEwKGspKSIsICJzb3VyY2UiOiAiU29mdHdhcmUgZ3VpZGFuY2UsIEd1aWRpbmcgUHJpbmNpcGxlIDciLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9kZWNpZGluZy13aGVuLXN1Ym1pdC01MTBrLXNvZnR3YXJlLWNoYW5nZS1leGlzdGluZy1kZXZpY2U/dj1nZmNkM2FhNDM4NDQtYTlhMjZjNzc1ZDI3MzkwOCZobD0xMSUzQW9yJTIwdG8lMjB0aGVpciUyMGRldmljZSUyMHRoYXQlMjBGREElMjBncmFudGVkJTIwbWFya2V0aW5nJTIwYXV0aG9yaXphdGlvbiUyMHZpYSUyMHRoZSUyMERlJTIwTm92byUyMGNsYXNzaWZpY2F0aW9uJTIwcHJvY2VzcyUyMCUyOGlmJTIwdGhlcmUlMjBoYXZlJTIwbm90JTIwYmVlbiUyMGNoYW5nZXMlMjB0byUyMGl0JTIwc3Vic2VxdWVudGx5JTIwY2xlYXJlZCUyMGluJTIwYSUyMDUxMCUyOGslMjklMjkmZm9jdXM9MSJ9LCB7ImxhYmVsIjogIkRldmljZSBjbGVhcmVkIHRocmVlIHRpbWVzIGlzIGNvbXBhcmVkIHdpdGggaXRzIGxhdGVzdCA1MTAoaykgdmVyc2lvbiIsICJ3aHkiOiAiT2YgSzEwLCBLMTIgYW5kIEsxNCwgdGhlIEsxNCB2ZXJzaW9uIGlzIHRoZSBiYXNlbGluZSBiZWNhdXNlIGl0IHdhcyBjbGVhcmVkIG1vc3QgcmVjZW50bHkuIiwgInF1b3RlIjogIk9ubHkgY2hhbmdlcyBiZXR3ZWVuIEsxNHh4eHggdmVyc2lvbiBhbmQgbW9kaWZpZWQgZGV2aWNlIGFyZSBjb21wYW55IGxvZ28sIG5hbWUsIGNvbnRhY3QgaW5mb3JtYXRpb24sIGFuZCBsYWJlbGluZyBsYXlvdXQuIiwgInNvdXJjZSI6ICJHZW5lcmFsIGd1aWRhbmNlLCBBcHBlbmRpeCBCIEV4YW1wbGUgMSIsICJsaW5rIjogImh0dHBzOi8vZmRhLmlubm9saXRpY3MuY29tL2d1aWRhbmNlL2RlY2lkaW5nLXdoZW4tc3VibWl0LTUxMGstY2hhbmdlLWV4aXN0aW5nLWRldmljZT92PWdmYTU5NDY3NTMyMi1iMjA4NzAxNTFhYjYzYmY2JmhsPTY1JTNBT25seSUyMGNoYW5nZXMlMjBiZXR3ZWVuJTIwSzE0eHh4eCUyMHZlcnNpb24lMjBhbmQlMjBtb2RpZmllZCUyMGRldmljZSUyMGFyZSUyMGNvbXBhbnklMjBsb2dvJTJDJTIwbmFtZSUyQyUyMGNvbnRhY3QlMjBpbmZvcm1hdGlvbiUyQyUyMGFuZCUyMGxhYmVsaW5nJTIwbGF5b3V0LiZmb2N1cz0xIn1dLCAibm8iOiBbeyJsYWJlbCI6ICJFYXJsaWVyIGNsZWFyYW5jZXMgc3VwZXJzZWRlZCBieSBhIGxhdGVyIDUxMChrKSIsICJ3aHkiOiAiSzEwIGFuZCBLMTIgYXJlIG5vdCB0aGUgYmFzZWxpbmUgb25jZSBLMTQgY2xlYXJlZCB0aGUgdXBkYXRlZCBzY3Jld3MuIiwgInF1b3RlIjogIkRldmljZSBvcmlnaW5hbGx5IGNsZWFyZWQgaW4gSzEweHh4eCwgY2xlYXJlZCB3aXRoIHVwZGF0ZWQgcGxhdGVzIGluIEsxMnh4eHgsIGNsZWFyZWQgd2l0aCB1cGRhdGVkIHNjcmV3cyBpbiBLMTR4eHh4LiIsICJzb3VyY2UiOiAiR2VuZXJhbCBndWlkYW5jZSwgQXBwZW5kaXggQiBFeGFtcGxlIDEiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9kZWNpZGluZy13aGVuLXN1Ym1pdC01MTBrLWNoYW5nZS1leGlzdGluZy1kZXZpY2U/dj1nZmE1OTQ2NzUzMjItYjIwODcwMTUxYWI2M2JmNiZobD02NSUzQURldmljZSUyMG9yaWdpbmFsbHklMjBjbGVhcmVkJTIwaW4lMjBLMTB4eHh4JTJDJTIwY2xlYXJlZCUyMHdpdGglMjB1cGRhdGVkJTIwcGxhdGVzJTIwaW4lMjBLMTJ4eHh4JTJDJTIwY2xlYXJlZCUyMHdpdGglMjB1cGRhdGVkJTIwc2NyZXdzJTIwaW4lMjBLMTR4eHh4LiZmb2N1cz0xIn0sIHsibGFiZWwiOiAiTGF0ZXIgdmVyc2lvbiBjaGFuZ2VkIHVuZGVyIGEgbGV0dGVyIHRvIGZpbGUiLCAid2h5IjogIkEgdmVyc2lvbiBjaGFuZ2VkIHdpdGhvdXQgYSBuZXcgNTEwKGspIGlzIG5vdCB0aGUgYmFzZWxpbmUsIHNvIGxhdGVyIGNoYW5nZXMgYXJlIGNvbXBhcmVkIHdpdGggSzEwIGFuZCB0aGUgMjAxMiBjaGFuZ2UgY291bnRzIGN1bXVsYXRpdmVseS4iLCAicXVvdGUiOiAiVGhlIGxhYmVsaW5nIGxheW91dCB3YXMgY2hhbmdlZCBpbiAyMDEyIChzZWUgUmVndWxhdG9yeSBDaGFuZ2UgQXNzZXNzbWVudCAxMi1YWFhYKS4iLCAic291cmNlIjogIkdlbmVyYWwgZ3VpZGFuY2UsIEFwcGVuZGl4IEIgRXhhbXBsZSAyIiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZhNTk0Njc1MzIyLWIyMDg3MDE1MWFiNjNiZjYmaGw9NjYlM0FUaGUlMjBsYWJlbGluZyUyMGxheW91dCUyMHdhcyUyMGNoYW5nZWQlMjBpbiUyMDIwMTIlMjAlMjhzZWUlMjBSZWd1bGF0b3J5JTIwQ2hhbmdlJTIwQXNzZXNzbWVudCUyMDEyLVhYWFglMjkuJmZvY3VzPTEifSwgeyJsYWJlbCI6ICJBIHByZWRpY2F0ZSBkZXZpY2UgdXNlZCBmb3Igc3Vic3RhbnRpYWwgZXF1aXZhbGVuY2UiLCAid2h5IjogIlRoZSBiYXNlbGluZSBpcyB0aGUgbWFudWZhY3R1cmVyJ3Mgb3duIGNsZWFyZWQgZGV2aWNlLCBub3QgYSBwcmVkaWNhdGUgZnJvbSBhIHN1YnN0YW50aWFsIGVxdWl2YWxlbmNlIGNvbXBhcmlzb24uIiwgInF1b3RlIjogIk9mIG5vdGUsIHRoaXMgY29tcGFyaXNvbiBpcyBkaWZmZXJlbnQgZnJvbSBhIHN1YnN0YW50aWFsIGVxdWl2YWxlbmNlIGNvbXBhcmlzb24gYmV0d2VlbiB0aGUgbW9kaWZpZWQgZGV2aWNlIGFuZCBhIGxlZ2FsbHkgbWFya2V0ZWQgcHJlZGljYXRlIGRldmljZS4iLCAic291cmNlIjogIlNvZnR3YXJlIGd1aWRhbmNlLCBHdWlkaW5nIFByaW5jaXBsZSA3IiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1zb2Z0d2FyZS1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZjZDNhYTQzODQ0LWE5YTI2Yzc3NWQyNzM5MDgmaGw9MTElM0FPZiUyMG5vdGUlMkMlMjB0aGlzJTIwY29tcGFyaXNvbiUyMGlzJTIwZGlmZmVyZW50JTIwZnJvbSUyMGElMjBzdWJzdGFudGlhbCUyMGVxdWl2YWxlbmNlJTIwY29tcGFyaXNvbiUyMGJldHdlZW4lMjB0aGUlMjBtb2RpZmllZCUyMGRldmljZSUyMGFuZCUyMGElMjBsZWdhbGx5JTIwbWFya2V0ZWQlMjBwcmVkaWNhdGUlMjBkZXZpY2UuJmZvY3VzPTEifV0sICJ5ZXNfbGFiZWwiOiAiQ291bnRzIGFzIHRoZSBiYXNlbGluZSIsICJub19sYWJlbCI6ICJEb2VzIG5vdCBjb3VudCBhcyB0aGUgYmFzZWxpbmUifSwgIlEzYXxuZXcgcmlzayBvciBtb2RpZnkgYW4gZXhpc3RpbmcgcmlzayI6IHsieWVzIjogW3sibGFiZWwiOiAiRUVHIG1vbml0b3IgYWRkcyBhIG5ldyBhRUVHIHBhcmFtZXRlciIsICJ3aHkiOiAiQSBuZXcgY2FsY3VsYXRpb24gYWRkcyBhIG5ldyBjYXVzZSBvZiBpbmNvcnJlY3QgaW5mb3JtYXRpb24gdG8gdGhlIHJpc2sgZmlsZS4iLCAicXVvdGUiOiAiYUVFRyBpbnRyb2R1Y2VzIGEgbmV3IGNhdXNlIHJlbGF0ZWQgdG8gYW4gZXJyb3IgaW4gdGhlIGFFRUcgY2FsY3VsYXRpb24iLCAic291cmNlIjogIlNvZnR3YXJlIGd1aWRhbmNlLCBBcHBlbmRpeCBBIDMuMSIsICJsaW5rIjogImh0dHBzOi8vZmRhLmlubm9saXRpY3MuY29tL2d1aWRhbmNlL2RlY2lkaW5nLXdoZW4tc3VibWl0LTUxMGstc29mdHdhcmUtY2hhbmdlLWV4aXN0aW5nLWRldmljZT92PWdmY2QzYWE0Mzg0NC1hOWEyNmM3NzVkMjczOTA4JmhsPTI1OmFFRUclMjBpbnRyb2R1Y2VzJTIwYSUyMG5ldyUyMGNhdXNlJTIwcmVsYXRlZCUyMHRvJTIwYW4lMjBlcnJvciUyMGluJTIwdGhlJTIwYUVFRyUyMGNhbGN1bGF0aW9uJmZvY3VzPTEifSwgeyJsYWJlbCI6ICJJbWFnaW5nIGNhdGhldGVyIHNvZnR3YXJlIGludGVncmF0ZXMgbmV3IG9wdGljYWwgbW9kdWxlcyBhbmQgbGFzZXIgbWV0aG9kIiwgIndoeSI6ICJUaGUgb3B0aWNhbCBtb2R1bGUgY291bGQgZmFpbCB0byByZWNvZ25pemUgdGhlIG5ldyBjYXRoZXRlciwgYSBoYXphcmRvdXMgc2l0dWF0aW9uIHRoYXQgZGlkIG5vdCBleGlzdCBiZWZvcmUuIiwgInF1b3RlIjogIlRoaXMgY2hhbmdlIGludHJvZHVjZXMgYSBuZXcgaGF6YXJkb3VzIHNpdHVhdGlvbiBhcyBhIHJlc3VsdCBvZiB0aGUgb3B0aWNhbCBtb2R1bGUgbm90IHJlY29nbml6aW5nIHRoZSBuZXcgY2F0aGV0ZXIiLCAic291cmNlIjogIlNvZnR3YXJlIGd1aWRhbmNlLCBBcHBlbmRpeCBBIDMuNSIsICJsaW5rIjogImh0dHBzOi8vZmRhLmlubm9saXRpY3MuY29tL2d1aWRhbmNlL2RlY2lkaW5nLXdoZW4tc3VibWl0LTUxMGstc29mdHdhcmUtY2hhbmdlLWV4aXN0aW5nLWRldmljZT92PWdmY2QzYWE0Mzg0NC1hOWEyNmM3NzVkMjczOTA4JmhsPTI2OlRoaXMlMjBjaGFuZ2UlMjBpbnRyb2R1Y2VzJTIwYSUyMG5ldyUyMGhhemFyZG91cyUyMHNpdHVhdGlvbiUyMGFzJTIwYSUyMHJlc3VsdCUyMG9mJTIwdGhlJTIwb3B0aWNhbCUyMG1vZHVsZSUyMG5vdCUyMHJlY29nbml6aW5nJTIwdGhlJTIwbmV3JTIwY2F0aGV0ZXImZm9jdXM9MSJ9LCB7ImxhYmVsIjogIkZsdWlkIGhlYXRlciBzd2l0Y2hlZCB0byBhIGhpZ2hlci1wb3dlciBoZWF0ZXIiLCAid2h5IjogIkFuIGV4aXN0aW5nIHRoZXJtYWwtaW5qdXJ5IHJpc2sgaXMgbW9kaWZpZWQsIHdpdGggaGlnaGVyIHNldmVyaXR5IGFuZCBhIHdvcnNlIGFjY2VwdGFiaWxpdHkgcmF0aW5nIGJlZm9yZSBjb250cm9scy4iLCAicXVvdGUiOiAidGhlIHNldmVyaXR5IG9mIHBvdGVudGlhbCB0aGVybWFsIGluanVyeSBpbmNyZWFzZWQgYW5kIHRoZSByaXNrIG9mIHRoZXJtYWwgaW5qdXJ5IGJlY2FtZSDigJx1bmFjY2VwdGFibGUs4oCdIGJlZm9yZSBhcHBsaWNhdGlvbiBvZiBhZGRpdGlvbmFsIHJpc2sgY29udHJvbCBtZWFzdXJlcyIsICJzb3VyY2UiOiAiR2VuZXJhbCBndWlkYW5jZSwgRXhhbXBsZSAyMCIsICJsaW5rIjogImh0dHBzOi8vZmRhLmlubm9saXRpY3MuY29tL2d1aWRhbmNlL2RlY2lkaW5nLXdoZW4tc3VibWl0LTUxMGstY2hhbmdlLWV4aXN0aW5nLWRldmljZT92PWdmYTU5NDY3NTMyMi1iMjA4NzAxNTFhYjYzYmY2JmhsPTU1OnRoZSUyMHNldmVyaXR5JTIwb2YlMjBwb3RlbnRpYWwlMjB0aGVybWFsJTIwaW5qdXJ5JTIwaW5jcmVhc2VkJTIwYW5kJTIwdGhlJTIwcmlzayUyMG9mJTIwdGhlcm1hbCUyMGluanVyeSUyMGJlY2FtZSUyMCVFMiU4MCU5Q3VuYWNjZXB0YWJsZSUyQyVFMiU4MCU5RCUyMGJlZm9yZSUyMGFwcGxpY2F0aW9uJTIwb2YlMjBhZGRpdGlvbmFsJTIwcmlzayUyMGNvbnRyb2wlMjBtZWFzdXJlcyZmb2N1cz0xIn1dLCAibm8iOiBbeyJsYWJlbCI6ICJFRUcgbW9uaXRvciBzdG9wcyBkaXNwbGF5aW5nIGFuIHVudXNlZCBwYXJhbWV0ZXIgKFBQKSIsICJ3aHkiOiAiUmVtb3ZpbmcgYSBkaXNwbGF5IHBhcmFtZXRlciBhZGRzIG5vIGhhemFyZCwgaGF6YXJkb3VzIHNpdHVhdGlvbiBvciBjYXVzZSBhbmQgY2hhbmdlcyBub25lLiIsICJxdW90ZSI6ICJSZW1vdmFsIG9mIFBQIGRvZXMgbm90IGludHJvZHVjZSBhIG5ldyByaXNrIG9yIG1vZGlmeSBhbnkgb2YgdGhlIGV4aXN0aW5nIHJpc2tzIGZvciB0aGUgZGV2aWNlIiwgInNvdXJjZSI6ICJTb2Z0d2FyZSBndWlkYW5jZSwgQXBwZW5kaXggQSAzLjIiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9kZWNpZGluZy13aGVuLXN1Ym1pdC01MTBrLXNvZnR3YXJlLWNoYW5nZS1leGlzdGluZy1kZXZpY2U/dj1nZmNkM2FhNDM4NDQtYTlhMjZjNzc1ZDI3MzkwOCZobD0yNTpSZW1vdmFsJTIwb2YlMjBQUCUyMGRvZXMlMjBub3QlMjBpbnRyb2R1Y2UlMjBhJTIwbmV3JTIwcmlzayUyMG9yJTIwbW9kaWZ5JTIwYW55JTIwb2YlMjB0aGUlMjBleGlzdGluZyUyMHJpc2tzJTIwZm9yJTIwdGhlJTIwZGV2aWNlJmZvY3VzPTEifSwgeyJsYWJlbCI6ICJQcmVjYXV0aW9uIGFkZGVkIHN0cmVzc2luZyBzdGVyaWxpemF0aW9uIGJlZm9yZSB1c2UiLCAid2h5IjogIlRoZSBwcmVjYXV0aW9uIHJlc3RhdGVzIHZhbGlkYXRlZCBpbnN0cnVjdGlvbnMgYW5kIGxlYXZlcyB0aGUgcmlzayBwcm9maWxlIHVuY2hhbmdlZC4iLCAicXVvdGUiOiAiVGhlIGFkZGVkIHByZWNhdXRpb24gc2ltcGx5IGVtcGhhc2l6ZXMgcHJvcGVyIHN0ZXJpbGl6YXRpb24gYW5kIGRvZXMgbm90IGFmZmVjdCB0aGUgZGV2aWNl4oCZcyByaXNrIHByb2ZpbGUiLCAic291cmNlIjogIkdlbmVyYWwgZ3VpZGFuY2UsIEV4YW1wbGUgMyIsICJsaW5rIjogImh0dHBzOi8vZmRhLmlubm9saXRpY3MuY29tL2d1aWRhbmNlL2RlY2lkaW5nLXdoZW4tc3VibWl0LTUxMGstY2hhbmdlLWV4aXN0aW5nLWRldmljZT92PWdmYTU5NDY3NTMyMi1iMjA4NzAxNTFhYjYzYmY2JmhsPTQ2OlRoZSUyMGFkZGVkJTIwcHJlY2F1dGlvbiUyMHNpbXBseSUyMGVtcGhhc2l6ZXMlMjBwcm9wZXIlMjBzdGVyaWxpemF0aW9uJTIwYW5kJTIwZG9lcyUyMG5vdCUyMGFmZmVjdCUyMHRoZSUyMGRldmljZSVFMiU4MCU5OXMlMjByaXNrJTIwcHJvZmlsZSZmb2N1cz0xIn0sIHsibGFiZWwiOiAiRm9yZWlnbi1sYW5ndWFnZSB0cmFuc2xhdGlvbiBvZiB0aGUgZGlyZWN0aW9ucyBmb3IgdXNlIGFkZGVkIiwgIndoeSI6ICJBIGZhaXRoZnVsIHRyYW5zbGF0aW9uIGRvZXMgbm90IGNoYW5nZSBhbnkgaGF6YXJkIG9yIGNhdXNlLiIsICJxdW90ZSI6ICJBcyBsb25nIGFzIHRoZSB0cmFuc2xhdGlvbiBkb2VzIG5vdCBjaGFuZ2UgdGhlIG1lYW5pbmcgb2YgdGhlIGluc3RydWN0aW9ucywgdGhpcyBjaGFuZ2Ugd291bGQgbm90IGFmZmVjdCB0aGUgZGV2aWNl4oCZcyByaXNrIHByb2ZpbGUiLCAic291cmNlIjogIkdlbmVyYWwgZ3VpZGFuY2UsIEV4YW1wbGUgNiIsICJsaW5rIjogImh0dHBzOi8vZmRhLmlubm9saXRpY3MuY29tL2d1aWRhbmNlL2RlY2lkaW5nLXdoZW4tc3VibWl0LTUxMGstY2hhbmdlLWV4aXN0aW5nLWRldmljZT92PWdmYTU5NDY3NTMyMi1iMjA4NzAxNTFhYjYzYmY2JmhsPTQ3OkFzJTIwbG9uZyUyMGFzJTIwdGhlJTIwdHJhbnNsYXRpb24lMjBkb2VzJTIwbm90JTIwY2hhbmdlJTIwdGhlJTIwbWVhbmluZyUyMG9mJTIwdGhlJTIwaW5zdHJ1Y3Rpb25zJTJDJTIwdGhpcyUyMGNoYW5nZSUyMHdvdWxkJTIwbm90JTIwYWZmZWN0JTIwdGhlJTIwZGV2aWNlJUUyJTgwJTk5cyUyMHJpc2slMjBwcm9maWxlJmZvY3VzPTEifV19LCAiUTNhfHNpZ25pZmljYW50IGhhcm0iOiB7InllcyI6IFt7ImxhYmVsIjogIkVFRyBtb25pdG9yIGFkZHMgYSBuZXcgYUVFRyBwYXJhbWV0ZXIiLCAid2h5IjogIkEgd3JvbmcgdmFsdWUgY2FuIGxlYWQgdG8gbWlzZGlhZ25vc2lzLCB3aGljaCBGREEgdHJlYXRzIGFzIHNpZ25pZmljYW50IGhhcm0uIiwgInF1b3RlIjogInRoZSByaXNrIG9mIGluY29ycmVjdCBvciBjb25mdXNpbmcgaW5mb3JtYXRpb24gdG8gdGhlIHBoeXNpY2lhbiBsZWFkaW5nIHRvIGEgbWlzZGlhZ25vc2lzLCB3aGljaCBjb3VsZCByZXN1bHQgaW4gc2lnbmlmaWNhbnQgaGFybSIsICJzb3VyY2UiOiAiU29mdHdhcmUgZ3VpZGFuY2UsIEFwcGVuZGl4IEEgMy4xIiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1zb2Z0d2FyZS1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZjZDNhYTQzODQ0LWE5YTI2Yzc3NWQyNzM5MDgmaGw9MjU6dGhlJTIwcmlzayUyMG9mJTIwaW5jb3JyZWN0JTIwb3IlMjBjb25mdXNpbmclMjBpbmZvcm1hdGlvbiUyMHRvJTIwdGhlJTIwcGh5c2ljaWFuJTIwbGVhZGluZyUyMHRvJTIwYSUyMG1pc2RpYWdub3NpcyUyQyUyMHdoaWNoJTIwY291bGQlMjByZXN1bHQlMjBpbiUyMHNpZ25pZmljYW50JTIwaGFybSZmb2N1cz0xIn0sIHsibGFiZWwiOiAiSW1wbGFudGFibGUgY2FyZGlhYyBtb25pdG9yIGFkZHMgYSBuZXcgcHJvZ3JhbW1pbmcgbW9kZSIsICJ3aHkiOiAiRW5lcmd5IHRyYW5zZmVyIHRvIHRoZSBwYXRpZW50IGR1cmluZyBwcm9ncmFtbWluZyBjb3VsZCBjYXVzZSBzaWduaWZpY2FudCBoYXJtLiIsICJxdW90ZSI6ICJUaGlzIGZlYXR1cmUgaW50cm9kdWNlcyBuZXcgcmlza3MgYmFzZWQgb24gdGhlIG5ldyBwcm9ncmFtbWluZyBtb2RlIHRoYXQgY291bGQgY2F1c2Ugc2lnbmlmaWNhbnQgaGFybSBhcyBhIHJlc3VsdCBvZiBlbmVyZ3kgdHJhbnNmZXIgdG8gdGhlIHBhdGllbnQiLCAic291cmNlIjogIlNvZnR3YXJlIGd1aWRhbmNlLCBBcHBlbmRpeCBBIDMuNCIsICJsaW5rIjogImh0dHBzOi8vZmRhLmlubm9saXRpY3MuY29tL2d1aWRhbmNlL2RlY2lkaW5nLXdoZW4tc3VibWl0LTUxMGstc29mdHdhcmUtY2hhbmdlLWV4aXN0aW5nLWRldmljZT92PWdmY2QzYWE0Mzg0NC1hOWEyNmM3NzVkMjczOTA4JmhsPTI2OlRoaXMlMjBmZWF0dXJlJTIwaW50cm9kdWNlcyUyMG5ldyUyMHJpc2tzJTIwYmFzZWQlMjBvbiUyMHRoZSUyMG5ldyUyMHByb2dyYW1taW5nJTIwbW9kZSUyMHRoYXQlMjBjb3VsZCUyMGNhdXNlJTIwc2lnbmlmaWNhbnQlMjBoYXJtJTIwYXMlMjBhJTIwcmVzdWx0JTIwb2YlMjBlbmVyZ3klMjB0cmFuc2ZlciUyMHRvJTIwdGhlJTIwcGF0aWVudCZmb2N1cz0xIn0sIHsibGFiZWwiOiAiRm9vdCBzd2l0Y2ggYWRkZWQgdG8gYW4gZWxlY3Ryb3N1cmdpY2FsIHVuaXQiLCAid2h5IjogIlVuaW50ZW5kZWQgYWN0aXZhdGlvbiBvZiBzdXJnaWNhbCBlbmVyZ3kgY291bGQgY2F1c2Ugc2VyaW91cyBoYXJtLiIsICJxdW90ZSI6ICJBdCBsZWFzdCBzb21lIG9mIHRoZXNlIHJpc2tzIHdlcmUgYXNzb2NpYXRlZCB3aXRoIHRoZSBwb3RlbnRpYWwgZm9yIHVuaW50ZW50aW9uYWwgYWN0aXZhdGlvbiBvZiBlbmVyZ3ksIHdoaWNoIGNvdWxkIHJlc3VsdCBpbiBhIHNlcmlvdXMgaGFybSIsICJzb3VyY2UiOiAiR2VuZXJhbCBndWlkYW5jZSwgRXhhbXBsZSAxOCIsICJsaW5rIjogImh0dHBzOi8vZmRhLmlubm9saXRpY3MuY29tL2d1aWRhbmNlL2RlY2lkaW5nLXdoZW4tc3VibWl0LTUxMGstY2hhbmdlLWV4aXN0aW5nLWRldmljZT92PWdmYTU5NDY3NTMyMi1iMjA4NzAxNTFhYjYzYmY2JmhsPTU0OkF0JTIwbGVhc3QlMjBzb21lJTIwb2YlMjB0aGVzZSUyMHJpc2tzJTIwd2VyZSUyMGFzc29jaWF0ZWQlMjB3aXRoJTIwdGhlJTIwcG90ZW50aWFsJTIwZm9yJTIwdW5pbnRlbnRpb25hbCUyMGFjdGl2YXRpb24lMjBvZiUyMGVuZXJneSUyQyUyMHdoaWNoJTIwY291bGQlMjByZXN1bHQlMjBpbiUyMGElMjBzZXJpb3VzJTIwaGFybSZmb2N1cz0xIn1dLCAibm8iOiBbeyJsYWJlbCI6ICJTb2Z0d2FyZSB0aW1lb3V0IHN0b3BzIGEgcHJvYmUgbW90b3Igb3ZlcmhlYXRpbmcgZHVyaW5nIG1haW50ZW5hbmNlIiwgIndoeSI6ICJUaGUgd29yc3QgY2FzZSBpcyBhIG1pbm9yIGJ1cm4gZnJvbSBhIHBhcnQgdG9vIGhvdCB0byB0b3VjaCwgYmVsb3cgdGhlIHNlcmlvdXMgdGhyZXNob2xkLiIsICJxdW90ZSI6ICJIb3dldmVyLCB0aGUgaGF6YXJkb3VzIHNpdHVhdGlvbiBjb3VsZCBub3QgY2F1c2Ugc2lnbmlmaWNhbnQgaGFybSIsICJzb3VyY2UiOiAiU29mdHdhcmUgZ3VpZGFuY2UsIEFwcGVuZGl4IEEgMy4zIiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1zb2Z0d2FyZS1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZjZDNhYTQzODQ0LWE5YTI2Yzc3NWQyNzM5MDgmaGw9MjY6SG93ZXZlciUyQyUyMHRoZSUyMGhhemFyZG91cyUyMHNpdHVhdGlvbiUyMGNvdWxkJTIwbm90JTIwY2F1c2UlMjBzaWduaWZpY2FudCUyMGhhcm0mZm9jdXM9MSJ9LCB7ImxhYmVsIjogIlVsdHJhc291bmQgdHJhbnNkdWNlciBncmlwIHJlZGVzaWduZWQgZm9yIGNvbWZvcnQiLCAid2h5IjogIk1pc2hhbmRsaW5nIHJpc2sgY2hhbmdlcywgYnV0IGl0cyBzZXZlcml0eSBmb3IgdGhpcyBkZXZpY2UgaXMgbG93LiIsICJxdW90ZSI6ICJXaGlsZSB0aGUgY2hhbmdlIHRvIHRoZSB0cmFuc2R1Y2VyIGdyaXAgb2YgdGhlIGRldmljZSBjb3VsZCBhZmZlY3QgY2VydGFpbiByaXNrcywgc3VjaCBhcyB0aGUgdXNlciBwb3RlbnRpYWxseSBtaXNoYW5kbGluZyB0aGUgZGV2aWNlLCB0aGUgc2V2ZXJpdHkgb2YgdGhlc2Ugcmlza3MgZm9yIHRoaXMgZGV2aWNlIGlzIGxvdyIsICJzb3VyY2UiOiAiR2VuZXJhbCBndWlkYW5jZSwgRXhhbXBsZSAxOSIsICJsaW5rIjogImh0dHBzOi8vZmRhLmlubm9saXRpY3MuY29tL2d1aWRhbmNlL2RlY2lkaW5nLXdoZW4tc3VibWl0LTUxMGstY2hhbmdlLWV4aXN0aW5nLWRldmljZT92PWdmYTU5NDY3NTMyMi1iMjA4NzAxNTFhYjYzYmY2JmhsPTU0OldoaWxlJTIwdGhlJTIwY2hhbmdlJTIwdG8lMjB0aGUlMjB0cmFuc2R1Y2VyJTIwZ3JpcCUyMG9mJTIwdGhlJTIwZGV2aWNlJTIwY291bGQlMjBhZmZlY3QlMjBjZXJ0YWluJTIwcmlza3MlMkMlMjBzdWNoJTIwYXMlMjB0aGUlMjB1c2VyJTIwcG90ZW50aWFsbHklMjBtaXNoYW5kbGluZyUyMHRoZSUyMGRldmljZSUyQyUyMHRoZSUyMHNldmVyaXR5JTIwb2YlMjB0aGVzZSUyMHJpc2tzJTIwZm9yJTIwdGhpcyUyMGRldmljZSUyMGlzJTIwbG93JmZvY3VzPTEifSwgeyJsYWJlbCI6ICJCYXR0ZXJ5IGNoYXJnaW5nIHN0YXRpb24gcmVkZXNpZ25lZCBmb3IgYSBwb3J0YWJsZSBkZXZpY2UiLCAid2h5IjogIlRoZSBkZXZpY2UgcnVucyB3aXRob3V0IHRoZSBzdGF0aW9uIGFuZCBpcyBub3QgbGlmZS1zdXN0YWluaW5nLCBzbyBzZXZlcml0aWVzIHN0YXkgbG93LiIsICJxdW90ZSI6ICJ0aGUgZGV2aWNlIGlzIG5vdCBsaWZlLXN1c3RhaW5pbmcgb3IgbGlmZS1zdXBwb3J0aW5nLCB0aGUgc2V2ZXJpdGllcyBvZiByaXNrcyBzdXJyb3VuZGluZyB0aGUgYmF0dGVyeSBjaGFyZ2luZyBzdGF0aW9uIGFyZSBsb3ciLCAic291cmNlIjogIkdlbmVyYWwgZ3VpZGFuY2UsIEV4YW1wbGUgMjEiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9kZWNpZGluZy13aGVuLXN1Ym1pdC01MTBrLWNoYW5nZS1leGlzdGluZy1kZXZpY2U/dj1nZmE1OTQ2NzUzMjItYjIwODcwMTUxYWI2M2JmNiZobD01NTp0aGUlMjBkZXZpY2UlMjBpcyUyMG5vdCUyMGxpZmUtc3VzdGFpbmluZyUyMG9yJTIwbGlmZS1zdXBwb3J0aW5nJTJDJTIwdGhlJTIwc2V2ZXJpdGllcyUyMG9mJTIwcmlza3MlMjBzdXJyb3VuZGluZyUyMHRoZSUyMGJhdHRlcnklMjBjaGFyZ2luZyUyMHN0YXRpb24lMjBhcmUlMjBsb3cmZm9jdXM9MSJ9XX0sICJRM2F8bm90IGVmZmVjdGl2ZWx5IG1pdGlnYXRlZCBpbiB0aGUgbW9zdCByZWNlbnRseSBjbGVhcmVkIGRldmljZSI6IHsieWVzIjogW3sibGFiZWwiOiAiRUVHIG1vbml0b3IgYWRkcyBhIG5ldyBhRUVHIHBhcmFtZXRlciIsICJ3aHkiOiAiVGhlIGNsZWFyZWQgZGV2aWNlIGhhcyBjb250cm9scyBmb3IgU0VGIGFuZCBQUCBlcnJvcnMgYnV0IG5vbmUgZm9yIHRoZSBuZXcgYUVFRyBjYWxjdWxhdGlvbi4iLCAicXVvdGUiOiAiU3VibWlzc2lvbiBvZiBhIG5ldyA1MTAoaykgaXMgcmVxdWlyZWQgYmVjYXVzZSB0aGUgbmV3IGNhdXNlIGlzIG5vdCBlZmZlY3RpdmVseSBtaXRpZ2F0ZWQgaW4gdGhlIG1vc3QgcmVjZW50bHkgY2xlYXJlZCBkZXZpY2UiLCAic291cmNlIjogIlNvZnR3YXJlIGd1aWRhbmNlLCBBcHBlbmRpeCBBIDMuMSIsICJsaW5rIjogImh0dHBzOi8vZmRhLmlubm9saXRpY3MuY29tL2d1aWRhbmNlL2RlY2lkaW5nLXdoZW4tc3VibWl0LTUxMGstc29mdHdhcmUtY2hhbmdlLWV4aXN0aW5nLWRldmljZT92PWdmY2QzYWE0Mzg0NC1hOWEyNmM3NzVkMjczOTA4JmhsPTI1OlN1Ym1pc3Npb24lMjBvZiUyMGElMjBuZXclMjA1MTAlMjhrJTI5JTIwaXMlMjByZXF1aXJlZCUyMGJlY2F1c2UlMjB0aGUlMjBuZXclMjBjYXVzZSUyMGlzJTIwbm90JTIwZWZmZWN0aXZlbHklMjBtaXRpZ2F0ZWQlMjBpbiUyMHRoZSUyMG1vc3QlMjByZWNlbnRseSUyMGNsZWFyZWQlMjBkZXZpY2UmZm9jdXM9MSJ9LCB7ImxhYmVsIjogIlNvZnR3YXJlIHRpbWVvdXQgc3RvcHMgYSBwcm9iZSBtb3RvciBvdmVyaGVhdGluZyBkdXJpbmcgbWFpbnRlbmFuY2UiLCAid2h5IjogIlRoZSBjbGVhcmVkIGRldmljZSBoYWQgbm8gYWRlcXVhdGUgY29udHJvbCBmb3Igb3ZlcmhlYXRpbmcsIHNvIHRoaXMgd29yZCBpcyBtZXQgZXZlbiB0aG91Z2ggdGhlIGhhcm0gaXMgbWlub3IuIiwgInF1b3RlIjogIlRoZSBjaGFuZ2UgcHJvdmlkZXMgYSBtaXRpZ2F0aW9uIHRvIGFuIGV4aXN0aW5nIGhhemFyZG91cyBzaXR1YXRpb24gdGhhdCB3YXMgbm90IGFwcHJvcHJpYXRlbHkgbWl0aWdhdGVkIGluIHRoZSBjbGVhcmVkIGRldmljZSIsICJzb3VyY2UiOiAiU29mdHdhcmUgZ3VpZGFuY2UsIEFwcGVuZGl4IEEgMy4zIiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1zb2Z0d2FyZS1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZjZDNhYTQzODQ0LWE5YTI2Yzc3NWQyNzM5MDgmaGw9MjY6VGhlJTIwY2hhbmdlJTIwcHJvdmlkZXMlMjBhJTIwbWl0aWdhdGlvbiUyMHRvJTIwYW4lMjBleGlzdGluZyUyMGhhemFyZG91cyUyMHNpdHVhdGlvbiUyMHRoYXQlMjB3YXMlMjBub3QlMjBhcHByb3ByaWF0ZWx5JTIwbWl0aWdhdGVkJTIwaW4lMjB0aGUlMjBjbGVhcmVkJTIwZGV2aWNlJmZvY3VzPTEifV0sICJubyI6IFt7ImxhYmVsIjogIk5ldyBjYXVzZSBjb3ZlcmVkIGJ5IGEgY29udHJvbCBidWlsdCBmb3IgYW5vdGhlciBoYXphcmQiLCAid2h5IjogIkEgY29udHJvbCBhbHJlYWR5IGluIHRoZSBjbGVhcmVkIGRldmljZSBjYW4gbWl0aWdhdGUgYSBuZXcgY2F1c2UsIHNvIHRoaXMgY3JpdGVyaW9uIGlzIG5vdCBtZXQuIiwgInF1b3RlIjogIk5ldyBoYXphcmRzLCBoYXphcmRvdXMgc2l0dWF0aW9ucywgb3IgY2F1c2VzIG9mIGhhemFyZG91cyBzaXR1YXRpb25zIG1heSBiZSBlZmZlY3RpdmVseSBtaXRpZ2F0ZWQgYnkgcmlzayBjb250cm9scyB0aGF0IHdlcmUgYWxyZWFkeSBpbmNsdWRlZCBpbiB0aGUgZGV2aWNlIGZvciBvdGhlciBoYXphcmRzLCBoYXphcmRvdXMgc2l0dWF0aW9ucywgb3IgY2F1c2VzIiwgInNvdXJjZSI6ICJTb2Z0d2FyZSBndWlkYW5jZSwgUXVlc3Rpb24gM2EgdGV4dCIsICJsaW5rIjogImh0dHBzOi8vZmRhLmlubm9saXRpY3MuY29tL2d1aWRhbmNlL2RlY2lkaW5nLXdoZW4tc3VibWl0LTUxMGstc29mdHdhcmUtY2hhbmdlLWV4aXN0aW5nLWRldmljZT92PWdmY2QzYWE0Mzg0NC1hOWEyNmM3NzVkMjczOTA4JmhsPTE2Ok5ldyUyMGhhemFyZHMlMkMlMjBoYXphcmRvdXMlMjBzaXR1YXRpb25zJTJDJTIwb3IlMjBjYXVzZXMlMjBvZiUyMGhhemFyZG91cyUyMHNpdHVhdGlvbnMlMjBtYXklMjBiZSUyMGVmZmVjdGl2ZWx5JTIwbWl0aWdhdGVkJTIwYnklMjByaXNrJTIwY29udHJvbHMlMjB0aGF0JTIwd2VyZSUyMGFscmVhZHklMjBpbmNsdWRlZCUyMGluJTIwdGhlJTIwZGV2aWNlJTIwZm9yJTIwb3RoZXIlMjBoYXphcmRzJTJDJTIwaGF6YXJkb3VzJTIwc2l0dWF0aW9ucyUyQyUyMG9yJTIwY2F1c2VzJmZvY3VzPTEifSwgeyJsYWJlbCI6ICJQQUNTIHByaW50cyBwYXRpZW50IGRlbW9ncmFwaGljcyBvbiBldmVyeSByZXBvcnQgcGFnZSIsICJ3aHkiOiAiUGFnZSBtaXgtdXAgd2FzIGFscmVhZHkgY29udHJvbGxlZCBieSBJRHMgb24gZWFjaCBwYWdlLCBzbyB0aGUgbmV3IHByaW50IGlzIHJlZHVuZGFudC4iLCAicXVvdGUiOiAiVGhlIHJpc2sgaXMgYWxyZWFkeSBzdWZmaWNpZW50bHkgbWl0aWdhdGVkIHdpdGggdGhlIG9yaWdpbmFsIHJpc2sgY29udHJvbHMiLCAic291cmNlIjogIlNvZnR3YXJlIGd1aWRhbmNlLCBBcHBlbmRpeCBBIDQuNCIsICJsaW5rIjogImh0dHBzOi8vZmRhLmlubm9saXRpY3MuY29tL2d1aWRhbmNlL2RlY2lkaW5nLXdoZW4tc3VibWl0LTUxMGstc29mdHdhcmUtY2hhbmdlLWV4aXN0aW5nLWRldmljZT92PWdmY2QzYWE0Mzg0NC1hOWEyNmM3NzVkMjczOTA4JmhsPTI5OlRoZSUyMHJpc2slMjBpcyUyMGFscmVhZHklMjBzdWZmaWNpZW50bHklMjBtaXRpZ2F0ZWQlMjB3aXRoJTIwdGhlJTIwb3JpZ2luYWwlMjByaXNrJTIwY29udHJvbHMmZm9jdXM9MSJ9LCB7ImxhYmVsIjogIlN1cmdpY2FsIHJvYm90IHNlbnNvciB0aHJlc2hvbGRzIG1hZGUgbW9yZSBub2lzZS10b2xlcmFudCIsICJ3aHkiOiAiVGhlIGNsZWFyZWQgdGlwLW1vdmVtZW50IGxpbWl0IHN0aWxsIGhvbGRzIHVuZGVyIGV2ZXJ5IGZhdWx0LCBzbyB0aGUgZXhpc3RpbmcgY29udHJvbCBzdGlsbCB3b3Jrcy4iLCAicXVvdGUiOiAiVGhlIG92ZXJhbGwgbW92ZW1lbnQgY3JpdGVyaWEgYXJlIG1ldCB1bmRlciBhbGwgZmF1bHQgY29uZGl0aW9ucyIsICJzb3VyY2UiOiAiU29mdHdhcmUgZ3VpZGFuY2UsIEFwcGVuZGl4IEEgNC4yIiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1zb2Z0d2FyZS1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZjZDNhYTQzODQ0LWE5YTI2Yzc3NWQyNzM5MDgmaGw9Mjg6VGhlJTIwb3ZlcmFsbCUyMG1vdmVtZW50JTIwY3JpdGVyaWElMjBhcmUlMjBtZXQlMjB1bmRlciUyMGFsbCUyMGZhdWx0JTIwY29uZGl0aW9ucyZmb2N1cz0xIn1dfSwgIlEzYnxuZXcgcmlzayBjb250cm9sIG1lYXN1cmUgb3IgYSBtb2RpZmljYXRpb24gb2YgYW4gZXhpc3RpbmcgcmlzayBjb250cm9sIG1lYXN1cmUiOiB7InllcyI6IFt7ImxhYmVsIjogIldpZGVuIHRoZSBzdXJnaWNhbCByb2JvdCdzIGFsbG93ZWQgdGlwIG1vdmVtZW50IGJlZm9yZSBhIGZhdWx0IGhhbHQiLCAid2h5IjogIlRoZSBjbGVhcmVkIHRpcC1tb3ZlbWVudCBzcGVjaWZpY2F0aW9uIHdhcyB0aGUgcmlzayBjb250cm9sLCBhbmQgdGhlIG5ldyB0aHJlc2hvbGRzIG5vIGxvbmdlciBtZWV0IGl0LiIsICJxdW90ZSI6ICJIb3dldmVyLCB0aGUgY2hhbmdlIG1vZGlmaWVkIGFuIGV4aXN0aW5nIHJpc2sgY29udHJvbCAoZGlzdGFuY2UgdGhhdCBjYW4gYmUgdHJhdmVsZWQgdW5kZXIgZmF1bHQgY29uZGl0aW9ucykgdGhhdCBjb3VsZCBzaWduaWZpY2FudGx5IGFmZmVjdCBzYWZldHkgb3IgZWZmZWN0aXZlbmVzcy4iLCAic291cmNlIjogIlNvZnR3YXJlIGd1aWRhbmNlLCBBcHBlbmRpeCBBIDQuMSIsICJsaW5rIjogImh0dHBzOi8vZmRhLmlubm9saXRpY3MuY29tL2d1aWRhbmNlL2RlY2lkaW5nLXdoZW4tc3VibWl0LTUxMGstc29mdHdhcmUtY2hhbmdlLWV4aXN0aW5nLWRldmljZT92PWdmY2QzYWE0Mzg0NC1hOWEyNmM3NzVkMjczOTA4JmhsPTI3Okhvd2V2ZXIlMkMlMjB0aGUlMjBjaGFuZ2UlMjBtb2RpZmllZCUyMGFuJTIwZXhpc3RpbmclMjByaXNrJTIwY29udHJvbCUyMCUyOGRpc3RhbmNlJTIwdGhhdCUyMGNhbiUyMGJlJTIwdHJhdmVsZWQlMjB1bmRlciUyMGZhdWx0JTIwY29uZGl0aW9ucyUyOSUyMHRoYXQlMjBjb3VsZCUyMHNpZ25pZmljYW50bHklMjBhZmZlY3QlMjBzYWZldHklMjBvciUyMGVmZmVjdGl2ZW5lc3MuJmZvY3VzPTEifSwgeyJsYWJlbCI6ICJBdXRvbWF0ZSB0aGUgaW52YWxpZCBzcGVjaW1lbi1JRCBjaGVjayB0aGF0IG9wZXJhdG9ycyBkaWQgYnkgaGFuZCIsICJ3aHkiOiAiUmVwbGFjaW5nIGEgbWFudWFsIGNoZWNrIHdpdGggYXV0b21hdGVkIGJsb2NraW5nIGNoYW5nZXMgaG93IHRoZSByaXNrIGNvbnRyb2wgd29ya3MsIGV2ZW4gdGhvdWdoIHRoZSBvbGQgb25lIHdhcyBhZGVxdWF0ZS4iLCAicXVvdGUiOiAiVGhpcyBzb2Z0d2FyZSBjaGFuZ2UgbW9kaWZpZXMgdGhlIHJpc2sgY29udHJvbCB0aGF0IGlkZW50aWZpZXMgaW52YWxpZCBjaGFyYWN0ZXJzIGJ5IGF1dG9tYXRpbmcgYSBwcmV2aW91c2x5IG1hbnVhbCBwcm9jZXNzLiIsICJzb3VyY2UiOiAiU29mdHdhcmUgZ3VpZGFuY2UsIEFwcGVuZGl4IEEgNC4zIiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1zb2Z0d2FyZS1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZjZDNhYTQzODQ0LWE5YTI2Yzc3NWQyNzM5MDgmaGw9Mjg6VGhpcyUyMHNvZnR3YXJlJTIwY2hhbmdlJTIwbW9kaWZpZXMlMjB0aGUlMjByaXNrJTIwY29udHJvbCUyMHRoYXQlMjBpZGVudGlmaWVzJTIwaW52YWxpZCUyMGNoYXJhY3RlcnMlMjBieSUyMGF1dG9tYXRpbmclMjBhJTIwcHJldmlvdXNseSUyMG1hbnVhbCUyMHByb2Nlc3MuJmZvY3VzPTEifSwgeyJsYWJlbCI6ICJTcGxpdCBvbmUgaW5mdXNpb24tcHVtcCBvY2NsdXNpb24gYWxhcm0gaW50byB1cHN0cmVhbSBhbmQgZG93bnN0cmVhbSBhbGFybXMiLCAid2h5IjogIlRoZSBhbGFybSBpcyB0aGUgcmlzayBjb250cm9sIGZvciBvY2NsdXNpb24sIGFuZCB0aGUgY2hhbmdlIGFsdGVycyBpdC4iLCAicXVvdGUiOiAiVGhlIGNoYW5nZSBtb2RpZmllcyB0aGUgcmlzayBjb250cm9sLCBpLmUuLCB0aGUgYWxhcm0sIHdoaWNoIGlzIGFscmVhZHkgcHJlc2VudCBmb3Igb2NjbHVzaW9uLiIsICJzb3VyY2UiOiAiU29mdHdhcmUgZ3VpZGFuY2UsIEFwcGVuZGl4IEEgNC41IiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1zb2Z0d2FyZS1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZjZDNhYTQzODQ0LWE5YTI2Yzc3NWQyNzM5MDgmaGw9Mjk6VGhlJTIwY2hhbmdlJTIwbW9kaWZpZXMlMjB0aGUlMjByaXNrJTIwY29udHJvbCUyQyUyMGkuZS4lMkMlMjB0aGUlMjBhbGFybSUyQyUyMHdoaWNoJTIwaXMlMjBhbHJlYWR5JTIwcHJlc2VudCUyMGZvciUyMG9jY2x1c2lvbi4mZm9jdXM9MSJ9XSwgIm5vIjogW3sibGFiZWwiOiAiUmVjYWxjdWxhdGUgcm9ib3Qgc2Vuc29yIHRocmVzaG9sZHMgdG8gY3V0IGZhbHNlIGZhdWx0IGhhbHRzIiwgIndoeSI6ICJUaGUgY29udHJvbCBpcyB0dW5lZCBhZ2FpbnN0IG5vaXNlIGJ1dCBzdGlsbCBtZWV0cyBpdHMgY2xlYXJlZCB0aXAtbW92ZW1lbnQgc3BlY2lmaWNhdGlvbiB1bmRlciBhbGwgZmF1bHQgY29uZGl0aW9ucy4iLCAicXVvdGUiOiAiVGhlIG1vZGlmaWVkIHNvZnR3YXJlIGNvbnRpbnVlZCB0byBtZWV0IHRoZSBzcGVjaWZpY2F0aW9uIGZvciBtb3ZlbWVudCBhdCB0aGUgdGlwIG9mIHRoZSBpbnN0cnVtZW50IGFmdGVyIGEgY29tcG9uZW50IGZhaWx1cmUuIiwgInNvdXJjZSI6ICJTb2Z0d2FyZSBndWlkYW5jZSwgQXBwZW5kaXggQSA0LjIiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9kZWNpZGluZy13aGVuLXN1Ym1pdC01MTBrLXNvZnR3YXJlLWNoYW5nZS1leGlzdGluZy1kZXZpY2U/dj1nZmNkM2FhNDM4NDQtYTlhMjZjNzc1ZDI3MzkwOCZobD0yNzpUaGUlMjBtb2RpZmllZCUyMHNvZnR3YXJlJTIwY29udGludWVkJTIwdG8lMjBtZWV0JTIwdGhlJTIwc3BlY2lmaWNhdGlvbiUyMGZvciUyMG1vdmVtZW50JTIwYXQlMjB0aGUlMjB0aXAlMjBvZiUyMHRoZSUyMGluc3RydW1lbnQlMjBhZnRlciUyMGElMjBjb21wb25lbnQlMjBmYWlsdXJlLiZmb2N1cz0xIn0sIHsibGFiZWwiOiAiUHJpbnQgcGF0aWVudCBkZW1vZ3JhcGhpY3Mgb24gZXZlcnkgUEFDUyBwYWdlIHRoYXQgYWxyZWFkeSBjYXJyaWVzIElEcyIsICJ3aHkiOiAiVGhlIGV4aXN0aW5nIHBlci1wYWdlIGlkZW50aWZpZXJzIGFscmVhZHkgY29udHJvbGxlZCB0aGUgbWl4LXVwIHJpc2ssIHNvIHRoZSBuZXcgZGF0YSBpcyBhIHJlZHVuZGFudCBjb250cm9sLiIsICJxdW90ZSI6ICJUaGlzIHNvZnR3YXJlIG1vZGlmaWNhdGlvbiBpcyBhIHJlZHVuZGFudCByaXNrIGNvbnRyb2wgdGhhdCB3YXMgbm90IG1hZGUgaW4gcmVzcG9uc2UgdG8gYSBuZXcsIG1vZGlmaWVkLCBvciBwcmV2aW91c2x5IHVua25vd24gaGF6YXJkb3VzIHNpdHVhdGlvbiBvciBjYXVzZSB0aGVyZW9mLiIsICJzb3VyY2UiOiAiU29mdHdhcmUgZ3VpZGFuY2UsIEFwcGVuZGl4IEEgNC40IiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1zb2Z0d2FyZS1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZjZDNhYTQzODQ0LWE5YTI2Yzc3NWQyNzM5MDgmaGw9Mjk6VGhpcyUyMHNvZnR3YXJlJTIwbW9kaWZpY2F0aW9uJTIwaXMlMjBhJTIwcmVkdW5kYW50JTIwcmlzayUyMGNvbnRyb2wlMjB0aGF0JTIwd2FzJTIwbm90JTIwbWFkZSUyMGluJTIwcmVzcG9uc2UlMjB0byUyMGElMjBuZXclMkMlMjBtb2RpZmllZCUyQyUyMG9yJTIwcHJldmlvdXNseSUyMHVua25vd24lMjBoYXphcmRvdXMlMjBzaXR1YXRpb24lMjBvciUyMGNhdXNlJTIwdGhlcmVvZi4mZm9jdXM9MSJ9LCB7ImxhYmVsIjogIkFkZCBhIHJlZHVuZGFudCBjb250cm9sIG9yIGVuaGFuY2UgYW4gYWxyZWFkeSBlZmZlY3RpdmUgb25lIiwgIndoeSI6ICJGREEncyBnZW5lcmFsIHJ1bGUgZm9yIHRoaXMgcXVlc3Rpb246IGV4dHJhIG9yIHN0cm9uZ2VyIGNvbnRyb2xzIGRvIG5vdCBjb3VudCB3aGVuIHRoZSBjbGVhcmVkIGNvbnRyb2xzIGFscmVhZHkgd29ya2VkLiIsICJxdW90ZSI6ICJDb252ZXJzZWx5LCBzdWJtaXNzaW9uIG9mIGEgbmV3IDUxMChrKSBpcyBsaWtlbHkgbm90IHJlcXVpcmVkIHdoZW4gaW1wbGVtZW50aW5nIHJlZHVuZGFudCByaXNrIGNvbnRyb2wgbWVhc3VyZXMgb3IgZW5oYW5jaW5nIGV4aXN0aW5nIHJpc2sgY29udHJvbCBtZWFzdXJlcyBpZiB0aGUgcmlzayBjb250cm9sIG1lYXN1cmVzIGluIHRoZSBtb3N0IHJlY2VudGx5IGNsZWFyZWQgZGV2aWNlIGVmZmVjdGl2ZWx5IG1pdGlnYXRlZCB0aGUgaGF6YXJkb3VzIHNpdHVhdGlvbi4iLCAic291cmNlIjogIlNvZnR3YXJlIGd1aWRhbmNlLCBTZWN0aW9uIFYsIFF1ZXN0aW9uIDNiIiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1zb2Z0d2FyZS1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZjZDNhYTQzODQ0LWE5YTI2Yzc3NWQyNzM5MDgmaGw9MTc6Q29udmVyc2VseSUyQyUyMHN1Ym1pc3Npb24lMjBvZiUyMGElMjBuZXclMjA1MTAlMjhrJTI5JTIwaXMlMjBsaWtlbHklMjBub3QlMjByZXF1aXJlZCUyMHdoZW4lMjBpbXBsZW1lbnRpbmclMjByZWR1bmRhbnQlMjByaXNrJTIwY29udHJvbCUyMG1lYXN1cmVzJTIwb3IlMjBlbmhhbmNpbmclMjBleGlzdGluZyUyMHJpc2slMjBjb250cm9sJTIwbWVhc3VyZXMlMjBpZiUyMHRoZSUyMHJpc2slMjBjb250cm9sJTIwbWVhc3VyZXMlMjBpbiUyMHRoZSUyMG1vc3QlMjByZWNlbnRseSUyMGNsZWFyZWQlMjBkZXZpY2UlMjBlZmZlY3RpdmVseSUyMG1pdGlnYXRlZCUyMHRoZSUyMGhhemFyZG91cyUyMHNpdHVhdGlvbi4mZm9jdXM9MSJ9XX0sICJRM2J8aGF6YXJkb3VzIHNpdHVhdGlvbiB0aGF0IGNvdWxkIHJlc3VsdCBpbiBzaWduaWZpY2FudCBoYXJtIjogeyJ5ZXMiOiBbeyJsYWJlbCI6ICJMb3N0IG9yIHN3YXBwZWQgbGFiIHJlc3VsdHMgZnJvbSBhIGJhZCBzcGVjaW1lbiBJRCIsICJ3aHkiOiAiV3Jvbmcgb3IgbWlzc2luZyByZXN1bHRzIGNhbiBkcml2ZSB0cmVhdG1lbnQgZGVjaXNpb25zLCB3aGljaCBGREEgc2F5cyBjb3VsZCBjYXVzZSBzaWduaWZpY2FudCBoYXJtLiIsICJxdW90ZSI6ICJMb3NzIG9yIHJlcGxhY2VtZW50IG9mIHJlc3VsdHMgY291bGQgaW5mbHVlbmNlIHRyZWF0bWVudCBkZWNpc2lvbnMsIHdoaWNoIGNvdWxkIGNhdXNlIHNpZ25pZmljYW50IGhhcm0uIiwgInNvdXJjZSI6ICJTb2Z0d2FyZSBndWlkYW5jZSwgQXBwZW5kaXggQSA0LjMiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9kZWNpZGluZy13aGVuLXN1Ym1pdC01MTBrLXNvZnR3YXJlLWNoYW5nZS1leGlzdGluZy1kZXZpY2U/dj1nZmNkM2FhNDM4NDQtYTlhMjZjNzc1ZDI3MzkwOCZobD0yODpMb3NzJTIwb3IlMjByZXBsYWNlbWVudCUyMG9mJTIwcmVzdWx0cyUyMGNvdWxkJTIwaW5mbHVlbmNlJTIwdHJlYXRtZW50JTIwZGVjaXNpb25zJTJDJTIwd2hpY2glMjBjb3VsZCUyMGNhdXNlJTIwc2lnbmlmaWNhbnQlMjBoYXJtLiZmb2N1cz0xIn0sIHsibGFiZWwiOiAiVW5yZXNvbHZlZCBvY2NsdXNpb24gaW4gYSBnZW5lcmFsLXB1cnBvc2UgaW5mdXNpb24gcHVtcCIsICJ3aHkiOiAiRkRBIHRyZWF0cyBvY2NsdXNpb24gZXZlbnRzIHRoYXQgYXJlIG5vdCByZXNvbHZlZCBjb3JyZWN0bHkgYXMgYWJsZSB0byBjYXVzZSBzaWduaWZpY2FudCBoYXJtLiIsICJxdW90ZSI6ICJlZmZlY3RpdmVseSBtaXRpZ2F0aW5nIHNwZWNpZmljIG9jY2x1c2lvbiBldmVudHMgdGhhdCBjb3VsZCByZXN1bHQgaW4gc2lnbmlmaWNhbnQgaGFybSBpZiBub3QgcmVzb2x2ZWQgY29ycmVjdGx5IiwgInNvdXJjZSI6ICJTb2Z0d2FyZSBndWlkYW5jZSwgQXBwZW5kaXggQSA0LjUiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9kZWNpZGluZy13aGVuLXN1Ym1pdC01MTBrLXNvZnR3YXJlLWNoYW5nZS1leGlzdGluZy1kZXZpY2U/dj1nZmNkM2FhNDM4NDQtYTlhMjZjNzc1ZDI3MzkwOCZobD0yOTplZmZlY3RpdmVseSUyMG1pdGlnYXRpbmclMjBzcGVjaWZpYyUyMG9jY2x1c2lvbiUyMGV2ZW50cyUyMHRoYXQlMjBjb3VsZCUyMHJlc3VsdCUyMGluJTIwc2lnbmlmaWNhbnQlMjBoYXJtJTIwaWYlMjBub3QlMjByZXNvbHZlZCUyMGNvcnJlY3RseSZmb2N1cz0xIn0sIHsibGFiZWwiOiAiVW5jb250cm9sbGVkIHN1cmdpY2FsLXJvYm90IGluc3RydW1lbnQgbW90aW9uIGFmdGVyIGEgc2Vuc29yIGZhaWx1cmUiLCAid2h5IjogIlRoZSB0aXAtbW92ZW1lbnQgbGltaXQgZ3VhcmRzIGEgaGF6YXJkb3VzIHNpdHVhdGlvbiB0aGF0IEZEQSBzYXlzIGNvdWxkIHJlc3VsdCBpbiBzaWduaWZpY2FudCBoYXJtLiIsICJxdW90ZSI6ICJ3aGljaCB3YXMgcmVxdWlyZWQgaW4gdGhlIG1vc3QgcmVjZW50bHkgY2xlYXJlZCBkZXZpY2UgdG8gZWZmZWN0aXZlbHkgbWl0aWdhdGUgdGhlIGhhemFyZG91cyBzaXR1YXRpb24gdGhhdCBjb3VsZCByZXN1bHQgaW4gc2lnbmlmaWNhbnQgaGFybSIsICJzb3VyY2UiOiAiU29mdHdhcmUgZ3VpZGFuY2UsIEFwcGVuZGl4IEEgNC4xIiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1zb2Z0d2FyZS1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZjZDNhYTQzODQ0LWE5YTI2Yzc3NWQyNzM5MDgmaGw9Mjc6d2hpY2glMjB3YXMlMjByZXF1aXJlZCUyMGluJTIwdGhlJTIwbW9zdCUyMHJlY2VudGx5JTIwY2xlYXJlZCUyMGRldmljZSUyMHRvJTIwZWZmZWN0aXZlbHklMjBtaXRpZ2F0ZSUyMHRoZSUyMGhhemFyZG91cyUyMHNpdHVhdGlvbiUyMHRoYXQlMjBjb3VsZCUyMHJlc3VsdCUyMGluJTIwc2lnbmlmaWNhbnQlMjBoYXJtJmZvY3VzPTEifV0sICJubyI6IFt7ImxhYmVsIjogIk1vdG9yIHRpbWVvdXQgdG8gc3RvcCBhIG1pbm9yIGJ1cm4gZHVyaW5nIGFuYWx5emVyIG1haW50ZW5hbmNlIiwgIndoeSI6ICJUaGUgY2hhbmdlIGFkZHMgYSBjb250cm9sLCBidXQgRkRBIGp1ZGdlZCB0aGUgYnVybiBoYXphcmQgdW5hYmxlIHRvIGNhdXNlIHNpZ25pZmljYW50IGhhcm0uIiwgInF1b3RlIjogIkhvd2V2ZXIsIHRoZSBoYXphcmRvdXMgc2l0dWF0aW9uIGNvdWxkIG5vdCBjYXVzZSBzaWduaWZpY2FudCBoYXJtLiIsICJzb3VyY2UiOiAiU29mdHdhcmUgZ3VpZGFuY2UsIEFwcGVuZGl4IEEgMy4zIiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1zb2Z0d2FyZS1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZjZDNhYTQzODQ0LWE5YTI2Yzc3NWQyNzM5MDgmaGw9MjY6SG93ZXZlciUyQyUyMHRoZSUyMGhhemFyZG91cyUyMHNpdHVhdGlvbiUyMGNvdWxkJTIwbm90JTIwY2F1c2UlMjBzaWduaWZpY2FudCUyMGhhcm0uJmZvY3VzPTEifSwgeyJsYWJlbCI6ICJTbm9vemUgYnV0dG9uIGZvciBhIGxvdy1yaXNrIGRpYWx5c2lzIGFsYXJtIiwgIndoeSI6ICJGREEgY2FsbHMgdGhlIGFsYXJtIGxvdy1yaXNrIGFuZCBub24tY3JpdGljYWwgYW5kIHNlbmRzIHRoZSBleGFtcGxlIHBhc3QgUXVlc3Rpb24gM2IgdG8gUXVlc3Rpb24gNC4iLCAicXVvdGUiOiAiQSBtYW51ZmFjdHVyZXIgbWFrZXMgYSBzb2Z0d2FyZSBtb2RpZmljYXRpb24gdG8gYWxsb3cgdXNlcnMgdG8gc2lsZW5jZSBhIGxvdy1yaXNrIGFsYXJtIG9uIGEgZGlhbHlzaXMgc3lzdGVtLiIsICJzb3VyY2UiOiAiU29mdHdhcmUgZ3VpZGFuY2UsIEFwcGVuZGl4IEEgNS43IiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1zb2Z0d2FyZS1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZjZDNhYTQzODQ0LWE5YTI2Yzc3NWQyNzM5MDgmaGw9MzI6QSUyMG1hbnVmYWN0dXJlciUyMG1ha2VzJTIwYSUyMHNvZnR3YXJlJTIwbW9kaWZpY2F0aW9uJTIwdG8lMjBhbGxvdyUyMHVzZXJzJTIwdG8lMjBzaWxlbmNlJTIwYSUyMGxvdy1yaXNrJTIwYWxhcm0lMjBvbiUyMGElMjBkaWFseXNpcyUyMHN5c3RlbS4mZm9jdXM9MSJ9XX0sICJRNHxjb3VsZCBzaWduaWZpY2FudGx5IGFmZmVjdCI6IHsieWVzIjogW3sibGFiZWwiOiAiUmFpc2UgYXNzYXkgdGhyb3VnaHB1dCAyMCUgYnkgc2hvcnRlbmluZyByZWFjdGlvbiBpbmN1YmF0aW9uIiwgIndoeSI6ICJBIHNob3J0ZXIgaW5jdWJhdGlvbiBjb3VsZCBjaGFuZ2UgYXNzYXkgcmVzdWx0cywgc28gZXZlbiBhIHBlcmZvcm1hbmNlIGdhaW4gaXMgc2lnbmlmaWNhbnQuIiwgInF1b3RlIjogIlRoZXJlIGlzIGEgc2hvcnRlciByZWFjdGlvbiBpbmN1YmF0aW9uIHRpbWUgYW5kIHRoZXJlZm9yZSBhIHBvdGVudGlhbCBzaWduaWZpY2FudCBpbXBhY3Qgb24gZGlhZ25vc3RpYyB1dGlsaXR5IGFuZCBlZmZlY3RpdmVuZXNzLiIsICJzb3VyY2UiOiAiU29mdHdhcmUgZ3VpZGFuY2UsIEFwcGVuZGl4IEEgNS4xIiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1zb2Z0d2FyZS1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZjZDNhYTQzODQ0LWE5YTI2Yzc3NWQyNzM5MDgmaGw9Mjk6VGhlcmUlMjBpcyUyMGElMjBzaG9ydGVyJTIwcmVhY3Rpb24lMjBpbmN1YmF0aW9uJTIwdGltZSUyMGFuZCUyMHRoZXJlZm9yZSUyMGElMjBwb3RlbnRpYWwlMjBzaWduaWZpY2FudCUyMGltcGFjdCUyMG9uJTIwZGlhZ25vc3RpYyUyMHV0aWxpdHklMjBhbmQlMjBlZmZlY3RpdmVuZXNzLiZmb2N1cz0xIn0sIHsibGFiZWwiOiAiRW5oYW5jZSBhbiBJQ1UgYXJyaHl0aG1pYS1kZXRlY3Rpb24gYWxnb3JpdGhtIiwgIndoeSI6ICJBbiBpbXByb3ZlbWVudCB0aGF0IHNoaWZ0cyBzZW5zaXRpdml0eSBhbmQgc3BlY2lmaWNpdHkgY2hhbmdlcyB0aGUgZGV2aWNlJ3MgY29yZSBkaWFnbm9zdGljIHBlcmZvcm1hbmNlLiIsICJxdW90ZSI6ICJUaGUgbW9kaWZpY2F0aW9uIGhhcyBkaXJlY3QgaW1wYWN0IG9uIGRpYWdub3N0aWMgcGVyZm9ybWFuY2Ugb2YgdGhlIGRldmljZSBpbiB0aGF0IHRoZSBwZXJmb3JtYW5jZSBvZiB0aGUgYXJyaHl0aG1pYSBkZXRlY3Rpb24gd2FzIGNoYW5nZWQuIiwgInNvdXJjZSI6ICJTb2Z0d2FyZSBndWlkYW5jZSwgQXBwZW5kaXggQSA1LjYiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9kZWNpZGluZy13aGVuLXN1Ym1pdC01MTBrLXNvZnR3YXJlLWNoYW5nZS1leGlzdGluZy1kZXZpY2U/dj1nZmNkM2FhNDM4NDQtYTlhMjZjNzc1ZDI3MzkwOCZobD0zMTpUaGUlMjBtb2RpZmljYXRpb24lMjBoYXMlMjBkaXJlY3QlMjBpbXBhY3QlMjBvbiUyMGRpYWdub3N0aWMlMjBwZXJmb3JtYW5jZSUyMG9mJTIwdGhlJTIwZGV2aWNlJTIwaW4lMjB0aGF0JTIwdGhlJTIwcGVyZm9ybWFuY2UlMjBvZiUyMHRoZSUyMGFycmh5dGhtaWElMjBkZXRlY3Rpb24lMjB3YXMlMjBjaGFuZ2VkLiZmb2N1cz0xIn0sIHsibGFiZWwiOiAiSW1wcm92ZW1lbnRzIGNvdW50OiBhIHNpZ25pZmljYW50IGVmZmVjdCBjYW4gYmUgcG9zaXRpdmUiLCAid2h5IjogIkZEQSBzdGF0ZXMgdGhhdCB0aGUgODA3LjgxKGEpKDMpIHRocmVzaG9sZCBjb3ZlcnMgYmVuZWZpY2lhbCBjaGFuZ2VzIGFzIHdlbGwgYXMgaGFybWZ1bCBvbmVzLiIsICJxdW90ZSI6ICJUaGlzIHNpZ25pZmljYW50IGVmZmVjdCBjb3VsZCBiZSBwb3NpdGl2ZSBvciBuZWdhdGl2ZS4iLCAic291cmNlIjogIlNvZnR3YXJlIGd1aWRhbmNlLCBTZWN0aW9uIFYiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9kZWNpZGluZy13aGVuLXN1Ym1pdC01MTBrLXNvZnR3YXJlLWNoYW5nZS1leGlzdGluZy1kZXZpY2U/dj1nZmNkM2FhNDM4NDQtYTlhMjZjNzc1ZDI3MzkwOCZobD0xMzpUaGlzJTIwc2lnbmlmaWNhbnQlMjBlZmZlY3QlMjBjb3VsZCUyMGJlJTIwcG9zaXRpdmUlMjBvciUyMG5lZ2F0aXZlLiZmb2N1cz0xIn1dLCAibm8iOiBbeyJsYWJlbCI6ICJSYWlzZSB0aHJvdWdocHV0IDUlIGJ5IHNwZWVkaW5nIHNhbXBsZSBkZWxpdmVyeSB0byBhc3BpcmF0aW9uIiwgIndoeSI6ICJPbmx5IHByZS1hbmFseXRpYyB0cmFuc3BvcnQgdGltaW5nIGNoYW5nZWQsIHNvIGFzc2F5IHBlcmZvcm1hbmNlIHRpZWQgdG8gdGhlIGludGVuZGVkIHVzZSBpcyB1bnRvdWNoZWQuIiwgInF1b3RlIjogIlRoZSBtb2RpZmljYXRpb25zIGRvIG5vdCBpbXBhY3QgYXNzYXkgcGVyZm9ybWFuY2UgYXMgaXQgcmVsYXRlcyB0byBpbnRlbmRlZCB1c2UuIiwgInNvdXJjZSI6ICJTb2Z0d2FyZSBndWlkYW5jZSwgQXBwZW5kaXggQSA1LjIiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9kZWNpZGluZy13aGVuLXN1Ym1pdC01MTBrLXNvZnR3YXJlLWNoYW5nZS1leGlzdGluZy1kZXZpY2U/dj1nZmNkM2FhNDM4NDQtYTlhMjZjNzc1ZDI3MzkwOCZobD0zMDpUaGUlMjBtb2RpZmljYXRpb25zJTIwZG8lMjBub3QlMjBpbXBhY3QlMjBhc3NheSUyMHBlcmZvcm1hbmNlJTIwYXMlMjBpdCUyMHJlbGF0ZXMlMjB0byUyMGludGVuZGVkJTIwdXNlLiZmb2N1cz0xIn0sIHsibGFiZWwiOiAiRW5sYXJnZSB0aGUgc3RlcmlsaXplciBkaXNwbGF5IGZvbnQgZm9yIHRlbXBlcmF0dXJlLCBwcmVzc3VyZSBhbmQgdGltZSIsICJ3aHkiOiAiVGhlIHNhbWUgaW5mb3JtYXRpb24gc2hvd3MgaW4gdGhlIHNhbWUgcGxhY2UsIHNvIGZ1bmN0aW9uIGFuZCBwZXJmb3JtYW5jZSBhcmUgdW5jaGFuZ2VkLiIsICJxdW90ZSI6ICJTaW5jZSB0aGUgaW5mb3JtYXRpb24gd2FzIHByZXZpb3VzbHkgZGlzcGxheWVkLCB0aGUgY2hhbmdlIGhhcyBubyBzaWduaWZpY2FudCBlZmZlY3Qgb24gdGhlIGZ1bmN0aW9uYWxpdHkgb3IgdGhlIHBlcmZvcm1hbmNlIG9mIHRoZSBkZXZpY2UuIiwgInNvdXJjZSI6ICJTb2Z0d2FyZSBndWlkYW5jZSwgQXBwZW5kaXggQSA1LjUiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9kZWNpZGluZy13aGVuLXN1Ym1pdC01MTBrLXNvZnR3YXJlLWNoYW5nZS1leGlzdGluZy1kZXZpY2U/dj1nZmNkM2FhNDM4NDQtYTlhMjZjNzc1ZDI3MzkwOCZobD0zMTpTaW5jZSUyMHRoZSUyMGluZm9ybWF0aW9uJTIwd2FzJTIwcHJldmlvdXNseSUyMGRpc3BsYXllZCUyQyUyMHRoZSUyMGNoYW5nZSUyMGhhcyUyMG5vJTIwc2lnbmlmaWNhbnQlMjBlZmZlY3QlMjBvbiUyMHRoZSUyMGZ1bmN0aW9uYWxpdHklMjBvciUyMHRoZSUyMHBlcmZvcm1hbmNlJTIwb2YlMjB0aGUlMjBkZXZpY2UuJmZvY3VzPTEifSwgeyJsYWJlbCI6ICJTbm9vemUgYnV0dG9uIGZvciBhIGxvdy1yaXNrIGRpYWx5c2lzIGFsYXJtIiwgIndoeSI6ICJUaGUgYWxhcm0gY3JpdGVyaWEgc3RheSBhcyBjbGVhcmVkLCBhbmQgc2lsZW5jaW5nIGEgbm9uLWNyaXRpY2FsIGFsYXJtIGxlYXZlcyBjbGluaWNhbCBmdW5jdGlvbiBpbnRhY3QuIiwgInF1b3RlIjogIlRoZSBzaWxlbmNpbmcgb2YgYSBub24tY3JpdGljYWwgYWxhcm0gZG9lcyBub3QgaW1wYWN0IHRoZSBjbGluaWNhbCBmdW5jdGlvbmFsaXR5LiIsICJzb3VyY2UiOiAiU29mdHdhcmUgZ3VpZGFuY2UsIEFwcGVuZGl4IEEgNS43IiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1zb2Z0d2FyZS1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZjZDNhYTQzODQ0LWE5YTI2Yzc3NWQyNzM5MDgmaGw9MzI6VGhlJTIwc2lsZW5jaW5nJTIwb2YlMjBhJTIwbm9uLWNyaXRpY2FsJTIwYWxhcm0lMjBkb2VzJTIwbm90JTIwaW1wYWN0JTIwdGhlJTIwY2xpbmljYWwlMjBmdW5jdGlvbmFsaXR5LiZmb2N1cz0xIn1dfSwgIlE0fGNsaW5pY2FsIGZ1bmN0aW9uYWxpdHkgb3IgcGVyZm9ybWFuY2Ugc3BlY2lmaWNhdGlvbnMiOiB7InllcyI6IFt7ImxhYmVsIjogIlNob3J0ZXIgaW5jdWJhdGlvbiByYWlzZXMgYW5hbHl6ZXIgc2FtcGxlIHRocm91Z2hwdXQgMjAlIiwgIndoeSI6ICJUaHJvdWdocHV0IGlzIG9uIEZEQSdzIGxpc3Qgb2YgcGVyZm9ybWFuY2Ugc3BlY2lmaWNhdGlvbnMsIGFuZCB0aGUgY2hhbmdlIGFsdGVycyBpdCBieSBzaG9ydGVuaW5nIHJlYWN0aW9uIGluY3ViYXRpb24uIiwgInF1b3RlIjogIlRoZSBjaGFuZ2UgaXMgdG8gaW5jcmVhc2UgdGhlIHRocm91Z2hwdXQgcGVyZm9ybWFuY2Ugc3BlY2lmaWNhdGlvbiIsICJzb3VyY2UiOiAiU29mdHdhcmUgZ3VpZGFuY2UsIEFwcGVuZGl4IEEgNS4xIiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1zb2Z0d2FyZS1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZjZDNhYTQzODQ0LWE5YTI2Yzc3NWQyNzM5MDgmaGw9Mjk6VGhlJTIwY2hhbmdlJTIwaXMlMjB0byUyMGluY3JlYXNlJTIwdGhlJTIwdGhyb3VnaHB1dCUyMHBlcmZvcm1hbmNlJTIwc3BlY2lmaWNhdGlvbiZmb2N1cz0xIn0sIHsibGFiZWwiOiAiQXJyaHl0aG1pYSBhbGdvcml0aG0gY2hhbmdlIHNoaWZ0cyBkZXRlY3Rpb24gc2Vuc2l0aXZpdHkgYW5kIHNwZWNpZmljaXR5IiwgIndoeSI6ICJEZXRlY3Rpb24gc2Vuc2l0aXZpdHkgYW5kIHNwZWNpZmljaXR5IGFyZSB0aGUgZGV2aWNlJ3MgY2xpbmljYWwgcGVyZm9ybWFuY2UsIHNvIHRoZSBhdHRyaWJ1dGUgY2hhbmdlZCBpcyBhIHBlcmZvcm1hbmNlIHNwZWNpZmljYXRpb24uIiwgInF1b3RlIjogIlRoZSBjaGFuZ2UgaW1wYWN0cyBzZW5zaXRpdml0eSBhbmQgc3BlY2lmaWNpdHkgYW5kIHRoZXJlZm9yZSB0aGUgZGV0ZWN0aW9uIG9mIGFycmh5dGhtaWFzLCB3aGljaCBhcmUgY3JpdGljYWwgdG8gdGhlIGNsaW5pY2FsIHBlcmZvcm1hbmNlIG9mIHRoZSBkZXZpY2UuIiwgInNvdXJjZSI6ICJTb2Z0d2FyZSBndWlkYW5jZSwgQXBwZW5kaXggQSA1LjYiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9kZWNpZGluZy13aGVuLXN1Ym1pdC01MTBrLXNvZnR3YXJlLWNoYW5nZS1leGlzdGluZy1kZXZpY2U/dj1nZmNkM2FhNDM4NDQtYTlhMjZjNzc1ZDI3MzkwOCZobD0zMTpUaGUlMjBjaGFuZ2UlMjBpbXBhY3RzJTIwc2Vuc2l0aXZpdHklMjBhbmQlMjBzcGVjaWZpY2l0eSUyMGFuZCUyMHRoZXJlZm9yZSUyMHRoZSUyMGRldGVjdGlvbiUyMG9mJTIwYXJyaHl0aG1pYXMlMkMlMjB3aGljaCUyMGFyZSUyMGNyaXRpY2FsJTIwdG8lMjB0aGUlMjBjbGluaWNhbCUyMHBlcmZvcm1hbmNlJTIwb2YlMjB0aGUlMjBkZXZpY2UuJmZvY3VzPTEifSwgeyJsYWJlbCI6ICJSZWFnZW50IG1hdGVyaWFsIGNoYW5nZSBtb3ZlcyBhbiBJVkQncyBhbmFseXRpY2FsIGN1dC1vZmYiLCAid2h5IjogIkN1dC1vZmYgaXMgb25lIG9mIHRoZSBhbmFseXRpY2FsIHBlcmZvcm1hbmNlIHNwZWNpZmljYXRpb25zIEZEQSBsaXN0cyBmb3IgSVZEcy4iLCAicXVvdGUiOiAiYSBjaGFuZ2UgaW4gdGhlIG1hdGVyaWFsIG9mIHRoZSByZWFnZW50IHdvdWxkIHJlc3VsdCBpbiBhIGNoYW5nZSBpbiBhbmFseXRpY2FsIGN1dC1vZmYgdGhhdCBjb3VsZCBzaWduaWZpY2FudGx5IGNoYW5nZSB0aGUgcGVyZm9ybWFuY2Ugb2YgdGhlIG1vZGlmaWVkIHRlc3QiLCAic291cmNlIjogIkdlbmVyYWwgZ3VpZGFuY2UsIEV4YW1wbGUgMzIiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9kZWNpZGluZy13aGVuLXN1Ym1pdC01MTBrLWNoYW5nZS1leGlzdGluZy1kZXZpY2U/dj1nZmE1OTQ2NzUzMjItYjIwODcwMTUxYWI2M2JmNiZobD02MjphJTIwY2hhbmdlJTIwaW4lMjB0aGUlMjBtYXRlcmlhbCUyMG9mJTIwdGhlJTIwcmVhZ2VudCUyMHdvdWxkJTIwcmVzdWx0JTIwaW4lMjBhJTIwY2hhbmdlJTIwaW4lMjBhbmFseXRpY2FsJTIwY3V0LW9mZiUyMHRoYXQlMjBjb3VsZCUyMHNpZ25pZmljYW50bHklMjBjaGFuZ2UlMjB0aGUlMjBwZXJmb3JtYW5jZSUyMG9mJTIwdGhlJTIwbW9kaWZpZWQlMjB0ZXN0JmZvY3VzPTEifV0sICJubyI6IFt7ImxhYmVsIjogIlN0ZXJpbGl6ZXIgZGlzcGxheSBzaG93cyB0ZW1wZXJhdHVyZSwgcHJlc3N1cmUsIGN5Y2xlIHRpbWUgaW4gbGFyZ2VyIGZvbnQiLCAid2h5IjogIkZvbnQgc2l6ZSBvZiB2YWx1ZXMgYWxyZWFkeSBvbiBzY3JlZW4gaXMgcHJlc2VudGF0aW9uLCBub3QgYSBmdW5jdGlvbmFsIG9yIHBlcmZvcm1hbmNlIHNwZWNpZmljYXRpb24uIiwgInF1b3RlIjogIlNpbmNlIHRoZSBpbmZvcm1hdGlvbiB3YXMgcHJldmlvdXNseSBkaXNwbGF5ZWQsIHRoZSBjaGFuZ2UgaGFzIG5vIHNpZ25pZmljYW50IGVmZmVjdCBvbiB0aGUgZnVuY3Rpb25hbGl0eSBvciB0aGUgcGVyZm9ybWFuY2Ugb2YgdGhlIGRldmljZS4iLCAic291cmNlIjogIlNvZnR3YXJlIGd1aWRhbmNlLCBBcHBlbmRpeCBBIDUuNSIsICJsaW5rIjogImh0dHBzOi8vZmRhLmlubm9saXRpY3MuY29tL2d1aWRhbmNlL2RlY2lkaW5nLXdoZW4tc3VibWl0LTUxMGstc29mdHdhcmUtY2hhbmdlLWV4aXN0aW5nLWRldmljZT92PWdmY2QzYWE0Mzg0NC1hOWEyNmM3NzVkMjczOTA4JmhsPTMxOlNpbmNlJTIwdGhlJTIwaW5mb3JtYXRpb24lMjB3YXMlMjBwcmV2aW91c2x5JTIwZGlzcGxheWVkJTJDJTIwdGhlJTIwY2hhbmdlJTIwaGFzJTIwbm8lMjBzaWduaWZpY2FudCUyMGVmZmVjdCUyMG9uJTIwdGhlJTIwZnVuY3Rpb25hbGl0eSUyMG9yJTIwdGhlJTIwcGVyZm9ybWFuY2UlMjBvZiUyMHRoZSUyMGRldmljZS4mZm9jdXM9MSJ9LCB7ImxhYmVsIjogIkNhcHN1bGUgZW5kb3Njb3B5IHJldmlldyBzY3JlZW4gc2hvd3MgZm91ciBpbWFnZXMgaW5zdGVhZCBvZiB0d28iLCAid2h5IjogIlRoZSBzY3JlZW4gbGF5b3V0IGNoYW5nZXMsIGJ1dCB0aGUgaW1hZ2UtcXVhbGl0eSBzcGVjaWZpY2F0aW9ucyBkbyBub3QuIiwgInF1b3RlIjogIlRoZSBzcGVjaWZpY2F0aW9ucyBmb3IgdGhlIGltYWdlIHF1YWxpdHkgYXJlIG5vdCBpbXBhY3RlZCBieSB0aGlzIGNoYW5nZS4iLCAic291cmNlIjogIlNvZnR3YXJlIGd1aWRhbmNlLCBBcHBlbmRpeCBBIDUuMyIsICJsaW5rIjogImh0dHBzOi8vZmRhLmlubm9saXRpY3MuY29tL2d1aWRhbmNlL2RlY2lkaW5nLXdoZW4tc3VibWl0LTUxMGstc29mdHdhcmUtY2hhbmdlLWV4aXN0aW5nLWRldmljZT92PWdmY2QzYWE0Mzg0NC1hOWEyNmM3NzVkMjczOTA4JmhsPTMwOlRoZSUyMHNwZWNpZmljYXRpb25zJTIwZm9yJTIwdGhlJTIwaW1hZ2UlMjBxdWFsaXR5JTIwYXJlJTIwbm90JTIwaW1wYWN0ZWQlMjBieSUyMHRoaXMlMjBjaGFuZ2UuJmZvY3VzPTEifSwgeyJsYWJlbCI6ICJNb25pdG9yIHNvZnR3YXJlIGFjY2VwdHMgT0VNIFNwTzIgbW9kdWxlJ3MgbmV3IHZlcnNpb24gbnVtYmVyIiwgIndoeSI6ICJSZWNvZ25pemluZyBhIG5ldyBtb2R1bGUgdmVyc2lvbiBpcyBhbiBpbnRlcm9wZXJhYmlsaXR5IGhhbmRzaGFrZS4gU3BPMiBhY3F1aXNpdGlvbiBhbmQgcHJvY2Vzc2luZyBzcGVjaWZpY2F0aW9ucyBhcmUgdW5jaGFuZ2VkLiIsICJxdW90ZSI6ICJUaGUgY2xpbmljYWwgZnVuY3Rpb25hbGl0eSBpcyBub3QgYWZmZWN0ZWQuIFRoZSBzb2Z0d2FyZSBtb2RpZmljYXRpb24gYWxsb3dzIGZvciBzdWNjZXNzZnVsIGludGVncmF0aW9uIG9mIHRoaXMgdmVyc2lvbiBvZiB0aGUgc2Vuc29yLiIsICJzb3VyY2UiOiAiU29mdHdhcmUgZ3VpZGFuY2UsIEFwcGVuZGl4IEEgNS40IiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1zb2Z0d2FyZS1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZjZDNhYTQzODQ0LWE5YTI2Yzc3NWQyNzM5MDgmaGw9MzE6VGhlJTIwY2xpbmljYWwlMjBmdW5jdGlvbmFsaXR5JTIwaXMlMjBub3QlMjBhZmZlY3RlZC4lMjBUaGUlMjBzb2Z0d2FyZSUyMG1vZGlmaWNhdGlvbiUyMGFsbG93cyUyMGZvciUyMHN1Y2Nlc3NmdWwlMjBpbnRlZ3JhdGlvbiUyMG9mJTIwdGhpcyUyMHZlcnNpb24lMjBvZiUyMHRoZSUyMHNlbnNvci4mZm9jdXM9MSJ9XX0sICJRNHxkaXJlY3RseSBhc3NvY2lhdGVkIHdpdGggdGhlIGludGVuZGVkIHVzZSI6IHsieWVzIjogW3sibGFiZWwiOiAiRW5oYW5jZWQgSUNVIGFycmh5dGhtaWEgZGV0ZWN0aW9uIGFsZ29yaXRobSIsICJ3aHkiOiAiQXJyaHl0aG1pYSBkZXRlY3Rpb24gaXMgdGhlIGRldmljZSdzIGludGVuZGVkIHVzZSwgc28gdGhlIGNoYW5nZWQgZGV0ZWN0aW9uIHBlcmZvcm1hbmNlIGlzIHRpZWQgZGlyZWN0bHkgdG8gaXQuIiwgInF1b3RlIjogIlRoZSBtb2RpZmljYXRpb24gaGFzIGRpcmVjdCBpbXBhY3Qgb24gZGlhZ25vc3RpYyBwZXJmb3JtYW5jZSBvZiB0aGUgZGV2aWNlIGluIHRoYXQgdGhlIHBlcmZvcm1hbmNlIG9mIHRoZSBhcnJoeXRobWlhIGRldGVjdGlvbiB3YXMgY2hhbmdlZCIsICJzb3VyY2UiOiAiU29mdHdhcmUgZ3VpZGFuY2UsIEFwcGVuZGl4IEEgNS42IiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1zb2Z0d2FyZS1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZjZDNhYTQzODQ0LWE5YTI2Yzc3NWQyNzM5MDgmaGw9MzE6VGhlJTIwbW9kaWZpY2F0aW9uJTIwaGFzJTIwZGlyZWN0JTIwaW1wYWN0JTIwb24lMjBkaWFnbm9zdGljJTIwcGVyZm9ybWFuY2UlMjBvZiUyMHRoZSUyMGRldmljZSUyMGluJTIwdGhhdCUyMHRoZSUyMHBlcmZvcm1hbmNlJTIwb2YlMjB0aGUlMjBhcnJoeXRobWlhJTIwZGV0ZWN0aW9uJTIwd2FzJTIwY2hhbmdlZCZmb2N1cz0xIn0sIHsibGFiZWwiOiAiU2hvcnRlciBhc3NheSBpbmN1YmF0aW9uIHRvIHJhaXNlIHNhbXBsZSB0aHJvdWdocHV0IDIwJSIsICJ3aHkiOiAiVGhlIHNob3J0ZXIgaW5jdWJhdGlvbiByZWFjaGVzIGFzc2F5IHBlcmZvcm1hbmNlLCB3aGljaCBmZWVkcyB0aGUgZGlhZ25vc2lzIHRoZSBhbmFseXplciBpcyBpbnRlbmRlZCB0byBzdXBwb3J0LiIsICJxdW90ZSI6ICJEZWNyZWFzaW5nIHNhbXBsZSBhc3NheSB0aW1lcyBjb3VsZCBoYXZlIGFuIGltcGFjdCBvbiBydW4gcGVyZm9ybWFuY2UgYW5kL29yIGFzc2F5IHBlcmZvcm1hbmNlIGluIGEgbWFubmVyIHRoYXQgY291bGQgaGF2ZSBhIG5lZ2F0aXZlIGltcGFjdCBvbiBkaWFnbm9zaXMgb3IgdGhlcmFweSBkZWxpdmVyZWQgdG8gcGF0aWVudHMuIiwgInNvdXJjZSI6ICJTb2Z0d2FyZSBndWlkYW5jZSwgQXBwZW5kaXggQSA1LjEiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9kZWNpZGluZy13aGVuLXN1Ym1pdC01MTBrLXNvZnR3YXJlLWNoYW5nZS1leGlzdGluZy1kZXZpY2U/dj1nZmNkM2FhNDM4NDQtYTlhMjZjNzc1ZDI3MzkwOCZobD0yOTpEZWNyZWFzaW5nJTIwc2FtcGxlJTIwYXNzYXklMjB0aW1lcyUyMGNvdWxkJTIwaGF2ZSUyMGFuJTIwaW1wYWN0JTIwb24lMjBydW4lMjBwZXJmb3JtYW5jZSUyMGFuZCUyRm9yJTIwYXNzYXklMjBwZXJmb3JtYW5jZSUyMGluJTIwYSUyMG1hbm5lciUyMHRoYXQlMjBjb3VsZCUyMGhhdmUlMjBhJTIwbmVnYXRpdmUlMjBpbXBhY3QlMjBvbiUyMGRpYWdub3NpcyUyMG9yJTIwdGhlcmFweSUyMGRlbGl2ZXJlZCUyMHRvJTIwcGF0aWVudHMuJmZvY3VzPTEifSwgeyJsYWJlbCI6ICJFbmRvc2NvcGUgd29ya2luZy1jaGFubmVsIGRpYW1ldGVyIGNoYW5nZWQgYnkgMSBtbSIsICJ3aHkiOiAiVGhlIGdlbmVyYWwgZ3VpZGFuY2UgdHJlYXRzIGEgZGltZW5zaW9uIGNyaXRpY2FsIHRvIHRoZSBkZXZpY2UncyBvcGVyYXRpb24gYXMgbW9yZSBsaWtlbHkgdG8gbWF0dGVyIHRoYW4gYSBub24tY3JpdGljYWwgb25lIG9mIHRoZSBzYW1lIHNpemUuIiwgInF1b3RlIjogImEgMSBtbSBjaGFuZ2UgdG8gdGhlIGRpYW1ldGVyIG9mIGEgd29ya2luZyBjaGFubmVsIG9mIGFuIGVuZG9zY29wZSBpcyBtb3JlIGxpa2VseSB0byBzaWduaWZpY2FudGx5IGFmZmVjdCBzYWZldHkgb3IgZWZmZWN0aXZlbmVzcyIsICJzb3VyY2UiOiAiR2VuZXJhbCBndWlkYW5jZSwgQjUgZGltZW5zaW9uIGNoYW5nZXMiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9kZWNpZGluZy13aGVuLXN1Ym1pdC01MTBrLWNoYW5nZS1leGlzdGluZy1kZXZpY2U/dj1nZmE1OTQ2NzUzMjItYjIwODcwMTUxYWI2M2JmNiZobD0yOTphJTIwMSUyMG1tJTIwY2hhbmdlJTIwdG8lMjB0aGUlMjBkaWFtZXRlciUyMG9mJTIwYSUyMHdvcmtpbmclMjBjaGFubmVsJTIwb2YlMjBhbiUyMGVuZG9zY29wZSUyMGlzJTIwbW9yZSUyMGxpa2VseSUyMHRvJTIwc2lnbmlmaWNhbnRseSUyMGFmZmVjdCUyMHNhZmV0eSUyMG9yJTIwZWZmZWN0aXZlbmVzcyZmb2N1cz0xIn1dLCAibm8iOiBbeyJsYWJlbCI6ICJGYXN0ZXIgc2FtcGxlIGRlbGl2ZXJ5IHJhaXNlcyBhbmFseXplciB0aHJvdWdocHV0IDUlIiwgIndoeSI6ICJUaHJvdWdocHV0IGltcHJvdmVzIHRocm91Z2ggc2FtcGxlIHRyYW5zcG9ydCB0aW1pbmcsIGJ1dCBhc3NheSBwZXJmb3JtYW5jZSB0aWVkIHRvIHRoZSBpbnRlbmRlZCB1c2UgaXMgdW50b3VjaGVkLiIsICJxdW90ZSI6ICJUaGUgbW9kaWZpY2F0aW9ucyBkbyBub3QgaW1wYWN0IGFzc2F5IHBlcmZvcm1hbmNlIGFzIGl0IHJlbGF0ZXMgdG8gaW50ZW5kZWQgdXNlLiIsICJzb3VyY2UiOiAiU29mdHdhcmUgZ3VpZGFuY2UsIEFwcGVuZGl4IEEgNS4yIiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1zb2Z0d2FyZS1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZjZDNhYTQzODQ0LWE5YTI2Yzc3NWQyNzM5MDgmaGw9MzA6VGhlJTIwbW9kaWZpY2F0aW9ucyUyMGRvJTIwbm90JTIwaW1wYWN0JTIwYXNzYXklMjBwZXJmb3JtYW5jZSUyMGFzJTIwaXQlMjByZWxhdGVzJTIwdG8lMjBpbnRlbmRlZCUyMHVzZS4mZm9jdXM9MSJ9LCB7ImxhYmVsIjogIklWRCBzcGVjaWZpY2F0aW9uIGNoYW5nZSB1bnJlbGF0ZWQgdG8gdGhlIGludGVuZGVkIHVzZSIsICJ3aHkiOiAiRkRBIHN0YXRlcyBhIGZ1bmN0aW9uYWxpdHkgb3IgcGVyZm9ybWFuY2Ugc3BlY2lmaWNhdGlvbiBjYW4gY2hhbmdlIHdpdGhvdXQgYmVpbmcgdGllZCB0byB0aGUgSVZEJ3MgaW50ZW5kZWQgdXNlLiIsICJxdW90ZSI6ICJUaGVyZSBhcmUgYWxzbyB0aW1lcyB3aGVuIElWRCBmdW5jdGlvbmFsaXR5IG9yIHBlcmZvcm1hbmNlIHNwZWNpZmljYXRpb25zIGNvdWxkIGJlIGNoYW5nZWQgYnV0IHRoZSBjaGFuZ2UgaXMgbm90IHJlbGF0ZWQgdG8gdGhlIElWROKAmXMgaW50ZW5kZWQgdXNlIiwgInNvdXJjZSI6ICJTb2Z0d2FyZSBndWlkYW5jZSwgU2VjdGlvbiBWIFF1ZXN0aW9uIDQiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9kZWNpZGluZy13aGVuLXN1Ym1pdC01MTBrLXNvZnR3YXJlLWNoYW5nZS1leGlzdGluZy1kZXZpY2U/dj1nZmNkM2FhNDM4NDQtYTlhMjZjNzc1ZDI3MzkwOCZobD0xODpUaGVyZSUyMGFyZSUyMGFsc28lMjB0aW1lcyUyMHdoZW4lMjBJVkQlMjBmdW5jdGlvbmFsaXR5JTIwb3IlMjBwZXJmb3JtYW5jZSUyMHNwZWNpZmljYXRpb25zJTIwY291bGQlMjBiZSUyMGNoYW5nZWQlMjBidXQlMjB0aGUlMjBjaGFuZ2UlMjBpcyUyMG5vdCUyMHJlbGF0ZWQlMjB0byUyMHRoZSUyMElWRCVFMiU4MCU5OXMlMjBpbnRlbmRlZCUyMHVzZSZmb2N1cz0xIn0sIHsibGFiZWwiOiAiQ2hhbmdlIHRvIGEgdmVudGlsYXRvcidzIG91dGVyIGNhc2UiLCAid2h5IjogIlRoZSBjYXNlIG1hdHRlcnMgdG8gdGhlIGRlc2lnbiwgYnV0IHRoZSBnZW5lcmFsIGd1aWRhbmNlIHJhbmtzIGl0IGJlbG93IHRoZSBwdW1wIHRoYXQgZGVsaXZlcnMgYWlyIHRvIHRoZSBwYXRpZW50LiIsICJxdW90ZSI6ICJ0aGUgb3V0ZXIgY2FzZSBvZiBhIHZlbnRpbGF0b3IsIGFsdGhvdWdoIGltcG9ydGFudCB0byB0aGUgb3ZlcmFsbCBkZXNpZ24gb2YgdGhlIGRldmljZSBhbmQgcHJvdmlkaW5nIGZvciBjb25uZWN0aW9uIG9mIHZhcmlvdXMgcGFydHMsIGlzIG5vdCBhcyBjcml0aWNhbCB0byB0aGUgc2FmZSBhbmQgZWZmZWN0aXZlIHVzZSBvZiB0aGUgdmVudGlsYXRvciIsICJzb3VyY2UiOiAiR2VuZXJhbCBndWlkYW5jZSwgRS4zIGRldmljZSBlZmZlY3RpdmVuZXNzIiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZhNTk0Njc1MzIyLWIyMDg3MDE1MWFiNjNiZjYmaGw9NDQ6dGhlJTIwb3V0ZXIlMjBjYXNlJTIwb2YlMjBhJTIwdmVudGlsYXRvciUyQyUyMGFsdGhvdWdoJTIwaW1wb3J0YW50JTIwdG8lMjB0aGUlMjBvdmVyYWxsJTIwZGVzaWduJTIwb2YlMjB0aGUlMjBkZXZpY2UlMjBhbmQlMjBwcm92aWRpbmclMjBmb3IlMjBjb25uZWN0aW9uJTIwb2YlMjB2YXJpb3VzJTIwcGFydHMlMkMlMjBpcyUyMG5vdCUyMGFzJTIwY3JpdGljYWwlMjB0byUyMHRoZSUyMHNhZmUlMjBhbmQlMjBlZmZlY3RpdmUlMjB1c2UlMjBvZiUyMHRoZSUyMHZlbnRpbGF0b3ImZm9jdXM9MSJ9XX0sICJWSXxjb3JlIGFsZ29yaXRobSI6IHsieWVzIjogW3sibGFiZWwiOiAiQ29tcGxldGUgcmV3cml0ZSBvZiBhIGNvcmUgYWxnb3JpdGhtIHdpdGggdGhlIHNhbWUgY2xhaW1zIiwgIndoeSI6ICJGREEgc2F5cyBhIGZ1bGwgcmV3cml0ZSBvZiBhbiBpbnRlbmRlZC11c2UgYWxnb3JpdGhtIG1heSBuZWVkIGEgNTEwKGspIGV2ZW4gd2hlbiBjbGFpbXMgYW5kIHJpc2sgcHJvZmlsZSBhcmUgdW5jaGFuZ2VkLCBiZWNhdXNlIGl0IGNhbiBzaGlmdCBwZXJmb3JtYW5jZSBpbmRpcmVjdGx5LiIsICJxdW90ZSI6ICJhIGNvbXBsZXRlIHJld3JpdGUgb2YgdGhlIGFsZ29yaXRobSwgZXZlbiB3aXRoIHRoZSBzYW1lIHBlcmZvcm1hbmNlIGNsYWltcyBhbmQgcmlzayBwcm9maWxlLCBtYXkgYmUgc2lnbmlmaWNhbnQgZW5vdWdoIHRvIHJlcXVpcmUgc3VibWlzc2lvbiBvZiBhIG5ldyA1MTAoaykgYmVjYXVzZSB0aGUgcmV3cml0ZSBtYXkgaW1wYWN0IHBlcmZvcm1hbmNlIGluZGlyZWN0bHkiLCAic291cmNlIjogIlNvZnR3YXJlIGd1aWRhbmNlLCBTZWN0aW9uIFZJIChDb3JlIGFsZ29yaXRobSkiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9kZWNpZGluZy13aGVuLXN1Ym1pdC01MTBrLXNvZnR3YXJlLWNoYW5nZS1leGlzdGluZy1kZXZpY2U/dj1nZmNkM2FhNDM4NDQtYTlhMjZjNzc1ZDI3MzkwOCZobD0yMDphJTIwY29tcGxldGUlMjByZXdyaXRlJTIwb2YlMjB0aGUlMjBhbGdvcml0aG0lMkMlMjBldmVuJTIwd2l0aCUyMHRoZSUyMHNhbWUlMjBwZXJmb3JtYW5jZSUyMGNsYWltcyUyMGFuZCUyMHJpc2slMjBwcm9maWxlJTJDJTIwbWF5JTIwYmUlMjBzaWduaWZpY2FudCUyMGVub3VnaCUyMHRvJTIwcmVxdWlyZSUyMHN1Ym1pc3Npb24lMjBvZiUyMGElMjBuZXclMjA1MTAlMjhrJTI5JTIwYmVjYXVzZSUyMHRoZSUyMHJld3JpdGUlMjBtYXklMjBpbXBhY3QlMjBwZXJmb3JtYW5jZSUyMGluZGlyZWN0bHkmZm9jdXM9MSJ9LCB7ImxhYmVsIjogIklDVSBhcnJoeXRobWlhIGRldGVjdGlvbiBhbGdvcml0aG0gZW5oYW5jZWQsIHNlbnNpdGl2aXR5IGFuZCBzcGVjaWZpY2l0eSBjaGFuZ2UiLCAid2h5IjogIkFycmh5dGhtaWEgYWxhcm1zIGFyZSB0aGUgZGV2aWNlJ3MgaW50ZW5kZWQgdXNlLCBzbyBjaGFuZ2luZyB0aGUgZGV0ZWN0aW9uIGFsZ29yaXRobSBjaGFuZ2VzIGNsaW5pY2FsIHBlcmZvcm1hbmNlIGFuZCBGREEncyBvdXRjb21lIGlzIGEgbmV3IDUxMChrKS4iLCAicXVvdGUiOiAiVGhlIGNoYW5nZSBpbXBhY3RzIHNlbnNpdGl2aXR5IGFuZCBzcGVjaWZpY2l0eSBhbmQgdGhlcmVmb3JlIHRoZSBkZXRlY3Rpb24gb2YgYXJyaHl0aG1pYXMsIHdoaWNoIGFyZSBjcml0aWNhbCB0byB0aGUgY2xpbmljYWwgcGVyZm9ybWFuY2Ugb2YgdGhlIGRldmljZSIsICJzb3VyY2UiOiAiU29mdHdhcmUgZ3VpZGFuY2UsIEFwcGVuZGl4IEEgNS42IiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1zb2Z0d2FyZS1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZjZDNhYTQzODQ0LWE5YTI2Yzc3NWQyNzM5MDgmaGw9MzE6VGhlJTIwY2hhbmdlJTIwaW1wYWN0cyUyMHNlbnNpdGl2aXR5JTIwYW5kJTIwc3BlY2lmaWNpdHklMjBhbmQlMjB0aGVyZWZvcmUlMjB0aGUlMjBkZXRlY3Rpb24lMjBvZiUyMGFycmh5dGhtaWFzJTJDJTIwd2hpY2glMjBhcmUlMjBjcml0aWNhbCUyMHRvJTIwdGhlJTIwY2xpbmljYWwlMjBwZXJmb3JtYW5jZSUyMG9mJTIwdGhlJTIwZGV2aWNlJmZvY3VzPTEifSwgeyJsYWJlbCI6ICJOZXcgaW1hZ2UgY29tcHJlc3Npb24gYWxnb3JpdGhtIGluIGEgUEFDUyIsICJ3aHkiOiAiRkRBIHRyZWF0cyBhIG5ldyBjb21wcmVzc2lvbiBhbGdvcml0aG0gYXMgYSBjaGFuZ2UgaW4gb3BlcmF0aW5nIHByaW5jaXBsZSwgdGhlIGtpbmQgb2YgY29yZSBjaGFuZ2UgdGhhdCB1c3VhbGx5IG5lZWRzIGEgNTEwKGspLiIsICJxdW90ZSI6ICJBbiBleGFtcGxlIG9mIGEgY2hhbmdlIGluIG9wZXJhdGluZyBwcmluY2lwbGUgd291bGQgYmUgdXNpbmcgYSBuZXcgYWxnb3JpdGhtIHRvIGNvbXByZXNzIGltYWdlcyBpbiBhIHBpY3R1cmUgYXJjaGl2aW5nIGFuZCBjb21tdW5pY2F0aW9ucyBzeXN0ZW0iLCAic291cmNlIjogIkdlbmVyYWwgZ3VpZGFuY2UsIEFwcGVuZGl4IEMgKE9wZXJhdGluZyBwcmluY2lwbGUpIiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZhNTk0Njc1MzIyLWIyMDg3MDE1MWFiNjNiZjYmaGw9NzY6QW4lMjBleGFtcGxlJTIwb2YlMjBhJTIwY2hhbmdlJTIwaW4lMjBvcGVyYXRpbmclMjBwcmluY2lwbGUlMjB3b3VsZCUyMGJlJTIwdXNpbmclMjBhJTIwbmV3JTIwYWxnb3JpdGhtJTIwdG8lMjBjb21wcmVzcyUyMGltYWdlcyUyMGluJTIwYSUyMHBpY3R1cmUlMjBhcmNoaXZpbmclMjBhbmQlMjBjb21tdW5pY2F0aW9ucyUyMHN5c3RlbSZmb2N1cz0xIn1dLCAibm8iOiBbeyJsYWJlbCI6ICJTYW1wbGUgZGVsaXZlcnkgdGltaW5nIGFsZ29yaXRobSBvcHRpbWl6ZWQgd2l0aCBubyBlZmZlY3Qgb24gYXNzYXkgcGVyZm9ybWFuY2UiLCAid2h5IjogIlRoZSBhbGdvcml0aG0gb25seSBtb3ZlcyBzYW1wbGVzIGZhc3RlciBhbmQgZG9lcyBub3QgZHJpdmUgdGhlIGFzc2F5IHJlc3VsdCwgc28gRkRBJ3Mgb3V0Y29tZSBpcyB0byBkb2N1bWVudCB0aGUgY2hhbmdlIHRvIGZpbGUuIiwgInF1b3RlIjogIkltcHJvdmVtZW50IHJlc3VsdGVkIGZyb20gdGVjaG5pY2FsIGFuYWx5c2lzIG9mIHRoZSBzYW1wbGUgZGVsaXZlcnkgYWxnb3JpdGhtIHRvIG9wdGltaXplIHRpbWluZyBhbmQgcmVtb3ZlIHVubmVjZXNzYXJ5IHRpbWluZyBkZWxheXMiLCAic291cmNlIjogIlNvZnR3YXJlIGd1aWRhbmNlLCBBcHBlbmRpeCBBIDUuMiIsICJsaW5rIjogImh0dHBzOi8vZmRhLmlubm9saXRpY3MuY29tL2d1aWRhbmNlL2RlY2lkaW5nLXdoZW4tc3VibWl0LTUxMGstc29mdHdhcmUtY2hhbmdlLWV4aXN0aW5nLWRldmljZT92PWdmY2QzYWE0Mzg0NC1hOWEyNmM3NzVkMjczOTA4JmhsPTMwOkltcHJvdmVtZW50JTIwcmVzdWx0ZWQlMjBmcm9tJTIwdGVjaG5pY2FsJTIwYW5hbHlzaXMlMjBvZiUyMHRoZSUyMHNhbXBsZSUyMGRlbGl2ZXJ5JTIwYWxnb3JpdGhtJTIwdG8lMjBvcHRpbWl6ZSUyMHRpbWluZyUyMGFuZCUyMHJlbW92ZSUyMHVubmVjZXNzYXJ5JTIwdGltaW5nJTIwZGVsYXlzJmZvY3VzPTEifSwgeyJsYWJlbCI6ICJNb2RpZmllZCBNUiBwdWxzZSBzZXF1ZW5jZSB0aGF0IGxlYXZlcyBpbnRlbmRlZCB1c2UgdW5jaGFuZ2VkIiwgIndoeSI6ICJGREEgc2F5cyBjaGFuZ2VzIHRvIGEgY2xlYXJlZCBwdWxzZSBzZXF1ZW5jZSB0aGF0IGRvIG5vdCBhZmZlY3QgaW50ZW5kZWQgdXNlIGdlbmVyYWxseSBuZWVkIG5vIG5ldyA1MTAoaykuIiwgInF1b3RlIjogIk1vZGlmaWNhdGlvbnMgb2YgcHJldmlvdXNseS1jbGVhcmVkIHB1bHNlIHNlcXVlbmNlcyB0aGF0IGRvIG5vdCBhZmZlY3QgaW50ZW5kZWQgdXNlIGdlbmVyYWxseSBkbyBub3QgcmVxdWlyZSBhIG5ldyA1MTAoaykgc3VibWlzc2lvbiIsICJzb3VyY2UiOiAiTVIgZGlhZ25vc3RpYyBkZXZpY2VzIGd1aWRhbmNlICgyMDIzKSwgU2VjdGlvbiBWSUlJIiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2Uvc3VibWlzc2lvbi1wcmVtYXJrZXQtbm90aWZpY2F0aW9ucy1tYWduZXRpYy1yZXNvbmFuY2UtZGlhZ25vc3RpYy1kZXZpY2VzP3Y9Z2YyMTkwYWQzM2Y5LWY1NzNlZTE4MDAwMDBlZDkmaGw9MTc6TW9kaWZpY2F0aW9ucyUyMG9mJTIwcHJldmlvdXNseS1jbGVhcmVkJTIwcHVsc2UlMjBzZXF1ZW5jZXMlMjB0aGF0JTIwZG8lMjBub3QlMjBhZmZlY3QlMjBpbnRlbmRlZCUyMHVzZSUyMGdlbmVyYWxseSUyMGRvJTIwbm90JTIwcmVxdWlyZSUyMGElMjBuZXclMjA1MTAlMjhrJTI5JTIwc3VibWlzc2lvbiZmb2N1cz0xIn0sIHsibGFiZWwiOiAiQi1tb2RlIG5vaXNlIHJlZHVjdGlvbiBmaWx0ZXIgYWRkZWQgdG8gYW4gdWx0cmFzb3VuZCBzeXN0ZW0iLCAid2h5IjogIkZEQSBsaXN0cyB0aGlzIGltYWdlLXByb2Nlc3NpbmcgYWxnb3JpdGhtIGFtb25nIHVsdHJhc291bmQgbW9kaWZpY2F0aW9ucyBmb3Igd2hpY2ggaXQgZG9lcyBub3QgaW50ZW5kIHRvIGVuZm9yY2UgdGhlIDUxMChrKSByZXF1aXJlbWVudC4iLCAicXVvdGUiOiAiQWRkaW5nIGEgQi1tb2RlIG5vaXNlIHJlZHVjdGlvbiBmaWx0ZXIgZm9yIGdlbmVyYWwgaW1hZ2luZyB1c2UgdG8gYSBzeXN0ZW0iLCAic291cmNlIjogIkRpYWdub3N0aWMgdWx0cmFzb3VuZCBndWlkYW5jZSAoMjAyMyksIDUuMS4zLjQiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9tYXJrZXRpbmctY2xlYXJhbmNlLWRpYWdub3N0aWMtdWx0cmFzb3VuZC1zeXN0ZW1zLWFuZC10cmFuc2R1Y2Vycz92PWdmNWVmYTFmNGEzMC0zM2Q2YzMzNzYzMTI1YmNjJmhsPTE1OkFkZGluZyUyMGElMjBCLW1vZGUlMjBub2lzZSUyMHJlZHVjdGlvbiUyMGZpbHRlciUyMGZvciUyMGdlbmVyYWwlMjBpbWFnaW5nJTIwdXNlJTIwdG8lMjBhJTIwc3lzdGVtJmZvY3VzPTEifV19LCAiVkl8aW5mcmFzdHJ1Y3R1cmUiOiB7InllcyI6IFt7ImxhYmVsIjogIkMgdG8gQysrIHBvcnQgdGhhdCBhbHNvIHNoaWZ0cyB0byBvYmplY3Qtb3JpZW50ZWQgZGVzaWduIiwgIndoeSI6ICJUaGUgcGFyYWRpZ20gY2hhbmdlIG9uIHRvcCBvZiB0aGUgbGFuZ3VhZ2UgY2hhbmdlIG1lYW5zIGEgbGFyZ2UgcmV3cml0ZSwgc28gRkRBIHNheXMgYSBuZXcgNTEwKGspIGlzIGxpa2VseSByZXF1aXJlZC4iLCAicXVvdGUiOiAibW92aW5nIGZyb20gYSBmdW5jdGlvbmFsIG9yIGxvZ2ljYWwgY29kaW5nIHBhcmFkaWdtIHRvIGFuIE9iamVjdCBPcmllbnRlZCBQcm9ncmFtbWluZyBwYXJhZGlnbSwgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgY2hhbmdlIGZyb20gQyB0byBDKyssIGNvdWxkIGludm9sdmUgc2lnbmlmaWNhbnQgc29mdHdhcmUgcmUtd3JpdGUsIGFuZCBzdWJtaXNzaW9uIG9mIGEgbmV3IDUxMChrKSBpcyBsaWtlbHkgcmVxdWlyZWQiLCAic291cmNlIjogIlNvZnR3YXJlIGd1aWRhbmNlLCBTZWN0aW9uIFZJIChJbmZyYXN0cnVjdHVyZSkiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9kZWNpZGluZy13aGVuLXN1Ym1pdC01MTBrLXNvZnR3YXJlLWNoYW5nZS1leGlzdGluZy1kZXZpY2U/dj1nZmNkM2FhNDM4NDQtYTlhMjZjNzc1ZDI3MzkwOCZobD0xOTptb3ZpbmclMjBmcm9tJTIwYSUyMGZ1bmN0aW9uYWwlMjBvciUyMGxvZ2ljYWwlMjBjb2RpbmclMjBwYXJhZGlnbSUyMHRvJTIwYW4lMjBPYmplY3QlMjBPcmllbnRlZCUyMFByb2dyYW1taW5nJTIwcGFyYWRpZ20lMkMlMjBpbiUyMGNvbmp1bmN0aW9uJTIwd2l0aCUyMHRoZSUyMGNoYW5nZSUyMGZyb20lMjBDJTIwdG8lMjBDJTJCJTJCJTJDJTIwY291bGQlMjBpbnZvbHZlJTIwc2lnbmlmaWNhbnQlMjBzb2Z0d2FyZSUyMHJlLXdyaXRlJTJDJTIwYW5kJTIwc3VibWlzc2lvbiUyMG9mJTIwYSUyMG5ldyUyMDUxMCUyOGslMjklMjBpcyUyMGxpa2VseSUyMHJlcXVpcmVkJmZvY3VzPTEifSwgeyJsYWJlbCI6ICJNYWpvciBPUyB2ZXJzaW9uIHVwZ3JhZGUgdGhhdCByaXNrIGFuYWx5c2lzIHNheXMgY291bGQgYWZmZWN0IHBlcmZvcm1hbmNlIiwgIndoeSI6ICJGREEgbGlzdHMgaXQgYXMgYSBQQ0NQIGNhbmRpZGF0ZSwgbWVhbmluZyB0aGF0IHdpdGhvdXQgYSBjbGVhcmVkIFBDQ1AgaXQgd291bGQgbmVlZCBhIG5ldyBzdWJtaXNzaW9uLiIsICJxdW90ZSI6ICJDaGFuZ2UgdG8gdGhlIHNvZnR3YXJlIHRvIHVwZ3JhZGUgdG8gYSBuZXcgdmVyc2lvbiBvZiB0aGUgY3VycmVudGx5IHN1cHBvcnRlZCBvcGVyYXRpbmcgc3lzdGVtIChPUykgb24gdGhlIGJhc2lzIG9mIGEgcmlzayBhc3Nlc3NtZW50IHRoYXQgc2hvd3MgY2hhbmdlcyBiZXR3ZWVuIG1ham9yIE9TIHZlcnNpb25zIGNvdWxkIHNpZ25pZmljYW50bHkgaW1wYWN0IHRoZSBzb2Z0d2FyZeKAmXMgcGVyZm9ybWFuY2UiLCAic291cmNlIjogIlBDQ1AgZm9yIG1lZGljYWwgZGV2aWNlcyBkcmFmdCBndWlkYW5jZSAoMjAyNCksIEV4YW1wbGUgNCIsICJsaW5rIjogImh0dHBzOi8vZmRhLmlubm9saXRpY3MuY29tL2d1aWRhbmNlL3ByZWRldGVybWluZWQtY2hhbmdlLWNvbnRyb2wtcGxhbnMtbWVkaWNhbC1kZXZpY2VzP3Y9Z2YzOGUxYjQzY2NkLThiODRlNDY4MzM0MzlkZjkmaGw9Mzc6Q2hhbmdlJTIwdG8lMjB0aGUlMjBzb2Z0d2FyZSUyMHRvJTIwdXBncmFkZSUyMHRvJTIwYSUyMG5ldyUyMHZlcnNpb24lMjBvZiUyMHRoZSUyMGN1cnJlbnRseSUyMHN1cHBvcnRlZCUyMG9wZXJhdGluZyUyMHN5c3RlbSUyMCUyOE9TJTI5JTIwb24lMjB0aGUlMjBiYXNpcyUyMG9mJTIwYSUyMHJpc2slMjBhc3Nlc3NtZW50JTIwdGhhdCUyMHNob3dzJTIwY2hhbmdlcyUyMGJldHdlZW4lMjBtYWpvciUyME9TJTIwdmVyc2lvbnMlMjBjb3VsZCUyMHNpZ25pZmljYW50bHklMjBpbXBhY3QlMjB0aGUlMjBzb2Z0d2FyZSVFMiU4MCU5OXMlMjBwZXJmb3JtYW5jZSZmb2N1cz0xIn0sIHsibGFiZWwiOiAiVXBkYXRlZCBvcGVyYXRpbmcgc3lzdGVtcyBvciBjbG91ZCBpbmZyYXN0cnVjdHVyZSBmb3IgYW4gQUkgZGV2aWNlIiwgIndoeSI6ICJGREEgbmFtZXMgdGhlc2UgYXMgbW9kaWZpY2F0aW9ucyBhIFBDQ1AgbWF5IGNvdmVyLCB3aGljaCBwbGFjZXMgdGhlbSBhbW9uZyBjaGFuZ2VzIHRoYXQgb3RoZXJ3aXNlIGNvdWxkIG5lZWQgYSBuZXcgc3VibWlzc2lvbi4iLCAicXVvdGUiOiAidXBkYXRlcyByZWxhdGVkIHRvIGF2YWlsYWJsZSwgY29tcGF0aWJsZSBzb2Z0d2FyZSBvciBoYXJkd2FyZSBhbmQgZGV2aWNlIGludGVyb3BlcmFiaWxpdHkgKGUuZy4sIGRpZmZlcmVudCBjb21wYXRpYmxlIGhhcmR3YXJlLCB1cGRhdGVkIG9wZXJhdGluZyBzeXN0ZW1zLCBvciB1cGRhdGVkIGNsb3VkIGluZnJhc3RydWN0dXJlKSIsICJzb3VyY2UiOiAiQUktZW5hYmxlZCBkZXZpY2UgUENDUCBmaW5hbCBndWlkYW5jZSAoMjAyNSksIFNlY3Rpb24gVkkuQyIsICJsaW5rIjogImh0dHBzOi8vZmRhLmlubm9saXRpY3MuY29tL2d1aWRhbmNlL21hcmtldGluZy1zdWJtaXNzaW9uLXJlY29tbWVuZGF0aW9ucy1wcmVkZXRlcm1pbmVkLWNoYW5nZS1jb250cm9sLXBsYW4tYXJ0aWZpY2lhbC1pbnRlbGxpZ2VuY2U/dj1nZmIyM2I5Njk5OWUtODBmMGY0MjNlZmUwYzgxMCZobD0yNjp1cGRhdGVzJTIwcmVsYXRlZCUyMHRvJTIwYXZhaWxhYmxlJTJDJTIwY29tcGF0aWJsZSUyMHNvZnR3YXJlJTIwb3IlMjBoYXJkd2FyZSUyMGFuZCUyMGRldmljZSUyMGludGVyb3BlcmFiaWxpdHklMjAlMjhlLmcuJTJDJTIwZGlmZmVyZW50JTIwY29tcGF0aWJsZSUyMGhhcmR3YXJlJTJDJTIwdXBkYXRlZCUyMG9wZXJhdGluZyUyMHN5c3RlbXMlMkMlMjBvciUyMHVwZGF0ZWQlMjBjbG91ZCUyMGluZnJhc3RydWN0dXJlJTI5JmZvY3VzPTEifV0sICJubyI6IFt7ImxhYmVsIjogIkMgdG8gQysrIHBvcnQgd2l0aCBzaW1pbGFyIHN5bnRheCIsICJ3aHkiOiAiRkRBIG5vdGVzIGEgc2ltaWxhci1zeW50YXggbGFuZ3VhZ2UgY2hhbmdlIG1heSBpbnZvbHZlIGxpdHRsZSBuZXcgY29kZSwgd2hpY2ggcG9pbnRzIGF3YXkgZnJvbSBhIDUxMChrKS4iLCAicXVvdGUiOiAiQSBjaGFuZ2UgZnJvbSBDIHRvIEMrKyBtYXkgbm90IGVudGFpbCBzaWduaWZpY2FudCBjb2RlIHdyaXRpbmcgaWYgdGhlIHN5bnRheCBpcyBzaW1pbGFyIiwgInNvdXJjZSI6ICJTb2Z0d2FyZSBndWlkYW5jZSwgU2VjdGlvbiBWSSAoSW5mcmFzdHJ1Y3R1cmUpIiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1zb2Z0d2FyZS1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZjZDNhYTQzODQ0LWE5YTI2Yzc3NWQyNzM5MDgmaGw9MTk6QSUyMGNoYW5nZSUyMGZyb20lMjBDJTIwdG8lMjBDJTJCJTJCJTIwbWF5JTIwbm90JTIwZW50YWlsJTIwc2lnbmlmaWNhbnQlMjBjb2RlJTIwd3JpdGluZyUyMGlmJTIwdGhlJTIwc3ludGF4JTIwaXMlMjBzaW1pbGFyJmZvY3VzPTEifSwgeyJsYWJlbCI6ICJNb25pdG9yIHNvZnR3YXJlIHVwZGF0ZWQgdG8gcmVjb2duaXplIGEgbmV3IE9FTSBTcE8yIG1vZHVsZSB2ZXJzaW9uIiwgIndoeSI6ICJUaGUgaW50ZXJmYWNlIHVwZGF0ZSBvbmx5IGtlZXBzIGEgc3VwcGxpZWQgbW9kdWxlIHdvcmtpbmcgYW5kIGxlYXZlcyBjbGluaWNhbCBmdW5jdGlvbiB1bmNoYW5nZWQsIHNvIEZEQSdzIG91dGNvbWUgaXMgdG8gZG9jdW1lbnQgdGhlIGNoYW5nZS4iLCAicXVvdGUiOiAicmVxdWlyZXMgYSBzb2Z0d2FyZSBjaGFuZ2Ugb24gdGhlIG11bHRpLXBhcmFtZXRlciBtb25pdG9yIHRvIGFsbG93IGZvciBzdWNjZXNzZnVsIGludGVyb3BlcmFiaWxpdHkgd2l0aCB0aGUgbmV3IHZlcnNpb24gb2YgdGhlIHNlbnNvciIsICJzb3VyY2UiOiAiU29mdHdhcmUgZ3VpZGFuY2UsIEFwcGVuZGl4IEEgNS40IiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1zb2Z0d2FyZS1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZjZDNhYTQzODQ0LWE5YTI2Yzc3NWQyNzM5MDgmaGw9MzE6cmVxdWlyZXMlMjBhJTIwc29mdHdhcmUlMjBjaGFuZ2UlMjBvbiUyMHRoZSUyMG11bHRpLXBhcmFtZXRlciUyMG1vbml0b3IlMjB0byUyMGFsbG93JTIwZm9yJTIwc3VjY2Vzc2Z1bCUyMGludGVyb3BlcmFiaWxpdHklMjB3aXRoJTIwdGhlJTIwbmV3JTIwdmVyc2lvbiUyMG9mJTIwdGhlJTIwc2Vuc29yJmZvY3VzPTEifSwgeyJsYWJlbCI6ICJPRU0tYXV0aG9yaXplZCBzb2Z0d2FyZSBwYXRjaCBpbnN0YWxsZWQgb24gYSBzcGVjdWxhciBtaWNyb3Njb3BlIiwgIndoeSI6ICJGREEgZmluZHMgdGhlIHBhdGNoIGtlZXBzIHRoZSBvcmlnaW5hbCBzcGVjaWZpY2F0aW9ucyBhbmQgZG9lcyBub3Qgc2lnbmlmaWNhbnRseSBjaGFuZ2UgcGVyZm9ybWFuY2Ugb3Igc2FmZXR5LiIsICJxdW90ZSI6ICJUaGUgaW5zdGFsbGF0aW9uIG9mIHRoaXMgT0VNLWF1dGhvcml6ZWQgcGF0Y2ggZG9lcyBub3Qgc2lnbmlmaWNhbnRseSBjaGFuZ2UgdGhlIGRldmljZSBwZXJmb3JtYW5jZSBvciBzYWZldHkgc3BlY2lmaWNhdGlvbnMiLCAic291cmNlIjogIlJlbWFudWZhY3R1cmluZyBndWlkYW5jZSAoMjAyNCksIEFwcGVuZGl4IEEgRXhhbXBsZSBTLjEiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9yZW1hbnVmYWN0dXJpbmctbWVkaWNhbC1kZXZpY2VzP3Y9Z2YyZDAzZmJhMWM2LTY5ZmExZmY0NTdiNjRkODEmaGw9Mzc6VGhlJTIwaW5zdGFsbGF0aW9uJTIwb2YlMjB0aGlzJTIwT0VNLWF1dGhvcml6ZWQlMjBwYXRjaCUyMGRvZXMlMjBub3QlMjBzaWduaWZpY2FudGx5JTIwY2hhbmdlJTIwdGhlJTIwZGV2aWNlJTIwcGVyZm9ybWFuY2UlMjBvciUyMHNhZmV0eSUyMHNwZWNpZmljYXRpb25zJmZvY3VzPTEifV19LCAiVkl8YXJjaGl0ZWN0dXJlIjogeyJ5ZXMiOiBbeyJsYWJlbCI6ICJOZXR3b3JrZWQgZGV2aWNlIHNvZnR3YXJlIG1vdmVkIGZyb20gV2luZG93cyB0byBMaW51eCIsICJ3aHkiOiAiRkRBIGNhbGxzIHRoZSBPUyBwb3J0IGEgcmVkZXNpZ24gdGhhdCBhZGRzIG5ldyBkcml2ZXJzIGFuZCBPUyBmZWF0dXJlcyBhbmQgc2lnbmlmaWNhbnRseSBjaGFuZ2VzIHBlcmZvcm1hbmNlIGFuZCBzYWZldHkgc3BlY2lmaWNhdGlvbnMuIiwgInF1b3RlIjogIlRoaXMgaXMgYSByZWRlc2lnbiBvZiB0aGUgcHJvZHVjdCBhbmQgaW5jbHVkZXMgdGhlIGFkZGl0aW9uIG9mIGludGVncmF0aW9uIHdpdGggYm90aCBkZXZpY2UgZHJpdmVycyBmb3IgdGhlIHRhcmdldCBPUyBhcyB3ZWxsIGFzIHNwZWNpZmljIGZlYXR1cmVzIG9mIHRoZSBPUy4iLCAic291cmNlIjogIlJlbWFudWZhY3R1cmluZyBndWlkYW5jZSAoMjAyNCksIEFwcGVuZGl4IEEgRXhhbXBsZSBTLjMiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9yZW1hbnVmYWN0dXJpbmctbWVkaWNhbC1kZXZpY2VzP3Y9Z2YyZDAzZmJhMWM2LTY5ZmExZmY0NTdiNjRkODEmaGw9Mzg6VGhpcyUyMGlzJTIwYSUyMHJlZGVzaWduJTIwb2YlMjB0aGUlMjBwcm9kdWN0JTIwYW5kJTIwaW5jbHVkZXMlMjB0aGUlMjBhZGRpdGlvbiUyMG9mJTIwaW50ZWdyYXRpb24lMjB3aXRoJTIwYm90aCUyMGRldmljZSUyMGRyaXZlcnMlMjBmb3IlMjB0aGUlMjB0YXJnZXQlMjBPUyUyMGFzJTIwd2VsbCUyMGFzJTIwc3BlY2lmaWMlMjBmZWF0dXJlcyUyMG9mJTIwdGhlJTIwT1MuJmZvY3VzPTEifSwgeyJsYWJlbCI6ICJpT1MgdmVyc2lvbiBvZiBhIGNsZWFyZWQgQW5kcm9pZCBhcHAiLCAid2h5IjogIkZEQSBsaXN0cyB0aGUgbmV3IE9TIHBsYXRmb3JtIGFzIGEgUENDUCBjYW5kaWRhdGUsIG1lYW5pbmcgaXQgd291bGQgb3RoZXJ3aXNlIG5lZWQgYSBuZXcgc3VibWlzc2lvbiBldmVuIHdpdGggc3BlY2lmaWNhdGlvbnMga2VwdC4iLCAicXVvdGUiOiAiQWRkaXRpb24gb2Ygc3VwcG9ydCBmb3IgbW9iaWxlIHBsYXRmb3JtcyB3aXRoIGRpZmZlcmVudCBvcGVyYXRpbmcgc3lzdGVtcywgd2hlcmUgYXBwIHBlcmZvcm1hbmNlIHNwZWNpZmljYXRpb25zIGhhdmUgYmVlbiByZXRhaW5lZCAoZS5nLiwgaW50cm9kdWNpbmcgYW4gaU9TIHZlcnNpb24gb2YgYW4gQW5kcm9pZCBhcHApIiwgInNvdXJjZSI6ICJQQ0NQIGZvciBtZWRpY2FsIGRldmljZXMgZHJhZnQgZ3VpZGFuY2UgKDIwMjQpLCBFeGFtcGxlIDUiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9wcmVkZXRlcm1pbmVkLWNoYW5nZS1jb250cm9sLXBsYW5zLW1lZGljYWwtZGV2aWNlcz92PWdmMzhlMWI0M2NjZC04Yjg0ZTQ2ODMzNDM5ZGY5JmhsPTM3OkFkZGl0aW9uJTIwb2YlMjBzdXBwb3J0JTIwZm9yJTIwbW9iaWxlJTIwcGxhdGZvcm1zJTIwd2l0aCUyMGRpZmZlcmVudCUyMG9wZXJhdGluZyUyMHN5c3RlbXMlMkMlMjB3aGVyZSUyMGFwcCUyMHBlcmZvcm1hbmNlJTIwc3BlY2lmaWNhdGlvbnMlMjBoYXZlJTIwYmVlbiUyMHJldGFpbmVkJTIwJTI4ZS5nLiUyQyUyMGludHJvZHVjaW5nJTIwYW4lMjBpT1MlMjB2ZXJzaW9uJTIwb2YlMjBhbiUyMEFuZHJvaWQlMjBhcHAlMjkmZm9jdXM9MSJ9LCB7ImxhYmVsIjogIlNraW4gbGVzaW9uIEFJIGV4dGVuZGVkIGZyb20gb25lIGNhbWVyYSB0byBzbWFydHBob25lcyBhbmQgdGFibGV0cyIsICJ3aHkiOiAiUnVubmluZyBvbiBuZXcgY29tcHV0aW5nIHBsYXRmb3JtcyBpcyB0aGUgcHJlLXNwZWNpZmllZCBQQ0NQIG1vZGlmaWNhdGlvbiwgc28gb3V0c2lkZSBhIFBDQ1AgaXQgd291bGQgbmVlZCBhIG5ldyBzdWJtaXNzaW9uLiIsICJxdW90ZSI6ICJUaGUgbWFudWZhY3R1cmVyIHdvdWxkIGxpa2UgdG8gZXh0ZW5kIHRoZSBBSS1EU0YgZm9yIHVzZSBvbiBhZGRpdGlvbmFsIGdlbmVyYWwtcHVycG9zZSBjb21wdXRpbmcgcGxhdGZvcm1zLCBpbmNsdWRpbmcgc21hcnRwaG9uZXMgYW5kIHRhYmxldHMuIiwgInNvdXJjZSI6ICJBSS1lbmFibGVkIGRldmljZSBQQ0NQIGZpbmFsIGd1aWRhbmNlICgyMDI1KSwgQXBwZW5kaXggQiAoMikiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9tYXJrZXRpbmctc3VibWlzc2lvbi1yZWNvbW1lbmRhdGlvbnMtcHJlZGV0ZXJtaW5lZC1jaGFuZ2UtY29udHJvbC1wbGFuLWFydGlmaWNpYWwtaW50ZWxsaWdlbmNlP3Y9Z2ZiMjNiOTY5OTllLTgwZjBmNDIzZWZlMGM4MTAmaGw9NDQ6VGhlJTIwbWFudWZhY3R1cmVyJTIwd291bGQlMjBsaWtlJTIwdG8lMjBleHRlbmQlMjB0aGUlMjBBSS1EU0YlMjBmb3IlMjB1c2UlMjBvbiUyMGFkZGl0aW9uYWwlMjBnZW5lcmFsLXB1cnBvc2UlMjBjb21wdXRpbmclMjBwbGF0Zm9ybXMlMkMlMjBpbmNsdWRpbmclMjBzbWFydHBob25lcyUyMGFuZCUyMHRhYmxldHMuJmZvY3VzPTEifV0sICJubyI6IFt7ImxhYmVsIjogIkNsZWFyZWQgTVIgcHJvdG9jb2wgYWRkZWQgdG8gYSBzaW1pbGFyIG5ldyBzY2FubmVyIG1vZGVsIiwgIndoeSI6ICJNb3ZpbmcgY2xlYXJlZCBzb2Z0d2FyZSB0byBhIG5ldyBtb2RlbCB3aXRoIHNpbWlsYXIgdGVjaG5vbG9neSBnZW5lcmFsbHkgbmVlZHMgbm8gbmV3IDUxMChrKS4iLCAicXVvdGUiOiAiQSBuZXcgNTEwKGspIGlzIGdlbmVyYWxseSBub3QgcmVxdWlyZWQgZm9yIHRoZSBhZGRpdGlvbiBvZiBhIHByb3RvY29sIHRvIGEgbmV3IGRldmljZSBtb2RlbCBpZiB0aGUgcHJvdG9jb2wgaGFzIGJlZW4gY2xlYXJlZCBpbiBhbm90aGVyIG1vZGVsIG1hbnVmYWN0dXJlZCBieSB0aGUgc2FtZSBtYW51ZmFjdHVyZXIsIGFuZCBoYXMgc2ltaWxhciB0ZWNobm9sb2dpY2FsIGNoYXJhY3RlcmlzdGljcyBhcyB0aGUgbW9kZWwgaW4gd2hpY2ggdGhlIHByb3RvY29sIGhhcyBiZWVuIGNsZWFyZWQiLCAic291cmNlIjogIk1SIGRpYWdub3N0aWMgZGV2aWNlcyBndWlkYW5jZSAoMjAyMyksIFNlY3Rpb24gVklJSSIsICJsaW5rIjogImh0dHBzOi8vZmRhLmlubm9saXRpY3MuY29tL2d1aWRhbmNlL3N1Ym1pc3Npb24tcHJlbWFya2V0LW5vdGlmaWNhdGlvbnMtbWFnbmV0aWMtcmVzb25hbmNlLWRpYWdub3N0aWMtZGV2aWNlcz92PWdmMjE5MGFkMzNmOS1mNTczZWUxODAwMDAwZWQ5JmhsPTE3OkElMjBuZXclMjA1MTAlMjhrJTI5JTIwaXMlMjBnZW5lcmFsbHklMjBub3QlMjByZXF1aXJlZCUyMGZvciUyMHRoZSUyMGFkZGl0aW9uJTIwb2YlMjBhJTIwcHJvdG9jb2wlMjB0byUyMGElMjBuZXclMjBkZXZpY2UlMjBtb2RlbCUyMGlmJTIwdGhlJTIwcHJvdG9jb2wlMjBoYXMlMjBiZWVuJTIwY2xlYXJlZCUyMGluJTIwYW5vdGhlciUyMG1vZGVsJTIwbWFudWZhY3R1cmVkJTIwYnklMjB0aGUlMjBzYW1lJTIwbWFudWZhY3R1cmVyJTJDJTIwYW5kJTIwaGFzJTIwc2ltaWxhciUyMHRlY2hub2xvZ2ljYWwlMjBjaGFyYWN0ZXJpc3RpY3MlMjBhcyUyMHRoZSUyMG1vZGVsJTIwaW4lMjB3aGljaCUyMHRoZSUyMHByb3RvY29sJTIwaGFzJTIwYmVlbiUyMGNsZWFyZWQmZm9jdXM9MSJ9XSwgIm5vbmUiOiAiVGhlIHNvZnR3YXJlIGd1aWRhbmNlIGdpdmVzIG5vIGRvY3VtZW50LXNpZGUgYXJjaGl0ZWN0dXJlIGV4YW1wbGUuIEl0cyB0ZXh0IG9ubHkgc2F5cyB0aGUgZXh0ZW50IGFuZCBpbXBhY3Qgb2YgdGhlIGNoYW5nZSBkZWNpZGUuIFRoZSBvbmUgTk8gaGVyZSBjb21lcyBmcm9tIHRoZSBNUiBndWlkYW5jZSBhbmQgY29uY2VybnMgYSBzaW1pbGFyIGhhcmR3YXJlIG1vZGVsLiJ9LCAiVkl8c2lnbmlmaWNhbnQgc29mdHdhcmUgcmUtd3JpdGUiOiB7InllcyI6IFt7ImxhYmVsIjogIlNpZ25pZmljYW50IHJlLXdyaXRlIGR1cmluZyByZWVuZ2luZWVyaW5nIiwgIndoeSI6ICJGREEgc2F5cyBhIHNpZ25pZmljYW50IHJlLXdyaXRlIGxpa2VseSBuZWVkcyBhIDUxMChrKSBiZWNhdXNlIGl0IGFmZmVjdHMgcGVyZm9ybWFuY2UgYW5kIHJpc2sgY29udHJvbHMuIiwgInF1b3RlIjogIkNoYW5nZXMgaW52b2x2aW5nIHNpZ25pZmljYW50IHNvZnR3YXJlIHJlLXdyaXRlIGxpa2VseSByZXF1aXJlIHN1Ym1pc3Npb24gb2YgYSBuZXcgNTEwKGspIGJlY2F1c2Ugb2YgdGhlIGltcGFjdCBvbiB0aGUgcGVyZm9ybWFuY2UgYW5kIG9uIHRoZSByaXNrIGNvbnRyb2xzIiwgInNvdXJjZSI6ICJTb2Z0d2FyZSBndWlkYW5jZSwgU2VjdGlvbiBWSSAoUmVlbmdpbmVlcmluZyBhbmQgcmVmYWN0b3JpbmcpIiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1zb2Z0d2FyZS1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZjZDNhYTQzODQ0LWE5YTI2Yzc3NWQyNzM5MDgmaGw9MjA6Q2hhbmdlcyUyMGludm9sdmluZyUyMHNpZ25pZmljYW50JTIwc29mdHdhcmUlMjByZS13cml0ZSUyMGxpa2VseSUyMHJlcXVpcmUlMjBzdWJtaXNzaW9uJTIwb2YlMjBhJTIwbmV3JTIwNTEwJTI4ayUyOSUyMGJlY2F1c2UlMjBvZiUyMHRoZSUyMGltcGFjdCUyMG9uJTIwdGhlJTIwcGVyZm9ybWFuY2UlMjBhbmQlMjBvbiUyMHRoZSUyMHJpc2slMjBjb250cm9scyZmb2N1cz0xIn0sIHsibGFiZWwiOiAiQyB0byBDKysgcG9ydCBjb21iaW5lZCB3aXRoIGFuIG9iamVjdC1vcmllbnRlZCByZWRlc2lnbiIsICJ3aHkiOiAiRkRBIGNhbGxzIHRoaXMgcGFyYWRpZ20gc2hpZnQgYSBzaWduaWZpY2FudCBzb2Z0d2FyZSByZS13cml0ZSBhbmQgc2F5cyBhIG5ldyA1MTAoaykgaXMgbGlrZWx5IHJlcXVpcmVkLiIsICJxdW90ZSI6ICJtb3ZpbmcgZnJvbSBhIGZ1bmN0aW9uYWwgb3IgbG9naWNhbCBjb2RpbmcgcGFyYWRpZ20gdG8gYW4gT2JqZWN0IE9yaWVudGVkIFByb2dyYW1taW5nIHBhcmFkaWdtLCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBjaGFuZ2UgZnJvbSBDIHRvIEMrKywgY291bGQgaW52b2x2ZSBzaWduaWZpY2FudCBzb2Z0d2FyZSByZS13cml0ZSwgYW5kIHN1Ym1pc3Npb24gb2YgYSBuZXcgNTEwKGspIGlzIGxpa2VseSByZXF1aXJlZCIsICJzb3VyY2UiOiAiU29mdHdhcmUgZ3VpZGFuY2UsIFNlY3Rpb24gVkkgKEluZnJhc3RydWN0dXJlKSIsICJsaW5rIjogImh0dHBzOi8vZmRhLmlubm9saXRpY3MuY29tL2d1aWRhbmNlL2RlY2lkaW5nLXdoZW4tc3VibWl0LTUxMGstc29mdHdhcmUtY2hhbmdlLWV4aXN0aW5nLWRldmljZT92PWdmY2QzYWE0Mzg0NC1hOWEyNmM3NzVkMjczOTA4JmhsPTE5Om1vdmluZyUyMGZyb20lMjBhJTIwZnVuY3Rpb25hbCUyMG9yJTIwbG9naWNhbCUyMGNvZGluZyUyMHBhcmFkaWdtJTIwdG8lMjBhbiUyME9iamVjdCUyME9yaWVudGVkJTIwUHJvZ3JhbW1pbmclMjBwYXJhZGlnbSUyQyUyMGluJTIwY29uanVuY3Rpb24lMjB3aXRoJTIwdGhlJTIwY2hhbmdlJTIwZnJvbSUyMEMlMjB0byUyMEMlMkIlMkIlMkMlMjBjb3VsZCUyMGludm9sdmUlMjBzaWduaWZpY2FudCUyMHNvZnR3YXJlJTIwcmUtd3JpdGUlMkMlMjBhbmQlMjBzdWJtaXNzaW9uJTIwb2YlMjBhJTIwbmV3JTIwNTEwJTI4ayUyOSUyMGlzJTIwbGlrZWx5JTIwcmVxdWlyZWQmZm9jdXM9MSJ9LCB7ImxhYmVsIjogIkNvbXBsZXRlIHJld3JpdGUgb2YgYSBjb3JlIGFsZ29yaXRobSB3aXRoIHRoZSBzYW1lIGNsYWltcyIsICJ3aHkiOiAiRXZlbiB3aXRoIHVuY2hhbmdlZCBjbGFpbXMsIEZEQSBzYXlzIGEgZnVsbCByZXdyaXRlIG1heSBuZWVkIGEgNTEwKGspIGJlY2F1c2UgaXQgY2FuIGNoYW5nZSBwZXJmb3JtYW5jZSBpbmRpcmVjdGx5LiIsICJxdW90ZSI6ICJhIGNvbXBsZXRlIHJld3JpdGUgb2YgdGhlIGFsZ29yaXRobSwgZXZlbiB3aXRoIHRoZSBzYW1lIHBlcmZvcm1hbmNlIGNsYWltcyBhbmQgcmlzayBwcm9maWxlLCBtYXkgYmUgc2lnbmlmaWNhbnQgZW5vdWdoIHRvIHJlcXVpcmUgc3VibWlzc2lvbiBvZiBhIG5ldyA1MTAoaykgYmVjYXVzZSB0aGUgcmV3cml0ZSBtYXkgaW1wYWN0IHBlcmZvcm1hbmNlIGluZGlyZWN0bHkiLCAic291cmNlIjogIlNvZnR3YXJlIGd1aWRhbmNlLCBTZWN0aW9uIFZJIChDb3JlIGFsZ29yaXRobSkiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9kZWNpZGluZy13aGVuLXN1Ym1pdC01MTBrLXNvZnR3YXJlLWNoYW5nZS1leGlzdGluZy1kZXZpY2U/dj1nZmNkM2FhNDM4NDQtYTlhMjZjNzc1ZDI3MzkwOCZobD0yMDphJTIwY29tcGxldGUlMjByZXdyaXRlJTIwb2YlMjB0aGUlMjBhbGdvcml0aG0lMkMlMjBldmVuJTIwd2l0aCUyMHRoZSUyMHNhbWUlMjBwZXJmb3JtYW5jZSUyMGNsYWltcyUyMGFuZCUyMHJpc2slMjBwcm9maWxlJTJDJTIwbWF5JTIwYmUlMjBzaWduaWZpY2FudCUyMGVub3VnaCUyMHRvJTIwcmVxdWlyZSUyMHN1Ym1pc3Npb24lMjBvZiUyMGElMjBuZXclMjA1MTAlMjhrJTI5JTIwYmVjYXVzZSUyMHRoZSUyMHJld3JpdGUlMjBtYXklMjBpbXBhY3QlMjBwZXJmb3JtYW5jZSUyMGluZGlyZWN0bHkmZm9jdXM9MSJ9XSwgIm5vIjogW3sibGFiZWwiOiAiUmVmYWN0b3JpbmcgZm9yIG1haW50YWluYWJpbGl0eSB3aXRoaW4gdGhlIGV4aXN0aW5nIHNwZWNpZmljYXRpb24iLCAid2h5IjogIk1pbm9yIHJlc3RydWN0dXJpbmcgdGhhdCBrZWVwcyB0aGUgZGV2aWNlIHdpdGhpbiBpdHMgc3BlY2lmaWNhdGlvbiBpcyB1bmxpa2VseSB0byBuZWVkIGEgNTEwKGspLiIsICJxdW90ZSI6ICJDaGFuZ2VzIHRoYXQgYXJlIG1pbm9yIG1vZGlmaWNhdGlvbnMgdG8gZW5oYW5jZSB0aGUgbWFpbnRhaW5hYmlsaXR5IG9mIHRoZSBkZXZpY2Ugd2l0aGluIGl0cyBzcGVjaWZpY2F0aW9uIGNvbnRleHQgYXJlIHVubGlrZWx5IHRvIHJlcXVpcmUgc3VibWlzc2lvbiBvZiBhIG5ldyA1MTAoaykiLCAic291cmNlIjogIlNvZnR3YXJlIGd1aWRhbmNlLCBTZWN0aW9uIFZJIChSZWVuZ2luZWVyaW5nIGFuZCByZWZhY3RvcmluZykiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9kZWNpZGluZy13aGVuLXN1Ym1pdC01MTBrLXNvZnR3YXJlLWNoYW5nZS1leGlzdGluZy1kZXZpY2U/dj1nZmNkM2FhNDM4NDQtYTlhMjZjNzc1ZDI3MzkwOCZobD0yMDpDaGFuZ2VzJTIwdGhhdCUyMGFyZSUyMG1pbm9yJTIwbW9kaWZpY2F0aW9ucyUyMHRvJTIwZW5oYW5jZSUyMHRoZSUyMG1haW50YWluYWJpbGl0eSUyMG9mJTIwdGhlJTIwZGV2aWNlJTIwd2l0aGluJTIwaXRzJTIwc3BlY2lmaWNhdGlvbiUyMGNvbnRleHQlMjBhcmUlMjB1bmxpa2VseSUyMHRvJTIwcmVxdWlyZSUyMHN1Ym1pc3Npb24lMjBvZiUyMGElMjBuZXclMjA1MTAlMjhrJTI5JmZvY3VzPTEifSwgeyJsYWJlbCI6ICJOZXcgY29tcGFueSBsb2dvIG9uIGV2ZXJ5IHNjcmVlbiIsICJ3aHkiOiAiTWFueSBtb2R1bGVzIGNoYW5nZSwgYnV0IEZEQSBzYXlzIGJyZWFkdGggYWxvbmUgZG9lcyBub3QgbWFrZSBpdCBzaWduaWZpY2FudCBiZWNhdXNlIGNsaW5pY2FsIHVzZSBpcyB1bmFmZmVjdGVkLiIsICJxdW90ZSI6ICJjaGFuZ2luZyB0aGUgY29tcGFueSBsb2dvIHRoYXQgaXMgZGlzcGxheWVkIG9uIHRoZSBiYWNrZ3JvdW5kIG9mIGV2ZXJ5IHNjcmVlbiBjb3VsZCBpbnZvbHZlIG1vZGlmeWluZyBtdWx0aXBsZSBzb2Z0d2FyZSBtb2R1bGVzOyB3aGlsZSB0aGUgbnVtYmVyIG9mIG1vZHVsZXMgaW1wYWN0ZWQgbWF5IGJlIGxhcmdlLCBpdCBpcyB1bmxpa2VseSB0aGF0IHRoZSBpbnRlbmRlZCBjaGFuZ2UgY291bGQgc2lnbmlmaWNhbnRseSBpbXBhY3QgdGhlIGRldmljZeKAmXMgc2FmZXR5IGFuZCBlZmZlY3RpdmVuZXNzIiwgInNvdXJjZSI6ICJTb2Z0d2FyZSBndWlkYW5jZSwgU2VjdGlvbiBWSSAoQ29zbWV0aWMgY2hhbmdlcykiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9kZWNpZGluZy13aGVuLXN1Ym1pdC01MTBrLXNvZnR3YXJlLWNoYW5nZS1leGlzdGluZy1kZXZpY2U/dj1nZmNkM2FhNDM4NDQtYTlhMjZjNzc1ZDI3MzkwOCZobD0yMDpjaGFuZ2luZyUyMHRoZSUyMGNvbXBhbnklMjBsb2dvJTIwdGhhdCUyMGlzJTIwZGlzcGxheWVkJTIwb24lMjB0aGUlMjBiYWNrZ3JvdW5kJTIwb2YlMjBldmVyeSUyMHNjcmVlbiUyMGNvdWxkJTIwaW52b2x2ZSUyMG1vZGlmeWluZyUyMG11bHRpcGxlJTIwc29mdHdhcmUlMjBtb2R1bGVzJTNCJTIwd2hpbGUlMjB0aGUlMjBudW1iZXIlMjBvZiUyMG1vZHVsZXMlMjBpbXBhY3RlZCUyMG1heSUyMGJlJTIwbGFyZ2UlMkMlMjBpdCUyMGlzJTIwdW5saWtlbHklMjB0aGF0JTIwdGhlJTIwaW50ZW5kZWQlMjBjaGFuZ2UlMjBjb3VsZCUyMHNpZ25pZmljYW50bHklMjBpbXBhY3QlMjB0aGUlMjBkZXZpY2UlRTIlODAlOTlzJTIwc2FmZXR5JTIwYW5kJTIwZWZmZWN0aXZlbmVzcyZmb2N1cz0xIn0sIHsibGFiZWwiOiAiUmVxdWlyZW1lbnRzIHJld29yZGVkIG9yIGFkZGVkIHdpdGggbm8gY2hhbmdlIGluIGZ1bmN0aW9uYWxpdHkiLCAid2h5IjogIlJld3JpdGluZyByZXF1aXJlbWVudCB0ZXh0IHdpdGhvdXQgY2hhbmdpbmcgd2hhdCB0aGUgY29kZSBkb2VzIGxpa2VseSBuZWVkcyBubyA1MTAoaykuIiwgInF1b3RlIjogIlRoaXMgY2xhcmlmaWNhdGlvbiBtYXkgYmUgcmV2aXNlZCBwaHJhc2luZyBvZiBhbiBleGlzdGluZyByZXF1aXJlbWVudCBvciBjcmVhdGlvbiBvZiBhIG5ldyByZXF1aXJlbWVudCBhbHRvZ2V0aGVyLCB3aXRob3V0IGNoYW5naW5nIG9yIGFkZGluZyBmdW5jdGlvbmFsaXR5IiwgInNvdXJjZSI6ICJTb2Z0d2FyZSBndWlkYW5jZSwgU2VjdGlvbiBWSSAoQ2xhcmlmaWNhdGlvbiBvZiByZXF1aXJlbWVudHMpIiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1zb2Z0d2FyZS1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZjZDNhYTQzODQ0LWE5YTI2Yzc3NWQyNzM5MDgmaGw9MjA6VGhpcyUyMGNsYXJpZmljYXRpb24lMjBtYXklMjBiZSUyMHJldmlzZWQlMjBwaHJhc2luZyUyMG9mJTIwYW4lMjBleGlzdGluZyUyMHJlcXVpcmVtZW50JTIwb3IlMjBjcmVhdGlvbiUyMG9mJTIwYSUyMG5ldyUyMHJlcXVpcmVtZW50JTIwYWx0b2dldGhlciUyQyUyMHdpdGhvdXQlMjBjaGFuZ2luZyUyMG9yJTIwYWRkaW5nJTIwZnVuY3Rpb25hbGl0eSZmb2N1cz0xIn1dfSB9fSwgImZsb3ciOiB7InRha2Vhd2F5cyI6IFsiRkRBIHB1dHMgbm8gbnVtYmVyIG9uIFwic2lnbmlmaWNhbnRcIi4gSXRzIGRlZmluaXRpb25zIChmb3IgZXhhbXBsZSwgc2lnbmlmaWNhbnQgaGFybSBtZWFucyBtZWRpY2FsIGludGVydmVudGlvbiBvciB3b3JzZSkgYW5kIGl0cyBleGFtcGxlcyBhcmUgdGhlIGNhbGlicmF0aW9uLiIsICJXaGVuIGEgd2FybmluZyBsZXR0ZXIgZGlzcHV0ZXMgYSBmaXJtJ3MgZGVjaXNpb24gbm90IHRvIGZpbGUsIGl0IHNheXMgYSA1MTAoaykgd2FzIG5lZWRlZC4gTm8gbGV0dGVyIGluIHRoZSBjb3JwdXMgZ29lcyB0aGUgb3RoZXIgd2F5LCBzbyB3cml0ZSBkb3duIGV2ZXJ5IFwiZG9jdW1lbnRcIiBkZWNpc2lvbi4iLCAiNTEwKGspIHN1bW1hcmllcyBzaG93IHRoZSBmaWxpbmcgc2lkZTogcmV0cmFpbnMgb3V0c2lkZSBhIFBDQ1AgYW5kIG1hbnkgT1MgYW5kIHBsYXRmb3JtIG1vdmVzIHdlcmUgZmlsZWQuIENoYW5nZXMgZG9jdW1lbnRlZCB0byBmaWxlIHJhcmVseSBiZWNvbWUgcHVibGljLCBzbyB0aGUgcmVjb3JkIG92ZXJzdGF0ZXMgZmlsaW5nLiJdLCAicHJlIjogW3sibGFiZWwiOiAiQ2hhbmdlcyB0aGUgaW50ZW5kZWQgdXNlLCBpbmRpY2F0aW9ucyBvciBsYWJlbGluZyBjbGFpbXMiLCAidG8iOiAiVXNlIHRoZSBnZW5lcmFsIGRldmljZS1jaGFuZ2UgZ3VpZGFuY2UgKGxhYmVsaW5nIGZsb3djaGFydCkifSwgeyJsYWJlbCI6ICJJbnNpZGUgdGhlIHNjb3BlIG9mIGFuIGF1dGhvcml6ZWQgUENDUCIsICJ0byI6ICJGb2xsb3cgdGhlIFBDQ1AuIE5vIG5ldyA1MTAoaykifV0sICJub2RlcyI6IFt7ImlkIjogIlExIiwgInEiOiAiSXMgdGhlIGNoYW5nZSBtYWRlIHNvbGVseSB0byBzdHJlbmd0aGVuIGN5YmVyc2VjdXJpdHkgYW5kIGRvZXMgbm90IGhhdmUgYW55IG90aGVyIGltcGFjdCBvbiB0aGUgc29mdHdhcmUgb3IgZGV2aWNlPyIsICJ0ZXJtIjogInNvbGVseSB0byBzdHJlbmd0aGVuIGN5YmVyc2VjdXJpdHkiLCAieWVzIjogImRvYyIsICJydWxlIjogIlwiU29sZWx5XCIgZGVjaWRlcy4gQW55IG90aGVyIGVmZmVjdCwgc3VjaCBhcyBhIG5ldyBPUywgc2VuZHMgdGhlIGNoYW5nZSBvbiB0byBRMi4iLCAiZG9jIjogW3sibGFiZWwiOiAiU2VjdXJpdHkgcGF0Y2gsIG5vIG90aGVyIGltcGFjdCIsICJ0YWciOiAiR3VpZGFuY2UgMS4xIiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1zb2Z0d2FyZS1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZjZDNhYTQzODQ0LWE5YTI2Yzc3NWQyNzM5MDgmaGw9MjElM0FUaGUlMjBjaGFuZ2UlMjBpcyUyMG1hZGUlMjBzb2xlbHklMjB0byUyMGFkZHJlc3MlMjBjeWJlcnNlY3VyaXR5JTIwdnVsbmVyYWJpbGl0aWVzJTIwb3IlMjB0byUyMHN0cmVuZ3RoZW4lMjBjeWJlcnNlY3VyaXR5JmZvY3VzPTEiLCAicXVvdGUiOiAiVGhlIGNoYW5nZSBpcyBtYWRlIHNvbGVseSB0byBhZGRyZXNzIGN5YmVyc2VjdXJpdHkgdnVsbmVyYWJpbGl0aWVzIG9yIHRvIHN0cmVuZ3RoZW4gY3liZXJzZWN1cml0eSIsICJzcmMiOiAiRGVjaWRpbmcgV2hlbiB0byBTdWJtaXQgYSA1MTAoaykgZm9yIGEgU29mdHdhcmUgQ2hhbmdlIHRvIGFuIEV4aXN0aW5nIERldmljZSAoRkRBIGd1aWRhbmNlLCBPY3QgMjUsIDIwMTcpIn0sIHsibGFiZWwiOiAiRW5jcnlwdGlvbiBhbmQgcmVtb3RlLXVzZXIgcGFzc2NvZGUgYWRkZWQiLCAidGFnIjogIkd1aWRhbmNlIDEuMiIsICJsaW5rIjogImh0dHBzOi8vZmRhLmlubm9saXRpY3MuY29tL2d1aWRhbmNlL2RlY2lkaW5nLXdoZW4tc3VibWl0LTUxMGstc29mdHdhcmUtY2hhbmdlLWV4aXN0aW5nLWRldmljZT92PWdmY2QzYWE0Mzg0NC1hOWEyNmM3NzVkMjczOTA4JmhsPTIyJTNBVGhlJTIwY2hhbmdlJTIwaXMlMjBtYWRlJTIwdG8lMjByZXN0cmljdCUyMHVzZXIlMkZjdXN0b21lciUyMGFjY2VzcyUyMHRvJTIwYXBwcm9wcmlhdGUlMjBsZXZlbHMlMjBhbmQlMjBwcm92aWRlJTIwcHJvdGVjdGlvbiUyMHRvJTIwdGhlJTIwZGV2aWNlJTIwY29uZmlndXJhdGlvbiUyMGluZm9ybWF0aW9uJTJDJTIwaW4lMjBvcmRlciUyMHRvJTIwc3RyZW5ndGhlbiUyMHRoZSUyMGN5YmVyc2VjdXJpdHklMjBvZiUyMHRoZSUyMGRldmljZSZmb2N1cz0xIiwgInF1b3RlIjogIlRoZSBjaGFuZ2UgaXMgbWFkZSB0byByZXN0cmljdCB1c2VyL2N1c3RvbWVyIGFjY2VzcyB0byBhcHByb3ByaWF0ZSBsZXZlbHMgYW5kIHByb3ZpZGUgcHJvdGVjdGlvbiB0byB0aGUgZGV2aWNlIGNvbmZpZ3VyYXRpb24gaW5mb3JtYXRpb24sIGluIG9yZGVyIHRvIHN0cmVuZ3RoZW4gdGhlIGN5YmVyc2VjdXJpdHkgb2YgdGhlIGRldmljZSIsICJzcmMiOiAiRGVjaWRpbmcgV2hlbiB0byBTdWJtaXQgYSA1MTAoaykgZm9yIGEgU29mdHdhcmUgQ2hhbmdlIHRvIGFuIEV4aXN0aW5nIERldmljZSAoRkRBIGd1aWRhbmNlLCBPY3QgMjUsIDIwMTcpIn0sIHsibGFiZWwiOiAiUm91dGluZSBwYXRjaCBmb3IgYSBjb250cm9sbGVkLXJpc2sgdnVsbmVyYWJpbGl0eSIsICJ0YWciOiAiQ3liZXJzZWN1cml0eSBndWlkYW5jZSIsICJsaW5rIjogImh0dHBzOi8vZmRhLmlubm9saXRpY3MuY29tL2d1aWRhbmNlL2N5YmVyc2VjdXJpdHktbWVkaWNhbC1kZXZpY2VzLXF1YWxpdHktbWFuYWdlbWVudC1zeXN0ZW0tY29uc2lkZXJhdGlvbnMtYW5kLWNvbnRlbnQtcHJlbWFya2V0P3Y9Z2ZiMzIwZmJlY2Q1LWQwNDZmYTgzNjA0ODkzM2UmaGw9Mzc6VXBkYXRlcyUyMGFuZCUyMHBhdGNoZXMlMjB0byUyMGFkZHJlc3MlMjB0aGVzZSUyMHR5cGVzJTIwb2YlMjB2dWxuZXJhYmlsaXRpZXMlMjBhcmUlMjBub3QlMjB0byUyMHJlZHVjZSUyMHVuY29udHJvbGxlZCUyMHJpc2slMkMlMjBhbmQlMjB0aGVyZWZvcmUlMjBub3QlMjB0byUyMHJlZHVjZSUyMGElMjByaXNrJTIwdG8lMjBoZWFsdGglMjBvciUyMHRvJTIwY29ycmVjdCUyMGElMjB2aW9sYXRpb24lMjBvZiUyMHRoZSUyMEZEJTI2QyUyMEFjdC4mZm9jdXM9MSIsICJxdW90ZSI6ICJVcGRhdGVzIGFuZCBwYXRjaGVzIHRvIGFkZHJlc3MgdGhlc2UgdHlwZXMgb2YgdnVsbmVyYWJpbGl0aWVzIGFyZSBub3QgdG8gcmVkdWNlIHVuY29udHJvbGxlZCByaXNrLCBhbmQgdGhlcmVmb3JlIG5vdCB0byByZWR1Y2UgYSByaXNrIHRvIGhlYWx0aCBvciB0byBjb3JyZWN0IGEgdmlvbGF0aW9uIG9mIHRoZSBGRCZDIEFjdC4iLCAic3JjIjogIkN5YmVyc2VjdXJpdHkgaW4gTWVkaWNhbCBEZXZpY2VzOiBRdWFsaXR5IE1hbmFnZW1lbnQgU3lzdGVtIENvbnNpZGVyYXRpb25zIGFuZCBDb250ZW50IG9mIFByZW1hcmtldCBTdWJtaXNzaW9ucyAoZmluYWwsIDIwMjYtMDItMDMpIn1dLCAibmV3IjogW3sibGFiZWwiOiAiRmlybSBmaWxlZCBhbiBPUyByZXBsYWNlbWVudCBtYWRlIHRvIGtlZXAgcmVjZWl2aW5nIHNlY3VyaXR5IGZpeGVzLCBnbyB0byBRMiIsICJ0YWciOiAiSzIwMzc5MCBTcGVjaWFsIiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZGV2aWNlL0syMDM3OTA/ZG9jPXN1bW1hcnkmaGw9ODpUaGlzJTIwU3BlY2lhbCUyMDUxMCUyOGslMjklMjBpcyUyMGJlaW5nJTIwc3VibWl0dGVkJTIwdG8lMjB1cGdyYWRlJTIwdGhlJTIwb3BlcmF0aW5nJTIwc3lzdGVtJTIwZnJvbSUyMEZlZG9yYSUyMDE3JTIwTGludXglMjB0byUyMFdpbmRSaXZlciUyMExUUyUyMDE4JTIwTGludXglMjBmb3IlMjB0aGUlMjBHRU0lMjBQcmVtaWVyJTIwNTAwMCUyMEluc3RydW1lbnQuJTIwVGhlJTIwb3BlcmF0aW5nJTIwc3lzdGVtJTIwaXMlMjBiZWluZyUyMHVwZ3JhZGVkJTIwdG8lMjBhY2NvbW1vZGF0ZSUyMGxvbmctdGVybSUyMHN1cHBvcnQlMjBvZiUyMHJlc29sdXRpb25zJTIwZm9yJTIwY29tbW9uJTIwdnVsbmVyYWJpbGl0eSUyMGV4cG9zdXJlcy4mZm9jdXM9MSIsICJxdW90ZSI6ICJUaGlzIFNwZWNpYWwgNTEwKGspIGlzIGJlaW5nIHN1Ym1pdHRlZCB0byB1cGdyYWRlIHRoZSBvcGVyYXRpbmcgc3lzdGVtIGZyb20gRmVkb3JhIDE3IExpbnV4IHRvIFdpbmRSaXZlciBMVFMgMTggTGludXggZm9yIHRoZSBHRU0gUHJlbWllciA1MDAwIEluc3RydW1lbnQuIFRoZSBvcGVyYXRpbmcgc3lzdGVtIGlzIGJlaW5nIHVwZ3JhZGVkIHRvIGFjY29tbW9kYXRlIGxvbmctdGVybSBzdXBwb3J0IG9mIHJlc29sdXRpb25zIGZvciBjb21tb24gdnVsbmVyYWJpbGl0eSBleHBvc3VyZXMuIiwgInNyYyI6ICJLMjAzNzkwIEdFTSBQcmVtaWVyIDUwMDAgKEluc3RydW1lbnRhdGlvbiBMYWJvcmF0b3J5IENPKSwgU3BlY2lhbCA1MTAoayksIGRlY2lzaW9uIDIwMjEtMDgtMjAifSwgeyJsYWJlbCI6ICJGaXJtIGZpbGVkIGEgV2luZG93cyAxMCB1cGRhdGUgYnVuZGxlZCB3aXRoIHNlY3VyaXR5IHVwZGF0ZXMsIGdvIHRvIFEyIiwgInRhZyI6ICJLMjEwMzkyIFNwZWNpYWwiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9kZXZpY2UvSzIxMDM5Mj9kb2M9c3VtbWFyeSZobD01OlRoZSUyMGNoYW5nZXMlMjBhcmUlMjBsaW1pdGVkJTIwdG8lMjB0aGUlMjBtb2RpZmljYXRpb24lMjBvZiUyMHN5c3RlbSUyMHNvZnR3YXJlJTIwdG8lMjBzdXBwb3J0JTIwYW4lMjBvcGVyYXRpbmclMjBzeXN0ZW0lMjB1cGRhdGUlMjB0byUyMFdpbmRvd3MlQzIlQUUlMjAxMCUyQyUyMHRvJTIwbWFuYWdlJTIwZW5kJTIwb2YlMjBsaWZlJTIwY29tcG9uZW50cyUyQyUyMHNlY3VyaXR5JTIwdXBkYXRlcyUyRmVuaGFuY2VtZW50cyUyQyUyMGFuZCUyMGFkZHJlc3MlMjBzb2Z0d2FyZSUyMGJ1ZyUyMGZpeGVzLiZmb2N1cz0xIiwgInF1b3RlIjogIlRoZSBjaGFuZ2VzIGFyZSBsaW1pdGVkIHRvIHRoZSBtb2RpZmljYXRpb24gb2Ygc3lzdGVtIHNvZnR3YXJlIHRvIHN1cHBvcnQgYW4gb3BlcmF0aW5nIHN5c3RlbSB1cGRhdGUgdG8gV2luZG93c8KuIDEwLCB0byBtYW5hZ2UgZW5kIG9mIGxpZmUgY29tcG9uZW50cywgc2VjdXJpdHkgdXBkYXRlcy9lbmhhbmNlbWVudHMsIGFuZCBhZGRyZXNzIHNvZnR3YXJlIGJ1ZyBmaXhlcy4iLCAic3JjIjogIksyMTAzOTIgV29ya01hdGUgQ2xhcmlzIFN5c3RlbSB2MS4yIChBYmJvdHQpLCBTcGVjaWFsIDUxMChrKSwgZGVjaXNpb24gMjAyMS0wMy0xMSJ9XX0sIHsiaWQiOiAiUTIiLCAicSI6ICJJcyB0aGUgY2hhbmdlIG1hZGUgc29sZWx5IHRvIHJldHVybiB0aGUgc3lzdGVtIGludG8gc3BlY2lmaWNhdGlvbiBvZiB0aGUgbW9zdCByZWNlbnRseSBjbGVhcmVkIGRldmljZT8iLCAidGVybSI6ICJzb2xlbHkgdG8gcmV0dXJuIHRoZSBzeXN0ZW0gaW50byBzcGVjaWZpY2F0aW9uIiwgInllcyI6ICJkb2MiLCAicnVsZSI6ICJUaGUgZml4IHJlc3RvcmVzIGEgc3BlY2lmaWNhdGlvbiB0aGUgY2xlYXJlZCBkZXZpY2UgYWxyZWFkeSBoYWQuIElmIHRoZSBmaXggbmVlZHMgYSBuZXcgc3BlY2lmaWNhdGlvbiwgdGhlIGFuc3dlciBpcyBuby4iLCAiZG9jIjogW3sibGFiZWwiOiAiQmFyY29kZSB0cnVuY2F0ZWQgYXQgb25lIGludmFsaWQgY2hhcmFjdGVyIiwgInRhZyI6ICJHdWlkYW5jZSAyLjEiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9kZWNpZGluZy13aGVuLXN1Ym1pdC01MTBrLXNvZnR3YXJlLWNoYW5nZS1leGlzdGluZy1kZXZpY2U/dj1nZmNkM2FhNDM4NDQtYTlhMjZjNzc1ZDI3MzkwOCZobD0yMiUzQVRoZSUyMGNoYW5nZSUyMGlzJTIwbWFkZSUyMHNvbGVseSUyMHRvJTIwZW5zdXJlJTIwdGhlJTIwc29mdHdhcmUlMjBtZWV0cyUyMHRoZSUyMG9yaWdpbmFsJTIwc3BlY2lmaWNhdGlvbiZmb2N1cz0xIiwgInF1b3RlIjogIlRoZSBjaGFuZ2UgaXMgbWFkZSBzb2xlbHkgdG8gZW5zdXJlIHRoZSBzb2Z0d2FyZSBtZWV0cyB0aGUgb3JpZ2luYWwgc3BlY2lmaWNhdGlvbiIsICJzcmMiOiAiRGVjaWRpbmcgV2hlbiB0byBTdWJtaXQgYSA1MTAoaykgZm9yIGEgU29mdHdhcmUgQ2hhbmdlIHRvIGFuIEV4aXN0aW5nIERldmljZSAoRkRBIGd1aWRhbmNlLCBPY3QgMjUsIDIwMTcpIn0sIHsibGFiZWwiOiAiRElDT00gcXVlcnkgZml4ZWQgdG8gcmVzdG9yZSBwcmlvci1zdHVkeSByZXRyaWV2YWwiLCAidGFnIjogIkd1aWRhbmNlIDIuMiIsICJsaW5rIjogImh0dHBzOi8vZmRhLmlubm9saXRpY3MuY29tL2d1aWRhbmNlL2RlY2lkaW5nLXdoZW4tc3VibWl0LTUxMGstc29mdHdhcmUtY2hhbmdlLWV4aXN0aW5nLWRldmljZT92PWdmY2QzYWE0Mzg0NC1hOWEyNmM3NzVkMjczOTA4JmhsPTIzJTNBVGhlJTIwc29mdHdhcmUlMjBjaGFuZ2UlMjBpcyUyMGltcGxlbWVudGVkJTIwc29sZWx5JTIwdG8lMjByZXR1cm4lMjB0aGUlMjBzeXN0ZW0lMjBpbnRvJTIwc3BlY2lmaWNhdGlvbiUyMG9mJTIwdGhlJTIwbW9zdCUyMHJlY2VudGx5JTIwY2xlYXJlZCUyMGRldmljZSUyMHJlZ2FyZGluZyUyMERJQ09NJTIwY29uZm9ybWFuY2UmZm9jdXM9MSIsICJxdW90ZSI6ICJUaGUgc29mdHdhcmUgY2hhbmdlIGlzIGltcGxlbWVudGVkIHNvbGVseSB0byByZXR1cm4gdGhlIHN5c3RlbSBpbnRvIHNwZWNpZmljYXRpb24gb2YgdGhlIG1vc3QgcmVjZW50bHkgY2xlYXJlZCBkZXZpY2UgcmVnYXJkaW5nIERJQ09NIGNvbmZvcm1hbmNlIiwgInNyYyI6ICJEZWNpZGluZyBXaGVuIHRvIFN1Ym1pdCBhIDUxMChrKSBmb3IgYSBTb2Z0d2FyZSBDaGFuZ2UgdG8gYW4gRXhpc3RpbmcgRGV2aWNlIChGREEgZ3VpZGFuY2UsIE9jdCAyNSwgMjAxNykifSwgeyJsYWJlbCI6ICJTb2Z0d2FyZSB0aGF0IGxhY2tlZCBhIDUxMChrKSByZW1vdmVkLCBwcmlvciB2ZXJzaW9uIHJlaW5zdGFsbGVkIiwgInRhZyI6ICJSZWNhbGwiLCAibGluayI6ICJodHRwczovL2hpZ2hsaWdodGVyLnlzaHJlc3RoYS53b3JrZXJzLmRldi92L1YzSW1HM2ppblRISCNoPTIiLCAicXVvdGUiOiAiSWYgdGhlIHNvZnR3YXJlIGlzIHY1LjI0LCBhbGxvdyB0aGUgVG9zb2ggZmllbGQgcmVwcmVzZW50YXRpdmUgdG8gZG93bmxvYWQgYWxsIHBhdGllbnQgcmVzdWx0cyBmcm9tIHlvdXIgYW5hbHl6ZXIsIHJlbW92ZSBzb2Z0d2FyZSB2ZXJzaW9uIHY1LjI0LCBhbmQgdXBsb2FkIHNvZnR3YXJlIHZlcnNpb24gdjUuMjMuIiwgInNyYyI6ICJGREEgcmVjYWxsIFotMzI0NC0yMDE4OiBUb3NvaCBHOCBBdXRvbWF0ZWQgSFBMQyBBbmFseXplciAoZXZlbnQgODA1ODUsIGluaXRpYXRlZCAyMDE4LTA3LTEzLCByb290IGNhdXNlIE5vIE1hcmtldGluZyBBcHBsaWNhdGlvbikifV0sICJuZXciOiBbeyJsYWJlbCI6ICJTYW1lIGRhdGEgYnVnLCBmaXhlZCBieSBhZGRpbmcgYSBuZXcgZGF0YWJhc2UsIGdvIHRvIFEzIiwgInRhZyI6ICJHdWlkYW5jZSAyLjUiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9kZWNpZGluZy13aGVuLXN1Ym1pdC01MTBrLXNvZnR3YXJlLWNoYW5nZS1leGlzdGluZy1kZXZpY2U/dj1nZmNkM2FhNDM4NDQtYTlhMjZjNzc1ZDI3MzkwOCZobD0yNCUzQUElMjBjaGFuZ2UlMjB3YXMlMjBtYWRlJTIwdG8lMjBjb3JyZWN0JTIwYSUyMGNvZGluZyUyMGVycm9yJTIwYnklMjBhZGRpbmclMjBhJTIwbmV3JTIwZGF0YWJhc2UuJTIwVGhpcyUyMGNhdXNlZCUyMGElMjBjaGFuZ2UlMjB0byUyMHRoZSUyMGRlc2lnbiUyMHNwZWNpZmljYXRpb25zJTIwb2YlMjB0aGUlMjBzb2Z0d2FyZSZmb2N1cz0xIiwgInF1b3RlIjogIkEgY2hhbmdlIHdhcyBtYWRlIHRvIGNvcnJlY3QgYSBjb2RpbmcgZXJyb3IgYnkgYWRkaW5nIGEgbmV3IGRhdGFiYXNlLiBUaGlzIGNhdXNlZCBhIGNoYW5nZSB0byB0aGUgZGVzaWduIHNwZWNpZmljYXRpb25zIG9mIHRoZSBzb2Z0d2FyZSIsICJzcmMiOiAiRGVjaWRpbmcgV2hlbiB0byBTdWJtaXQgYSA1MTAoaykgZm9yIGEgU29mdHdhcmUgQ2hhbmdlIHRvIGFuIEV4aXN0aW5nIERldmljZSAoRkRBIGd1aWRhbmNlLCBPY3QgMjUsIDIwMTcpIn0sIHsibGFiZWwiOiAiQWxnb3JpdGhtIGNvcnJlY3Rpb24gc3VibWl0dGVkIGFzIGEgNTEwKGspIGJlZm9yZSB0aGUgZmllbGQgZml4IiwgInRhZyI6ICJSZWNhbGwiLCAibGluayI6ICJodHRwczovL2hpZ2hsaWdodGVyLnlzaHJlc3RoYS53b3JrZXJzLmRldi92L3FFeTZ2T1VqYXdDMSNoPTEiLCAicXVvdGUiOiAiYSBzb2Z0d2FyZSB1cGRhdGUgaGFzIGJlZW4gZGV2ZWxvcGVkIHRvIGFkZHJlc3MgdGhpcyBpc3N1ZSBhbmQgYSBwcmVtYXJrZXQgbm90aWZpY2F0aW9uIChLMTMwNDI1KSBoYXMgYmVlbiBzdWJtaXR0ZWQgdG8gdGhlIGFnZW5jeS4gT25jZSBjbGVhcmFuY2UgaXMgcmVjZWl2ZWQgZm9yIHRoaXMgcHJlbWFya2V0IG5vdGlmaWNhdGlvbiBmcm9tIHRoZSBVUyBGREEsIFRlcnVtbyBDVlMgd2lsbCBpbXBsZW1lbnQgdGhlIiwgInNyYyI6ICJGREEgcmVjYWxsIFotMTczMy0yMDEzOiBUZXJ1bW8gQ0RJIEJsb29kIFBhcmFtZXRlciBNb25pdG9yaW5nIFN5c3RlbSA1MDAgKGV2ZW50IDYwNDgwLCBpbml0aWF0ZWQgMjAxMy0wMi0yNykifSwgeyJsYWJlbCI6ICJSb2xsYmFjayBwYXN0IHRoZSBsYXRlc3QgY2xlYXJlZCB2ZXJzaW9uLCBkb25lIG9ubHkgYWZ0ZXIgYSA1MTAoaykiLCAidGFnIjogIlJlY2FsbCIsICJsaW5rIjogImh0dHBzOi8vaGlnaGxpZ2h0ZXIueXNocmVzdGhhLndvcmtlcnMuZGV2L3YvM1doeU9zbUl5amhZI2g9MSIsICJxdW90ZSI6ICJGaXJtIFJlcHJlc2VudGF0aXZlIHdpbGwgY29udGFjdCB5b3VyIGZhY2lsaXR5IHRvIGFycmFuZ2UgdGhlIHJlc3RvcmF0aW9uIG9mIHlvdXIgZmFjaWxpdHkncyBnZW5lcmF0b3IgdG8gc29mdHdhcmUgdmVyc2lvbiAzLjE3IHVwb24gcmVjZWl2aW5nIHJlZ3VsYXRvcnkgY2xlYXJhbmNlIG9mIHRoZSA1MTAoaykgcHJlbWFya2V0IG5vdGlmaWNhdGlvbi4iLCAic3JjIjogIkZEQSByZWNhbGwgWi0yNjM4LTIwMjU6IFZlbmNsb3NlIGRpZ2lSRiBHZW5lcmF0b3IsIEJhcmQgUGVyaXBoZXJhbCBWYXNjdWxhciAoZXZlbnQgOTczMTIsIGluaXRpYXRlZCAyMDI1LTA4LTIxKSJ9XX0sIHsiaWQiOiAiUTNhIiwgInEiOiAiRG9lcyB0aGUgY2hhbmdlIGludHJvZHVjZSBhIG5ldyByaXNrIG9yIG1vZGlmeSBhbiBleGlzdGluZyByaXNrIHRoYXQgY291bGQgcmVzdWx0IGluIHNpZ25pZmljYW50IGhhcm0gYW5kIHRoYXQgaXMgbm90IGVmZmVjdGl2ZWx5IG1pdGlnYXRlZCBpbiB0aGUgbW9zdCByZWNlbnRseSBjbGVhcmVkIGRldmljZT8iLCAidGVybSI6ICJzaWduaWZpY2FudCBoYXJtIiwgInllcyI6ICJuZXciLCAicnVsZSI6ICJDcm9zc2VzIG9ubHkgd2hlbiBhbGwgdGhyZWUgaG9sZDogdGhlIGNoYW5nZSBjcmVhdGVzIG9yIG1vZGlmaWVzIGEgaGF6YXJkLCBoYXphcmRvdXMgc2l0dWF0aW9uIG9yIGNhdXNlOyB0aGUgaGFybSBjb3VsZCBiZSBzZXJpb3VzIChtZWRpY2FsIGludGVydmVudGlvbiBvciB3b3JzZSk7IG5vIGNvbnRyb2wgaW4gdGhlIGNsZWFyZWQgZGV2aWNlIGFscmVhZHkgY292ZXJzIGl0LiIsICJkb2MiOiBbeyJsYWJlbCI6ICJVbnVzZWQgZGlzcGxheSBwYXJhbWV0ZXIgcmVtb3ZlZCIsICJ0YWciOiAiR3VpZGFuY2UgMy4yLCBnbyB0byBRM2IiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9kZWNpZGluZy13aGVuLXN1Ym1pdC01MTBrLXNvZnR3YXJlLWNoYW5nZS1leGlzdGluZy1kZXZpY2U/dj1nZmNkM2FhNDM4NDQtYTlhMjZjNzc1ZDI3MzkwOCZobD0yNSUzQVJlbW92YWwlMjBvZiUyMFBQJTIwZG9lcyUyMG5vdCUyMGludHJvZHVjZSUyMGElMjBuZXclMjByaXNrJTIwb3IlMjBtb2RpZnklMjBhbnklMjBvZiUyMHRoZSUyMGV4aXN0aW5nJTIwcmlza3MlMjBmb3IlMjB0aGUlMjBkZXZpY2UmZm9jdXM9MSIsICJxdW90ZSI6ICJSZW1vdmFsIG9mIFBQIGRvZXMgbm90IGludHJvZHVjZSBhIG5ldyByaXNrIG9yIG1vZGlmeSBhbnkgb2YgdGhlIGV4aXN0aW5nIHJpc2tzIGZvciB0aGUgZGV2aWNlIiwgInNyYyI6ICJEZWNpZGluZyBXaGVuIHRvIFN1Ym1pdCBhIDUxMChrKSBmb3IgYSBTb2Z0d2FyZSBDaGFuZ2UgdG8gYW4gRXhpc3RpbmcgRGV2aWNlIChGREEgZ3VpZGFuY2UsIE9jdCAyNSwgMjAxNykifSwgeyJsYWJlbCI6ICJGaXggZm9yIGEgbWlub3IgYnVybiBoYXphcmQiLCAidGFnIjogIkd1aWRhbmNlIDMuMywgZ28gdG8gUTNiIiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1zb2Z0d2FyZS1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZjZDNhYTQzODQ0LWE5YTI2Yzc3NWQyNzM5MDgmaGw9MjYlM0FIb3dldmVyJTJDJTIwdGhlJTIwaGF6YXJkb3VzJTIwc2l0dWF0aW9uJTIwY291bGQlMjBub3QlMjBjYXVzZSUyMHNpZ25pZmljYW50JTIwaGFybSZmb2N1cz0xIiwgInF1b3RlIjogIkhvd2V2ZXIsIHRoZSBoYXphcmRvdXMgc2l0dWF0aW9uIGNvdWxkIG5vdCBjYXVzZSBzaWduaWZpY2FudCBoYXJtIiwgInNyYyI6ICJEZWNpZGluZyBXaGVuIHRvIFN1Ym1pdCBhIDUxMChrKSBmb3IgYSBTb2Z0d2FyZSBDaGFuZ2UgdG8gYW4gRXhpc3RpbmcgRGV2aWNlIChGREEgZ3VpZGFuY2UsIE9jdCAyNSwgMjAxNykifV0sICJuZXciOiBbeyJsYWJlbCI6ICJOZXcgcXVhbnRpdGF0aXZlIHBhcmFtZXRlciAoYUVFRykgYWRkZWQiLCAidGFnIjogIkd1aWRhbmNlIDMuMSIsICJsaW5rIjogImh0dHBzOi8vZmRhLmlubm9saXRpY3MuY29tL2d1aWRhbmNlL2RlY2lkaW5nLXdoZW4tc3VibWl0LTUxMGstc29mdHdhcmUtY2hhbmdlLWV4aXN0aW5nLWRldmljZT92PWdmY2QzYWE0Mzg0NC1hOWEyNmM3NzVkMjczOTA4JmhsPTI1JTNBYUVFRyUyMGludHJvZHVjZXMlMjBhJTIwbmV3JTIwY2F1c2UlMjByZWxhdGVkJTIwdG8lMjBhbiUyMGVycm9yJTIwaW4lMjB0aGUlMjBhRUVHJTIwY2FsY3VsYXRpb24mZm9jdXM9MSIsICJxdW90ZSI6ICJhRUVHIGludHJvZHVjZXMgYSBuZXcgY2F1c2UgcmVsYXRlZCB0byBhbiBlcnJvciBpbiB0aGUgYUVFRyBjYWxjdWxhdGlvbiIsICJzcmMiOiAiRGVjaWRpbmcgV2hlbiB0byBTdWJtaXQgYSA1MTAoaykgZm9yIGEgU29mdHdhcmUgQ2hhbmdlIHRvIGFuIEV4aXN0aW5nIERldmljZSAoRkRBIGd1aWRhbmNlLCBPY3QgMjUsIDIwMTcpIn0sIHsibGFiZWwiOiAiTmV3IHByb2dyYW1taW5nIG1vZGUgd2l0aCBlbmVyZ3kgdHJhbnNmZXIiLCAidGFnIjogIkd1aWRhbmNlIDMuNCIsICJsaW5rIjogImh0dHBzOi8vZmRhLmlubm9saXRpY3MuY29tL2d1aWRhbmNlL2RlY2lkaW5nLXdoZW4tc3VibWl0LTUxMGstc29mdHdhcmUtY2hhbmdlLWV4aXN0aW5nLWRldmljZT92PWdmY2QzYWE0Mzg0NC1hOWEyNmM3NzVkMjczOTA4JmhsPTI2JTNBVGhpcyUyMGZlYXR1cmUlMjBpbnRyb2R1Y2VzJTIwbmV3JTIwcmlza3MlMjBiYXNlZCUyMG9uJTIwdGhlJTIwbmV3JTIwcHJvZ3JhbW1pbmclMjBtb2RlJTIwdGhhdCUyMGNvdWxkJTIwY2F1c2UlMjBzaWduaWZpY2FudCUyMGhhcm0lMjBhcyUyMGElMjByZXN1bHQlMjBvZiUyMGVuZXJneSUyMHRyYW5zZmVyJTIwdG8lMjB0aGUlMjBwYXRpZW50JmZvY3VzPTEiLCAicXVvdGUiOiAiVGhpcyBmZWF0dXJlIGludHJvZHVjZXMgbmV3IHJpc2tzIGJhc2VkIG9uIHRoZSBuZXcgcHJvZ3JhbW1pbmcgbW9kZSB0aGF0IGNvdWxkIGNhdXNlIHNpZ25pZmljYW50IGhhcm0gYXMgYSByZXN1bHQgb2YgZW5lcmd5IHRyYW5zZmVyIHRvIHRoZSBwYXRpZW50IiwgInNyYyI6ICJEZWNpZGluZyBXaGVuIHRvIFN1Ym1pdCBhIDUxMChrKSBmb3IgYSBTb2Z0d2FyZSBDaGFuZ2UgdG8gYW4gRXhpc3RpbmcgRGV2aWNlIChGREEgZ3VpZGFuY2UsIE9jdCAyNSwgMjAxNykifSwgeyJsYWJlbCI6ICJOZXcgbGFzZXIgY29udHJvbCBwYXJhbWV0ZXJzIGZvciBhIG5ldyBjYXRoZXRlciIsICJ0YWciOiAiR3VpZGFuY2UgMy41IiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1zb2Z0d2FyZS1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZjZDNhYTQzODQ0LWE5YTI2Yzc3NWQyNzM5MDgmaGw9MjYlM0FUaGUlMjBjaGFuZ2UlMjBpbnRyb2R1Y2VzJTIwbmV3JTIwaGF6YXJkb3VzJTIwc2l0dWF0aW9ucyUyMGFzc29jaWF0ZWQlMjB3aXRoJTIwaW50ZXJvcGVyYWJpbGl0eSZmb2N1cz0xIiwgInF1b3RlIjogIlRoZSBjaGFuZ2UgaW50cm9kdWNlcyBuZXcgaGF6YXJkb3VzIHNpdHVhdGlvbnMgYXNzb2NpYXRlZCB3aXRoIGludGVyb3BlcmFiaWxpdHkiLCAic3JjIjogIkRlY2lkaW5nIFdoZW4gdG8gU3VibWl0IGEgNTEwKGspIGZvciBhIFNvZnR3YXJlIENoYW5nZSB0byBhbiBFeGlzdGluZyBEZXZpY2UgKEZEQSBndWlkYW5jZSwgT2N0IDI1LCAyMDE3KSJ9XX0sIHsiaWQiOiAiUTNiIiwgInEiOiAiRG9lcyB0aGUgY2hhbmdlIGNyZWF0ZSBvciBuZWNlc3NpdGF0ZSBhIG5ldyByaXNrIGNvbnRyb2wgbWVhc3VyZSBvciBhIG1vZGlmaWNhdGlvbiBvZiBhbiBleGlzdGluZyByaXNrIGNvbnRyb2wgbWVhc3VyZSBmb3IgYSBoYXphcmRvdXMgc2l0dWF0aW9uIHRoYXQgY291bGQgcmVzdWx0IGluIHNpZ25pZmljYW50IGhhcm0/IiwgInRlcm0iOiAibW9kaWZpY2F0aW9uIG9mIGFuIGV4aXN0aW5nIHJpc2sgY29udHJvbCBtZWFzdXJlIiwgInllcyI6ICJuZXciLCAicnVsZSI6ICJDcm9zc2VzIHdoZW4gYSBuZXcgb3IgY2hhbmdlZCByaXNrIGNvbnRyb2wgaXMgbmVjZXNzYXJ5IHRvIHByZXZlbnQgc2lnbmlmaWNhbnQgaGFybS4gUmVkdW5kYW50IGNvbnRyb2xzLCBvciB0dW5pbmcgdGhhdCBzdGlsbCBtZWV0cyB0aGUgY2xlYXJlZCBzYWZldHkgc3BlY2lmaWNhdGlvbiwgY29udGludWUgdG8gUTQuIiwgImRvYyI6IFt7ImxhYmVsIjogIkJldHRlciBjYWxjdWxhdGlvbiwgc2FmZXR5IHNwZWMgc3RpbGwgbWV0IiwgInRhZyI6ICJHdWlkYW5jZSA0LjIsIGdvIHRvIFE0IiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1zb2Z0d2FyZS1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZjZDNhYTQzODQ0LWE5YTI2Yzc3NWQyNzM5MDgmaGw9MjglM0FUaGUlMjBjaGFuZ2UlMjBtYWtlcyUyMHRoZSUyMHN5c3RlbSUyMG1vcmUlMjBub2lzZS10b2xlcmFudCUyMHdpdGhvdXQlMjBpbXBhY3RpbmclMjB0cnVlJTIwcG9zaXRpdmUlMjBkZXRlY3Rpb24lMjBmb3IlMjB0aGUlMjByaXNrJTIwY29udHJvbCUyMG1lYXN1cmUuJTIwVGhlJTIwb3ZlcmFsbCUyMG1vdmVtZW50JTIwY3JpdGVyaWElMjBhcmUlMjBtZXQlMjB1bmRlciUyMGFsbCUyMGZhdWx0JTIwY29uZGl0aW9ucyZmb2N1cz0xIiwgInF1b3RlIjogIlRoZSBjaGFuZ2UgbWFrZXMgdGhlIHN5c3RlbSBtb3JlIG5vaXNlLXRvbGVyYW50IHdpdGhvdXQgaW1wYWN0aW5nIHRydWUgcG9zaXRpdmUgZGV0ZWN0aW9uIGZvciB0aGUgcmlzayBjb250cm9sIG1lYXN1cmUuIFRoZSBvdmVyYWxsIG1vdmVtZW50IGNyaXRlcmlhIGFyZSBtZXQgdW5kZXIgYWxsIGZhdWx0IGNvbmRpdGlvbnMiLCAic3JjIjogIkRlY2lkaW5nIFdoZW4gdG8gU3VibWl0IGEgNTEwKGspIGZvciBhIFNvZnR3YXJlIENoYW5nZSB0byBhbiBFeGlzdGluZyBEZXZpY2UgKEZEQSBndWlkYW5jZSwgT2N0IDI1LCAyMDE3KSJ9LCB7ImxhYmVsIjogIlJlZHVuZGFudCBwYXRpZW50IGluZm8gb24gcHJpbnRvdXRzIiwgInRhZyI6ICJHdWlkYW5jZSA0LjQsIGdvIHRvIFE0IiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1zb2Z0d2FyZS1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZjZDNhYTQzODQ0LWE5YTI2Yzc3NWQyNzM5MDgmaGw9MjklM0FUaGlzJTIwc29mdHdhcmUlMjBtb2RpZmljYXRpb24lMjBpcyUyMGElMjByZWR1bmRhbnQlMjByaXNrJTIwY29udHJvbCUyMHRoYXQlMjB3YXMlMjBub3QlMjBtYWRlJTIwaW4lMjByZXNwb25zZSUyMHRvJTIwYSUyMG5ldyUyQyUyMG1vZGlmaWVkJTJDJTIwb3IlMjBwcmV2aW91c2x5JTIwdW5rbm93biUyMGhhemFyZG91cyUyMHNpdHVhdGlvbiUyMG9yJTIwY2F1c2UlMjB0aGVyZW9mJmZvY3VzPTEiLCAicXVvdGUiOiAiVGhpcyBzb2Z0d2FyZSBtb2RpZmljYXRpb24gaXMgYSByZWR1bmRhbnQgcmlzayBjb250cm9sIHRoYXQgd2FzIG5vdCBtYWRlIGluIHJlc3BvbnNlIHRvIGEgbmV3LCBtb2RpZmllZCwgb3IgcHJldmlvdXNseSB1bmtub3duIGhhemFyZG91cyBzaXR1YXRpb24gb3IgY2F1c2UgdGhlcmVvZiIsICJzcmMiOiAiRGVjaWRpbmcgV2hlbiB0byBTdWJtaXQgYSA1MTAoaykgZm9yIGEgU29mdHdhcmUgQ2hhbmdlIHRvIGFuIEV4aXN0aW5nIERldmljZSAoRkRBIGd1aWRhbmNlLCBPY3QgMjUsIDIwMTcpIn1dLCAibmV3IjogW3sibGFiZWwiOiAiU2FmZXR5IHRvbGVyYW5jZSB3aWRlbmVkIiwgInRhZyI6ICJHdWlkYW5jZSA0LjEiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9kZWNpZGluZy13aGVuLXN1Ym1pdC01MTBrLXNvZnR3YXJlLWNoYW5nZS1leGlzdGluZy1kZXZpY2U/dj1nZmNkM2FhNDM4NDQtYTlhMjZjNzc1ZDI3MzkwOCZobD0yNyUzQVRoZSUyMG1vZGlmaWVkJTIwdGhyZXNob2xkJTIwdmFsdWVzJTIwZG8lMjBub3QlMjBtZWV0JTIwdGhlJTIwc3BlY2lmaWNhdGlvbiUyMGZvciUyMG92ZXJhbGwlMjB0aXAlMjBtb3ZlbWVudCUyQyUyMHdoaWNoJTIwd2FzJTIwcmVxdWlyZWQlMjBpbiUyMHRoZSUyMG1vc3QlMjByZWNlbnRseSUyMGNsZWFyZWQlMjBkZXZpY2UlMjB0byUyMGVmZmVjdGl2ZWx5JTIwbWl0aWdhdGUlMjB0aGUlMjBoYXphcmRvdXMlMjBzaXR1YXRpb24lMjB0aGF0JTIwY291bGQlMjByZXN1bHQlMjBpbiUyMHNpZ25pZmljYW50JTIwaGFybSZmb2N1cz0xIiwgInF1b3RlIjogIlRoZSBtb2RpZmllZCB0aHJlc2hvbGQgdmFsdWVzIGRvIG5vdCBtZWV0IHRoZSBzcGVjaWZpY2F0aW9uIGZvciBvdmVyYWxsIHRpcCBtb3ZlbWVudCwgd2hpY2ggd2FzIHJlcXVpcmVkIGluIHRoZSBtb3N0IHJlY2VudGx5IGNsZWFyZWQgZGV2aWNlIHRvIGVmZmVjdGl2ZWx5IG1pdGlnYXRlIHRoZSBoYXphcmRvdXMgc2l0dWF0aW9uIHRoYXQgY291bGQgcmVzdWx0IGluIHNpZ25pZmljYW50IGhhcm0iLCAic3JjIjogIkRlY2lkaW5nIFdoZW4gdG8gU3VibWl0IGEgNTEwKGspIGZvciBhIFNvZnR3YXJlIENoYW5nZSB0byBhbiBFeGlzdGluZyBEZXZpY2UgKEZEQSBndWlkYW5jZSwgT2N0IDI1LCAyMDE3KSJ9LCB7ImxhYmVsIjogIkF1dG9tYXRpb24gcmVwbGFjZXMgYW4gYWRlcXVhdGUgbWFudWFsIGNoZWNrIiwgInRhZyI6ICJHdWlkYW5jZSA0LjMiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9kZWNpZGluZy13aGVuLXN1Ym1pdC01MTBrLXNvZnR3YXJlLWNoYW5nZS1leGlzdGluZy1kZXZpY2U/dj1nZmNkM2FhNDM4NDQtYTlhMjZjNzc1ZDI3MzkwOCZobD0yOCUzQVRoaXMlMjBzb2Z0d2FyZSUyMGNoYW5nZSUyMG1vZGlmaWVzJTIwdGhlJTIwcmlzayUyMGNvbnRyb2wlMjB0aGF0JTIwaWRlbnRpZmllcyUyMGludmFsaWQlMjBjaGFyYWN0ZXJzJTIwYnklMjBhdXRvbWF0aW5nJTIwYSUyMHByZXZpb3VzbHklMjBtYW51YWwlMjBwcm9jZXNzJmZvY3VzPTEiLCAicXVvdGUiOiAiVGhpcyBzb2Z0d2FyZSBjaGFuZ2UgbW9kaWZpZXMgdGhlIHJpc2sgY29udHJvbCB0aGF0IGlkZW50aWZpZXMgaW52YWxpZCBjaGFyYWN0ZXJzIGJ5IGF1dG9tYXRpbmcgYSBwcmV2aW91c2x5IG1hbnVhbCBwcm9jZXNzIiwgInNyYyI6ICJEZWNpZGluZyBXaGVuIHRvIFN1Ym1pdCBhIDUxMChrKSBmb3IgYSBTb2Z0d2FyZSBDaGFuZ2UgdG8gYW4gRXhpc3RpbmcgRGV2aWNlIChGREEgZ3VpZGFuY2UsIE9jdCAyNSwgMjAxNykifSwgeyJsYWJlbCI6ICJTaWxlbmNlIEFsYXJtcyBhZGRlZCB0byBhbiBhcnJoeXRobWlhIG1vbml0b3IiLCAidGFnIjogIk5paG9uIEtvaGRlbiBsZXR0ZXIiLCAibGluayI6ICJodHRwczovL2hpZ2hsaWdodGVyLnlzaHJlc3RoYS53b3JrZXJzLmRldi92L09kMThpc05uUkNsUCNoPTEiLCAicXVvdGUiOiAid2UgZGlzYWdyZWUgd2l0aCB0aGlzIGFzc2Vzc21lbnQgYmVjYXVzZSBhZGRpbmcgdGhlIFNpbGVuY2UgQWxhcm1zIGZ1bmN0aW9uIGlzIGEgY2hhbmdlIHRvIGEgY29udHJvbCBtZWNoYW5pc20gb2YgdGhlIGRldmljZSBhbmQgd2UgYmVsaWV2ZSB0aGF0IOKAnFllc+KAnSBzaG91bGQgaGF2ZSBiZWVuIHNlbGVjdGVkLCBsZWFkaW5nIHRvIOKAnE5ldyA1MTAoayku4oCdIiwgInNyYyI6ICJGREEgd2FybmluZyBsZXR0ZXI6IE5paG9uIEtvaGRlbiBEaWdpdGFsIEhlYWx0aCBTb2x1dGlvbnMsIExMQywgQ01TIDcyNzgwMyAoaXNzdWVkIDIwMjYtMDYtMTIpIn1dfSwgeyJpZCI6ICJRNCIsICJxIjogIkNvdWxkIHRoZSBjaGFuZ2Ugc2lnbmlmaWNhbnRseSBhZmZlY3QgY2xpbmljYWwgZnVuY3Rpb25hbGl0eSBvciBwZXJmb3JtYW5jZSBzcGVjaWZpY2F0aW9ucyB0aGF0IGFyZSBkaXJlY3RseSBhc3NvY2lhdGVkIHdpdGggdGhlIGludGVuZGVkIHVzZSBvZiB0aGUgZGV2aWNlPyIsICJ0ZXJtIjogInNpZ25pZmljYW50bHkgYWZmZWN0IGNsaW5pY2FsIGZ1bmN0aW9uYWxpdHkgb3IgcGVyZm9ybWFuY2Ugc3BlY2lmaWNhdGlvbnMiLCAieWVzIjogIm5ldyIsICJydWxlIjogIkNyb3NzZXMgd2hlbiB0aGUgY2hhbmdlIGNvdWxkIHNpZ25pZmljYW50bHkgYWZmZWN0IGEgcGVyZm9ybWFuY2Ugc3BlY2lmaWNhdGlvbiB0aWVkIHRvIHRoZSBpbnRlbmRlZCB1c2UsIHN1Y2ggYXMgZGV0ZWN0aW9uLCBhc3NheSByZXN1bHRzIG9yIHJlc3BvbnNlIHRpbWUuIEZEQSBjb3VudHMgaW1wcm92ZW1lbnRzIGFuZCBkZWNsaW5lcyBhbGlrZS4gQ2hhbmdlcyB0aGF0IGxlYXZlIHRob3NlIHNwZWNpZmljYXRpb25zIHVudG91Y2hlZCBzdGF5IGJlbG93LiIsICJkb2MiOiBbeyJsYWJlbCI6ICI1JSB0aHJvdWdocHV0IGdhaW4gZnJvbSBmYXN0ZXIgc2FtcGxlIGRlbGl2ZXJ5IiwgInRhZyI6ICJHdWlkYW5jZSA1LjIiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9kZWNpZGluZy13aGVuLXN1Ym1pdC01MTBrLXNvZnR3YXJlLWNoYW5nZS1leGlzdGluZy1kZXZpY2U/dj1nZmNkM2FhNDM4NDQtYTlhMjZjNzc1ZDI3MzkwOCZobD0zMCUzQVRoZSUyMG1vZGlmaWNhdGlvbnMlMjBkbyUyMG5vdCUyMGltcGFjdCUyMGFzc2F5JTIwcGVyZm9ybWFuY2UlMjBhcyUyMGl0JTIwcmVsYXRlcyUyMHRvJTIwaW50ZW5kZWQlMjB1c2UmZm9jdXM9MSIsICJxdW90ZSI6ICJUaGUgbW9kaWZpY2F0aW9ucyBkbyBub3QgaW1wYWN0IGFzc2F5IHBlcmZvcm1hbmNlIGFzIGl0IHJlbGF0ZXMgdG8gaW50ZW5kZWQgdXNlIiwgInNyYyI6ICJEZWNpZGluZyBXaGVuIHRvIFN1Ym1pdCBhIDUxMChrKSBmb3IgYSBTb2Z0d2FyZSBDaGFuZ2UgdG8gYW4gRXhpc3RpbmcgRGV2aWNlIChGREEgZ3VpZGFuY2UsIE9jdCAyNSwgMjAxNykifSwgeyJsYWJlbCI6ICJGb3VyIGltYWdlcyBpbiB0aGUgc3VtbWFyeSB2aWV3IGluc3RlYWQgb2YgdHdvIiwgInRhZyI6ICJHdWlkYW5jZSA1LjMiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9kZWNpZGluZy13aGVuLXN1Ym1pdC01MTBrLXNvZnR3YXJlLWNoYW5nZS1leGlzdGluZy1kZXZpY2U/dj1nZmNkM2FhNDM4NDQtYTlhMjZjNzc1ZDI3MzkwOCZobD0zMCUzQUhhdmluZyUyMG1vcmUlMjBpbWFnZXMlMjBpbiUyMHRoZSUyMHdpbmRvdyUyMGFsbG93cyUyMGZvciUyMHRoZSUyMHBoeXNpY2lhbiUyMHRvJTIwcmV2aWV3JTIwbW9yZSUyMGltYWdlcyUyMHdpdGhvdXQlMjBpbmNyZWFzaW5nJTIwc29mdHdhcmUlMjBsb2FkaW5nJTIwdGltZSZmb2N1cz0xIiwgInF1b3RlIjogIkhhdmluZyBtb3JlIGltYWdlcyBpbiB0aGUgd2luZG93IGFsbG93cyBmb3IgdGhlIHBoeXNpY2lhbiB0byByZXZpZXcgbW9yZSBpbWFnZXMgd2l0aG91dCBpbmNyZWFzaW5nIHNvZnR3YXJlIGxvYWRpbmcgdGltZSIsICJzcmMiOiAiRGVjaWRpbmcgV2hlbiB0byBTdWJtaXQgYSA1MTAoaykgZm9yIGEgU29mdHdhcmUgQ2hhbmdlIHRvIGFuIEV4aXN0aW5nIERldmljZSAoRkRBIGd1aWRhbmNlLCBPY3QgMjUsIDIwMTcpIn0sIHsibGFiZWwiOiAiTmV3IE9FTSBzZW5zb3IgdmVyc2lvbiByZWNvZ25pemVkIiwgInRhZyI6ICJHdWlkYW5jZSA1LjQiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9kZWNpZGluZy13aGVuLXN1Ym1pdC01MTBrLXNvZnR3YXJlLWNoYW5nZS1leGlzdGluZy1kZXZpY2U/dj1nZmNkM2FhNDM4NDQtYTlhMjZjNzc1ZDI3MzkwOCZobD0zMSUzQVRoZSUyMGNsaW5pY2FsJTIwZnVuY3Rpb25hbGl0eSUyMGlzJTIwbm90JTIwYWZmZWN0ZWQuJTIwVGhlJTIwc29mdHdhcmUlMjBtb2RpZmljYXRpb24lMjBhbGxvd3MlMjBmb3IlMjBzdWNjZXNzZnVsJTIwaW50ZWdyYXRpb24lMjBvZiUyMHRoaXMlMjB2ZXJzaW9uJTIwb2YlMjB0aGUlMjBzZW5zb3ImZm9jdXM9MSIsICJxdW90ZSI6ICJUaGUgY2xpbmljYWwgZnVuY3Rpb25hbGl0eSBpcyBub3QgYWZmZWN0ZWQuIFRoZSBzb2Z0d2FyZSBtb2RpZmljYXRpb24gYWxsb3dzIGZvciBzdWNjZXNzZnVsIGludGVncmF0aW9uIG9mIHRoaXMgdmVyc2lvbiBvZiB0aGUgc2Vuc29yIiwgInNyYyI6ICJEZWNpZGluZyBXaGVuIHRvIFN1Ym1pdCBhIDUxMChrKSBmb3IgYSBTb2Z0d2FyZSBDaGFuZ2UgdG8gYW4gRXhpc3RpbmcgRGV2aWNlIChGREEgZ3VpZGFuY2UsIE9jdCAyNSwgMjAxNykifSwgeyJsYWJlbCI6ICJMYXJnZXIgZm9udCBmb3IgZXhpc3RpbmcgdmFsdWVzIiwgInRhZyI6ICJHdWlkYW5jZSA1LjUiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9kZWNpZGluZy13aGVuLXN1Ym1pdC01MTBrLXNvZnR3YXJlLWNoYW5nZS1leGlzdGluZy1kZXZpY2U/dj1nZmNkM2FhNDM4NDQtYTlhMjZjNzc1ZDI3MzkwOCZobD0zMSUzQVNpbmNlJTIwdGhlJTIwaW5mb3JtYXRpb24lMjB3YXMlMjBwcmV2aW91c2x5JTIwZGlzcGxheWVkJTJDJTIwdGhlJTIwY2hhbmdlJTIwaGFzJTIwbm8lMjBzaWduaWZpY2FudCUyMGVmZmVjdCUyMG9uJTIwdGhlJTIwZnVuY3Rpb25hbGl0eSUyMG9yJTIwdGhlJTIwcGVyZm9ybWFuY2UlMjBvZiUyMHRoZSUyMGRldmljZSZmb2N1cz0xIiwgInF1b3RlIjogIlNpbmNlIHRoZSBpbmZvcm1hdGlvbiB3YXMgcHJldmlvdXNseSBkaXNwbGF5ZWQsIHRoZSBjaGFuZ2UgaGFzIG5vIHNpZ25pZmljYW50IGVmZmVjdCBvbiB0aGUgZnVuY3Rpb25hbGl0eSBvciB0aGUgcGVyZm9ybWFuY2Ugb2YgdGhlIGRldmljZSIsICJzcmMiOiAiRGVjaWRpbmcgV2hlbiB0byBTdWJtaXQgYSA1MTAoaykgZm9yIGEgU29mdHdhcmUgQ2hhbmdlIHRvIGFuIEV4aXN0aW5nIERldmljZSAoRkRBIGd1aWRhbmNlLCBPY3QgMjUsIDIwMTcpIn0sIHsibGFiZWwiOiAiU25vb3plIG9uIGEgbG93LXJpc2sgYWxhcm0iLCAidGFnIjogIkd1aWRhbmNlIDUuNyIsICJsaW5rIjogImh0dHBzOi8vZmRhLmlubm9saXRpY3MuY29tL2d1aWRhbmNlL2RlY2lkaW5nLXdoZW4tc3VibWl0LTUxMGstc29mdHdhcmUtY2hhbmdlLWV4aXN0aW5nLWRldmljZT92PWdmY2QzYWE0Mzg0NC1hOWEyNmM3NzVkMjczOTA4JmhsPTMyJTNBVGhlJTIwc2lsZW5jaW5nJTIwb2YlMjBhJTIwbm9uLWNyaXRpY2FsJTIwYWxhcm0lMjBkb2VzJTIwbm90JTIwaW1wYWN0JTIwdGhlJTIwY2xpbmljYWwlMjBmdW5jdGlvbmFsaXR5LiUyMFRoZSUyMGNyaXRlcmlhJTIwZm9yJTIwdGhlJTIwYWxhcm0lMjBhcmUlMjB1bmNoYW5nZWQlMjBmcm9tJTIwdGhlJTIwbW9zdCUyMHJlY2VudGx5JTIwY2xlYXJlZCUyMGRldmljZSZmb2N1cz0xIiwgInF1b3RlIjogIlRoZSBzaWxlbmNpbmcgb2YgYSBub24tY3JpdGljYWwgYWxhcm0gZG9lcyBub3QgaW1wYWN0IHRoZSBjbGluaWNhbCBmdW5jdGlvbmFsaXR5LiBUaGUgY3JpdGVyaWEgZm9yIHRoZSBhbGFybSBhcmUgdW5jaGFuZ2VkIGZyb20gdGhlIG1vc3QgcmVjZW50bHkgY2xlYXJlZCBkZXZpY2UiLCAic3JjIjogIkRlY2lkaW5nIFdoZW4gdG8gU3VibWl0IGEgNTEwKGspIGZvciBhIFNvZnR3YXJlIENoYW5nZSB0byBhbiBFeGlzdGluZyBEZXZpY2UgKEZEQSBndWlkYW5jZSwgT2N0IDI1LCAyMDE3KSJ9XSwgIm5ldyI6IFt7ImxhYmVsIjogIlNob3J0ZXIgaW5jdWJhdGlvbiBmb3IgMjAlIHRocm91Z2hwdXQiLCAidGFnIjogIkd1aWRhbmNlIDUuMSIsICJsaW5rIjogImh0dHBzOi8vZmRhLmlubm9saXRpY3MuY29tL2d1aWRhbmNlL2RlY2lkaW5nLXdoZW4tc3VibWl0LTUxMGstc29mdHdhcmUtY2hhbmdlLWV4aXN0aW5nLWRldmljZT92PWdmY2QzYWE0Mzg0NC1hOWEyNmM3NzVkMjczOTA4JmhsPTI5JTNBVGhlcmUlMjBpcyUyMGElMjBzaG9ydGVyJTIwcmVhY3Rpb24lMjBpbmN1YmF0aW9uJTIwdGltZSUyMGFuZCUyMHRoZXJlZm9yZSUyMGElMjBwb3RlbnRpYWwlMjBzaWduaWZpY2FudCUyMGltcGFjdCUyMG9uJTIwZGlhZ25vc3RpYyUyMHV0aWxpdHklMjBhbmQlMjBlZmZlY3RpdmVuZXNzJmZvY3VzPTEiLCAicXVvdGUiOiAiVGhlcmUgaXMgYSBzaG9ydGVyIHJlYWN0aW9uIGluY3ViYXRpb24gdGltZSBhbmQgdGhlcmVmb3JlIGEgcG90ZW50aWFsIHNpZ25pZmljYW50IGltcGFjdCBvbiBkaWFnbm9zdGljIHV0aWxpdHkgYW5kIGVmZmVjdGl2ZW5lc3MiLCAic3JjIjogIkRlY2lkaW5nIFdoZW4gdG8gU3VibWl0IGEgNTEwKGspIGZvciBhIFNvZnR3YXJlIENoYW5nZSB0byBhbiBFeGlzdGluZyBEZXZpY2UgKEZEQSBndWlkYW5jZSwgT2N0IDI1LCAyMDE3KSJ9LCB7ImxhYmVsIjogIkFycmh5dGhtaWEgYWxnb3JpdGhtIHNlbnNpdGl2aXR5IGNoYW5nZWQiLCAidGFnIjogIkd1aWRhbmNlIDUuNiIsICJsaW5rIjogImh0dHBzOi8vZmRhLmlubm9saXRpY3MuY29tL2d1aWRhbmNlL2RlY2lkaW5nLXdoZW4tc3VibWl0LTUxMGstc29mdHdhcmUtY2hhbmdlLWV4aXN0aW5nLWRldmljZT92PWdmY2QzYWE0Mzg0NC1hOWEyNmM3NzVkMjczOTA4JmhsPTMxJTNBVGhlJTIwbW9kaWZpY2F0aW9uJTIwaGFzJTIwZGlyZWN0JTIwaW1wYWN0JTIwb24lMjBkaWFnbm9zdGljJTIwcGVyZm9ybWFuY2UlMjBvZiUyMHRoZSUyMGRldmljZSUyMGluJTIwdGhhdCUyMHRoZSUyMHBlcmZvcm1hbmNlJTIwb2YlMjB0aGUlMjBhcnJoeXRobWlhJTIwZGV0ZWN0aW9uJTIwd2FzJTIwY2hhbmdlZCZmb2N1cz0xIiwgInF1b3RlIjogIlRoZSBtb2RpZmljYXRpb24gaGFzIGRpcmVjdCBpbXBhY3Qgb24gZGlhZ25vc3RpYyBwZXJmb3JtYW5jZSBvZiB0aGUgZGV2aWNlIGluIHRoYXQgdGhlIHBlcmZvcm1hbmNlIG9mIHRoZSBhcnJoeXRobWlhIGRldGVjdGlvbiB3YXMgY2hhbmdlZCIsICJzcmMiOiAiRGVjaWRpbmcgV2hlbiB0byBTdWJtaXQgYSA1MTAoaykgZm9yIGEgU29mdHdhcmUgQ2hhbmdlIHRvIGFuIEV4aXN0aW5nIERldmljZSAoRkRBIGd1aWRhbmNlLCBPY3QgMjUsIDIwMTcpIn0sIHsibGFiZWwiOiAiQUkgbW9kZWwgcmV0cmFpbmVkIHdpdGggbmV3IG9wZXJhdGluZyBwb2ludHMsIGZpbGVkIiwgInRhZyI6ICJLMjIyMjc3IFNwZWNpYWwiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9kZXZpY2UvSzIyMjI3Nz9kb2M9c3VtbWFyeSZobD01OmRpZmZlciUyMHdpdGglMjByZXNwZWN0JTIwdG8lMjB0aGVpciUyMGFsZ29yaXRobSUyMHBlcmZvcm1hbmNlJTIwZHVlJTIwdG8lMjB0cmFpbmluZyUyMHRoZSUyMHN1YmplY3QlMjBkZXZpY2UlMjBvbiUyMGElMjBsYXJnZXIlMjBkYXRhJTIwc2V0JTJDJTIwdGhlJTIwYWRkaXRpb24lMjBvZiUyMDIlMjBvcGVyYXRpbmclMjBwb2ludHMlMkMlMjBhbmQlMjBhYmlsaXR5JTIwdG8lMjBwcm9jZXNzJTIwc2luZ2xlJTIwYW5kJTIwZHVhbCUyMGVuZXJneSUyMGV4YW1zLiZmb2N1cz0xIiwgInF1b3RlIjogImRpZmZlciB3aXRoIHJlc3BlY3QgdG8gdGhlaXIgYWxnb3JpdGhtIHBlcmZvcm1hbmNlIGR1ZSB0byB0cmFpbmluZyB0aGUgc3ViamVjdCBkZXZpY2Ugb24gYSBsYXJnZXIgZGF0YSBzZXQsIHRoZSBhZGRpdGlvbiBvZiAyIG9wZXJhdGluZyBwb2ludHMsIGFuZCBhYmlsaXR5IHRvIHByb2Nlc3Mgc2luZ2xlIGFuZCBkdWFsIGVuZXJneSBleGFtcy4iLCAic3JjIjogIksyMjIyNzcgQnJpZWZDYXNlIChBaWRvYyBNZWRpY2FsICwgTHRkLiksIFNwZWNpYWwgNTEwKGspLCBkZWNpc2lvbiAyMDIyLTA4LTI2In0sIHsibGFiZWwiOiAiTmV3IE1MIG1vZGVsIGFkZGVkIHRvIGEgbm9uLU1MIGRldmljZSIsICJ0YWciOiAiTy5OLiBEaWFnbm9zdGljcyBsZXR0ZXIiLCAibGluayI6ICJodHRwczovL2hpZ2hsaWdodGVyLnlzaHJlc3RoYS53b3JrZXJzLmRldi92L08yRk5WNEJ5UHVCaCNoPTciLCAicXVvdGUiOiAiRWFjaCBvZiB0aGVzZSBjaGFuZ2VzIGNvdWxkIHNpZ25pZmljYW50bHkgYWZmZWN0IHRoZSBzYWZldHkgb3IgZWZmZWN0aXZlbmVzcyBvZiB0aGUgZGV2aWNlIGJ5IGludHJvZHVjaW5nIG5ldyBzb2Z0d2FyZSBhbmQgY3liZXJzZWN1cml0eSByaXNrcy4iLCAic3JjIjogIkZEQSB3YXJuaW5nIGxldHRlcjogTy5OLiBEaWFnbm9zdGljcywgTExDLCBDTVMgNzMwMzAxIChpc3N1ZWQgMjAyNi0wOS0wMSkifV19LCB7ImlkIjogIlZJIiwgInEiOiAiQmVmb3JlIGRvY3VtZW50aW5nOiBjaGVjayB0aGUgY2hhbmdlIHR5cGUgKFNlY3Rpb24gVkkpLiIsICJ0ZXJtIjogImNoYW5nZSB0eXBlIiwgInllcyI6ICIiLCAicnVsZSI6ICJUaGUgZ3VpZGFuY2UgYXNrcyBmb3IgY2FyZWZ1bCBldmFsdWF0aW9uIG9mIHRoZSBjaGFuZ2UncyBleHRlbnQgYW5kIGltcGFjdC4gTWlub3IgY2hhbmdlcyBpbnNpZGUgdGhlIHNwZWNpZmljYXRpb24gYXJlIHVubGlrZWx5IHRvIG5lZWQgYSA1MTAoayksIGFuZCBzaWduaWZpY2FudCByZXdyaXRlcyBsaWtlbHkgZG8uIEZpcm1zIGZpbGVkIG1hbnkgT1MsIGxhbmd1YWdlIGFuZCBwbGF0Zm9ybSBtb3Zlcy4iLCAiZG9jIjogW3sibGFiZWwiOiAiQ29tcGFueSBsb2dvIG9uIGV2ZXJ5IHNjcmVlbiIsICJ0YWciOiAiR3VpZGFuY2UgVkkiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9kZWNpZGluZy13aGVuLXN1Ym1pdC01MTBrLXNvZnR3YXJlLWNoYW5nZS1leGlzdGluZy1kZXZpY2U/dj1nZmNkM2FhNDM4NDQtYTlhMjZjNzc1ZDI3MzkwOCZobD0yMCUzQWNoYW5naW5nJTIwdGhlJTIwY29tcGFueSUyMGxvZ28lMjB0aGF0JTIwaXMlMjBkaXNwbGF5ZWQlMjBvbiUyMHRoZSUyMGJhY2tncm91bmQlMjBvZiUyMGV2ZXJ5JTIwc2NyZWVuJTIwY291bGQlMjBpbnZvbHZlJTIwbW9kaWZ5aW5nJTIwbXVsdGlwbGUlMjBzb2Z0d2FyZSUyMG1vZHVsZXMlM0IlMjB3aGlsZSUyMHRoZSUyMG51bWJlciUyMG9mJTIwbW9kdWxlcyUyMGltcGFjdGVkJTIwbWF5JTIwYmUlMjBsYXJnZSUyQyUyMGl0JTIwaXMlMjB1bmxpa2VseSUyMHRoYXQlMjB0aGUlMjBpbnRlbmRlZCUyMGNoYW5nZSUyMGNvdWxkJTIwc2lnbmlmaWNhbnRseSUyMGltcGFjdCUyMHRoZSUyMGRldmljZSVFMiU4MCU5OXMlMjBzYWZldHklMjBhbmQlMjBlZmZlY3RpdmVuZXNzJTIwb3IlMjBpbnRlbmRlZCUyMHVzZSZmb2N1cz0xIiwgInF1b3RlIjogImNoYW5naW5nIHRoZSBjb21wYW55IGxvZ28gdGhhdCBpcyBkaXNwbGF5ZWQgb24gdGhlIGJhY2tncm91bmQgb2YgZXZlcnkgc2NyZWVuIGNvdWxkIGludm9sdmUgbW9kaWZ5aW5nIG11bHRpcGxlIHNvZnR3YXJlIG1vZHVsZXM7IHdoaWxlIHRoZSBudW1iZXIgb2YgbW9kdWxlcyBpbXBhY3RlZCBtYXkgYmUgbGFyZ2UsIGl0IGlzIHVubGlrZWx5IHRoYXQgdGhlIGludGVuZGVkIGNoYW5nZSBjb3VsZCBzaWduaWZpY2FudGx5IGltcGFjdCB0aGUgZGV2aWNl4oCZcyBzYWZldHkgYW5kIGVmZmVjdGl2ZW5lc3Mgb3IgaW50ZW5kZWQgdXNlIiwgInNyYyI6ICJEZWNpZGluZyBXaGVuIHRvIFN1Ym1pdCBhIDUxMChrKSBmb3IgYSBTb2Z0d2FyZSBDaGFuZ2UgdG8gYW4gRXhpc3RpbmcgRGV2aWNlIChGREEgZ3VpZGFuY2UsIE9jdCAyNSwgMjAxNykifSwgeyJsYWJlbCI6ICJSZWZhY3RvcmluZyBmb3IgbWFpbnRhaW5hYmlsaXR5IGluc2lkZSB0aGUgc3BlYyIsICJ0YWciOiAiR3VpZGFuY2UgVkkiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9kZWNpZGluZy13aGVuLXN1Ym1pdC01MTBrLXNvZnR3YXJlLWNoYW5nZS1leGlzdGluZy1kZXZpY2U/dj1nZmNkM2FhNDM4NDQtYTlhMjZjNzc1ZDI3MzkwOCZobD0yMCUzQUNoYW5nZXMlMjB0aGF0JTIwYXJlJTIwbWlub3IlMjBtb2RpZmljYXRpb25zJTIwdG8lMjBlbmhhbmNlJTIwdGhlJTIwbWFpbnRhaW5hYmlsaXR5JTIwb2YlMjB0aGUlMjBkZXZpY2UlMjB3aXRoaW4lMjBpdHMlMjBzcGVjaWZpY2F0aW9uJTIwY29udGV4dCUyMGFyZSUyMHVubGlrZWx5JTIwdG8lMjByZXF1aXJlJTIwc3VibWlzc2lvbiUyMG9mJTIwYSUyMG5ldyUyMDUxMCUyOGslMjkmZm9jdXM9MSIsICJxdW90ZSI6ICJDaGFuZ2VzIHRoYXQgYXJlIG1pbm9yIG1vZGlmaWNhdGlvbnMgdG8gZW5oYW5jZSB0aGUgbWFpbnRhaW5hYmlsaXR5IG9mIHRoZSBkZXZpY2Ugd2l0aGluIGl0cyBzcGVjaWZpY2F0aW9uIGNvbnRleHQgYXJlIHVubGlrZWx5IHRvIHJlcXVpcmUgc3VibWlzc2lvbiBvZiBhIG5ldyA1MTAoaykiLCAic3JjIjogIkRlY2lkaW5nIFdoZW4gdG8gU3VibWl0IGEgNTEwKGspIGZvciBhIFNvZnR3YXJlIENoYW5nZSB0byBhbiBFeGlzdGluZyBEZXZpY2UgKEZEQSBndWlkYW5jZSwgT2N0IDI1LCAyMDE3KSJ9LCB7ImxhYmVsIjogIk9TIHVwZGF0ZSB0aGUgYXBwIHJpZGVzIG9uIHRvcCBvZiwgZXhpc3RpbmcgY29udHJvbHMgY292ZXIgaXQiLCAidGFnIjogIkZEQSB3ZWJpbmFyIiwgImxpbmsiOiAiaHR0cHM6Ly9oaWdobGlnaHRlci55c2hyZXN0aGEud29ya2Vycy5kZXYvdi9VTzBKNmJodzZFZVkjaD0xMyIsICJxdW90ZSI6ICJIb3dldmVyIHRoZXJlIGFyZSBhbHNvIG1hbnkgc2l0dWF0aW9ucyBpbiB3aGljaCB0aGUgYXBwbGljYXRpb24gcmVhbGx5IHJpZGVzIG9uIHRvcCBvZiB0aGUgT1MgYW5kIHRoZSBjaGFuZ2VzIHRvIHRoZSBPUyB3b3VsZCBub3QgaGF2ZSBhIHNpZ25pZmljYW50IGltcGFjdCIsICJzcmMiOiAiRkRBL0NEUkggd2ViaW5hciB0cmFuc2NyaXB0OiBGaW5hbCBndWlkYW5jZXMgb24gRGVjaWRpbmcgV2hlbiB0byBTdWJtaXQgYSA1MTAoaykgZm9yIGEgQ2hhbmdlIC8gU29mdHdhcmUgQ2hhbmdlIHRvIGFuIEV4aXN0aW5nIERldmljZSAoTm92IDE2LCAyMDE3KSJ9LCB7ImxhYmVsIjogIkFjY2Vzc29yeSBkaXNwbGF5IE9TIGNoYW5nZWQgKFdpbmRvd3MgQ0UgdG8gQW5kcm9pZCksIGRvY3VtZW50ZWQiLCAidGFnIjogIksyMTM5MjciLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9kZXZpY2UvSzIxMzkyNz9kb2M9c3VtbWFyeSZobD03OlNvZnR3YXJlJTIwb3BlcmF0aW5nJTIwc3lzdGVtJTIwY2hhbmdlZCUyMGZyb20lMjBXaW5kb3dzJTIwQ0UlMjB0byUyMEFuZHJvaWQmaGw9NzpUaGVzZSUyMGNoYW5nZXMlMjBldmFsdWF0ZWQlMjBhZ2FpbnN0JTIwRkRBJUUyJTgwJTk5cyUyMEd1aWRhbmNlJTIwRGVjaWRpbmclMjB3aGVuJTIwdG8lMjBzdWJtaXQlMjBhJTIwNTEwJTI4ayUyOSUyMGZvciUyMGElMjBjaGFuZ2UlMjB0byUyMGFuJTIwZXhpc3RpbmclMjBkZXZpY2UlMjAlMjhPY3QlMjAyMDE3JTI5JTIwYW5kJTIwRGVjaWRpbmclMjB3aGVuJTIwdG8lMjBzdWJtaXQlMjBhJTIwNTEwJTI4ayUyOSUyMGZvciUyMGElMjBzb2Z0d2FyZSUyMGNoYW5nZSUyMHRvJTIwYW4lMjBleGlzdGluZyUyMGRldmljZSUyMCUyOE9jdCUyMDIwMTclMjklMjBhbmQlMjByZWNvbW1lbmRlZCUyMGZvciUyMERvY3VtZW50YXRpb24mZm9jdXM9MSIsICJxdW90ZSI6ICJTb2Z0d2FyZSBvcGVyYXRpbmcgc3lzdGVtIGNoYW5nZWQgZnJvbSBXaW5kb3dzIENFIHRvIEFuZHJvaWQiLCAic3JjIjogIksyMTM5MjcgUmVzcGlyYXRvcnkgR2F0aW5nIGZvciBTY2FubmVycyB2Mi4wIChWYXJpYW4gTWVkaWNhbCBTeXN0ZW1zLCBJbmMuKSwgU3BlY2lhbCA1MTAoayksIGRlY2lzaW9uIDIwMjItMDEtMTQifSwgeyJsYWJlbCI6ICJSZXRyYWluaW5nIGluc2lkZSBhbiBhdXRob3JpemVkIFBDQ1AiLCAidGFnIjogIksyNTE0NTYiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9kZXZpY2UvSzI1MTQ1Nj9kb2M9c3VtbWFyeSZobD05Ok1vZGlmaWNhdGlvbiUyMG9mJTIwdHJhaW5pbmclMjBhbmQlMkZvciUyMHZhbGlkYXRpb24lMjBkYXRhc2V0cyUyMHRvJTIwdXBkYXRlJTIwbW9kZWwlMjB3ZWlnaHRzJTIwYW5kJTIwZGV0ZWN0aW9uJTIwdGhyZXNob2xkcyZmb2N1cz0xIiwgInF1b3RlIjogIk1vZGlmaWNhdGlvbiBvZiB0cmFpbmluZyBhbmQvb3IgdmFsaWRhdGlvbiBkYXRhc2V0cyB0byB1cGRhdGUgbW9kZWwgd2VpZ2h0cyBhbmQgZGV0ZWN0aW9uIHRocmVzaG9sZHMiLCAic3JjIjogIksyNTE0NTYgQnJpZ2h0SGVhcnQgVmlldyBDbGFzc2lmaWVyIChCcmlnaHRoZWFydCksIFNwZWNpYWwgNTEwKGspLCBkZWNpc2lvbiAyMDI1LTA2LTA1In1dLCAibmV3IjogW3sibGFiZWwiOiAiQyB0byBDKysgd2l0aCBhIHJld3JpdGUgdG8gb2JqZWN0LW9yaWVudGVkIGNvZGUiLCAidGFnIjogIkd1aWRhbmNlIFZJIiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZ3VpZGFuY2UvZGVjaWRpbmctd2hlbi1zdWJtaXQtNTEway1zb2Z0d2FyZS1jaGFuZ2UtZXhpc3RpbmctZGV2aWNlP3Y9Z2ZjZDNhYTQzODQ0LWE5YTI2Yzc3NWQyNzM5MDgmaGw9MTklM0Ftb3ZpbmclMjBmcm9tJTIwYSUyMGZ1bmN0aW9uYWwlMjBvciUyMGxvZ2ljYWwlMjBjb2RpbmclMjBwYXJhZGlnbSUyMHRvJTIwYW4lMjBPYmplY3QlMjBPcmllbnRlZCUyMFByb2dyYW1taW5nJTIwcGFyYWRpZ20lMkMlMjBpbiUyMGNvbmp1bmN0aW9uJTIwd2l0aCUyMHRoZSUyMGNoYW5nZSUyMGZyb20lMjBDJTIwdG8lMjBDJTJCJTJCJTJDJTIwY291bGQlMjBpbnZvbHZlJTIwc2lnbmlmaWNhbnQlMjBzb2Z0d2FyZSUyMHJlLXdyaXRlJTJDJTIwYW5kJTIwc3VibWlzc2lvbiUyMG9mJTIwYSUyMG5ldyUyMDUxMCUyOGslMjklMjBpcyUyMGxpa2VseSUyMHJlcXVpcmVkJmZvY3VzPTEiLCAicXVvdGUiOiAibW92aW5nIGZyb20gYSBmdW5jdGlvbmFsIG9yIGxvZ2ljYWwgY29kaW5nIHBhcmFkaWdtIHRvIGFuIE9iamVjdCBPcmllbnRlZCBQcm9ncmFtbWluZyBwYXJhZGlnbSwgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgY2hhbmdlIGZyb20gQyB0byBDKyssIGNvdWxkIGludm9sdmUgc2lnbmlmaWNhbnQgc29mdHdhcmUgcmUtd3JpdGUsIGFuZCBzdWJtaXNzaW9uIG9mIGEgbmV3IDUxMChrKSBpcyBsaWtlbHkgcmVxdWlyZWQiLCAic3JjIjogIkRlY2lkaW5nIFdoZW4gdG8gU3VibWl0IGEgNTEwKGspIGZvciBhIFNvZnR3YXJlIENoYW5nZSB0byBhbiBFeGlzdGluZyBEZXZpY2UgKEZEQSBndWlkYW5jZSwgT2N0IDI1LCAyMDE3KSJ9LCB7ImxhYmVsIjogIkNvbXBsZXRlIGFsZ29yaXRobSByZXdyaXRlLCBzYW1lIGNsYWltcyAobWF5IGNyb3NzKSIsICJ0YWciOiAiR3VpZGFuY2UgVkkiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9ndWlkYW5jZS9kZWNpZGluZy13aGVuLXN1Ym1pdC01MTBrLXNvZnR3YXJlLWNoYW5nZS1leGlzdGluZy1kZXZpY2U/dj1nZmNkM2FhNDM4NDQtYTlhMjZjNzc1ZDI3MzkwOCZobD0yMCUzQWElMjBjb21wbGV0ZSUyMHJld3JpdGUlMjBvZiUyMHRoZSUyMGFsZ29yaXRobSUyQyUyMGV2ZW4lMjB3aXRoJTIwdGhlJTIwc2FtZSUyMHBlcmZvcm1hbmNlJTIwY2xhaW1zJTIwYW5kJTIwcmlzayUyMHByb2ZpbGUlMkMlMjBtYXklMjBiZSUyMHNpZ25pZmljYW50JTIwZW5vdWdoJTIwdG8lMjByZXF1aXJlJTIwc3VibWlzc2lvbiUyMG9mJTIwYSUyMG5ldyUyMDUxMCUyOGslMjklMjBiZWNhdXNlJTIwdGhlJTIwcmV3cml0ZSUyMG1heSUyMGltcGFjdCUyMHBlcmZvcm1hbmNlJTIwaW5kaXJlY3RseSZmb2N1cz0xIiwgInF1b3RlIjogImEgY29tcGxldGUgcmV3cml0ZSBvZiB0aGUgYWxnb3JpdGhtLCBldmVuIHdpdGggdGhlIHNhbWUgcGVyZm9ybWFuY2UgY2xhaW1zIGFuZCByaXNrIHByb2ZpbGUsIG1heSBiZSBzaWduaWZpY2FudCBlbm91Z2ggdG8gcmVxdWlyZSBzdWJtaXNzaW9uIG9mIGEgbmV3IDUxMChrKSBiZWNhdXNlIHRoZSByZXdyaXRlIG1heSBpbXBhY3QgcGVyZm9ybWFuY2UgaW5kaXJlY3RseSIsICJzcmMiOiAiRGVjaWRpbmcgV2hlbiB0byBTdWJtaXQgYSA1MTAoaykgZm9yIGEgU29mdHdhcmUgQ2hhbmdlIHRvIGFuIEV4aXN0aW5nIERldmljZSAoRkRBIGd1aWRhbmNlLCBPY3QgMjUsIDIwMTcpIn0sIHsibGFiZWwiOiAiVWJ1bnR1IDE2LjA0IHRvIDIwLjA0LCBmaWxlZCIsICJ0YWciOiAiSzIzMTcwMSBTcGVjaWFsIiwgImxpbmsiOiAiaHR0cHM6Ly9mZGEuaW5ub2xpdGljcy5jb20vZGV2aWNlL0syMzE3MDE/ZG9jPXN1bW1hcnkmaGw9NTpUaGUlMjBrZXklMjBtb2RpZmljYXRpb24lMjBwZXJ0YWlucyUyMHRvJTIwYW4lMjB1cGRhdGVkJTIwcmVsZWFzZSUyMG9mJTIwdGhlJTIwc29mdHdhcmUlMkMlMjB3aGljaCUyMGluY29ycG9yYXRlcyUyMGFuJTIwb3BlcmF0aW5nJTIwc3lzdGVtJTIwdXBncmFkZSZmb2N1cz0xIiwgInF1b3RlIjogIlRoZSBrZXkgbW9kaWZpY2F0aW9uIHBlcnRhaW5zIHRvIGFuIHVwZGF0ZWQgcmVsZWFzZSBvZiB0aGUgc29mdHdhcmUsIHdoaWNoIGluY29ycG9yYXRlcyBhbiBvcGVyYXRpbmcgc3lzdGVtIHVwZ3JhZGUiLCAic3JjIjogIksyMzE3MDEgWmllaG0gVmlzaW9uIFJGRCAzRCAoWmllaG0gSW1hZ2luZyBHbWJIKSwgU3BlY2lhbCA1MTAoayksIGRlY2lzaW9uIDIwMjMtMDctMTAifSwgeyJsYWJlbCI6ICJQeXRob24gdG8gQysrIHJld3JpdGUsIHNhbWUgbW9kZWwsIGZpbGVkIiwgInRhZyI6ICJLMjYxNTE5IFNwZWNpYWwiLCAibGluayI6ICJodHRwczovL2ZkYS5pbm5vbGl0aWNzLmNvbS9kZXZpY2UvSzI2MTUxOT9kb2M9c3VtbWFyeSZobD02OlRoZSUyMGRldmljZSUyMGNoYW5nZSUyMGNvbnNpc3RzJTIwb2YlMjB0aGUlMjBtaWdyYXRpb24lMjBvZiUyMHRoZSUyMFNvbmlvJTIwU3VzcGVjdCUyMGFsZ29yaXRobXMlMjBmcm9tJTIwUHl0aG9uJTIwJTI4Y2xlYXJlZCUyMHZlcnNpb24lMjklMjB0byUyMEMlMkIlMkIlMjBwcm9ncmFtbWluZyUyMGxhbmd1YWdlJTIwdG8lMjBlbmFibGUlMjBpbnRlZ3JhdGlvbiUyMGludG8lMjB0aGlyZC1wYXJ0eSUyMHVsdHJhc291bmQlMjBzeXN0ZW1zLiZmb2N1cz0xIiwgInF1b3RlIjogIlRoZSBkZXZpY2UgY2hhbmdlIGNvbnNpc3RzIG9mIHRoZSBtaWdyYXRpb24gb2YgdGhlIFNvbmlvIFN1c3BlY3QgYWxnb3JpdGhtcyBmcm9tIFB5dGhvbiAoY2xlYXJlZCB2ZXJzaW9uKSB0byBDKysgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2UgdG8gZW5hYmxlIGludGVncmF0aW9uIGludG8gdGhpcmQtcGFydHkgdWx0cmFzb3VuZCBzeXN0ZW1zLiIsICJzcmMiOiAiSzI2MTUxOSBTb25pbyBTdXNwZWN0IChTb25pbyksIFNwZWNpYWwgNTEwKGspLCBkZWNpc2lvbiAyMDI2LTA2LTA0In0sIHsibGFiZWwiOiAiRGVza3RvcCBhcHAgbW92ZWQgdG8gdGhlIHdlYiIsICJ0YWciOiAiTy5OLiBEaWFnbm9zdGljcyBsZXR0ZXIiLCAibGluayI6ICJodHRwczovL2hpZ2hsaWdodGVyLnlzaHJlc3RoYS53b3JrZXJzLmRldi92L08yRk5WNEJ5UHVCaCNoPTQiLCAicXVvdGUiOiAiRmlyc3QsIHRoZSBkZXZpY2UgaGFzIG1pZ3JhdGVkIGZyb20gYSBkZXNrdG9wIGFwcGxpY2F0aW9uIHRvIGEgd2ViLWJhc2VkIGFyY2hpdGVjdHVyZSwgd2hpY2ggaW50cm9kdWNlcyBuZXR3b3JrLWV4cG9zZWQgYXR0YWNrIHN1cmZhY2VzLCBhdXRoZW50aWNhdGlvbiB2dWxuZXJhYmlsaXRpZXMsIGFuZCBvdGhlciBjeWJlcnNlY3VyaXR5IHJpc2tzIGluaGVyZW50IHRvIGludGVybmV0LWFjY2Vzc2libGUgcGxhdGZvcm1zLiIsICJzcmMiOiAiRkRBIHdhcm5pbmcgbGV0dGVyOiBPLk4uIERpYWdub3N0aWNzLCBMTEMsIENNUyA3MzAzMDEgKGlzc3VlZCAyMDI2LTA5LTAxKSJ9XX1dfSB9</script>
<script>(function(){var t="CihmdW5jdGlvbiAoKSB7CiAgJ3VzZSBzdHJpY3QnOwogIGNvbnN0IHJvb3QgPSAoZG9jdW1lbnQuY3VycmVudFNjcmlwdCAmJiBkb2N1bWVudC5jdXJyZW50U2NyaXB0LmNsb3Nlc3QoJyNzY2NhLWVtYmVkJykpIHx8IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdzY2NhLWVtYmVkJyk7CiAgaWYgKCFyb290IHx8IHJvb3QuZGF0YXNldC5zY2NhUmVhZHkpIHJldHVybjsKICByb290LmRhdGFzZXQuc2NjYVJlYWR5ID0gJzEnOwogIGNvbnN0IGJ5SWQgPSBpZCA9PiByb290LnF1ZXJ5U2VsZWN0b3IoJyNzY2NhLScgKyBpZCk7CiAgbGV0IHNldFRlcm1Ib29rID0gbnVsbDsKICAvLyBFdmVyeSBsaW5rIG9wZW5zIGluIGEgbmV3IHRhYiwgaW5jbHVkaW5nIGxpbmtzIGRyYXduIGxhdGVyIGJ5IHRoZSBzY3JpcHQuCiAgY29uc3QgZml4TGlua3MgPSAoKSA9PiByb290LnF1ZXJ5U2VsZWN0b3JBbGwoJ2FbaHJlZl0nKS5mb3JFYWNoKGEgPT4gewogICAgaWYgKGEuZ2V0QXR0cmlidXRlKCdocmVmJykuY2hhckF0KDApID09PSAnIycpIHJldHVybjsKICAgIGEudGFyZ2V0ID0gJ19ibGFuayc7IGEucmVsID0gJ25vb3BlbmVyJzsKICB9KTsKICBuZXcgTXV0YXRpb25PYnNlcnZlcihmaXhMaW5rcykub2JzZXJ2ZShyb290LCB7IGNoaWxkTGlzdDogdHJ1ZSwgc3VidHJlZTogdHJ1ZSB9KTsKCiAgY29uc3QgRCA9IEpTT04ucGFyc2UobmV3IFRleHREZWNvZGVyKCkuZGVjb2RlKFVpbnQ4QXJyYXkuZnJvbShhdG9iKGJ5SWQoJ2RhdGEnKS50ZXh0Q29udGVudC5yZXBsYWNlKC9ccysvZywnJykpLGM9PmMuY2hhckNvZGVBdCgwKSkpKTsKICBjb25zdCBlc2MgPSBzID0+IFN0cmluZyhzID09IG51bGwgPyAnJyA6IHMpLnJlcGxhY2UoL1smPD4iXS9nLCBjID0+ICh7ICcmJzogJyZhbXA7JywgJzwnOiAnJmx0OycsICc+JzogJyZndDsnLCAnIic6ICcmcXVvdDsnIH1bY10pKTsKICBjb25zdCBzdG9yZSA9IHsgZ2V0KGssIGQpIHsgdHJ5IHsgY29uc3QgdiA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCdpbm5vbGl0aWNzLnNjY2EtZW1iZWQuJyArIGspOyByZXR1cm4gdiA9PSBudWxsID8gZCA6IEpTT04ucGFyc2Uodik7IH0gY2F0Y2ggKGUpIHsgcmV0dXJuIGQ7IH0gfSwgc2V0KGssIHYpIHsgdHJ5IHsgbG9jYWxTdG9yYWdlLnNldEl0ZW0oJ2lubm9saXRpY3Muc2NjYS1lbWJlZC4nICsgaywgSlNPTi5zdHJpbmdpZnkodikpOyB9IGNhdGNoIChlKSB7fSB9IH07CgogIC8vIHRhYnMKICBjb25zdCB0YWJzID0gWy4uLnJvb3QucXVlcnlTZWxlY3RvckFsbCgnLnRhYicpXTsKICBmdW5jdGlvbiBzaG93KHYpIHsKICAgIHRhYnMuZm9yRWFjaCh0ID0+IHQuc2V0QXR0cmlidXRlKCdhcmlhLXNlbGVjdGVkJywgU3RyaW5nKHQuZGF0YXNldC52aWV3ID09PSB2KSkpOwogICAgcm9vdC5xdWVyeVNlbGVjdG9yQWxsKCdzZWN0aW9uLnZpZXcnKS5mb3JFYWNoKHMgPT4gcy5oaWRkZW4gPSBzLmlkICE9PSAnc2NjYS12LScgKyB2KTsKICAgIHN0b3JlLnNldCgndmlldzInLCB2KTsKICB9CiAgdGFicy5mb3JFYWNoKHQgPT4gdC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHNob3codC5kYXRhc2V0LnZpZXcpKSk7CgoKICBmdW5jdGlvbiByZW5kZXJMZXR0ZXIoKSB7CiAgICBjb25zdCBXID0gRC5sZXR0ZXIsIGl0ZW1zID0gVy5pdGVtczsKICAgIGNvbnN0IGxpc3QgPSBieUlkKCd3bExpc3QnKSwgZG9jID0gYnlJZCgnd2xEb2MnKTsKICAgIGRvYy5pbm5lckhUTUwgPSBXLmh0bWw7CiAgICBsZXQgZ2kgPSAtMTsKICAgIGxpc3QuaW5uZXJIVE1MID0gT2JqZWN0LmVudHJpZXMoVy5ncm91cHMpLm1hcCgoW2csIGxhYmVsXSkgPT4gYDxkaXYgY2xhc3M9IndsLWdycCI+PGgzPjxpIGNsYXNzPSJnZG90IGctJHtnfSI+PC9pPiR7ZXNjKGxhYmVsKX08L2gzPjxvbD4ke2l0ZW1zLm1hcCgoaXQsIGkpID0+IGl0LmcgPT09IGcgPyBgPGxpPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0id2wtaXQiIGRhdGEtaT0iJHtpfSI+PHNwYW4gY2xhc3M9IndsLW4iPiR7aSArIDF9PC9zcGFuPjxzcGFuPiR7ZXNjKGl0LnRpdGxlKX08L3NwYW4+PC9idXR0b24+PC9saT5gIDogJycpLmpvaW4oJycpfTwvb2w+PC9kaXY+YCkuam9pbignJyk7CiAgICBsZXQgY3VyID0gTWF0aC5taW4oc3RvcmUuZ2V0KCd3bEknLCAwKSwgaXRlbXMubGVuZ3RoIC0gMSk7CiAgICBmdW5jdGlvbiBzZWwoaSwgc2Nyb2xsKSB7CiAgICAgIGN1ciA9IChpICsgaXRlbXMubGVuZ3RoKSAlIGl0ZW1zLmxlbmd0aDsgc3RvcmUuc2V0KCd3bEknLCBjdXIpOwogICAgICBjb25zdCBpdCA9IGl0ZW1zW2N1cl07CiAgICAgIGxpc3QucXVlcnlTZWxlY3RvckFsbCgnLndsLWl0JykuZm9yRWFjaChiID0+IGIuc2V0QXR0cmlidXRlKCdhcmlhLWN1cnJlbnQnLCBTdHJpbmcoK2IuZGF0YXNldC5pID09PSBjdXIpKSk7CiAgICAgIGRvYy5xdWVyeVNlbGVjdG9yQWxsKCdtYXJrLndsLW0nKS5mb3JFYWNoKG0gPT4gbS5jbGFzc0xpc3QudG9nZ2xlKCdvbicsICttLmRhdGFzZXQuaSA9PT0gY3VyKSk7CiAgICAgIGJ5SWQoJ3dsQ2FyZCcpLmlubmVySFRNTCA9IGA8ZGl2IGNsYXNzPSJ3bC1rIj48c3BhbiBjbGFzcz0iZ2RvdCBnLSR7aXQuZ30iPjwvc3Bhbj4ke2VzYyhXLmdyb3Vwc1tpdC5nXSl9PC9kaXY+CiAgICAgICAgPGgyPiR7Y3VyICsgMX0uICR7ZXNjKGl0LnRpdGxlKX08L2gyPjxwPiR7ZXNjKGl0LnN1bW1hcnkpfTwvcD4KICAgICAgICA8ZGl2IGNsYXNzPSJ3bC1uYXYiPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIiBpZD0ic2NjYS13bFByZXYiPuKGkCBQcmV2aW91czwvYnV0dG9uPjxzcGFuPiR7Y3VyICsgMX0gb2YgJHtpdGVtcy5sZW5ndGh9PC9zcGFuPjxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIHByaW1hcnkiIGlkPSJzY2NhLXdsTmV4dCI+TmV4dCDihpI8L2J1dHRvbj4KICAgICAgICAke2l0LnNjZW5hcmlvID8gYDxidXR0b24gdHlwZT0iYnV0dG9uIiBjbGFzcz0iYnRuIiBpZD0ic2NjYS13bFRyYWNlIj5UcmFjZSB0aGlzIGNoYW5nZSBpbiB0aGUgZmxvd2NoYXJ0PC9idXR0b24+YCA6ICcnfTwvZGl2PmA7CiAgICAgIGJ5SWQoJ3dsUHJldicpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgKCkgPT4gc2VsKGN1ciAtIDEsIHRydWUpKTsKICAgICAgYnlJZCgnd2xOZXh0JykuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiBzZWwoY3VyICsgMSwgdHJ1ZSkpOwogICAgICBjb25zdCB0YiA9IGJ5SWQoJ3dsVHJhY2UnKTsKICAgICAgaWYgKHRiKSB0Yi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHsgY29uc3QgayA9IEQudHJhY2VyLmNoYW5nZXMuZmluZEluZGV4KGMgPT4gYy5pZCA9PT0gaXQuc2NlbmFyaW8pOyBpZiAoayA+PSAwKSB7IHN0b3JlLnNldCgndHJDJywgayk7IGNvbnN0IHMgPSBieUlkKCd0ckNoYW5nZScpOyBzLnZhbHVlID0gU3RyaW5nKGspOyBzLmRpc3BhdGNoRXZlbnQobmV3IEV2ZW50KCdjaGFuZ2UnKSk7IHNob3coJ2Zsb3cnKTsgcm9vdC5zY3JvbGxJbnRvVmlldyh7IGJsb2NrOiAnc3RhcnQnIH0pOyB9IH0pOwogICAgICBpZiAoc2Nyb2xsKSB7IGNvbnN0IG0gPSBkb2MucXVlcnlTZWxlY3RvcihgbWFyay53bC1tW2RhdGEtaT0iJHtjdXJ9Il1gKTsgaWYgKG0pIG0uc2Nyb2xsSW50b1ZpZXcoeyBibG9jazogJ2NlbnRlcicsIGJlaGF2aW9yOiBtYXRjaE1lZGlhKCcocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKScpLm1hdGNoZXMgPyAnYXV0bycgOiAnc21vb3RoJyB9KTsgfQogICAgfQogICAgbGlzdC5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsIGUgPT4geyBjb25zdCBiID0gZS50YXJnZXQuY2xvc2VzdCgnLndsLWl0Jyk7IGlmIChiKSBzZWwoK2IuZGF0YXNldC5pLCB0cnVlKTsgfSk7CiAgICBkb2MuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBlID0+IHsgY29uc3QgbSA9IGUudGFyZ2V0LmNsb3Nlc3QoJ21hcmsud2wtbScpOyBpZiAobSkgc2VsKCttLmRhdGFzZXQuaSwgZmFsc2UpOyB9KTsKICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBlID0+IHsgaWYgKCFyb290LmNvbnRhaW5zKGUudGFyZ2V0KSB8fCBieUlkKCd2LWxldHRlcicpLmhpZGRlbiB8fCBlLnRhcmdldC5jbG9zZXN0KCdpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYScpKSByZXR1cm47IGlmIChlLmtleSA9PT0gJ0Fycm93UmlnaHQnKSBzZWwoY3VyICsgMSwgdHJ1ZSk7IGlmIChlLmtleSA9PT0gJ0Fycm93TGVmdCcpIHNlbChjdXIgLSAxLCB0cnVlKTsgfSk7CiAgICBzZWwoY3VyLCBmYWxzZSk7CiAgfQoKICBmdW5jdGlvbiByZW5kZXJUcmFjZXIoKSB7CiAgICBjb25zdCBUID0gRC50cmFjZXIsIEwgPSBULmxlbnMsIEYgPSBELmZsb3c7CiAgICBjb25zdCBDT0wgPSBbJyNjMjQwMWYnLCAnIzJEM0Y4NicsICcjMGY3NjZlJ107CiAgICBjb25zdCBRVCA9IHsKICAgICAgUTE6ICdJcyB0aGUgY2hhbmdlIG1hZGUgc29sZWx5IHRvIHN0cmVuZ3RoZW4gY3liZXJzZWN1cml0eSBhbmQgZG9lcyBub3QgaGF2ZSBhbnkgb3RoZXIgaW1wYWN0IG9uIHRoZSBzb2Z0d2FyZSBvciBkZXZpY2U/JywKICAgICAgUTI6ICdJcyB0aGUgY2hhbmdlIG1hZGUgc29sZWx5IHRvIHJldHVybiB0aGUgc3lzdGVtIGludG8gc3BlY2lmaWNhdGlvbiBvZiB0aGUgbW9zdCByZWNlbnRseSBjbGVhcmVkIGRldmljZT8nLAogICAgICBRM2E6ICdEb2VzIHRoZSBjaGFuZ2UgaW50cm9kdWNlIGEgbmV3IHJpc2sgb3IgbW9kaWZ5IGFuIGV4aXN0aW5nIHJpc2sgdGhhdCBjb3VsZCByZXN1bHQgaW4gc2lnbmlmaWNhbnQgaGFybSBhbmQgdGhhdCBpcyBub3QgZWZmZWN0aXZlbHkgbWl0aWdhdGVkIGluIHRoZSBtb3N0IHJlY2VudGx5IGNsZWFyZWQgZGV2aWNlPycsCiAgICAgIFEzYjogJ0RvZXMgdGhlIGNoYW5nZSBjcmVhdGUgb3IgbmVjZXNzaXRhdGUgYSBuZXcgcmlzayBjb250cm9sIG1lYXN1cmUgb3IgYSBtb2RpZmljYXRpb24gb2YgYW4gZXhpc3RpbmcgcmlzayBjb250cm9sIG1lYXN1cmUgZm9yIGEgaGF6YXJkb3VzIHNpdHVhdGlvbiB0aGF0IGNvdWxkIHJlc3VsdCBpbiBzaWduaWZpY2FudCBoYXJtPycsCiAgICAgIFE0OiAnQ291bGQgdGhlIGNoYW5nZSBzaWduaWZpY2FudGx5IGFmZmVjdCBjbGluaWNhbCBmdW5jdGlvbmFsaXR5IG9yIHBlcmZvcm1hbmNlIHNwZWNpZmljYXRpb25zIHRoYXQgYXJlIGRpcmVjdGx5IGFzc29jaWF0ZWQgd2l0aCB0aGUgaW50ZW5kZWQgdXNlIG9mIHRoZSBkZXZpY2U/JywKICAgICAgVkk6ICdFdmFsdWF0ZSBhZGRpdGlvbmFsIHNvZnR3YXJlIGZhY3RvcnMgdGhhdCBtYXkgYWZmZWN0IHRoZSBkZWNpc2lvbiB0byBmaWxlLiBTZWUgc2VjdGlvbiBWSSBmb3IgZXhhbXBsZXMuJyB9OwogICAgY29uc3QgTkFNRSA9IHsgUTE6ICdRdWVzdGlvbiAxJywgUTI6ICdRdWVzdGlvbiAyJywgUTNhOiAnUXVlc3Rpb24gM2EnLCBRM2I6ICdRdWVzdGlvbiAzYicsIFE0OiAnUXVlc3Rpb24gNCcsIFZJOiAnU2VjdGlvbiBWSSBmYWN0b3JzJyB9OwogICAgY29uc3QgRUwgPSB7IFExOiAnbi1RMScsIFEyOiAnbi1RMicsIFEzYTogJ24tUTMnLCBRM2I6ICduLVEzJywgUTQ6ICduLVE0JywgVkk6ICduLVZJJyB9OwogICAgY29uc3QgT04gPSB7IFExOiB7IFk6IFsndC1RMS15ZXMnLCAnZS1RMS15ZXMnXSwgTjogWyd0LVExLW5vJywgJ2UtUTEtbm8nXSB9LCBRMjogeyBZOiBbJ3QtUTIteWVzJywgJ2UtUTIteWVzJ10sIE46IFsndC1RMi1ubycsICdlLVEyLW5vJ10gfSwKICAgICAgUTNhOiB7IFk6IFsndC1RMy15ZXMnLCAnZS1RMy15ZXMnXSwgTjogW10gfSwgUTNiOiB7IFk6IFsndC1RMy15ZXMnLCAnZS1RMy15ZXMnXSwgTjogWyd0LVEzLW5vJywgJ2UtUTMtbm8nXSB9LAogICAgICBRNDogeyBZOiBbJ3QtUTQteWVzJywgJ2UtUTQteWVzJ10sIE46IFsndC1RNC1ubycsICdlLVE0LW5vJ10gfSwgVkk6IHsgRDogWydlLVZJLWRvYyddLCBGOiBbJ2UtVkktbmV3J10gfSB9OwogICAgY29uc3QgQkFER0UgPSB7IFExOiBbNTA4LCAyNjJdLCBRMjogWzUwOCwgNDMyXSwgUTNhOiBbNTA0LCA2MjhdLCBRM2I6IFs1MDQsIDc3Nl0sIFE0OiBbNTA0LCAxMDEzXSwgVkk6IFs1MDUsIDEyNDNdIH07CiAgICBjb25zdCBBTlMgPSB7IFk6ICdZRVMnLCBOOiAnTk8nLCBEOiAnRG9jdW1lbnQnLCBGOiAnTmV3IDUxMChrKScgfTsKICAgIGNvbnN0IHNlbCA9IGJ5SWQoJ3RyQ2hhbmdlJyksIHJuZyA9IGJ5SWQoJ3RyU3RhbmNlJyk7CiAgICBjb25zdCBzdmcgPSBieUlkKCd0clN2ZycpLCBmZGEgPSBzdmcucXVlcnlTZWxlY3RvcignLmZkYScpOwogICAgY29uc3Qgb3B0ID0gKGMsIGkpID0+IGA8b3B0aW9uIHZhbHVlPSIke2l9Ij4ke2VzYyhjLnRpdGxlKX08L29wdGlvbj5gOwogICAgY29uc3QgZ3JwID0gKGcsIGxhYmVsKSA9PiB7IGNvbnN0IGl0ZW1zID0gVC5jaGFuZ2VzLm1hcCgoYywgaSkgPT4gW2MsIGldKS5maWx0ZXIoKFtjXSkgPT4gYy5ncm91cCA9PT0gZyk7IHJldHVybiBpdGVtcy5sZW5ndGggPyBgPG9wdGdyb3VwIGxhYmVsPSIke2xhYmVsfSI+JHtpdGVtcy5tYXAoKFtjLCBpXSkgPT4gb3B0KGMsIGkpKS5qb2luKCcnKX08L29wdGdyb3VwPmAgOiAnJzsgfTsKICAgIHNlbC5pbm5lckhUTUwgPSBncnAoJ3dsJywgJ0Zyb20gRkRBXCdzIE8uTi4gRGlhZ25vc3RpY3Mgd2FybmluZyBsZXR0ZXIgKFNlcHQgMjAyNiknKSArIGdycCgnYWknLCAnQUkgU2FNRCBjaGFuZ2Ugc2NlbmFyaW9zJyk7CiAgICBsZXQgY2kgPSBNYXRoLm1pbihzdG9yZS5nZXQoJ3RyQycsIDApLCBULmNoYW5nZXMubGVuZ3RoIC0gMSksIHNpID0gc3RvcmUuZ2V0KCd0clMnLCAxKTsKICAgIGNvbnN0IGV4aXROb2RlID0gcCA9PiBwLnN0ZXBzW3Auc3RlcHMubGVuZ3RoIC0gMV0ubm9kZTsKICAgIGNvbnN0IG91dExhYmVsID0gbyA9PiBvID09PSAnZG9jJyA/ICdEb2N1bWVudCcgOiAnTmV3IDUxMChrKSc7CiAgICBmdW5jdGlvbiBkcmF3KCkgewogICAgICBzZWwudmFsdWUgPSBTdHJpbmcoY2kpOyBybmcudmFsdWUgPSBTdHJpbmcoc2kpOwogICAgICBjb25zdCBjID0gVC5jaGFuZ2VzW2NpXSwgcCA9IGMucGF0aHNbc2ldLCBjb2wgPSBDT0xbc2ldLCBzdGFuY2UgPSBULnN0YW5jZXNbc2ldOwogICAgICBieUlkKCd2LWZsb3cnKS5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zdCcsIGB2YXIoLS1zdC0ke3NpfSlgKTsgYnlJZCgndi1mbG93Jykuc3R5bGUuc2V0UHJvcGVydHkoJy0tc3RmJywgY29sKTsKICAgICAgcm9vdC5xdWVyeVNlbGVjdG9yQWxsKCcudHItdGlja3Mgc3BhbicpLmZvckVhY2gocyA9PiBzLnNldEF0dHJpYnV0ZSgnYXJpYS1jdXJyZW50JywgU3RyaW5nKCtzLmRhdGFzZXQucyA9PT0gc2kpKSk7CiAgICAgIGJ5SWQoJ3RyRmFjdHMnKS5pbm5lckhUTUwgPSAoYy5ncm91cCA9PT0gJ3dsJyA/ICc8c3BhbiBjbGFzcz0id2wtdGFnIj5Gcm9tIHRoZSB3YXJuaW5nIGxldHRlcjwvc3Bhbj4gJyA6ICcnKSArICc8Yj4nICsgKGMuZ3JvdXAgPT09ICd3bCcgPyAnRmFjdHMgZnJvbSB0aGUgbGV0dGVyLicgOiAnQXNzdW1lZCBmYWN0cy4nKSArICc8L2I+ICcgKyBlc2MoYy5mYWN0cykKICAgICAgICArIChjLmZkYSA/IGA8c3BhbiBjbGFzcz0iZmRhLXNhaWQiPjxiPldoYXQgRkRBIGNvbmNsdWRlZC48L2I+ICR7ZXNjKGMuZmRhKX0ke2MuZmRhX3F1b3RlID8gYCA8YSBocmVmPSIke2VzYyhjLmZkYV9saW5rIHx8ICcnKX0iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIj7igJwke2VzYyhjLmZkYV9xdW90ZSl94oCdIOKGlzwvYT5gIDogJyd9PC9zcGFuPmAgOiAnJyk7CiAgICAgIC8vIHJlc2V0IGZpZ3VyZQogICAgICBmZGEuY2xhc3NMaXN0LmFkZCgndHJhY2VkJyk7CiAgICAgIGZkYS5xdWVyeVNlbGVjdG9yQWxsKCcub24nKS5mb3JFYWNoKGUgPT4gZS5jbGFzc0xpc3QucmVtb3ZlKCdvbicpKTsKICAgICAgY29uc3Qgb3YgPSBieUlkKCd0ck92ZXJsYXknKSwgYmQgPSBieUlkKCd0ckJhZGdlcycpOwogICAgICBvdi5pbm5lckhUTUwgPSAnJzsgYmQuaW5uZXJIVE1MID0gJyc7CiAgICAgIGNvbnN0IGxpdCA9IGlkID0+IHsgY29uc3QgZSA9IGJ5SWQoaWQpOyBpZiAoZSkgZS5jbGFzc0xpc3QuYWRkKCdvbicpOyByZXR1cm4gZTsgfTsKICAgICAgY29uc3QgZWRnZUlkcyA9IFsnZS1zdGFydCddOwogICAgICBsaXQoJ24tc3RhcnQnKTsKICAgICAgcC5zdGVwcy5mb3JFYWNoKChzdCwgaSkgPT4gewogICAgICAgIGxpdChFTFtzdC5ub2RlXSk7CiAgICAgICAgaWYgKHN0Lm5vZGUgPT09ICdRM2EnIHx8IHN0Lm5vZGUgPT09ICdRM2InKSBsaXQoJ2gtJyArIHN0Lm5vZGUpOwogICAgICAgIChPTltzdC5ub2RlXVtzdC5hbnNdIHx8IFtdKS5mb3JFYWNoKGlkID0+IHsgbGl0KGlkKTsgaWYgKGlkLnN0YXJ0c1dpdGgoJ2UtJykpIGVkZ2VJZHMucHVzaChpZCk7IH0pOwogICAgICAgIGNvbnN0IFt4LCB5XSA9IEJBREdFW3N0Lm5vZGVdOwogICAgICAgIGJkLmluc2VydEFkamFjZW50SFRNTCgnYmVmb3JlZW5kJywgYDxnIGNsYXNzPSJiZGciPjxjaXJjbGUgY3g9IiR7eH0iIGN5PSIke3l9IiByPSIxNSIvPjx0ZXh0IHg9IiR7eH0iIHk9IiR7eSArIDZ9IiB0ZXh0LWFuY2hvcj0ibWlkZGxlIj4ke2kgKyAxfTwvdGV4dD48L2c+YCk7CiAgICAgIH0pOwogICAgICBsaXQocC5vdXRjb21lID09PSAnZG9jJyA/ICduLWRvYycgOiAnbi1uZXcnKTsKICAgICAgZWRnZUlkcy5mb3JFYWNoKChpZCwgaykgPT4gewogICAgICAgIGNvbnN0IHNyYyA9IGJ5SWQoaWQpOyBzcmMuY2xhc3NMaXN0LmFkZCgnb24nKTsKICAgICAgICBjb25zdCBuID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudE5TKCdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycsICdwYXRoJyk7CiAgICAgICAgbi5zZXRBdHRyaWJ1dGUoJ2QnLCBzcmMuZ2V0QXR0cmlidXRlKCdkJykpOyBuLnNldEF0dHJpYnV0ZSgnbWFya2VyLWVuZCcsICd1cmwoI3NjY2EtbUFvbiknKTsKICAgICAgICBvdi5hcHBlbmRDaGlsZChuKTsKICAgICAgICBjb25zdCBsZW4gPSBuLmdldFRvdGFsTGVuZ3RoID8gbi5nZXRUb3RhbExlbmd0aCgpIDogNDAwOwogICAgICAgIG4uc3R5bGUuc3Ryb2tlRGFzaGFycmF5ID0gbGVuOyBuLnN0eWxlLnNldFByb3BlcnR5KCctLWxlbicsIGxlbik7IG4uc3R5bGUuYW5pbWF0aW9uRGVsYXkgPSAoayAqIDAuMTIpICsgJ3MnOwogICAgICB9KTsKICAgICAgLy8gb3V0Y29tZSBzdW1tYXJ5CiAgICAgIGNvbnN0IGNydW1icyA9IHAuc3RlcHMubWFwKHN0ID0+IGAke3N0Lm5vZGUgPT09ICdWSScgPyAnVkknIDogc3Qubm9kZX0gJHtBTlNbc3QuYW5zXX1gKS5qb2luKCcg4oaSICcpOwogICAgICBieUlkKCd0ck91dCcpLmlubmVySFRNTCA9IGA8c3BhbiBjbGFzcz0icmVzICR7cC5vdXRjb21lfSI+JHtvdXRMYWJlbChwLm91dGNvbWUpfTwvc3Bhbj48c3Bhbj4ke2VzYyhzdGFuY2UpfSByZWFkaW5nOiAke2VzYyhjcnVtYnMpfTwvc3Bhbj5gOwogICAgICAvLyBzdGVwcwogICAgICBjb25zdCBmbm9kZSA9IGlkID0+IEYubm9kZXMuZmluZChuID0+IG4uaWQgPT09IGlkKTsKICAgICAgY29uc3QgZXhIdG1sID0gaWQgPT4geyBjb25zdCBuID0gZm5vZGUoaWQpOyBpZiAoIW4pIHJldHVybiAnJzsgY29uc3QgbGkgPSAoYXJyLCBjbHMsIGxhYikgPT4gYXJyLm1hcChlID0+IGA8bGk+PHNwYW4gY2xhc3M9IiR7Y2xzfSI+JHtsYWJ9PC9zcGFuPiA8YSBocmVmPSIke2VzYyhlLmxpbmspfSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPiR7ZXNjKGUubGFiZWwpfTwvYT4gPHNtYWxsPigke2VzYyhlLnRhZyl9KTwvc21hbGw+PC9saT5gKS5qb2luKCcnKTsKICAgICAgICByZXR1cm4gYDxkZXRhaWxzPjxzdW1tYXJ5PkZEQSBhbmQgZmlsaW5nIGV4YW1wbGVzIGF0IHRoaXMgcXVlc3Rpb248L3N1bW1hcnk+PHVsPiR7bGkobi5kb2MsICdkbCcsICdEb2N1bWVudCBzaWRlOicpfSR7bGkobi5uZXcsICdubCcsICdOZXcgNTEwKGspIHNpZGU6Jyl9PC91bD48L2RldGFpbHM+YDsgfTsKICAgICAgY29uc3QgY2FyZHMgPSBwLnN0ZXBzLm1hcCgoc3QsIGkpID0+IGA8YXJ0aWNsZSBjbGFzcz0ic3RwIiBpZD0ic2NjYS1zdC0ke2l9IiBkYXRhLW5vZGU9IiR7c3Qubm9kZX0iPgogICAgICAgIDxkaXYgY2xhc3M9InN0cC1oIj48Yj5TdGVwICR7aSArIDF9IMK3ICR7TkFNRVtzdC5ub2RlXX08L2I+PHNwYW4gY2xhc3M9ImFucyAke3N0LmFuc30iPiR7QU5TW3N0LmFuc119PC9zcGFuPjwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InN0cC1xIj4ke2VzYyhRVFtzdC5ub2RlXSl9PC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0iYnciPiR7TFtzdC5ub2RlXS53b3Jkcy5tYXAodyA9PiB7IGNvbnN0IGsgPSBzdC5ub2RlICsgJ3wnICsgdywgaGFzID0gISEoVC5ob3ZlciAmJiBULmhvdmVyW2tdKTsgcmV0dXJuIGA8YnV0dG9uIHR5cGU9ImJ1dHRvbiIgY2xhc3M9ImJ3YyR7aGFzID8gJyBoYXMnIDogJyd9IiBkYXRhLWs9IiR7ZXNjKGspfSIgYXJpYS1sYWJlbD0iJHtlc2Modyl9OiBzaG93IEZEQSBjYWxpYnJhdGlvbiBleGFtcGxlcyI+4oCcJHtlc2Modyl94oCdPC9idXR0b24+YDsgfSkuam9pbignJyl9PC9kaXY+CiAgICAgICAgPHAgY2xhc3M9InN0cC1yIj48Yj4ke2VzYyhzdGFuY2UpfSByZWFkaW5nPC9iPiR7ZXNjKExbc3Qubm9kZV0ucmVhZFtzaV0pfTwvcD4KICAgICAgICA8cCBjbGFzcz0ic3RwLXciPjxiPlRoaXMgY2hhbmdlPC9iPiR7ZXNjKHN0LndoeSl9PC9wPgogICAgICAgICR7ZXhIdG1sKHN0Lm5vZGUpfTwvYXJ0aWNsZT5gKS5qb2luKCcnKTsKICAgICAgY29uc3QgY21wID0gYy5wYXRocy5tYXAoKHEsIGspID0+IGA8YnV0dG9uIGRhdGEtcz0iJHtrfSIgYXJpYS1wcmVzc2VkPSIke2sgPT09IHNpfSIgc3R5bGU9ImJvcmRlci1sZWZ0OjRweCBzb2xpZCB2YXIoLS1zdC0ke2t9KSI+PGI+JHtULnN0YW5jZXNba119PC9iPiR7b3V0TGFiZWwocS5vdXRjb21lKX0gYXQgJHtOQU1FW2V4aXROb2RlKHEpXX08L2J1dHRvbj5gKS5qb2luKCcnKTsKICAgICAgYnlJZCgndHJTdGVwcycpLmlubmVySFRNTCA9IGNhcmRzICsgYDxkaXYgY2xhc3M9ImZpbiI+PGgzPiR7b3V0TGFiZWwocC5vdXRjb21lKX08L2gzPiR7Yy5mZGEgPyBgPHAgY2xhc3M9ImZkYS1maW4iPjxiPkZEQSdzIGFjdHVhbCBjb25jbHVzaW9uOjwvYj4gJHtlc2MoYy5mZGEpfTwvcD5gIDogJyd9CiAgICAgICAgPGRpdiBjbGFzcz0iY21wIj4ke2NtcH08L2Rpdj4KICAgICAgICA8ZGl2PjxiIHN0eWxlPSJmb250OjYwMCAxMXB4LzEgdmFyKC0tZGlzcGxheSk7bGV0dGVyLXNwYWNpbmc6LjA4ZW07dGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO2NvbG9yOnZhcigtLW11dGVkKSI+RXZpZGVuY2U8L2I+PHVsIGNsYXNzPSJldiI+JHtjLmV2aWRlbmNlLm1hcChlID0+IGA8bGk+PGEgaHJlZj0iJHtlc2MoZS5saW5rKX0iIHRhcmdldD0iX2JsYW5rIiByZWw9Im5vb3BlbmVyIj4ke2VzYyhlLmxhYmVsKX0g4oaXPC9hPjwvbGk+YCkuam9pbignJyl9PC91bD48L2Rpdj48L2Rpdj5gOwogICAgICByb290LnF1ZXJ5U2VsZWN0b3JBbGwoJy5jbXAgYnV0dG9uJykuZm9yRWFjaChiID0+IGIuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7IHNpID0gK2IuZGF0YXNldC5zOyBzdG9yZS5zZXQoJ3RyUycsIHNpKTsgZHJhdygpOyB9KSk7CiAgICAgIGlmIChzZXRUZXJtSG9vaykgc2V0VGVybUhvb2soKTsKICAgIH0KICAgIHNlbC5hZGRFdmVudExpc3RlbmVyKCdjaGFuZ2UnLCAoKSA9PiB7IGNpID0gK3NlbC52YWx1ZTsgc3RvcmUuc2V0KCd0ckMnLCBjaSk7IGRyYXcoKTsgfSk7CiAgICBybmcuYWRkRXZlbnRMaXN0ZW5lcignaW5wdXQnLCAoKSA9PiB7IHNpID0gK3JuZy52YWx1ZTsgc3RvcmUuc2V0KCd0clMnLCBzaSk7IGRyYXcoKTsgfSk7CiAgICByb290LnF1ZXJ5U2VsZWN0b3JBbGwoJy50ci10aWNrcyBzcGFuJykuZm9yRWFjaChzID0+IHMuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCAoKSA9PiB7IHNpID0gK3MuZGF0YXNldC5zOyBzdG9yZS5zZXQoJ3RyUycsIHNpKTsgZHJhdygpOyB9KSk7CiAgICBzdmcuYWRkRXZlbnRMaXN0ZW5lcignY2xpY2snLCBlID0+IHsKICAgICAgY29uc3QgZyA9IGUudGFyZ2V0LmNsb3Nlc3QoJy5ub2RlLnEnKTsgaWYgKCFnKSByZXR1cm47CiAgICAgIGNvbnN0IGNhcmQgPSBbLi4ucm9vdC5xdWVyeVNlbGVjdG9yQWxsKCcuc3RwJyldLmZpbmQoYyA9PiAnc2NjYS0nICsgRUxbYy5kYXRhc2V0Lm5vZGVdID09PSBnLmlkKTsKICAgICAgaWYgKGNhcmQpIHsgY2FyZC5zY3JvbGxJbnRvVmlldyh7IGJsb2NrOiAnbmVhcmVzdCcgfSk7IGNhcmQuY2xhc3NMaXN0LmFkZCgnZmxhc2gnKTsgc2V0VGltZW91dCgoKSA9PiBjYXJkLmNsYXNzTGlzdC5yZW1vdmUoJ2ZsYXNoJyksIDkwMCk7IH0KICAgIH0pOwoKICAgIC8vIGNhbGlicmF0aW9uIGNvbHVtbjogY2xpY2sgYSBib3VuZGFyeS13b3JkIGNoaXAgb3IgcGljayBmcm9tIHRoZSBkcm9wZG93bgogICAgY29uc3QgTk9ERV9MQUJFTCA9IHsgUTE6ICdRdWVzdGlvbiAxJywgUTI6ICdRdWVzdGlvbiAyJywgUTNhOiAnUXVlc3Rpb24gM2EnLCBRM2I6ICdRdWVzdGlvbiAzYicsIFE0OiAnUXVlc3Rpb24gNCcsIFZJOiAnU2VjdGlvbiBWSScgfTsKICAgIGNvbnN0IGNzZWwgPSBieUlkKCdjYWxTZWwnKSwgY2JvZHkgPSBieUlkKCdjYWxCb2R5Jyk7CiAgICBjc2VsLmlubmVySFRNTCA9IE9iamVjdC5rZXlzKEwpLm1hcChuID0+IGA8b3B0Z3JvdXAgbGFiZWw9IiR7Tk9ERV9MQUJFTFtuXX0iPiR7TFtuXS53b3Jkcy5tYXAodyA9PiBgPG9wdGlvbiB2YWx1ZT0iJHtlc2MobiArICd8JyArIHcpfSI+JHtlc2Modyl9PC9vcHRpb24+YCkuam9pbignJyl9PC9vcHRncm91cD5gKS5qb2luKCcnKTsKICAgIGxldCBjdXJLID0gc3RvcmUuZ2V0KCdjYWxLJywgJ1E0fGNvdWxkIHNpZ25pZmljYW50bHkgYWZmZWN0Jyk7CiAgICBjb25zdCBleCA9IChhcnIsIGNscykgPT4gYXJyLm1hcChlID0+IGA8ZGl2IGNsYXNzPSJ0ZXggJHtjbHN9Ij48Yj4ke2VzYyhlLmxhYmVsKX08L2I+PHNwYW4+JHtlc2MoZS53aHkpfTwvc3Bhbj48YSBocmVmPSIke2VzYyhlLmxpbmspfSIgdGFyZ2V0PSJfYmxhbmsiIHJlbD0ibm9vcGVuZXIiPiR7ZXNjKGUuc291cmNlKX0g4oaXPC9hPjwvZGl2PmApLmpvaW4oJycpOwogICAgZnVuY3Rpb24gc2V0VGVybShrLCBmcm9tQ2xpY2spIHsKICAgICAgaWYgKCFULmhvdmVyW2tdKSByZXR1cm47CiAgICAgIGN1cksgPSBrOyBzdG9yZS5zZXQoJ2NhbEsnLCBrKTsgY3NlbC52YWx1ZSA9IGs7CiAgICAgIGNvbnN0IGggPSBULmhvdmVyW2tdLCBuZCA9IGsuc3BsaXQoJ3wnKVswXSwgdyA9IGsuc3BsaXQoJ3wnKS5zbGljZSgxKS5qb2luKCd8Jyk7CiAgICAgIGNvbnN0IHljID0gKG5kID09PSAnUTEnIHx8IG5kID09PSAnUTInKSA/ICduJyA6ICd5JywgbmMgPSB5YyA9PT0gJ3knID8gJ24nIDogJ3knOwogICAgICBjb25zdCBleGl0WSA9IHljID09PSAnbicgPyAndG93YXJkIERvY3VtZW50JyA6ICd0b3dhcmQgTmV3IDUxMChrKScsIGV4aXROID0geWMgPT09ICduJyA/ICd0b3dhcmQgdGhlIG5leHQgcXVlc3Rpb24nIDogJ3Rvd2FyZCBEb2N1bWVudCc7CiAgICAgIGNib2R5LmlubmVySFRNTCA9IGA8ZGl2IGNsYXNzPSJjYWwtdGVybSI+4oCcJHtlc2Modyl94oCdPHNtYWxsPiR7Tk9ERV9MQUJFTFtuZF19PC9zbWFsbD48L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0Y29sIj48c3BhbiBjbGFzcz0idGxhYiAke3ljfSI+JHtlc2MoaC55ZXNfbGFiZWwgfHwgJ1llcywgdGhlIHdvcmRzIGFwcGx5Jyl9IDxlbT4oJHtleGl0WX0pPC9lbT48L3NwYW4+JHsoaC55ZXMgfHwgW10pLmxlbmd0aCA/IGV4KGgueWVzLCB5YykgOiBgPGRpdiBjbGFzcz0idG5vbmUiPiR7ZXNjKGgubm9uZV95ZXMgfHwgaC5ub25lIHx8ICdGREEgZ2l2ZXMgbm8gZXhhbXBsZSBvbiB0aGlzIHNpZGUuJyl9PC9kaXY+YH08L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJ0Y29sIj48c3BhbiBjbGFzcz0idGxhYiAke25jfSI+JHtlc2MoaC5ub19sYWJlbCB8fCAnTm8sIHRoZXkgZG8gbm90Jyl9IDxlbT4oJHtleGl0Tn0pPC9lbT48L3NwYW4+JHsoaC5ubyB8fCBbXSkubGVuZ3RoID8gZXgoaC5ubywgbmMpIDogYDxkaXYgY2xhc3M9InRub25lIj4ke2VzYyhoLm5vbmVfbm8gfHwgaC5ub25lIHx8ICdGREEgZ2l2ZXMgbm8gZXhhbXBsZSBvbiB0aGlzIHNpZGUuJyl9PC9kaXY+YH08L2Rpdj4KICAgICAgICA8cCBjbGFzcz0idGhpbnQiPkV4YW1wbGVzIGZyb20gRkRBIGd1aWRhbmNlIGRvY3VtZW50cyBvbmx5LiBFYWNoIGxpbmsgb3BlbnMgdGhlIHBhc3NhZ2UgaGlnaGxpZ2h0ZWQuPC9wPmA7CiAgICAgIHJvb3QucXVlcnlTZWxlY3RvckFsbCgnLmJ3YycpLmZvckVhY2goYiA9PiBiLmNsYXNzTGlzdC50b2dnbGUoJ3NlbCcsIGIuZGF0YXNldC5rID09PSBrKSk7CiAgICAgIGlmIChmcm9tQ2xpY2sgJiYgcm9vdC5jbGllbnRXaWR0aCA8PSAxMjAwKSBieUlkKCd0ckNhbCcpLnNjcm9sbEludG9WaWV3KHsgYmxvY2s6ICdzdGFydCcgfSk7CiAgICB9CiAgICBjc2VsLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsICgpID0+IHNldFRlcm0oY3NlbC52YWx1ZSkpOwogICAgYnlJZCgndHJTdGVwcycpLmFkZEV2ZW50TGlzdGVuZXIoJ2NsaWNrJywgZSA9PiB7IGNvbnN0IGIgPSBlLnRhcmdldC5jbG9zZXN0KCcuYndjLmhhcycpOyBpZiAoYikgc2V0VGVybShiLmRhdGFzZXQuaywgdHJ1ZSk7IH0pOwogICAgc2V0VGVybUhvb2sgPSAoKSA9PiBzZXRUZXJtKGN1ckspOwogICAgZHJhdygpOwogIH0KCiAgcmVuZGVyVHJhY2VyKCk7CiAgcmVuZGVyTGV0dGVyKCk7CiAgY29uc3QgdjAgPSBzdG9yZS5nZXQoJ3ZpZXcyJywgJ2Zsb3cnKTsgc2hvdyhbJ2Zsb3cnLCAnbGV0dGVyJ10uaW5jbHVkZXModjApID8gdjAgOiAnZmxvdycpOwoKICBjb25zdCB6YiA9IHJvb3QucXVlcnlTZWxlY3RvcignLmZpZy16b29tJyk7CiAgaWYgKHpiKSB6Yi5hZGRFdmVudExpc3RlbmVyKCdjbGljaycsICgpID0+IHsKICAgIGNvbnN0IG9uID0gemIuZ2V0QXR0cmlidXRlKCdhcmlhLXByZXNzZWQnKSAhPT0gJ3RydWUnOwogICAgemIuc2V0QXR0cmlidXRlKCdhcmlhLXByZXNzZWQnLCBTdHJpbmcob24pKTsKICAgIHpiLnRleHRDb250ZW50ID0gb24gPyAnRml0IGZpZ3VyZSB0byB3aWR0aCcgOiAnRW5sYXJnZSBmaWd1cmUgKHNjcm9sbCBzaWRld2F5cyknOwogICAgcm9vdC5xdWVyeVNlbGVjdG9yKCcudHItZmlnJykuY2xhc3NMaXN0LnRvZ2dsZSgnem9vbWVkJywgb24pOwogIH0pOwoKICBmaXhMaW5rcygpOwp9KSgpOwo=";new Function(new TextDecoder().decode(Uint8Array.from(atob(t),function(c){return c.charCodeAt(0)})))();})();</script>
</div>
<!-- toc:on -->

*Interactive figure. The software-change calibration tool I showed on air, in its current version. Move the stance slider to compare the conservative, balanced, and lean readings of one change.*

<div class="pl-3 border-solid border-0 border-l-4 border-gray" custom-style="Block Quote" markdown="1" role="blockquote">

\"I think all of these are valid strategies, just as long as nobody gets hurt.\" (Yujan Shrestha, quoted from the session)

</div>

If patients do not get hurt, I consider it a risk the company should be allowed to take.

I named \"could significantly affect\" as perhaps the most contested term. David noted that the phrase comes from the regulation itself.

<div class="pl-3 border-solid border-0 border-l-4 border-gray" custom-style="Block Quote" markdown="1" role="blockquote">

\"Significantly, there\'s a lot to unpack there.\" (J. David Giese, quoted from the session)

</div>

David said that, as he understood it, a more conservative 2011 FDA interpretation of the phrase was withdrawn after Congress intervened. FDA withdrew its July 2011 draft guidance on device modifications after [section 604 of the Food and Drug Administration Safety and Innovation Act of 2012](https://www.congress.gov/112/plaws/publ144/PLAW-112publ144.pdf#page=61) directed it to.

The 2017 guidance [states](https://fda.innolitics.com/guidance/deciding-when-submit-510k-software-change-existing-device?v=gfcd3aa43844-a9a26c775d273908&hl=11%3ABecause%20many%20simultaneous%20changes%20may%20be%20considered%20at%20once%2C%20each%20change%20should%20be%20assessed%20separately%2C%20as%20well%20as%20in%20aggregate&focus=1) that \"each change should be assessed separately, as well as in aggregate.\" Mary said she thought FDA looks at the cumulative changes, and that she did not think anyone would consider these changes maintenance updates \"even at any different point in time, let alone if they had happened all at once.\"

### The fear of returning to FDA

I described a pattern I have seen. A company gets its first clearance and adds a feature that is probably a note to file. It adds another, and another. When someone asks about going to FDA, the answer is no, because the company would have to disclose all those features. So it never goes.

In this case, I said, the company definitely should have gone back to FDA, although the crossover point is not clear. I do not think it would have received a warning letter with an active premarket submission at FDA. The premarket reviewer asks whether the changes affect safety and effectiveness and whether the device is still substantially equivalent. The reviewer is not the enforcement arm, and I said the fear needs to be broken.

<div class="pl-3 border-solid border-0 border-l-4 border-gray" custom-style="Block Quote" markdown="1" role="blockquote">

\"Doesn\'t matter what you\'ve done, you know, your sins are forgiven, kind of thing.\" (Yujan Shrestha, quoted from the session)

</div>

Mary has reviewed borderline letters to file in internal audits and asked companies whether they were comfortable leaving them for an inspector. She described a catch-up 510(k). The company does not admit that any individual change needed a 510(k). It submits in good faith to bring the file up to date and can still argue that no change required a submission. For a borderline case with a good letter-to-file argument, she said, the company can keep marketing the device meanwhile and is unlikely to be stopped.

### Company size, budget, and conservative procedures

David raised company size. He said he believed, from the company\'s website, that professors from UC Berkeley founded it to turn their research into a product for patients. For a smaller company, the cost of submissions and quality activities can push it one way or another.

I described a counterintuitive effect. A regulatory team without software experience may impose very strict lifecycle requirements, such as tools validation for a C compiler, which I would reserve for something like a real-time pacemaker. The overly conservative procedure can lead to noncompliance and a policy that is too lean in practice. I said this could have happened here, or at least I have seen it happen in some cases. David described a related effect. A conservative quality function spends a limited budget validating C compilers instead of the core algorithm, until management or engineers decide they are \"just doing it.\"

### Predetermined change control plans

James described a PCCP as a plan that tells FDA in advance which changes the company will make, how it will test them, and which results it must meet. He asked what one would have looked like for O.N. Diagnostics. James cited a PCCP share from FDA Device Explorer on air. In FDA\'s own records, of the 511 AI-enabled 510(k) clearances and De Novo grants on [FDA\'s AI-enabled device list](https://www.fda.gov/medical-devices/artificial-intelligence-enabled-medical-devices/list-artificial-intelligence-enabled-medical-devices) decided from January 1, 2025, to June 30, 2026, 46 (9.0%) show \"Predetermined Change Control Plan Authorized: Yes\" in FDA\'s [510(k)](https://www.accessdata.fda.gov/scripts/cdrh/cfdocs/cfpmn/pmn.cfm) and [De Novo](https://www.accessdata.fda.gov/scripts/cdrh/cfdocs/cfpmn/denovo.cfm) databases. Across all 4,904 510(k) clearances and De Novo grants in the same window, at least 113 (2.3%) do.

<div class="pl-3 border-solid border-0 border-l-4 border-gray" custom-style="Block Quote" markdown="1" role="blockquote">

\"If they did not have any AI, there\'s no way a PCCP could have helped them.\" (J. David Giese, quoted from the session)

</div>

David said Innolitics has tried several times to add a major new feature through a PCCP without success. Retraining an existing model on more data is an easy fit, and so is a new scanner type clearly inside the intended use. The statute behind PCCPs is broad, he said, and he mentioned that the first device with continuous learning under a PCCP had been cleared about a month earlier. The public record includes ProNova\'s VIRTUE QA ([K260597](https://fda.innolitics.com/device/K260597?doc=summary&hl=9%3AThe%20six%20machine-specific%20predictive%20models%20are%20updated%20once%20daily&focus=1)), cleared on September 23, 2026, whose PCCP updates its models once daily. David said a new FDA PCCP web page lists continuous learning for ECG arrhythmias, an example he did not believe is in the guidance. FDA\'s page of [hypothetical PCCP case examples](https://www.fda.gov/medical-devices/premarket-submissions-selecting-and-preparing-correct-submission/novel-medical-devices-predetermined-change-control-plans-hypothetical-case-examples), current as of October 20, 2026, includes \"Continuously Learning Cardiac Arrhythmia Detection Software.\" None of the examples in the AI PCCP guidance is an arrhythmia detector. About 25 seconds of David\'s next comment were lost from the recording. When it resumes, he describes reviewers asking applicants to remove PCCP content and submit it separately.

<figure>
  <img src="/img/articles/When_a_Software_Update_Needs_a_New_510k_Notes_from_a_Coffee_and_QA_on_FDAs_Warning_Letter_to_O.N._Diagnostics-404bd5b7a754811bbc2ec225e04246e0.png">
  <figcaption>
    Figure 6. PCCP fit by type of change, from J. David Giese's experience.
  </figcaption>
</figure>

I said the company\'s position on risk sets the bar. Innolitics would not put a change in a PCCP that the company would treat as a note to file. I also said FDA has become more open to PCCPs that look further ahead and are less specified up front. For many generative AI devices, I see no workable path without one. Large language model providers such as Google, Anthropic, and OpenAI give two weeks to six months of deprecation notice, and a 510(k) probably takes about six months. I have advocated for this direction. PCCPs should be seen as a way to do test-driven development, and with generative AI, eval-driven development.

James said FDA is hiring digital health staff and that reviewers are overwhelmed. He described filing the 510(k) first and the PCCP a few months later. David said this does not usually slow a company down much. Mary added that a PCCP front-loads work and does not reduce documentation. She recommended a very focused first 510(k) and a PCCP as an immediate follow-up.

### Audience questions

**PCCP examples for software in a medical device (SiMD).** I named antimicrobial susceptibility testing as a canonical example, and David noted FDA has a separate guidance for it. I filtered [FDA Device Explorer](https://fda.innolitics.com/) for PCCPs on screen, which returned about 238 records. David recalled PCCPs for replacing hardware components near end of life. Mary said a hardware company can plan to gather data in an underrepresented subgroup and then expand the labeled population, which she called rarer but allowed.

**A PCCP in a Special 510(k).** My understanding on air was that a PCCP cannot be established in a Special 510(k). Mary thought it might be possible if the change itself qualified as a Special, though FDA would probably push it to a Traditional. I recalled Special 510(k)s with PCCPs that might modify an existing plan. The AI PCCP guidance [lists the Traditional and Abbreviated 510(k)](https://fda.innolitics.com/guidance/marketing-submission-recommendations-predetermined-change-control-plan-artificial-intelligence?v=gfb23b96999e-80f0f423efe0c810&hl=15%3AIn%20general%2C%20FDA%20considers%20the%20following%20submission%20types%20to%20be%20appropriate%20to%20establish%20a%20PCCP&hl=16%3ATraditional%20510(k)%20submission&hl=16%3AAbbreviated%20510(k)%20submission&focus=1) as the 510(k) types appropriate to establish a PCCP, and [states](https://fda.innolitics.com/guidance/marketing-submission-recommendations-predetermined-change-control-plan-artificial-intelligence?v=gfb23b96999e-80f0f423efe0c810&hl=23%3Aa%20special%20510(k)%20submission%20may%20be%20appropriate%20to%20modify%20a%20PCCP&focus=1) that \"a special 510(k) submission may be appropriate to modify a PCCP\" under conditions.

### Takeaways for founders, regulatory leads, and boards

- **Founders.** I said in the session that knowledge silos between engineering and regulatory can produce changes like these.
- **Regulatory leads.** Mary said FDA pushes back on letters to file whose risk assessment misses changes to existing risks.
- **Boards.** FDA found these changes during an inspection about 21 months after the release notes date. Mary recommended asking in the first regulatory strategy where the product will be in 5 to 10 years and whether those changes need a PCCP.

### Closing remarks

I said I do not think anyone at the company had bad intentions.

<div class="pl-3 border-solid border-0 border-l-4 border-gray" custom-style="Block Quote" markdown="1" role="blockquote">

\"Several good intentions strung together could still get you a warning letter.\" (Yujan Shrestha, quoted from the session)

</div>

Resources should go where they have the highest impact on safety and effectiveness for the least burden. That takes a cross-functional team in which each side understands the other. Mary closed with her view that problems multiply in FDA\'s eyes. Changes too large for a letter to file, unchecked by regulatory, and built outside a QMS with a culture of quality multiply FDA\'s concern.

### Limitations

This article reports a 63-minute conversation and is not a study. I removed filler words from quotations and kept their meaning. On air, James gave the clearance year as 2017 and described the second regulatory trigger as a \"minor\" change in intended use, and Mary referred to the cloud. The article gives the record for each.

### Further reading






### About the author


